CCP4mg: A New GUI CCP4 Newsletter 47 Winter 2007

CCP4mg:A New GUI

Liz Potterton and Stuart McNicholas

YSBL, University of York, York YO10 5YW

Email: ccp4mg@ysbl.york.ac.uk

Introduction

Following the release of CCP4mg version 1.1 we will be working on converting the CCP4mg GUI from using the TCL/Tk toolkit to the QT toolkit. This move will not only give a more modern look-and-feel to the program but will also give significant improvements to program performance.

QT provides a native-like interface on all platforms and is used many by major software developments such as KDE and GoogleEarth. It is developed commercially by a Norwegian company, Trolltech, but is also available with a GPL license. The QT toolkit has many off-the-shelf widgets such as file browser, colour browser and text/html display which will enable us to update CCP4mg and implement new functionality rapidly.

QT CCP4mg 0n MAC QT CCP4mg Windows
Figure 1. A prototype CCP4mg running on MAC OSX and Windows operating systems.

Improving Performance

A vital feature of QT is an openGL widget which will support the main graphics window of CCP4mg. In our initial prototype porting the existing molecular graphics to run in the QT openGL widget proved to be straightforward and resulted in a massive improvement in graphics performance over the existing program. This is due to a simplification in the program architecture, reducing the number of threads in the program, and also eliminating the need for the GLUT package which handled input to the openGL window. We expect this improvement to be retained as we extend the functionality of the prototype.

Moving to QT

The original GUI was written in TCL/Tk, the same as CCP4i since at the start of the CCP4mg project there was no clear alternative which was supported on all platforms and was without licensing issues. But it was clear that TCL/Tk was being overtaken by more modern toolkits and that a change of toolkit would be desirable in the future. Therefore the GUI was implemented via an abstract GUI definition layer which separates the GUI toolkit from the rest of program and which should enable a relatively rapid toolkit conversion. We intend to keep a similar program layout so moving to the new GUI should not disorient users. Some aspects of the GUI will be updated though: the file browser and colour selection will certainly be revised.

There is now a CCP4mg bulletin board hosted at JISCMail where you can discuss these proposals and anything else CCP4mg related. Please sign up and give us your feedback.

Liz Potterton & Stuart McNicholas, November 15th 2007