12 #ifndef ROOT_TGSplitter
13 #define ROOT_TGSplitter
29 class TGSplitter :
public TGFrame {
32 Cursor_t fSplitCursor;
34 Bool_t fExternalHandler;
35 const TGPicture *fSplitterPic;
38 TGSplitter(
const TGSplitter&);
39 TGSplitter& operator=(
const TGSplitter&);
42 TGSplitter(
const TGWindow *p = 0, UInt_t w = 2, UInt_t h = 4,
43 UInt_t options = kChildFrame,
44 Pixel_t back = GetDefaultFrameBackground());
45 virtual ~TGSplitter() { }
47 virtual void SetFrame(TGFrame *frame, Bool_t prev) = 0;
49 virtual Bool_t HandleButton(Event_t *event) = 0;
50 virtual Bool_t HandleMotion(Event_t *event) = 0;
51 virtual Bool_t HandleCrossing(Event_t *event) = 0;
54 void Moved(Int_t delta);
56 Bool_t GetExternalHandler()
const {
return fExternalHandler; }
57 void SetExternalHandler(Bool_t x) { fExternalHandler = x; }
59 ClassDef(TGSplitter,0)
63 class TGVSplitter :
public TGSplitter {
66 TGVSplitter(
const TGVSplitter&);
67 TGVSplitter& operator=(
const TGVSplitter&);
79 TGVSplitter(
const TGWindow *p = 0, UInt_t w = 4, UInt_t h = 4,
80 UInt_t options = kChildFrame,
81 Pixel_t back = GetDefaultFrameBackground());
82 TGVSplitter(
const TGWindow *p, UInt_t w, UInt_t h, Bool_t external);
83 virtual ~TGVSplitter();
85 virtual void DrawBorder();
86 virtual void SetFrame(TGFrame *frame, Bool_t left);
87 const TGFrame *GetFrame()
const {
return fFrame; }
88 Bool_t GetLeft()
const {
return fLeft; }
89 Bool_t IsLeft()
const {
return fLeft; }
90 virtual void SavePrimitive(std::ostream &out, Option_t *option =
"");
92 virtual Bool_t HandleButton(Event_t *event);
93 virtual Bool_t HandleMotion(Event_t *event);
94 virtual Bool_t HandleCrossing(Event_t *event);
96 ClassDef(TGVSplitter,0)
100 class TGHSplitter :
public TGSplitter {
103 TGHSplitter(
const TGHSplitter&);
104 TGHSplitter& operator=(
const TGHSplitter&);
116 TGHSplitter(
const TGWindow *p = 0, UInt_t w = 4, UInt_t h = 4,
117 UInt_t options = kChildFrame,
118 Pixel_t back = GetDefaultFrameBackground());
119 TGHSplitter(
const TGWindow *p, UInt_t w, UInt_t h, Bool_t external);
120 virtual ~TGHSplitter();
122 virtual void DrawBorder();
123 virtual void SetFrame(TGFrame *frame, Bool_t above);
124 const TGFrame *GetFrame()
const {
return fFrame; }
125 Bool_t GetAbove()
const {
return fAbove; }
126 Bool_t IsAbove()
const {
return fAbove; }
127 virtual void SavePrimitive(std::ostream &out, Option_t *option =
"");
129 virtual Bool_t HandleButton(Event_t *event);
130 virtual Bool_t HandleMotion(Event_t *event);
131 virtual Bool_t HandleCrossing(Event_t *event);
133 ClassDef(TGHSplitter,0)
136 class TGVFileSplitter :
public TGVSplitter {
139 TGVFileSplitter(
const TGWindow *p = 0, UInt_t w = 4, UInt_t h = 4,
140 UInt_t options = kChildFrame,
141 Pixel_t back = GetDefaultFrameBackground());
142 virtual ~TGVFileSplitter();
144 virtual Bool_t HandleDoubleClick(Event_t *);
145 virtual Bool_t HandleButton(Event_t *event);
146 virtual Bool_t HandleMotion(Event_t *event);
147 virtual void SavePrimitive(std::ostream &out, Option_t *option =
"");
149 void LayoutHeader(TGFrame *f);
150 void LayoutListView();
151 void ButtonPressed();
152 void ButtonReleased();
153 void DoubleClicked(TGVFileSplitter* frame);
155 ClassDef(TGVFileSplitter,0)