171 fRowHeaders(0), fColumnHeaders(0), fReadOnly(
kFALSE), fSelectColor(0),
172 fTMode(0), fAllData(
kFALSE), fTableFrame(0), fCanvas(0), fCellWidth(80),
173 fCellHeight(25), fInterface(interface)
179 fCellHintsList =
new TList(hints);
180 fRHdrHintsList =
new TList(hints);
181 fCHdrHintsList =
new TList(hints);
182 fMainHintsList =
new TList(hints);
190 fCurrentRange->fXbr = ncolumns;
191 fCurrentRange->fYbr = nrows;
195 if(fInterface) SetInterface(fInterface, nrows, ncolumns);
207 for (i = 0; i < GetNTableRows(); i++) {
208 for (j = 0; j < GetNTableColumns(); j++) {
215 delete fColumnHeaders;
217 delete fCurrentRange;
221 fCellHintsList->Delete();
222 delete fCellHintsList;
223 delete fRHdrHintsList;
224 delete fCHdrHintsList;
226 fMainHintsList->Delete();
227 delete fMainHintsList;
235 UInt_t nrows = GetNTableRows();
236 UInt_t ncolumns = GetNTableColumns();
243 *str += GetNTableRows();
245 *str += GetNTableColumns();
258 fNextButton =
new TGTextButton(fButtonFrame,
"Next", WidgetId() + 2000);
259 fPrevButton =
new TGTextButton(fButtonFrame,
"Previous", WidgetId() + 2001);
260 fUpdateButton =
new TGTextButton(fButtonFrame,
"Update", WidgetId() + 2002);
262 fCanvas =
new TGCanvas(fBottomFrame, ncolumns * fCellWidth,
263 nrows * fCellHeight, 0);
264 fTableFrame =
new TGTableFrame(fCanvas->GetViewPort(), nrows, ncolumns);
266 fCanvas->SetContainer(fTableFrame->GetFrame());
270 fFirstCellLabel =
new TGLabel(fRangeFrame,
"Top left cell in range:");
271 fRangeLabel =
new TGLabel(fRangeFrame,
"Range:");
272 fFirstCellEntry =
new TGTextEntry(fRangeFrame,
"0,0", WidgetId() + 2050);
273 fFirstCellEntry->SetWidth(100);
275 fFirstCellEntry->Connect(
"TextChanged(const char *)",
"TGTable",
this,
276 "UserRangeChange()");
277 fFirstCellEntry->Connect(
"ReturnPressed()",
"TGTable",
this,
"Goto()");
280 range += GetNTableRows();
282 range += GetNTableColumns();
283 fRangeEntry =
new TGTextEntry(range, fRangeFrame, WidgetId() + 2051);
284 fRangeEntry->SetWidth(100);
286 fRangeEntry->Connect(
"TextChanged(const char *)",
"TGTable",
this,
287 "UserRangeChange()");
288 fRangeEntry->Connect(
"ReturnPressed()",
"TGTable",
this,
"Goto()");
289 fRangeEntry->Connect(
"TabPressed()",
"TGTextEntry", fFirstCellEntry,
291 fFirstCellEntry->Connect(
"TabPressed()",
"TGTextEntry", fRangeEntry,
294 fGotoRange->fXbr = GetNTableRows();
295 fGotoRange->fYbr = GetNTableColumns();
296 fGotoButton =
new TGTextButton(fRangeFrame,
"Goto", WidgetId() + 2003);
314 for(i = 0; i < nrows; i++) {
317 fRowHeaders->AddAt(hdr, i);
319 fColumnHeaders =
new TObjArray(ncolumns);
320 for(i = 0; i < ncolumns; i++) {
323 fColumnHeaders->AddAt(hdr, i);
329 for (i = 0; i < nrows; i++) {
331 fRows->AddAt(row, i);
332 for (j = 0; j < ncolumns; j++) {
333 cell =
new TGTableCell(fCanvas->GetContainer(),
this, label, i, j);
339 if ((GetNDataColumns() >= GetNTableColumns()) &&
340 (GetNDataRows() >= GetNTableRows())) {
349 for (i = 0; i < nrows; i++) {
351 fRHdrHintsList->Add(lhints);
352 fRHdrFrame->AddFrame(GetRowHeader(i), lhints);
353 for (j = 0; j < ncolumns; j++) {
356 fCHdrHintsList->Add(lhints);
357 fCHdrFrame->AddFrame(GetColumnHeader(j), lhints);
360 fCellHintsList->Add(lhints);
361 fCanvas->AddFrame(GetCell(i,j), lhints);
367 fRangeFrame->AddFrame(fGotoButton, lhints);
369 fRangeFrame->AddFrame(fRangeEntry, lhints);
371 fRangeFrame->AddFrame(fRangeLabel, lhints);
373 fRangeFrame->AddFrame(fFirstCellEntry, lhints);
375 fRangeFrame->AddFrame(fFirstCellLabel, lhints);
377 fRangeFrame->Resize();
383 fTopFrame->AddFrame(fTableHeader, lhints);
385 fTopExtraFrame->AddFrame(fCHdrFrame, lhints);
387 fTopFrame->AddFrame(fTopExtraFrame, lhints);
389 fBottomFrame->AddFrame(fRHdrFrame, lhints);
392 fBottomFrame->AddFrame(fCanvas, lhints);
396 fButtonFrame->AddFrame(fNextButton, lhints);
398 fButtonFrame->AddFrame(fPrevButton, lhints);
400 fButtonFrame->AddFrame(fUpdateButton, lhints);
401 fButtonFrame->Resize();
402 fButtonFrame->ChangeOptions(fButtonFrame->GetOptions() |
kFixedWidth);
414 sbar->
Connect(
"PositionChanged(Int_t)",
"TGTable",
this,
"ScrollRHeaders(Int_t)");
415 sbar = fCanvas->GetHScrollbar();
416 sbar->
Connect(
"PositionChanged(Int_t)",
"TGTable",
this,
"ScrollCHeaders(Int_t)");
419 fUpdateButton->Connect(
"Clicked()",
"TGTable",
this,
"Update()");
420 fNextButton->Connect(
"Clicked()",
"TGTable",
this,
"NextChunk()");
421 fPrevButton->Connect(
"Clicked()",
"TGTable",
this,
"PreviousChunk()");
422 fGotoButton->Connect(
"Clicked()",
"TGTable",
this,
"Goto()");
443 ExpandColumns(ncolumns);
454 UInt_t ntrows = GetNTableRows();
455 UInt_t ntcolumns = GetNTableColumns();
457 fColumnHeaders->Expand(ntcolumns + ncolumns);
459 for (i = 0; i < ncolumns; i++) {
463 fColumnHeaders->AddAt(header, ntcolumns + i);
466 for (i = 0; i < ntrows; i++) {
467 GetRow(i)->Expand(ntcolumns + ncolumns);
468 for (j = 0; j < ncolumns; j++) {
471 if (GetRow(i)) GetRow(i)->AddAt(cell, ntcolumns + j);
475 fCurrentRange->fXbr += ncolumns;
477 if ((GetNDataColumns() == GetNTableColumns()) &&
478 (GetNDataRows() == GetNTableRows())) {
492 UInt_t ntrows = GetNTableRows();
493 UInt_t ntcolumns = GetNTableColumns();
495 fRows->Expand(ntrows + nrows);
496 fRowHeaders->Expand(ntrows + nrows);
497 for (i = 0; i < nrows; i++) {
499 fRows->AddAt(row, ntrows + i);
503 fRowHeaders->AddAt(header, ntrows + i);
504 for (j = 0; j < ntcolumns ; j++) {
507 if (GetRow(ntrows + i)) GetRow(ntrows + i)->AddAt(cell, j);
511 fCurrentRange->fYbr += nrows;
513 if ((GetNDataColumns() == GetNTableColumns()) &&
514 (GetNDataRows() == GetNTableRows())) {
526 Int_t ncolumns = GetNTableColumns();
528 for (
Int_t i = 0; i < ncolumns; i++) {
529 if (GetColumnHeader(i)) width += GetColumnHeader(i)->GetWidth();
539 Int_t nrows = GetNTableRows();
541 for (
Int_t i = 0; i < nrows; i++) {
542 if (GetRowHeader(i)) height += GetRowHeader(i)->GetHeight();
553 ShrinkColumns(ncolumns);
561 UInt_t i = 0, j = 0, k = 0;
563 if(GetNTableColumns() - ncolumns < 1) {
564 Info(
"TGTable::ShrinkColumns",
"Cannot shrink smaller than 1" 565 " column, adjusting");
566 ncolumns = GetNTableColumns() - 1;
569 UInt_t ntrows = GetNTableRows();
570 UInt_t ntcolumns = GetNTableColumns();
576 for (i = 0; i < ntrows; i++) {
577 for (j = 0; j < ncolumns; j++) {
578 k = ntcolumns - ncolumns + j;
587 GetRow(i)->Expand(ntcolumns - ncolumns);
591 for (j = 0; j < ncolumns; j++) {
592 hdr = (
TGTableHeader *)fColumnHeaders->RemoveAt(ntcolumns - ncolumns + j);
596 fColumnHeaders->Expand(ntcolumns - ncolumns);
598 fCurrentRange->fXbr -= ncolumns;
601 if ((GetNDataColumns() == GetNTableColumns()) &&
602 (GetNDataRows() == GetNTableRows())) {
616 if(GetNTableRows() - nrows < 1) {
617 Info(
"TGTable::ShrinkRows",
"Cannot shrink smaller than 1 row, adjusting");
618 nrows = GetNTableRows() - 1;
621 UInt_t ntrows = GetNTableRows();
622 UInt_t ntcolumns = GetNTableColumns();
628 for (i = 0; i < nrows; i++) {
629 for (j = 0; j < ntcolumns ; j++) {
630 if (GetRow(ntrows - nrows + i)) {
631 cell = (
TGTableCell *)GetRow(ntrows - nrows + i)->RemoveAt(j);
640 hdr = (
TGTableHeader *)fRowHeaders->RemoveAt(ntrows - nrows + i);
644 fRows->Expand(ntrows - nrows);
645 fRowHeaders->Expand(ntrows - nrows);
647 fCurrentRange->fYbr -= nrows;
649 if ((GetNDataColumns() == GetNTableColumns()) &&
650 (GetNDataRows() == GetNTableRows())) {
664 max = GetNTableColumns();
665 for (i = 0; i < max; i++) {
666 d = fCurrentRange->fXtl + i;
667 if (GetColumnHeader(i) && fInterface->GetColumnHeader(
d))
668 GetColumnHeader(i)->SetLabel(fInterface->GetColumnHeader(
d));
671 max = GetNTableRows();
672 for (i = 0; i < max; i++) {
673 d = fCurrentRange->fYtl + i;
674 if (GetRowHeader(i) && fInterface->GetRowHeader(
d))
675 GetRowHeader(i)->SetLabel(fInterface->GetRowHeader(
d));
686 fInterface = interface;
690 fDataRange->fXtl = 0;
691 fDataRange->fYtl = 0;
693 fDataRange->fYbr = fInterface->GetNRows();
696 if (fDataRange->fXbr < ncolumns) {
697 x = fDataRange->fXbr;
702 if (fDataRange->fYbr < nrows) {
703 y = fDataRange->fYbr;
708 GotoTableRange(0, 0, x,
y);
710 if ((GetNDataColumns() == GetNTableColumns()) &&
711 (GetNDataRows() == GetNTableRows())) {
724 UInt_t oldnrows = GetNTableRows();
725 UInt_t oldncolumns = GetNTableColumns();
731 if (newnrows != oldnrows){
732 if (newnrows > oldnrows) {
733 ExpandRows(newnrows - oldnrows);
735 ShrinkRows(oldnrows - newnrows);
739 if (newncolumns != oldncolumns){
740 if (newncolumns > oldncolumns) {
741 ExpandColumns(newncolumns - oldncolumns);
743 ShrinkColumns(oldncolumns - newncolumns);
748 if ((newncolumns != oldncolumns) || (newnrows != oldnrows)) {
750 fCellHintsList->Delete();
752 fRHdrFrame->RemoveAll();
753 fRHdrHintsList->Delete();
755 fCHdrFrame->RemoveAll();
756 fCHdrHintsList->Delete();
759 newnrows, newncolumns));
762 for (i = 0; i < (
Int_t)newnrows; i++) {
764 fRHdrHintsList->Add(lhints);
765 fRHdrFrame->AddFrame(GetRowHeader(i), lhints);
766 for (j = 0; j < (
Int_t)newncolumns; j++) {
769 fCHdrHintsList->Add(lhints);
770 fCHdrFrame->AddFrame(GetColumnHeader(j), lhints);
773 fCellHintsList->Add(lhints);
774 fCanvas->AddFrame(GetCell(i,j), lhints);
778 fCanvas->MapSubwindows();
789 tl += fCurrentRange->fYtl;
791 tl += fCurrentRange->fXtl;
792 fFirstCellEntry->SetText(tl.
Data());
794 range += GetNTableRows();
796 range += GetNTableColumns();
797 fRangeEntry->SetText(range.
Data());
820 UInt_t nrows = GetNTableRows();
823 for(
UInt_t ui = 0; ui < nrows; ui++) {
824 col->
AddAt(GetCell(ui, column), ui);
894 return const_cast<TGTable *
>(
this)->GetCell(i, j);
916 return const_cast<TGTable *
>(
this)->FindCell(label);
928 UInt_t nrows = GetNTableRows();
929 UInt_t ncolumns = GetNTableColumns();
930 for (i = 0; i < nrows; i++) {
931 for (j = 0; j < ncolumns; j++) {
950 UInt_t nrows = GetNTableRows();
951 UInt_t ncolumns = GetNTableColumns();
954 std::ios_base::fmtflags org_flags = std::cout.flags();
956 for (j = 0; j < ncolumns + 1; j++) {
959 if (hdr) std::cout <<
" " << std::setw(12) << std::right
962 hdr = GetColumnHeader(j - 1);
963 if (hdr) std::cout <<
" " << std::setw(12) << std::right
967 std::cout << std::endl;
969 for (i = 0; i < nrows; i++) {
970 for (j = 0; j < ncolumns + 1; j++) {
972 hdr = GetRowHeader(i);
973 if (hdr) std::cout <<
" " << std::setw(12) << std::right
976 cell = GetCell(i, j - 1);
977 if (cell) std::cout <<
" " << std::setw(12) << std::right
981 std::cout << std::endl;
984 std::cout.flags(org_flags);
1062 UInt_t nrows = GetNTableRows();
1063 UInt_t ncolumns = GetNTableColumns();
1070 fTableHeader->SetLabel(str->
GetString());
1080 for (i = 0; i < nrows; i++) {
1081 for (j = 0; j < ncolumns; j++) {
1082 cell = GetCell(i,j);
1083 k = fCurrentRange->fYtl + i;
1084 l = fCurrentRange->fXtl + j;
1086 const char *label = fInterface->GetValueAsString(k,
l);
1093 gClient->NeedRedraw(fTableHeader);
1096 fCHdrFrame->DrawRegion(0, 0, fCHdrFrame->GetWidth(), fCHdrFrame->GetHeight());
1097 fRHdrFrame->DrawRegion(0, 0, fRHdrFrame->GetWidth(), fRHdrFrame->GetHeight());
1107 return fCurrentRange->fYbr - fCurrentRange->fYtl;
1115 return fDataRange->fYbr - fDataRange->fYtl;
1123 return fCurrentRange->fXbr - fCurrentRange->fXtl;
1131 return fDataRange->fYbr - fDataRange->fYtl;
1139 return GetNTableRows() * GetNTableColumns();
1147 return GetNDataRows() * GetNDataColumns();
1155 return fCurrentRange;
1163 return const_cast<TGTable *
>(
this)->GetRowHeader(row);
1179 return const_cast<TGTable *
>(
this)->GetColumnHeader(column);
1195 return fTableHeader;
1219 return fEvenRowBackground;
1221 return fOddRowBackground;
1230 return fHeaderBackground;
1238 if(pixel == fOddRowBackground)
return;
1240 fOddRowBackground = pixel;
1242 UInt_t nrows = GetNTableRows();
1243 UInt_t ncolumns = GetNTableColumns();
1247 for (i = 0; i < nrows; i++) {
1248 for (j = 0; j < ncolumns; j++) {
1250 cell = GetCell(i,j);
1256 UInt_t width = fCanvas->GetViewPort()->GetWidth();
1257 UInt_t height = fCanvas->GetViewPort()->GetHeight();
1258 fTableFrame->DrawRegion(0, 0, width, height);
1266 if(pixel == fEvenRowBackground)
return;
1268 fEvenRowBackground = pixel;
1270 UInt_t nrows = GetNTableRows();
1271 UInt_t ncolumns = GetNTableColumns();
1275 for (i = 0; i < nrows; i++) {
1276 for (j = 0; j < ncolumns; j++) {
1278 cell = GetCell(i,j);
1283 UInt_t width = fCanvas->GetViewPort()->GetWidth();
1284 UInt_t height = fCanvas->GetViewPort()->GetHeight();
1285 fTableFrame->DrawRegion(0, 0, width, height);
1293 if(pixel == fHeaderBackground)
return;
1295 fHeaderBackground = pixel;
1297 UInt_t nrows = GetNTableRows();
1298 UInt_t ncolumns = GetNTableColumns();
1302 for (i = 0; i < nrows; i++) {
1303 hdr = GetRowHeader(i);
1306 UInt_t height = fCanvas->GetViewPort()->GetHeight();
1307 UInt_t width = fTableHeader->GetWidth();
1308 fRHdrFrame->DrawRegion(0, 0, width, height);
1310 for (j = 0; j < ncolumns; j++) {
1311 hdr = GetColumnHeader(j);
1315 width = fCanvas->GetViewPort()->GetWidth();
1316 height = fTableHeader->GetHeight();
1317 fCHdrFrame->DrawRegion(0, 0, width, height);
1335 if (fAllData)
return;
1337 Int_t xtl = fCurrentRange->fXtl + columns;
1338 Int_t ytl = fCurrentRange->fYtl + rows;
1339 Int_t xbr = fCurrentRange->fXbr + columns;
1340 Int_t ybr = fCurrentRange->fYbr + rows;
1342 GotoTableRange(xtl, ytl, xbr, ybr);
1350 if (fAllData)
return;
1352 if(xtl == xbr || ytl == ybr) {
1353 Error(
"TGTable::GotoTableRange",
"x or y range = 0");
1361 Info(
"TGTable::GotoTableRange",
"Swapping x-range boundries");
1367 Info(
"TGTable::GotoTableRange",
"Swapping y-range boundries");
1373 if((xtl < 0) || (xbr < 0)) {
1374 Info(
"TGTable::GotoTableRange",
"Column boundry out of bounds, adjusting");
1377 if (xbr > (
Int_t)fDataRange->fXbr) {
1378 xbr = fDataRange->fXbr;
1383 if((ytl < 0) || (ybr < 0)) {
1384 Info(
"TGTable::GotoTableRange",
"Row boundry out of bounds, adjusting");
1387 if (ybr > (
Int_t)fDataRange->fYbr) {
1388 ybr = fDataRange->fYbr;
1393 if((xtl > (
Int_t)fDataRange->fXbr) || (xbr > (
Int_t)fDataRange->fXbr)) {
1394 Info(
"TGTable::GotoTableRange",
"Left Column boundry out of bounds, " 1396 xbr = fDataRange->fXbr;
1397 xtl = xbr - ncolumns;
1401 Info(
"TGTable::GotoTableRange",
"Right column boundry out of" 1402 " bounds, set to 0");
1405 if ((ytl > (
Int_t)fDataRange->fYbr) || (ybr > (
Int_t)fDataRange->fYbr)) {
1406 Info(
"TGTable::GotoTableRange",
"Bottom row boundry out of bounds, " 1408 ybr = fDataRange->fYbr;
1413 Info(
"TGTable::GotoTableRange",
"Top row boundry out of bounds, " 1422 ResizeTable(nrows, ncolumns);
1424 fCurrentRange->fXtl = xtl;
1425 fCurrentRange->fYtl = ytl;
1426 fCurrentRange->fXbr = xbr;
1427 fCurrentRange->fYbr = ybr;
1438 return GetCell(row, column);
1446 if (!fCHdrFrame)
return;
1448 fCHdrFrame->Move(- xpos, 0);
1449 fCHdrFrame->Resize();
1450 fCHdrFrame->DrawRegion(0, 0, fCHdrFrame->GetWidth(),
1451 fCHdrFrame->GetHeight());
1459 if (!fRHdrFrame)
return;
1461 fRHdrFrame->Move(fRHdrFrame->GetX(), -ypos);
1462 fRHdrFrame->Resize();
1463 fRHdrFrame->DrawRegion(0, 0, fRHdrFrame->GetWidth(),
1464 fRHdrFrame->GetHeight());
1472 MoveTable(GetNTableRows(), 0);
1481 MoveTable(-1 * (
Int_t)GetNTableRows(), 0);
1491 if (fGotoButton->GetState() ==
kButtonUp) {
1492 GotoTableRange(fGotoRange->fXtl, fGotoRange->fYtl,
1493 fGotoRange->fXbr, fGotoRange->fYbr);
1503 TString topleft(fFirstCellEntry->GetText());
1504 if(!topleft.Contains(
","))
return;
1508 TString jtl = topleft(pos+1, topleft.Length());
1515 fGotoRange->fXtl = jtl.
Atoi();
1516 fGotoRange->fYtl = itl.
Atoi();
1518 TString range(fRangeEntry->GetText());
1522 pos = range.
First(
'x');
1530 fGotoRange->fXbr = jtl.
Atoi() + jr.
Atoi();
1531 fGotoRange->fYbr = itl.
Atoi() + ir.
Atoi();
1533 if (*fGotoRange == *fCurrentRange) {
1546 fDataRange->fXbr = fInterface->GetNColumns();
1547 fDataRange->fYbr = fInterface->GetNRows();
1549 GotoTableRange(fCurrentRange->fXtl, fCurrentRange->fYtl,
1550 fCurrentRange->fXbr, fCurrentRange->fYbr);
1567 std::cout <<
"Range = (" << fXtl <<
"," << fYtl <<
")->(" 1568 << fXbr <<
"," << fYbr <<
")" << std::endl;
1576 if ((fXtl == other.
fXtl) && (fYtl == other.
fYtl) &&
1577 (fXbr == other.
fXbr) && (fYbr == other.
fYbr)) {
virtual UInt_t GetNDataCells() const
virtual void SetLabel(const char *label)
Set the label of this cell to label.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
virtual UInt_t GetNColumns()=0
virtual UInt_t GetNTableRows() const
virtual UInt_t GetNDataColumns() const
TGHorizontalFrame(const TGWindow *p=0, UInt_t w=1, UInt_t h=1, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
image html pict1_TGaxis_012 png width
Define new text attributes for the label number "labNum".
static Pixel_t GetWhitePixel()
Get white pixel value.
virtual void SetInterface(TVirtualTableInterface *interface, UInt_t nrows=50, UInt_t ncolumns=20)
virtual void UpdateView()
virtual void SetLayoutManager(TGLayoutManager *l)
Set the layout manager for the composite frame.
virtual Pixel_t GetRowBackground(UInt_t row) const
virtual void RemoveAll()
Remove all frames from composite frame.
virtual void DoRedraw()
Redraw the frame.
TObject * At(Int_t idx) const
virtual const TTableRange * GetCurrentRange() const
virtual TGTableCell * operator()(UInt_t row, UInt_t column)
virtual TObjArray * GetColumn(UInt_t columns)
void SetCanvas(TGCanvas *canvas)
virtual void SetHeaderBackground(Pixel_t pixel)
TGTable(const TGWindow *p=0, Int_t id=0, TVirtualTableInterface *interface=0, UInt_t nrows=50, UInt_t ncolumns=20)
virtual void MoveTable(Int_t rows, Int_t columns)
virtual UInt_t GetNDataRows() const
virtual UInt_t GetRHdrHeight() const
Bool_t operator==(TTableRange &other)
virtual Pixel_t GetHeaderBackground() const
Bool_t IsAlnum() const
Returns true if all characters in string are alphanumeric.
void Init(TClassEdit::TInterpreterLookupHelper *helper)
virtual void SetBackgroundColor(Pixel_t back)
Set background color (override from TGWindow base class).
virtual void ExpandRows(UInt_t nrows)
Ssiz_t First(char c) const
Find first occurrence of a character c.
virtual const TGTableCell * FindCell(TGString label) const
static ULong_t RGB2Pixel(Int_t r, Int_t g, Int_t b)
Convert r,g,b to graphics system dependent pixel value.
virtual TObjArray * GetRow(UInt_t row)
virtual void Expand(UInt_t nrows, UInt_t ncolumns)
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot...
virtual void SetDefaultColors()
virtual void ExpandColumns(UInt_t ncolumns)
virtual const TGTableHeader * GetRowHeader(const UInt_t row) const
virtual TObject * RemoveAt(Int_t idx)
Remove object at index idx.
virtual UInt_t GetNTableColumns() const
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual TGTableHeader * GetTableHeader()
virtual void AddAt(TObject *obj, Int_t idx)
Add object at position ids.
virtual void ShrinkRows(UInt_t nrows)
const char * GetString() const
virtual void ResizeTable(UInt_t nrows, UInt_t ncolumns)
virtual void SetEvenRowBackground(Pixel_t pixel)
virtual void UserRangeChange()
virtual void ScrollCHeaders(Int_t xpos)
virtual void PreviousChunk()
virtual void SetOddRowBackground(Pixel_t pixel)
virtual const TGTableHeader * GetColumnHeader(const UInt_t column) const
virtual TGString * GetLabel() const
virtual void Layout()
Layout the tab widget.
virtual UInt_t GetCHdrWidth() const
virtual void Shrink(UInt_t nrows, UInt_t ncolumns)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
virtual void UpdateRangeFrame()
virtual void ShrinkColumns(UInt_t ncolumns)
virtual void UpdateHeaders(EHeaderType type)
virtual void ScrollRHeaders(Int_t ypos)
virtual UInt_t GetNTableCells() const
Int_t Atoi() const
Return integer value of string.
virtual void GotoTableRange(Int_t xtl, Int_t ytl, Int_t xbr, Int_t ybr)
virtual const TGTableCell * GetCell(UInt_t i, UInt_t j) const
virtual void DestroyWindow()
virtual void SetWindowName(const char *name=0)
Set window name.
const char * Data() const