00001 #ifndef _QG_HISTOGRAM_PARAMETERS_FRAME_HH_ 00002 #define _QG_HISTOGRAM_PARAMETERS_FRAME_HH_ 00003 00011 #include <string> 00012 #include <TGFrame.h> 00013 00014 class QGDropDownBox; 00015 class QGHistogramEditWindow; 00016 class QGTextEntry; 00017 class TGCheckButton; 00018 class TGLabel; 00019 00020 class QGHistogramParametersFrame : public TGCompositeFrame { 00021 public: 00023 QGHistogramParametersFrame(QGHistogramEditWindow *p = 0, UInt_t w = 100, UInt_t h = 100); 00024 00026 virtual ~QGHistogramParametersFrame(); 00027 00029 void AutoSetBinWidth(); 00030 00032 void AutoSetNumberOfBins(); 00033 00035 Double_t GetBinWidth(); 00036 00038 Int_t GetNumberOfBins(); 00039 00041 QGDropDownBox *GetXDropDownBox() {return fXDropDownBox;} 00042 00044 Double_t GetXMax(); 00045 00047 Double_t GetXMin(); 00048 00050 std::string GetXUnits(); 00051 00053 std::string GetXVariable(); 00054 00056 void HandleBinWidthEvent(Event_t *event); 00057 00059 void HandleNumberOfBinsEvent(Event_t *event); 00060 00062 void HandleXMaxEvent(Event_t *event); 00063 00065 void HandleXMinEvent(Event_t *event); 00066 00068 //void HandleXUnitsEvent(Event_t *event); 00069 00071 //void HandleXVariableEvent(Event_t *event); 00072 00074 bool IsBinWidthSet(); 00075 00077 bool IsNumberOfBinsSet(); 00078 00080 bool IsSuperimposeSet(); 00081 00083 bool IsXMaxSet(); 00084 00086 bool IsXMinSet(); 00087 00089 void SetBinWidth(Double_t width); 00090 00092 void SetNumberOfBins(Int_t n); 00093 00095 void SetSuperimpose(bool flag = true); 00096 00098 void SetXMax(Double_t max); 00099 00101 void SetXMin(Double_t min); 00102 00104 void SetXUnits(const std::string& units); 00105 00107 void SetXVariable(const std::string& x); 00108 00109 private: 00111 TGHorizontalFrame *fBinsFrame; 00112 00114 QGTextEntry *fBinWidthBox; 00115 00117 TGLabel *fBinWidthLabel; 00118 00120 QGHistogramEditWindow *fHistogramEditWindow; 00121 00123 TGHorizontalFrame *fMinMaxFrame; 00124 00126 QGTextEntry *fNumberOfBinsBox; 00127 00129 TGLabel *fNumberOfBinsLabel; 00130 00132 TGCheckButton *fSuperimposeBox; 00133 00135 TGLabel *fUnitsLabel; 00136 00138 QGDropDownBox *fXDropDownBox; 00139 00141 TGHorizontalFrame *fXFrame; 00142 00144 TGLabel *fXLabel; 00145 00147 QGTextEntry *fXMaxBox; 00148 00149 /* @brief X-axis maximum label */ 00150 TGLabel *fXMaxLabel; 00151 00153 QGTextEntry *fXMinBox; 00154 00155 /* @brief X-axis minimum label */ 00156 TGLabel *fXMinLabel; 00157 00159 QGTextEntry *fXUnitsBox; 00160 00161 ClassDef(QGHistogramParametersFrame, 0) 00162 }; 00163 00164 #endif