WxWindows Interface for CALE

Abstract

wxWindows is an Open Source, platform independent, User Interface (UI) which has been in development for over eleven years (http://www.wxwindows.org). Currently wxWindows is actively supported for the Linux/Unix (X11, Motif and GTK+), Mac OS 9 and X, all Win32 OSes, MGL, and OS/2 operating systems. wxWindows is written in C++ using an object oriented programming framework; it is a reasonably lightweight API (called wxWidgets) sitting over the native graphics packages of the various platforms it supports. The original version of CALE was written for the basic target platform of Unix using X11 as the graphics package. There have been separate efforts to port the code to Mac OS 9, Mac OS X, Win32, Windows Services for Unix (SFU) and CygWin. Each of these used a variety of different graphical interface approaches and build/make systems. For instance Windows SFU and CygWin could still only use X11 graphics. So could the Win32 version, if a X11 server library and client software were installed. A native Win32 version of CALE was contemplated, but never started. The Macintosh versions were completed but never widely distributed to the users. Given the growing code version support issues, and the slow deviation from the portable code model CALE originally started with, it was desired to come up with a simple graphical UI that would be cross platform portable with only a single code base and build system. During the past two summers, two Laboratory summer students and a CALE team code physicist have worked on porting CALE to the wxWidgets UI. In the summer of 2003 Jeffery Hagelberg (formerly Purdue University, now at the University of California-Davis) started the project. During the spring & summer of 2004 Christopher Egner (Rochester Institute of Technology) completed the work. Paul Amala (A/X-Program at LLNL) supervised the students for their combined 30 weeks of effort. This poster session describes the wxWindows interface as it is implemented in CALE, the level of cross platform portable it actually affords, and the lessons learned during the porting of an existing X11 program to this open source software package. (U

    Similar works