00001
00002
00003
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
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
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
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
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
00122 TGGroupFrame *infoGroup;
00123
00124 TGTextView *infoView;
00125
00126
00127
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
00164 };
00165
00166 #endif