File indexing completed on 2025-10-16 09:09:25
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TGedFrame
0013 #define ROOT_TGedFrame
0014
0015
0016 #include "TGFrame.h"
0017
0018 class TVirtualPad;
0019 class TCanvas;
0020 class TGLabel;
0021 class TGToolTip;
0022 class TList;
0023 class TGTab;
0024 class TGedEditor;
0025 class TGHSlider;
0026
0027 class TGedFrame : public TGCompositeFrame {
0028
0029 public:
0030
0031 class TGedSubFrame : public TObject {
0032 private:
0033 TGedSubFrame(const TGedSubFrame&) = delete;
0034 TGedSubFrame& operator=(const TGedSubFrame&) = delete;
0035 public:
0036 TString fName;
0037 TGCompositeFrame *fFrame;
0038
0039 TGedSubFrame(TString n, TGCompositeFrame* f) : fName(n), fFrame(f) {}
0040 };
0041
0042 private:
0043 TGedFrame(const TGedFrame&) = delete;
0044 TGedFrame& operator=(const TGedFrame&) = delete;
0045
0046 protected:
0047 Bool_t fInit;
0048 TGedEditor *fGedEditor;
0049 TClass *fModelClass;
0050 Bool_t fAvoidSignal;
0051
0052 TList *fExtraTabs;
0053 Int_t fPriority;
0054
0055 virtual void MakeTitle(const char *title);
0056
0057 public:
0058 TGedFrame(const TGWindow *p = nullptr,
0059 Int_t width = 140, Int_t height = 30,
0060 UInt_t options = kChildFrame,
0061 Pixel_t back = GetDefaultFrameBackground());
0062 ~TGedFrame() override;
0063
0064 virtual void Update();
0065
0066 Option_t *GetDrawOption() const override;
0067
0068 TClass* GetModelClass() { return fModelClass; }
0069 Int_t GetPriority() { return fPriority; }
0070 TList* GetExtraTabs() { return fExtraTabs; }
0071 TGedEditor* GetGedEditor() { return fGedEditor; }
0072 virtual void AddExtraTab(TGedSubFrame* sf);
0073 virtual TGVerticalFrame* CreateEditorTabSubFrame(const char* name);
0074
0075 virtual void Refresh(TObject *model);
0076 void SetDrawOption(Option_t *option="") override;
0077 virtual Bool_t AcceptModel(TObject*) { return kTRUE; }
0078 void SetModelClass(TClass* mcl) { fModelClass = mcl; }
0079 virtual void SetModel(TObject* obj) = 0;
0080 virtual void SetGedEditor(TGedEditor* ed) { fGedEditor = ed; }
0081 virtual void ActivateBaseClassEditors(TClass* cl);
0082
0083 ClassDefOverride(TGedFrame, 0);
0084 };
0085
0086 class TGedNameFrame : public TGedFrame {
0087 private:
0088 TGedNameFrame(const TGedNameFrame&) = delete;
0089 TGedNameFrame& operator=(const TGedNameFrame&) = delete;
0090
0091 protected:
0092 TGLabel *fLabel;
0093 TGCompositeFrame *f1, *f2;
0094 TGToolTip *fTip;
0095
0096 public:
0097 TGedNameFrame(const TGWindow *p = nullptr,
0098 Int_t width = 170, Int_t height = 30,
0099 UInt_t options = kChildFrame,
0100 Pixel_t back = GetDefaultFrameBackground());
0101 ~TGedNameFrame() override;
0102
0103 Bool_t HandleButton(Event_t *event) override;
0104 Bool_t HandleCrossing(Event_t *event) override;
0105
0106 void SetModel(TObject* obj) override;
0107
0108 ClassDefOverride(TGedNameFrame,0)
0109 };
0110
0111 #endif
0112