XSGui.h

Go to the documentation of this file.
00001 /*
00002  * $Header$
00003  * $Log$
00004  */
00005 
00006 #ifndef __XSGUI_H
00007 #define __XSGUI_H
00008 
00009 #include <TVirtualX.h>
00010 #include <TGMenu.h>
00011 #include <TGFrame.h>
00012 #include <TGLabel.h>
00013 #include <TGButton.h>
00014 #include <TGCanvas.h>
00015 #include <TGClient.h>
00016 #include <TGMsgBox.h>
00017 #include <TGStatusBar.h>
00018 #include <TGTextEntry.h>
00019 #include <TGFileDialog.h>
00020 
00021 #define PRGNAME "XSGui"
00022 #define VERSION "1.0a"
00023 #define AUTHOR  "V.Vlachoudis"
00024 #define DATE    "Jun-1999"
00025 #define EMAIL   "V.Vlachoudis@cern.ch"
00026 
00027 #define ABOUT   PRGNAME" "VERSION"\n" \
00028                 AUTHOR" "DATE \
00029                 EMAIL
00030 
00031 /* ---- Define all the available commands ----- */
00032 enum TCommandIdentifiers {
00033         M_FILE_OPEN,
00034         M_FILE_SAVE,
00035         M_FILE_SAVEAS,
00036         M_FILE_CLOSE,
00037         M_FILE_PRINT,
00038         M_FILE_PRINT_SETUP,
00039         M_FILE_EXIT,
00040 
00041         M_ELEM_REACTION,
00042         M_ELEM_MODIFY,
00043         M_ELEM_CLEAR,
00044 
00045         M_OPTION_ZOOM,
00046         M_OPTION_SETUP,
00047 
00048         M_HELP_ABOUT,
00049 };
00050 
00051 /* --- Define the Help for each menu item --- */
00052 // WARNING!!! MUST BE IN ALIGN WITH TCommandsIdentifiers
00053 #ifdef __XSGUI_CXX
00054 static const char       *menuTip[] = {
00055         "Open a file",
00056         "Save drawing",
00057         "Save drawing as",
00058         "Close current drawing",
00059         "Print drawing",
00060         "Printer Setup",
00061         "Exit from program",
00062 
00063         "Select a Reaction",
00064         "Edit/Modify/Delete the current graphs",
00065         "Clear Current Graph",
00066 
00067         "Zoom current image",
00068         "General graphic options",
00069 
00070         "About the program"
00071 };
00072 #endif
00073 
00074 /* ================== XSGui ===================== */
00075 class XSGui : public TGMainFrame
00076 {
00077 private:
00078         TGMenuBar               *menuBar;
00079 
00080         TGPopupMenu             *fileMenu,
00081                                 *elemMenu,
00082                                 *optMenu,
00083                                 *helpMenu;
00084 
00085         TGLayoutHints           *menuBarLayout,
00086                                 *menuBarItemLayout,
00087                                 *menuBarHelpLayout;
00088 
00089         TGStatusBar             *statusBar;
00090 
00091 public:
00092         XSGui(const TGWindow *p, UInt_t w, UInt_t h);
00093         virtual ~XSGui();
00094 
00095         virtual void    CloseWindow();
00096         virtual Bool_t  ProcessMessage(Long_t msg, Long_t param, Long_t);
00097 
00098                 Bool_t  ProcessMenuMessage( Long_t param );
00099 
00100         //ClassDef(XSGui,1)
00101 }; // XSGui
00102 
00103 #endif

Generated on Tue Jul 5 15:15:05 2011 for ROOT_528-00b_version by  doxygen 1.5.1