00001 //--------------------------------------------------------------- 00002 // Go4 Release Package v2.10-5 (build 21005) 00003 // 03-Nov-2005 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at DVEE department, GSI 00007 //--------------------------------------------------------------- 00008 // 00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI 00010 // Planckstr. 1, 64291 Darmstadt, Germany 00011 //Contact: http://go4.gsi.de 00012 //---------------------------------------------------------------- 00013 //This software can be used under the license agreements as stated 00014 //in Go4License.txt file which is part of the distribution. 00015 //---------------------------------------------------------------- 00016 #ifndef TGO4FITPANELSTATUS_H 00017 #define TGO4FITPANELSTATUS_H 00018 00019 #include "Go4StatusBase/TGo4Status.h" 00020 #include "TObjArray.h" 00021 #include "TGo4FitGUIOptions.h" 00022 #include "TString.h" 00023 00024 class TGo4FitSlot; 00025 class TGo4PreviewPanel; 00026 class TPad; 00027 00028 00029 class TGo4FitSlotStatus : public TObject { 00030 public: 00031 enum {fss_none = -1, fss_owned, fss_reference, fss_pad }; 00032 00033 TGo4FitSlotStatus(TGo4FitSlot*); 00034 virtual ~TGo4FitSlotStatus(); 00035 00036 Int_t Source() { return fiSource; } 00037 TGo4FitSlot* Slot() { return fxSlot; } 00038 00039 void SetSourceNone(); 00040 00041 void SetSourceOwned(const char* info = 0); 00042 00043 void SetSourceReference(const char* info = 0); 00044 00045 const char* InfoStr(); 00046 00047 void SetSourcePad(TGo4PreviewPanel*, TPad*); 00048 TGo4PreviewPanel* SourcePanel() { return fxPanel; } 00049 TPad* SourcePad() { return fxPad; } 00050 void UpdatePad(); 00051 00052 void AddPrimitive(TObject* obj); 00053 bool ClearPrimitives(); 00054 bool RemovePrimitivesFor(TObject* obj); 00055 bool UpdateRestPrimitives(TObject* obj); 00056 00057 void AddDrawObj(TObject* obj); 00058 void ClearDrawObjs(); 00059 00060 private: 00061 Int_t fiSource; 00062 TGo4FitSlot* fxSlot; 00063 TGo4PreviewPanel* fxPanel; 00064 TPad* fxPad; 00065 TObjArray fxDrawObjs; 00066 TObjArray fxPrimitives; 00067 TString fxInfo; 00068 }; 00069 00070 00071 00072 // ************************************************************************************* 00073 00074 00075 00076 class TGo4FitPanelStatus : public TGo4Status { 00077 public: 00078 TGo4FitPanelStatus(); 00079 TGo4FitPanelStatus(Text_t *Name, Text_t * Title); 00080 00081 ~TGo4FitPanelStatus(); 00082 00083 Bool_t& NeedConfirmation() { return fbNeedConfirmation; } 00084 Bool_t& ShowPrimitives() { return fbShowPrimitives; } 00085 Bool_t& FreezeMode() { return fbFreezeMode; } 00086 00087 Int_t& SelectedWidgetID() { return fiSelectedWidgetID; } 00088 Bool_t SimpleWidgetSelected() { return SelectedWidgetID()==1; } 00089 Bool_t WizWidgetSelected() { return SelectedWidgetID()==2; } 00090 Bool_t ExtendedWidgetSelected() { return SelectedWidgetID()==3; } 00091 Bool_t& ParsWidgetShown() { return fbParsWidgetShown; } 00092 00093 TGo4FitGUIOptions& CommonOptions() { return fxCommonOptions; } 00094 00095 Bool_t& DrawModels() { return fbDrawModels; } 00096 Bool_t& DrawComponents() { return fbDrawComponents; } 00097 Bool_t& DrawBackground() { return fbDrawBackground; } 00098 Bool_t& UseSamePanelForDraw() { return fbUseSamePanelForDraw; } 00099 Bool_t& DrawInfoOnPad() { return fbDrawInfoOnPad; } 00100 Int_t& IntegralMode() { return fiIntegralMode; } 00101 Bool_t& RecalculateGaussWidth() { return fbRecalculateGaussWidth; } 00102 00103 Int_t& BuffersUsage() { return fiBuffersUsage; } 00104 00105 Bool_t& SaveWithReferences() { return fbSaveWithReferences; } 00106 00107 Bool_t& UseCurrentRange() { return fbUseCurrentRange; } 00108 00109 private: 00110 Bool_t fbNeedConfirmation; 00111 Bool_t fbShowPrimitives; 00112 Bool_t fbFreezeMode; 00113 00114 TGo4FitGUIOptions fxCommonOptions; 00115 00116 Int_t fiSelectedWidgetID; 00117 Bool_t fbParsWidgetShown; 00118 00119 Bool_t fbDrawModels; 00120 Bool_t fbDrawComponents; 00121 Bool_t fbDrawBackground; 00122 Bool_t fbUseSamePanelForDraw; 00123 Bool_t fbDrawInfoOnPad; 00124 Int_t fiIntegralMode; 00125 Bool_t fbRecalculateGaussWidth; 00126 00127 Int_t fiBuffersUsage; 00128 00129 Bool_t fbSaveWithReferences; 00130 00131 Bool_t fbUseCurrentRange; 00132 }; 00133 00134 #endif //TGO4FITPANELSTATUS_H 00135 00136 //----------------------------END OF GO4 SOURCE FILE ---------------------