22 class TVirtualTableInterface;
27 class TGTableHeaderFrame;
29 class TGNumberEntryField;
34 class TGTable :
public TGCompositeFrame,
public TGWidget {
38 TObjArray *fRowHeaders;
39 TObjArray *fColumnHeaders;
40 TGTableHeader *fTableHeader;
45 TTableRange *fCurrentRange;
46 TTableRange *fDataRange;
47 TTableRange *fGotoRange;
48 TGTableFrame *fTableFrame;
54 TGTableHeaderFrame *fCHdrFrame;
55 TGTableHeaderFrame *fRHdrFrame;
56 TGHorizontalFrame *fRangeFrame;
57 TGHorizontalFrame *fTopFrame;
58 TGHorizontalFrame *fTopExtraFrame;
59 TGHorizontalFrame *fBottomFrame;
60 TGHorizontalFrame *fButtonFrame;
63 TGTextButton *fNextButton;
64 TGTextButton *fPrevButton;
65 TGTextButton *fUpdateButton;
66 TGTextButton *fGotoButton;
69 TGLabel *fFirstCellLabel;
71 TGTextEntry *fFirstCellEntry;
72 TGTextEntry *fRangeEntry;
74 Pixel_t fOddRowBackground;
75 Pixel_t fEvenRowBackground;
76 Pixel_t fHeaderBackground;
85 TList *fCellHintsList;
86 TList *fRHdrHintsList;
87 TList *fCHdrHintsList;
88 TList *fMainHintsList;
96 TVirtualTableInterface *fInterface;
98 virtual void DoRedraw();
100 virtual void Expand(UInt_t nrows, UInt_t ncolumns);
101 virtual void ExpandColumns(UInt_t ncolumns);
102 virtual void ExpandRows(UInt_t nrows);
104 virtual UInt_t GetRHdrHeight()
const;
105 virtual UInt_t GetCHdrWidth()
const;
107 virtual void Shrink(UInt_t nrows, UInt_t ncolumns);
108 virtual void ShrinkColumns(UInt_t ncolumns);
109 virtual void ShrinkRows(UInt_t nrows);
111 virtual void UpdateHeaders(EHeaderType type);
112 virtual void SetInterface(TVirtualTableInterface *interface,
113 UInt_t nrows = 50, UInt_t ncolumns = 20);
114 virtual void ResizeTable(UInt_t nrows, UInt_t ncolumns);
116 virtual void UpdateRangeFrame();
119 TGTable(
const TGWindow *p = 0, Int_t
id = 0,
120 TVirtualTableInterface *interface = 0, UInt_t nrows = 50,
121 UInt_t ncolumns = 20);
124 virtual TObjArray *GetRow(UInt_t row);
125 virtual TObjArray *GetColumn(UInt_t columns);
142 virtual const TGTableCell* GetCell(UInt_t i, UInt_t j)
const;
143 virtual TGTableCell* GetCell(UInt_t i, UInt_t j);
145 virtual const TGTableCell* FindCell(TGString label)
const;
146 virtual TGTableCell* FindCell(TGString label);
175 virtual void UpdateView();
178 virtual UInt_t GetNTableRows()
const;
179 virtual UInt_t GetNDataRows()
const;
180 virtual UInt_t GetNTableColumns()
const;
181 virtual UInt_t GetNDataColumns()
const;
182 virtual UInt_t GetNTableCells()
const;
183 virtual UInt_t GetNDataCells()
const;
184 virtual const TTableRange *GetCurrentRange()
const;
186 virtual TVirtualTableInterface *GetInterface() {
return fInterface; }
188 virtual TGCanvas *GetCanvas() {
return fCanvas; }
189 virtual const TGTableHeaderFrame *GetRHdrFrame() {
return fRHdrFrame; }
190 virtual const TGTableHeaderFrame *GetCHdrFrame() {
return fCHdrFrame; }
191 virtual const TGTableHeader *GetRowHeader(
const UInt_t row)
const;
192 virtual TGTableHeader *GetRowHeader(
const UInt_t row);
193 virtual const TGTableHeader *GetColumnHeader(
const UInt_t column)
const;
194 virtual TGTableHeader *GetColumnHeader(
const UInt_t column);
195 virtual TGTableHeader *GetTableHeader();
201 virtual Pixel_t GetRowBackground(UInt_t row)
const;
202 virtual Pixel_t GetHeaderBackground()
const ;
204 virtual void SetOddRowBackground(Pixel_t pixel);
205 virtual void SetEvenRowBackground(Pixel_t pixel);
206 virtual void SetHeaderBackground(Pixel_t pixel);
207 virtual void SetDefaultColors();
210 virtual void MoveTable(Int_t rows, Int_t columns);
211 virtual void GotoTableRange(Int_t xtl, Int_t ytl,
212 Int_t xbr, Int_t ybr);
214 virtual TGTableCell* operator() (UInt_t row, UInt_t column);
217 virtual void ScrollCHeaders(Int_t xpos);
218 virtual void ScrollRHeaders(Int_t ypos);
219 virtual void NextChunk();
220 virtual void PreviousChunk();
221 virtual void UserRangeChange();
223 virtual void Update();
236 virtual ~TTableRange() {}
237 virtual void Print();
239 Bool_t operator==(TTableRange &other);
240 ClassDef(TTableRange, 0)