QGUIHistogramDisplay.hh

Go to the documentation of this file.
00001 
00002 #ifndef _QGUI_HISTOGRAM_DISPLAY_HH_
00003 #define _QGUI_HISTOGRAM_DISPLAY_HH_
00004 
00005 #include "QGUIBaseFrame.hh"
00006 #include "QGUIHistogramHandler.hh"
00007 
00008 #include <vector>
00009 
00010 #include <TTimer.h>
00011 
00012 class TGCompositeFrame;
00013 class TRootEmbeddedCanvas;
00014 class QGUINumberSelector;
00015 class TGTextButton;
00016 class TGCheckButton;
00017 class TGButtonGroup;
00018 class TGTextEntry;
00019 class TGNumberEntry;
00020 class QGuiColorSelect;
00021 
00029 class QGUIHistogramDisplay: public QGUIBaseFrame
00030 {
00031 public:
00033    QGUIHistogramDisplay(const TGWindow*          parent,
00034                         unsigned int             Width,
00035                         unsigned int             Height);
00036 
00038    virtual ~QGUIHistogramDisplay();
00039 
00041    void Close();
00042 
00044    void UpdateChannel();
00045    
00047    void UpdateDisplay();
00048 
00054    void HandlePause();
00055 
00056    void SetUpdateActiveTypes() { fUpdateActiveTypes = true; }
00057    void SetUpdateColors()      { fUpdateColors = true; }
00058    void UpdateRateMode(Int_t id);
00059    void UpdateLinLogMode(Int_t id);
00060    void UpdateSpectrumRange();
00061    void CheckSpectrumRange();
00062 private:
00063 
00064    TGCompositeFrame *fControlFrame; 
00065    TGCompositeFrame *fDisplayFrame; 
00066    TGCompositeFrame *fChannelFrame; 
00068    TRootEmbeddedCanvas *fPulseCanvas;    
00069    TRootEmbeddedCanvas *fSpectrumCanvas; 
00070    TRootEmbeddedCanvas *fRateCanvas;     
00072    QGUINumberSelector *fChSelector;      
00074    TGTextButton *fCloseButton;           
00075    TGTextButton *fPauseButton;           
00077    TGCheckButton *fSpectrumSignalButton; 
00078    TGCheckButton *fSpectrumNoiseButton;  
00079    TGCheckButton *fSpectrumHeaterButton; 
00081    TGCheckButton *fRateSignalButton;     
00082    TGCheckButton *fRateNoiseButton;      
00083    TGCheckButton *fRateHeaterButton;     
00085    QGuiColorSelect *fSignalColor;        
00086    QGuiColorSelect *fNoiseColor;         
00087    QGuiColorSelect *fHeaterColor;        
00089    TGButtonGroup *fRateModeButton;       
00090    TGButtonGroup *fLinLogButton;         
00093    TGCheckButton *fMinAutoButton;        
00095    TGCheckButton *fMaxAutoButton;   
00096    TGNumberEntry *fSpectrumMinButton;   
00097    TGNumberEntry *fSpectrumMaxButton;   
00098    Int_t fSpectrumMin;                  
00099    Int_t fSpectrumMax;                  
00100    bool fAutoRangeSpectrumMin;          
00101    bool fAutoRangeSpectrumMax;          
00102    bool fLogScale;                      
00104    std::vector<unsigned int> fActiveChannels; 
00106    const long kTimeout; 
00107    TTimer fTimer; 
00110    const Int_t kRateUpdatePeriodSec;
00111 
00113    bool fUpdateActiveTypes;
00115    bool fUpdateColors;
00117    bool fRateStacked;
00118 
00119    const Int_t kControlFrameWidth; 
00122    QGUIHistogramHandler fHistoHandler;
00123 
00125    void CreateSubFrames();
00126 
00128    void ConnectButtons();
00129 
00131    void GetActiveChannels();
00132 
00134    void UpdateColors();
00135 
00136    
00141    void UpdateActiveTypes();
00142 
00143    ClassDef(QGUIHistogramDisplay,0)
00144 };
00145 #endif

Generated on Tue Nov 16 10:49:54 2010 for CUORE Software by  doxygen 1.5.6