XSReactionDlg.h

Go to the documentation of this file.
00001 /*
00002  * $Header$
00003  * $Log$
00004  */
00005 
00006 #ifndef __XSREACTION_DLG_H
00007 #define __XSREACTION_DLG_H
00008 
00009 #include <TGTab.h>
00010 #include <TGFrame.h>
00011 #include <TGButton.h>
00012 #include <TGLayout.h>
00013 #include <TGListBox.h>
00014 #include <TGComboBox.h>
00015 #include <TGTextView.h>
00016 #include <TGTextEntry.h>
00017 
00018 #include "NdbMTReactionXS.h"
00019 
00020 #include "XSStepButton.h"
00021 #include "XSElementList.h"
00022 #include "XSPeriodicTable.h"
00023 
00024 /* =========== XSReactionDlg ============== */
00025 class XSReactionDlg : public TGTransientFrame
00026 {
00027 protected:
00028 
00029         UInt_t          Z;
00030 
00031         const TGWindow  *mainWindow;
00032 
00033         TGHorizontalFrame       *frm1,
00034                                 *frm2,
00035                                 *frm3,
00036                                 *frm4,
00037                                 *frm5;
00038 
00039         TGCompositeFrame        *Vfrm1,
00040                                 *Vfrm2,
00041                                 *Vfrm3;
00042 
00043         TGLayoutHints   *lHFixed,
00044                         *lHExpX,
00045                         *lHExpY,
00046                         *lHExpXY,
00047                         *lHBot,
00048                         *lHExpXCen,
00049                         *lHFixedCen;
00050 
00051         // ---- Material Items ----
00052         TGGroupFrame    *materialGroup;
00053 
00054         TGLabel         *elementLbl;
00055         TGTextBuffer    *elementBuf; //!
00056         TGTextEntry     *elementText;
00057         XSStepButton    *elementStep;
00058 
00059         TGLabel         *nameLbl,
00060                         *mnemonicLbl,
00061 
00062                         *chargeLbl,
00063                         *zLbl,
00064 
00065                         *massLbl,
00066                         *massValLbl,
00067 
00068                         *isotopeLbl,
00069 
00070                         *densityLbl,
00071                         *densityValLbl,
00072 
00073                         *meltingPtLbl,
00074                         *meltingValLbl,
00075                         *boilingPtLbl,
00076                         *boilingValLbl,
00077 
00078                         *oxidationLbl,
00079                         *oxidationValLbl,
00080 
00081                         *isotopeInfoLbl,
00082                         *isotopeInfoValLbl;
00083 
00084         TGButton        *ptableButton;
00085 
00086         TGComboBox      *isotopeCombo;
00087 
00088         // ----- Reaction ----
00089         TGGroupFrame    *reactionGroup;
00090 
00091         TGLabel         *projectileLbl,
00092                         *temperatureLbl,
00093                         *databaseLbl,
00094                         *reactionLbl,
00095                         *reactionInfoLbl,
00096                         *reactionInfoValLbl;
00097 
00098         TGComboBox      *projectileCombo,
00099                         *temperatureCombo,
00100                         *databaseCombo;
00101 
00102         TGListBox       *reactionList;
00103 
00104         // ----- Options -----
00105         TGGroupFrame    *optionGroup;
00106 
00107         TGLabel         *lineWidthLbl,
00108                         *lineColorLbl,
00109                         *markerStyleLbl,
00110                         *markerColorLbl,
00111                         *markerSizeLbl,
00112                         *errorbarColorLbl;
00113 
00114         TGComboBox      *lineWidthCombo,
00115                         *lineColorCombo,
00116                         *markerStyleCombo,
00117                         *markerColorCombo,
00118                         *markerSizeCombo,
00119                         *errorbarColorCombo;
00120 
00121         // ----- Info Group -----
00122         TGGroupFrame    *infoGroup;
00123 
00124         TGTextView      *infoView;
00125 
00126 
00127         // ----- Execution Buttons ----
00128         TGHorizontalFrame       *buttonFrame;
00129         TGButton                *okButton,
00130                                 *execButton,
00131                                 *resetButton,
00132                                 *closeButton;
00133 
00134 
00135 public:
00136         XSReactionDlg(const TGWindow *p,
00137                 const TGWindow *main, UInt_t initZ, UInt_t w, UInt_t h);
00138         ~XSReactionDlg();
00139 
00140 protected:
00141                 void    InitColorCombo(TGComboBox *cb);
00142                 void    InitCombos();
00143         const   char*   GetString(int box);
00144                 char*   CreatePath(int option);
00145                 int     UpdateContainer( TGListBox *lb, char *path, int option);
00146                 void    UpdateCurIsotope();
00147                 void    UpdateIsotopes();
00148                 void    UpdateProjectile();
00149                 void    UpdateDatabase();
00150                 void    UpdateReactions();
00151 
00152                 void    SetElement(UInt_t aZ);
00153                 void    ElementEntryChanged();
00154 
00155                 void    UpdateGraph(NdbMTReactionXS *xs);
00156                 Bool_t  ExecCommand();
00157 
00158         virtual void    CloseWindow();
00159                 Bool_t  ProcessButton(Long_t param1, Long_t param2);
00160                 Bool_t  ProcessCombo(Long_t param1, Long_t param2);
00161         virtual Bool_t  ProcessMessage(Long_t msg, Long_t param1, Long_t param2);
00162 
00163         //ClassDef(XSReactionDlg,1)
00164 }; // XSReactionDlg
00165 
00166 #endif

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