Graphical User Interface (GUI)
A Graphical User Interface (GUI; pronounced "gooey") is an alternative to command-line tool use. The purpose of a GUI is to give users an intuitive, visual interface for interacting with their data. CIAO contains a number of GUI's, as listed below. These GUI's were written with the GTK toolkit. This file describes those topics relevant to all the GUI's; for help on an individual gui use "ahelp <gui name>".
|ChIPS||The ChIPS GUI allows users to adjust the layout of their plots, make edits to many of the plot properties in ChIPS and Sherpa, and add annotations (new in CIAO 4.5); see "ahelp chipsgui" for details. The GUI is available to any process that creates a ChIPS plot, such as Sherpa and Prism.|
|peg||peg is a graphical parameter editor. It allows you to set parameters for tools and run them without having to use command-line tools like pset and plist.|
|prism||Provides the user with the ability to view (both numerically and graphically) the contents of data files.|
|taskmonitor||GUI to run a task as a background process and display the output.|
All the GUI's support the "--help" command-line option which lists the available options, as shown in this example with prism:
unix% prism --help Usage: prism [OPTION...] [FILE] - launches prism, a graphical file viewer Help Options: -?, --help Show help options --help-all Show all help options --help-gtk Show GTK+ Options Application Options: -r, --rcfile Alternate configuration (rc) file -v, --version Display program version --display=DISPLAY X display to use
Running CIAO Tools from a GUI
All the GUIs contain an "Analysis" menu from which tools can be launched. The CIAO distribution comes with a default setting for the menu contents - see the text file $ASCDS_INSTALL/bin/ciao.ans - but it is easy to configure a menu tailored to your own requirements. The menu format uses the same system as ds9, which means you can use the same menu in ds9 and the CIAO GUIs; see "ahelp analysis-menu" for more details.
Configuring the look of the GUIs
The CIAO software may utilize a resource file to perform user dependent configuration of the GUI's. Each GUI looks for a hierarchy of GTK resource files. These configuration files contain entries for items such as foreground/background colors for various conditions (e.g. "normal" "selected"), minimum slider bar lengths, button styles, fonts and tooltip styles. A hierarchy exists regarding the name/existence of the resource files to be used. The hierarchy is: command line specification, then application specific, then ciao specific, then default (.gtkrc), and, lastly, GTK internal default values. However, if the user specified an rc file on the command line, and that rc file is invalid, the GUI's do not fall through to the other choices but go directly to the GTK internal settings.
- First, if the user specifies an rc file to be used on the command line ( switches are: --rcfile, -r ), the software attempts to use this file. The user is free to provide a full path to the file. The user supplied rc file can contain direct resource assignments, or it can be a full path pointer to another resource file.
- If the user did not specify an rc file on the command line, the GUI application then looks for the following files in the user's home directory:
- The application checks for the existence of a ".gtkrc.<tool>" file, where <tool> is tool-specific: "peg" or "prism", or "taskmonitor". If a readable copy of the file is found, it is used.
- If the ".gtkrc.<tool>" file is not found, the code then checks whether the user has a resource file named ".gtkrc.ciao" in their home directory. If one exists, it is used.
- If neither a ".gtkrc.<tool>" nor ".gtkrc.ciao" is not found, the home directory is checked for a ".gtkrc" file. If it exists, it is used.
- Finally, if none of these resource files exist, GTK uses it's own internal default resource values.