00001
00002
00003
00004
00005 #ifndef MotifGUI_H
00006 #define MotifGUI_H
00007
00008 #include "gui/GUI.h"
00009 #include "gui/SceneControl.h"
00010
00011 using namespace gui;
00012
00013
00014
00015 class MotifGUI : public GUI {
00016
00017 public:
00018 MotifGUI(const char* app="Motif", const char* title=0);
00019
00020 void addToMenu(const char* title, Command* command);
00021 virtual GUI::Menu* beginPullDownMenu(const char* title, Menu* m=0);
00022
00023 void restorePullDownMenu(GUI::Menu* m);
00024 GUI::Toggle* addToggleToMenu(const char* title, bool state, Command* set, Command* unset);
00025 void endPullDownMenu();
00026 virtual void menuSeparator();
00027
00028
00029 gui::SceneControl* graphicsWindow(float size, int inital_view );
00030 std::ostream* textWindow(const char* name);
00031
00032
00033 void setTitle(const char* newtitle);
00034
00035 void processMessages();
00036
00037
00038 void run(int pause_interval);
00039
00040
00041 void quit();
00042
00043 char * askForFileName(const char* a, const char* b, const char* c);
00044 char* askUser(const char* promptString, const char* defaultString);
00045 void inform(const char* msg);
00046
00047 const char * nameOf()const{return "MotifGUi";}
00048
00049
00050 private:
00051
00052 SceneControl* m_scene;
00053 class Toggle;
00054
00055 };
00056 #endif
00057