34 class TGContainerTimer;
35 class TGContainerKeyboardTimer;
36 class TGContainerScrollTimer;
41 class TGContainer :
public TGCompositeFrame {
43 friend class TGViewPort;
44 friend class TGCanvas;
45 friend class TGContainerKeyboardTimer;
46 friend class TGContainerScrollTimer;
47 friend class TGListView;
50 TGViewPort *fViewPort;
52 const TGWindow *fMsgWindow;
53 TGFrameElement *fLastActiveEl;
64 Bool_t fLastSubstring;
68 Bool_t fKeyTimerActive;
72 TGRectangle fExposedRegion;
74 static TGGC *fgLineGC;
75 static const TGGC &GetLineGC();
77 virtual void DoRedraw();
78 virtual void ActivateItem(TGFrameElement* el);
79 virtual void DeActivateItem(TGFrameElement* el);
80 virtual void SearchPattern();
81 virtual void OnAutoScroll();
82 virtual void RepeatSearch();
85 TGContainer(
const TGContainer&);
86 TGContainer& operator=(
const TGContainer&);
89 TGContainer(
const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1,
90 UInt_t options = kSunkenFrame,
91 Pixel_t back = GetDefaultFrameBackground());
92 TGContainer(TGCanvas *p,UInt_t options = kSunkenFrame,
93 Pixel_t back = GetDefaultFrameBackground());
95 virtual ~TGContainer();
97 virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h);
98 virtual void ClearViewPort();
99 virtual void Associate(
const TGWindow *w) { fMsgWindow = w; }
100 virtual void AdjustPosition();
101 virtual void SetPagePosition(
const TGPosition& pos);
102 virtual void SetPagePosition(Int_t x, Int_t y);
103 virtual void SetPageDimension(
const TGDimension& dim);
104 virtual void SetPageDimension(UInt_t w, UInt_t h);
105 virtual void RemoveAll();
106 virtual void RemoveItem(TGFrame *item);
107 virtual void Layout();
109 TGCanvas *GetCanvas()
const {
return fCanvas; }
110 const TGWindow *GetMessageWindow()
const {
return fMsgWindow; }
111 virtual TGPosition GetPagePosition()
const;
112 virtual TGDimension GetPageDimension()
const;
114 virtual Int_t NumSelected()
const {
return fSelected; }
115 virtual Int_t NumItems()
const {
return fTotal; }
116 virtual TGFrameElement *FindFrame(Int_t x,Int_t y,Bool_t exclude=kTRUE);
117 virtual TGFrame *FindFrameByName(
const char *name);
118 virtual TGHScrollBar *GetHScrollbar()
const;
119 virtual TGVScrollBar *GetVScrollbar()
const;
120 virtual void SetHsbPosition(Int_t newPos);
121 virtual void SetVsbPosition(Int_t newPos);
122 virtual void LineUp(Bool_t select = kFALSE);
123 virtual void LineDown(Bool_t select = kFALSE);
124 virtual void LineLeft(Bool_t select = kFALSE);
125 virtual void LineRight(Bool_t select = kFALSE);
126 virtual void PageUp(Bool_t select = kFALSE);
127 virtual void PageDown(Bool_t select = kFALSE);
128 virtual void Home(Bool_t select = kFALSE);
129 virtual void End(Bool_t select = kFALSE);
130 virtual void Search(Bool_t close = kTRUE);
131 virtual void *FindItem(
const TString& name,
132 Bool_t direction = kTRUE,
133 Bool_t caseSensitive = kTRUE,
134 Bool_t subString = kFALSE);
136 virtual const TGFrame *GetNextSelected(
void **current);
137 virtual TGFrame *GetLastActive()
const {
return fLastActiveEl ? fLastActiveEl->fFrame : 0; }
138 virtual void SavePrimitive(std::ostream &out, Option_t *option =
"");
140 virtual Bool_t HandleDNDFinished() { fBdown = kFALSE;
return kTRUE; }
141 virtual Bool_t HandleExpose(Event_t *event);
142 virtual Bool_t HandleButton(Event_t *event);
143 virtual Bool_t HandleDoubleClick(Event_t *event);
144 virtual Bool_t HandleMotion(Event_t *event);
145 virtual Bool_t HandleKey(Event_t *event);
147 const TGPicture *GetObjPicture(TGFrame *f);
148 virtual void SetDragPixmap(
const TGPicture *pic);
150 virtual void SelectAll();
151 virtual void UnSelectAll();
152 virtual void InvertSelection();
153 virtual void ReturnPressed(TGFrame*);
154 virtual void SpacePressed(TGFrame*);
155 virtual void KeyPressed(TGFrame*, UInt_t keysym, UInt_t mask);
156 virtual void OnMouseOver(TGFrame*);
157 virtual void CurrentChanged(Int_t x,Int_t y);
158 virtual void CurrentChanged(TGFrame* f);
159 virtual void Clicked(TGFrame *f, Int_t btn);
160 virtual void DoubleClicked(TGFrame *f, Int_t btn);
161 virtual void DoubleClicked(TGFrame *f, Int_t btn, Int_t x, Int_t y);
162 virtual void Clicked(TGFrame *f, Int_t btn, Int_t x, Int_t y);
164 ClassDef(TGContainer,0)
168 class TGViewPort :
public TGCompositeFrame {
175 TGViewPort(
const TGViewPort&);
176 TGViewPort& operator=(
const TGViewPort&);
179 TGViewPort(
const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1,
180 UInt_t options = kChildFrame,
181 Pixel_t back = GetDefaultFrameBackground());
183 TGFrame *GetContainer()
const {
return fContainer; }
184 void SetContainer(TGFrame *f);
186 virtual void DrawBorder() { };
187 virtual void Layout() { }
188 virtual TGDimension GetDefaultSize()
const {
return TGDimension(fWidth, fHeight); }
190 virtual void SetHPos(Int_t xpos);
191 virtual void SetVPos(Int_t ypos);
192 void SetPos(Int_t xpos, Int_t ypos);
194 Int_t GetHPos()
const {
return fX0; }
195 Int_t GetVPos()
const {
return fY0; }
196 virtual Bool_t HandleConfigureNotify(Event_t *event);
198 ClassDef(TGViewPort,0)
202 class TGCanvas :
public TGFrame {
206 TGHScrollBar *fHScrollbar;
207 TGVScrollBar *fVScrollbar;
211 TGCanvas(
const TGCanvas&);
212 TGCanvas& operator=(
const TGCanvas&);
215 enum { kCanvasNoScroll = 0,
216 kCanvasScrollHorizontal = BIT(0),
217 kCanvasScrollVertical = BIT(1),
218 kCanvasScrollBoth = (kCanvasScrollHorizontal | kCanvasScrollVertical)
221 TGCanvas(
const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1,
222 UInt_t options = kSunkenFrame | kDoubleBorder,
223 Pixel_t back = GetDefaultFrameBackground());
226 TGFrame *GetContainer()
const {
return fVport->GetContainer(); }
227 TGViewPort *GetViewPort()
const {
return fVport; }
228 TGHScrollBar *GetHScrollbar()
const {
return fHScrollbar; }
229 TGVScrollBar *GetVScrollbar()
const {
return fVScrollbar; }
231 virtual void AddFrame(TGFrame *f, TGLayoutHints *l = 0);
232 virtual void SetContainer(TGFrame *f) { fVport->SetContainer(f); }
233 virtual void MapSubwindows();
234 virtual void DrawBorder();
235 virtual void Layout();
236 virtual void ClearViewPort();
237 virtual Int_t GetHsbPosition()
const;
238 virtual Int_t GetVsbPosition()
const;
239 virtual void SetHsbPosition(Int_t newPos);
240 virtual void SetVsbPosition(Int_t newPos);
241 void SetScrolling(Int_t scrolling);
242 Int_t GetScrolling()
const {
return fScrolling; }
244 virtual TGDimension GetDefaultSize()
const {
return TGDimension(fWidth, fHeight); }
245 virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
247 virtual void SavePrimitive(std::ostream &out, Option_t *option =
"");