08.06.2013 Views

Bernese GPS Software Version 5.0 - Bernese GNSS Software

Bernese GPS Software Version 5.0 - Bernese GNSS Software

Bernese GPS Software Version 5.0 - Bernese GNSS Software

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

18. The Menu System<br />

18.9 Technical Details<br />

18.9.1 The Qt-Library<br />

The menu system is a single application written in C++. Its source code has approximately<br />

14,000 lines. One of the most important features of the menu system is its platform independence<br />

(on source code level). Nowadays, there are literally dozens of toolkits and libraries<br />

supporting the development of a GUI (Graphical User Interface) on a large variety of computer<br />

platforms. However, in case of multi-platform (or platform-independent) GUIs there<br />

are only a few good alternatives each of them having its pros and cons. After a number of<br />

tests we decided to use the Qt library that is a product of the Norwegian company Troll Tech<br />

(see http://www.trolltech.com). Due to the importance of this library for the <strong>Bernese</strong><br />

menu system several remarks concerning Qt should be given:<br />

• Qt is a C++ object-oriented library.<br />

• Qt is the so-called GUI-emulating toolkit. It allows our new menu system to be compiled<br />

for a large variety of platforms (Microsoft Windows XP, 2000, NT 4, Me/98/95 2<br />

and various UNIX’s) without any platform-dependent pieces of source code.<br />

• Qt is a commercial product. However, users of an application written with it do not<br />

have to pay a license fee. There is no such thing as a runtime license fee. In other words:<br />

the Astronomical Institute, University of Bern, has paid the developer’s license, the<br />

users of the <strong>Bernese</strong> <strong>GPS</strong> <strong>Software</strong> are not subject to any license fee.<br />

• There is one difference between the Windows and the UNIX version of our new menu<br />

system. For Windows platforms we distribute the new menu program in an executable<br />

form and the user does not need to know anything about the Qt library at all. On<br />

the other hand the UNIX version of the new menu program is distributed in source<br />

code and the user has to install the (freely available) Qt library on his machine before<br />

compiling the menu system itself. For installing the Qt library we refer to its (pretty<br />

good) online documentation and to the web page http://www.trolltech.com. For<br />

<strong>Bernese</strong> <strong>GPS</strong> <strong>Software</strong> <strong>Version</strong> <strong>5.0</strong> , the Qt library version 3.0.7 is recommended.<br />

Other versions may not be fully compatible. See the install.txt file in the <strong>Bernese</strong><br />

distribution for information on downloading the recommended Qt library.<br />

18.9.2 Input File Format<br />

The input files play a central role in the design of the <strong>Bernese</strong> menu system. These ASCIIfiles<br />

provide the interface between the <strong>Bernese</strong> main programs (written in Fortran) and the<br />

menu program itself. Their format is general enough to fulfill the requirements of all <strong>Bernese</strong><br />

programs and at the same time providing the menu program with all necessary information.<br />

The <strong>Bernese</strong> main programs consider the input files to be read-only (with a few exceptions:<br />

PUTKEY and MENUAUX). They read all options at the beginning of the program run.<br />

On the other hand, the menu program reads and writes the input files. From this point<br />

of view the menu program can be seen as a sophisticated specialized editor. Basically, the<br />

2 see http://www.trolltech.com<br />

Page 370 AIUB

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!