#include <Fireworks/TableWidget/interface/FWTableWidget.h>
Public Member Functions | |
FWTabularWidget * | body () |
void | buttonPressedInRowHeader (Int_t row, Int_t column, Event_t *event, Int_t relX, Int_t relY) |
void | buttonReleasedInBody (Int_t row, Int_t column, Event_t *event, Int_t, Int_t) |
void | buttonReleasedInHeader (Int_t row, Int_t column, Event_t *event, Int_t, Int_t) |
void | buttonReleasedInRowHeader (Int_t row, Int_t column, Event_t *event, Int_t relX, Int_t relY) |
void | cellClicked (Int_t iRow, Int_t iColumn, Int_t iButton, Int_t iKeyMod, Int_t iGlobalX, Int_t iGlobalY) |
void | childrenEvent (Event_t *) |
ClassDef (FWTableWidget, 0) | |
void | Clicked () |
void | columnClicked (Int_t iColumn, Int_t iButton, Int_t iKeyMod) |
void | dataChanged () |
bool | descendingSort () const |
void | disableGrowInWidth () |
void | forceLayout () |
FWTableWidget (FWTableManagerBase *iManager, const TGWindow *p=0) | |
TGDimension | GetDefaultSize () const |
virtual void | MoveResize (Int_t x, Int_t y, UInt_t w=0, UInt_t h=0) |
virtual Bool_t | ProcessMessage (Long_t msg, Long_t parm1, Long_t parm2) |
virtual void | Resize (UInt_t w, UInt_t h) |
void | rowClicked (Int_t iRow, Int_t iButton, Int_t iKeyMod, Int_t iGlobalX, Int_t iGlobalY) |
void | SetBackgroundColor (Pixel_t) |
void | SetHeaderBackgroundColor (Pixel_t) |
void | SetHeaderForegroundColor (Pixel_t) |
void | SetLineSeparatorColor (Pixel_t) |
void | sort (UInt_t iColumn, bool iDescendingSort) |
int | sortedColumn () const |
virtual | ~FWTableWidget () |
Protected Member Functions | |
virtual void | DoRedraw () |
Private Member Functions | |
bool | handleResize (UInt_t w, UInt_t h) |
Private Attributes | |
FWTabularWidget * | m_body |
FWTableManagerBase * | m_bodyTable |
bool | m_descendingSort |
bool | m_forceLayout |
FWTabularWidget * | m_header |
TGGC * | m_headerBackground |
TGGC * | m_headerForeground |
FWTableManagerBase * | m_headerTable |
TGHScrollBar * | m_hSlider |
TGGC * | m_lineSeparator |
FWTabularWidget * | m_rowHeader |
FWTableManagerBase * | m_rowHeaderTable |
bool | m_showingHSlider |
bool | m_showingVSlider |
int | m_sortedColumn |
TGVScrollBar * | m_vSlider |
Description: ROOT widget for representing data in a tabular form where the data is accessed via a FWTableManagerBase
Usage: This widget creates a table made up of cells where the representation of the cells is controlled by the FWTableManagerBase instance passed to the FWTableWidget's constructor. If the data for the FWTableManagerBase changes, the view is automatically updated. See the documentation for FWTableManagerBase for further details.
Definition at line 36 of file FWTableWidget.h.
FWTableWidget::FWTableWidget | ( | FWTableManagerBase * | iManager, |
const TGWindow * | p = 0 |
||
) |
Definition at line 43 of file FWTableWidget.cc.
References kColOptions, kRowOptions, m_body, m_bodyTable, m_header, m_headerTable, m_hSlider, m_rowHeader, m_rowHeaderTable, m_vSlider, FWTabularWidget::setWidthOfTextInColumns(), and FWTabularWidget::widthOfTextInColumns().
: TGCompositeFrame(p), m_bodyTable(iManager), m_headerTable(iManager->hasLabelHeaders()?new FWAdapterHeaderTableManager(iManager): static_cast<FWTableManagerBase*>(0)), m_rowHeaderTable(iManager->hasRowHeaders()?new FWAdapterRowHeaderTableManager(iManager): static_cast<FWTableManagerBase*>(0)), m_header(0), m_rowHeader(0), m_showingVSlider(true), m_showingHSlider(true), m_sortedColumn(-1), m_descendingSort(true), m_forceLayout(false), m_headerBackground(0), m_headerForeground(0), m_lineSeparator(0) { SetLayoutManager( new TGTableLayout(this,3,3) ); if(0!=m_headerTable) { m_header = new FWTabularWidget(m_headerTable,this); AddFrame(m_header, new TGTableLayoutHints(1,2,0,1,kLHintsTop|kLHintsLeft|kRowOptions)); m_header->Connect("buttonReleased(Int_t,Int_t,Event_t*,Int_t,Int_t)","FWTableWidget",this,"buttonReleasedInHeader(Int_t,Int_t,Event_t*,Int_t,Int_t)"); } m_body = new FWTabularWidget(iManager,this,GetWhiteGC()()); //m_body->SetBackgroundColor(kWidgetColor); AddFrame(m_body, new TGTableLayoutHints(1,2,1,2,kLHintsTop|kLHintsLeft|kRowOptions|kColOptions)); m_body->Connect("buttonReleased(Int_t,Int_t,Event_t*,Int_t,Int_t)","FWTableWidget",this,"buttonReleasedInBody(Int_t,Int_t,Event_t*,Int_t,Int_t)"); //set sizes std::vector<unsigned int> columnWidths = m_body->widthOfTextInColumns(); if(0!=m_header) { std::vector<unsigned int> headerWidths = m_header->widthOfTextInColumns(); for(std::vector<unsigned int>::iterator it = columnWidths.begin(), itEnd=columnWidths.end(), itHeader=headerWidths.begin(); it != itEnd; ++it,++itHeader) { if(*itHeader > *it) { *it = *itHeader; } } } if(0!=m_header) { m_header->setWidthOfTextInColumns(columnWidths); } m_body->setWidthOfTextInColumns(columnWidths); if(m_rowHeaderTable) { m_rowHeader = new FWTabularWidget(m_rowHeaderTable,this, GetWhiteGC()()); //m_rowHeader->SetBackgroundColor(kWidgetColor); AddFrame(m_rowHeader, new TGTableLayoutHints(0,1,1,2,kLHintsTop|kLHintsLeft|kColOptions)); m_rowHeader->Connect("buttonReleased(Int_t,Int_t,Event_t*,Int_t,Int_t)","FWTableWidget",this,"buttonReleasedInBody(Int_t,Int_t,Event_t*,Int_t,Int_t)"); m_rowHeader->Connect("buttonReleased(Int_t,Int_t,Event_t*,Int_t,Int_t)","FWTableWidget",this,"buttonReleasedInRowHeader(Int_t,Int_t,Event_t*,Int_t,Int_t)"); m_rowHeader->setWidthOfTextInColumns(m_rowHeader->widthOfTextInColumns()); } m_hSlider = new TGHScrollBar(this); AddFrame(m_hSlider, new TGTableLayoutHints(1,2,2,3,kRowOptions)); m_hSlider->Connect("ProcessedEvent(Event_t*)", "FWTableWidget", this, "childrenEvent(Event_t *)"); m_vSlider = new TGVScrollBar(this); m_vSlider->SetSmallIncrement(12); AddFrame(m_vSlider, new TGTableLayoutHints(2,3,1,2,kColOptions)); m_vSlider->Connect("ProcessedEvent(Event_t*)", "FWTableWidget", this, "childrenEvent(Event_t *)"); MapSubwindows(); Layout(); //HideFrame(m_hSlider); //HideFrame(m_vSlider); m_hSlider->Associate(this); m_vSlider->Associate(this); m_hSlider->SetEditDisabled(kEditDisable | kEditDisableGrab | kEditDisableBtnEnable); m_vSlider->SetEditDisabled(kEditDisable | kEditDisableGrab | kEditDisableBtnEnable); m_bodyTable->Connect("dataChanged()","FWTableWidget",this,"dataChanged()"); }
FWTableWidget::~FWTableWidget | ( | ) | [virtual] |
Definition at line 121 of file FWTableWidget.cc.
References m_headerBackground, m_headerForeground, and m_lineSeparator.
{ if(0!=m_headerBackground) { gClient->GetResourcePool()->GetGCPool()->FreeGC(m_headerBackground->GetGC()); } if(0!= m_headerForeground) { gClient->GetResourcePool()->GetGCPool()->FreeGC(m_headerForeground->GetGC()); } if(0!= m_lineSeparator) { gClient->GetResourcePool()->GetGCPool()->FreeGC(m_lineSeparator->GetGC()); } }
FWTabularWidget* FWTableWidget::body | ( | ) | [inline] |
Definition at line 93 of file FWTableWidget.h.
References m_body.
Referenced by FWPathsPopup::FWPathsPopup(), and FWPathsPopup::postProcessEvent().
{ return m_body; }
void FWTableWidget::buttonPressedInRowHeader | ( | Int_t | row, |
Int_t | column, | ||
Event_t * | event, | ||
Int_t | relX, | ||
Int_t | relY | ||
) |
Definition at line 487 of file FWTableWidget.cc.
References FWTableManagerBase::buttonReleasedInRowHeader(), and m_bodyTable.
{ Int_t btn = event->fCode; if(btn != kButton1 && btn != kButton3) {return;} m_bodyTable->buttonReleasedInRowHeader(row, event, relX, relY); }
void FWTableWidget::buttonReleasedInBody | ( | Int_t | row, |
Int_t | column, | ||
Event_t * | event, | ||
Int_t | iRelX, | ||
Int_t | iRelY | ||
) |
Definition at line 357 of file FWTableWidget.cc.
References cellClicked(), m_body, m_bodyTable, m_vSlider, AlCaHLTBitMon_ParallelJobs::p, rowClicked(), and FWTableManagerBase::unsortedRowNumber().
{ Int_t btn = event->fCode; Int_t keyMod = event->fState; if(btn == kButton5){ //should scroll down if(m_vSlider) { Int_t p = m_vSlider->GetPosition(); Int_t mx = m_vSlider->GetRange(); p+=m_vSlider->GetSmallIncrement(); if(p>mx){ p=mx;} m_vSlider->SetPosition(p); } return; } if(btn == kButton4){ //should scroll up if(m_vSlider) { Int_t p = m_vSlider->GetPosition(); p -=m_vSlider->GetSmallIncrement(); if(0>p) {p=0;} m_vSlider->SetPosition(p); } return; } if(btn != kButton1 && btn != kButton3) {return;} if(row>=-1 and row < m_bodyTable->numberOfRows()) { Int_t globalX,globalY; Window_t childdum; gVirtualX->TranslateCoordinates(m_body->GetId(), gClient->GetDefaultRoot()->GetId(), event->fX,event->fY,globalX,globalY,childdum); cellClicked(m_bodyTable->unsortedRowNumber(row), column, btn, keyMod, globalX, globalY); rowClicked(m_bodyTable->unsortedRowNumber(row), btn,keyMod,globalX,globalY); } }
void FWTableWidget::buttonReleasedInHeader | ( | Int_t | row, |
Int_t | column, | ||
Event_t * | event, | ||
Int_t | , | ||
Int_t | |||
) |
Definition at line 341 of file FWTableWidget.cc.
References columnClicked(), m_descendingSort, m_sortedColumn, and sort().
{ Int_t btn = event->fCode; Int_t keyMod = event->fState; //Int_t keyMod = event->fState; if (btn == kButton1 || btn == kButton3) { if(m_sortedColumn==column) { sort(column, !m_descendingSort); } else { sort(column,true); } } columnClicked(column, btn, keyMod); }
void FWTableWidget::buttonReleasedInRowHeader | ( | Int_t | row, |
Int_t | column, | ||
Event_t * | event, | ||
Int_t | relX, | ||
Int_t | relY | ||
) |
Definition at line 494 of file FWTableWidget.cc.
References FWTableManagerBase::buttonReleasedInRowHeader(), and m_bodyTable.
{ Int_t btn = event->fCode; if(btn != kButton1 && btn != kButton3) {return;} m_bodyTable->buttonReleasedInRowHeader(row, event, relX, relY); }
void FWTableWidget::cellClicked | ( | Int_t | iRow, |
Int_t | iColumn, | ||
Int_t | iButton, | ||
Int_t | iKeyMod, | ||
Int_t | iGlobalX, | ||
Int_t | iGlobalY | ||
) |
Definition at line 395 of file FWTableWidget.cc.
References harvestRelVal::args.
Referenced by buttonReleasedInBody().
{ keyMod = (keyMod&(kKeyShiftMask|kKeyControlMask)); //std::cout <<"rowClicked "<<row<<" "<<btn<<" "<<keyMod<<std::endl; Long_t args[6]; args[0]=(Long_t)row; args[1]=(Long_t)column; args[2]=(Long_t)btn; args[3]=(Long_t)keyMod; args[4]=(Long_t)iGlobalX; args[5]=(Long_t)iGlobalY; Emit("cellClicked(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t)",args); }
void FWTableWidget::childrenEvent | ( | Event_t * | ) |
FWTableWidget::ClassDef | ( | FWTableWidget | , |
0 | |||
) |
void FWTableWidget::Clicked | ( | ) |
Definition at line 416 of file FWTableWidget.cc.
Referenced by childrenEvent().
{
Emit("Clicked()");
}
void FWTableWidget::columnClicked | ( | Int_t | iColumn, |
Int_t | iButton, | ||
Int_t | iKeyMod | ||
) |
Definition at line 436 of file FWTableWidget.cc.
References harvestRelVal::args.
Referenced by buttonReleasedInHeader().
{ keyMod = (keyMod&(kKeyShiftMask|kKeyControlMask)); //std::cout <<"rowClicked "<<row<<" "<<btn<<" "<<keyMod<<std::endl; Long_t args[3]; args[0]=(Long_t)column; args[1]=(Long_t)btn; args[2]=(Long_t)keyMod; Emit("columnClicked(Int_t,Int_t,Int_t)",args); }
void FWTableWidget::dataChanged | ( | void | ) |
Definition at line 448 of file FWTableWidget.cc.
References FWTabularWidget::dataChanged(), handleResize(), m_body, m_forceLayout, m_header, m_rowHeader, FWTabularWidget::setWidthOfTextInColumns(), and FWTabularWidget::widthOfTextInColumns().
Referenced by FWTableViewTableManager::implSort().
{ bool needs_layout = m_forceLayout; m_forceLayout = false; m_body->dataChanged(); if(m_rowHeader) { m_rowHeader->dataChanged(); m_rowHeader->setWidthOfTextInColumns(m_rowHeader->widthOfTextInColumns()); } //set sizes std::vector<unsigned int> columnWidths = m_body->widthOfTextInColumns(); if(m_header) { // reset header back to its internal max rather than the last width m_header->dataChanged(); std::vector<unsigned int> headerWidths = m_header->widthOfTextInColumns(); for(std::vector<unsigned int>::iterator it = columnWidths.begin(), itEnd=columnWidths.end(), itHeader=headerWidths.begin(); it != itEnd; ++it,++itHeader) { if(*itHeader > *it) { *it = *itHeader; } } m_header->setWidthOfTextInColumns(columnWidths); } m_body->setWidthOfTextInColumns(columnWidths); //this updates sliders to match our new data bool layoutDoneByhandleResize = handleResize(GetWidth(), GetHeight()); if (needs_layout && ! layoutDoneByhandleResize) { Layout(); } gClient->NeedRedraw(m_body); if (m_header) gClient->NeedRedraw(m_header); if (m_rowHeader) gClient->NeedRedraw(m_rowHeader); }
bool FWTableWidget::descendingSort | ( | ) | const [inline] |
Definition at line 91 of file FWTableWidget.h.
References m_descendingSort.
Referenced by FWTableView::addTo(), and FWTriggerTableView::addTo().
{ return m_descendingSort; }
void FWTableWidget::disableGrowInWidth | ( | ) |
Definition at line 522 of file FWTableWidget.cc.
References FWTabularWidget::disableGrowInWidth(), m_body, m_header, and m_rowHeader.
Referenced by FWGUIEventDataAdder::createWindow(), FWGeometryTableView::FWGeometryTableView(), and FWPathsPopup::FWPathsPopup().
{ m_body->disableGrowInWidth(); if (m_header) m_header->disableGrowInWidth(); if (m_rowHeader) m_rowHeader->disableGrowInWidth(); }
void FWTableWidget::DoRedraw | ( | ) | [protected, virtual] |
Definition at line 530 of file FWTableWidget.cc.
{
// override virtual TGFrame::DoRedraw() to prevent call of gVirtualX->ClearArea();
}
void FWTableWidget::forceLayout | ( | ) | [inline] |
Definition at line 84 of file FWTableWidget.h.
References m_forceLayout.
Referenced by FWTableView::addColumn(), FWTableView::deleteColumn(), FWTableView::modifyColumn(), and FWTableView::selectCollection().
{ m_forceLayout = true; }
TGDimension FWTableWidget::GetDefaultSize | ( | ) | const |
Definition at line 505 of file FWTableWidget.cc.
References FWTabularWidget::GetDefaultSize(), m_body, m_header, m_hSlider, m_rowHeader, and m_vSlider.
{ TGDimension returnValue; if(m_header){ returnValue.fHeight += m_header->GetDefaultHeight(); } if(m_rowHeader) { returnValue.fWidth += m_rowHeader->GetDefaultWidth(); } returnValue = returnValue + m_body->GetDefaultSize(); returnValue.fHeight += m_hSlider->GetDefaultHeight(); returnValue.fWidth += m_vSlider->GetDefaultWidth(); return returnValue; }
bool FWTableWidget::handleResize | ( | UInt_t | w, |
UInt_t | h | ||
) | [private] |
Definition at line 230 of file FWTableWidget.cc.
References def, FWTabularWidget::GetDefaultSize(), m_body, m_header, m_hSlider, m_rowHeader, m_showingHSlider, m_showingVSlider, and m_vSlider.
Referenced by dataChanged(), MoveResize(), and Resize().
{ //std::cout <<"Resize"<<std::endl; bool redoLayout=false; TGDimension def = m_body->GetDefaultSize(); UInt_t fullWidth = def.fWidth; if(m_rowHeader) { fullWidth += m_rowHeader->GetDefaultSize().fWidth; } UInt_t headerHeight = 0; if(m_header) { headerHeight = m_header->GetHeight(); } UInt_t fullHeight = def.fHeight + headerHeight; UInt_t sBarWidth = (h < fullHeight) ? m_vSlider->GetWidth() : 0; UInt_t sBarHeight = (w < fullWidth) ? m_hSlider->GetHeight() : 0; if (sBarWidth == 0 && sBarHeight > 0 && h < fullHeight + sBarHeight) sBarWidth = m_vSlider->GetWidth(); else if (sBarHeight == 0 && sBarWidth > 0 && h < fullWidth + sBarWidth) sBarHeight = m_hSlider->GetHeight(); fullWidth += sBarWidth; fullHeight += sBarHeight; if(w < fullWidth) { if(!m_showingHSlider) { ShowFrame(m_hSlider); redoLayout=true; m_showingHSlider=true; } m_hSlider->SetRange(fullWidth,w); } else { if(m_showingHSlider) { HideFrame(m_hSlider); m_hSlider->SetPosition(0); m_showingHSlider = false; redoLayout=true; } } if(h < fullHeight) { if(!m_showingVSlider) { ShowFrame(m_vSlider); m_showingVSlider=true; redoLayout=true; } m_vSlider->SetRange(fullHeight,h); } else { if(m_showingVSlider) { HideFrame(m_vSlider); m_vSlider->SetPosition(0); m_showingVSlider = false; redoLayout=true; } } if(redoLayout) { Layout(); } return redoLayout; }
void FWTableWidget::MoveResize | ( | Int_t | x, |
Int_t | y, | ||
UInt_t | w = 0 , |
||
UInt_t | h = 0 |
||
) | [virtual] |
Definition at line 295 of file FWTableWidget.cc.
References handleResize().
{ //std::cout <<"MoveResize"<<std::endl; if(w != GetWidth() || h != GetHeight()) { handleResize(w,h); } TGCompositeFrame::MoveResize(x,y,w,h); }
Bool_t FWTableWidget::ProcessMessage | ( | Long_t | msg, |
Long_t | parm1, | ||
Long_t | parm2 | ||
) | [virtual] |
Definition at line 305 of file FWTableWidget.cc.
References m_body, m_header, m_rowHeader, FWTabularWidget::setHorizontalOffset(), and FWTabularWidget::setVerticalOffset().
{ // Handle message generated by the canvas scrollbars. switch (GET_MSG(msg)) { case kC_HSCROLL: switch (GET_SUBMSG(msg)) { case kSB_SLIDERTRACK: case kSB_SLIDERPOS: m_body->setHorizontalOffset(parm1); if(m_header) { m_header->setHorizontalOffset(parm1); } break; } break; case kC_VSCROLL: switch (GET_SUBMSG(msg)) { case kSB_SLIDERTRACK: case kSB_SLIDERPOS: m_body->setVerticalOffset(parm1); if(m_rowHeader) { m_rowHeader->setVerticalOffset(parm1); } break; } break; default: break; } return kTRUE; }
void FWTableWidget::Resize | ( | UInt_t | w, |
UInt_t | h | ||
) | [virtual] |
Definition at line 223 of file FWTableWidget.cc.
References handleResize().
Referenced by FWCollectionSummaryWidget::toggleShowHide().
{ handleResize(w,h); TGCompositeFrame::Resize(w,h); }
void FWTableWidget::rowClicked | ( | Int_t | iRow, |
Int_t | iButton, | ||
Int_t | iKeyMod, | ||
Int_t | iGlobalX, | ||
Int_t | iGlobalY | ||
) |
This signal is emitted if the mouse button is 'clicked' while the cursor was over a row. Arguments: iRow: the unsorted row number (natural ordering) of the row clicked iButton: the ROOT button value for the click event (e.g. says which button used) iKeyMod: the ROOT key modifier value for the click event (e.g. says if a keyboard key was being held) iGlobalX: the X coordinate of the click in global coordinates iGlobalY: the Y coordinate of the click in global coordinates
Definition at line 422 of file FWTableWidget.cc.
References harvestRelVal::args.
Referenced by buttonReleasedInBody().
{ keyMod = (keyMod&(kKeyShiftMask|kKeyControlMask)); //std::cout <<"rowClicked "<<row<<" "<<btn<<" "<<keyMod<<std::endl; Long_t args[5]; args[0]=(Long_t)row; args[1]=(Long_t)btn; args[2]=(Long_t)keyMod; args[3]=(Long_t)iGlobalX; args[4]=(Long_t)iGlobalY; Emit("rowClicked(Int_t,Int_t,Int_t,Int_t,Int_t)",args); }
void FWTableWidget::SetBackgroundColor | ( | Pixel_t | iColor | ) |
Definition at line 166 of file FWTableWidget.cc.
References m_body, m_header, m_rowHeader, and m_rowHeaderTable.
Referenced by FWCollectionSummaryWidget::colorTable(), FWGUIEventDataAdder::createWindow(), FWGeometryTableView::FWGeometryTableView(), FWPathsPopup::FWPathsPopup(), FWTableView::resetColors(), FWTableView::setBackgroundColor(), FWGeometryTableView::setBackgroundColor(), and FWTriggerTableView::setBackgroundColor().
{ TGFrame::SetBackgroundColor(iColor); if(m_rowHeaderTable) { m_rowHeader->SetBackgroundColor(iColor); fClient->NeedRedraw(m_rowHeader); } if(m_header) { m_header->SetBackgroundColor(iColor); fClient->NeedRedraw(m_header); } m_body->SetBackgroundColor(iColor); fClient->NeedRedraw(m_body); fClient->NeedRedraw(this); }
void FWTableWidget::SetHeaderBackgroundColor | ( | Pixel_t | iColor | ) |
Definition at line 183 of file FWTableWidget.cc.
References m_header, m_headerBackground, FWTabularWidget::setBackgroundAreaContext(), and matplotRender::t.
Referenced by FWGUIEventDataAdder::createWindow(), FWGeometryTableView::FWGeometryTableView(), FWPathsPopup::FWPathsPopup(), FWTableView::FWTableView(), FWTriggerTableView::FWTriggerTableView(), and FWCollectionSummaryWidget::toggleShowHide().
{ if(0==m_headerBackground) { GCValues_t t = *(gClient->GetResourcePool()->GetFrameGC()->GetAttributes()); m_headerBackground = gClient->GetResourcePool()->GetGCPool()->GetGC(&t,kTRUE); } m_headerBackground->SetForeground(iColor); if(0!=m_header) { m_header->setBackgroundAreaContext((*m_headerBackground)()); } }
void FWTableWidget::SetHeaderForegroundColor | ( | Pixel_t | iColor | ) |
Definition at line 195 of file FWTableWidget.cc.
References m_header, m_headerForeground, FWTabularWidget::setLineContext(), and matplotRender::t.
{ if(0==m_headerForeground) { GCValues_t t = *(gClient->GetResourcePool()->GetFrameGC()->GetAttributes()); m_headerForeground = gClient->GetResourcePool()->GetGCPool()->GetGC(&t,kTRUE); } m_headerForeground->SetForeground(iColor); if(0!=m_header) { m_header->setLineContext((*m_headerForeground)()); } }
void FWTableWidget::SetLineSeparatorColor | ( | Pixel_t | iColor | ) |
Definition at line 208 of file FWTableWidget.cc.
References m_body, m_lineSeparator, m_rowHeader, FWTabularWidget::setLineContext(), and matplotRender::t.
Referenced by FWCollectionSummaryWidget::colorTable(), FWGUIEventDataAdder::createWindow(), FWGeometryTableView::FWGeometryTableView(), FWPathsPopup::FWPathsPopup(), FWTableView::resetColors(), FWGeometryTableView::setBackgroundColor(), and FWTriggerTableView::setBackgroundColor().
{ if(0==m_lineSeparator) { GCValues_t t = *(gClient->GetResourcePool()->GetFrameGC()->GetAttributes()); m_lineSeparator = gClient->GetResourcePool()->GetGCPool()->GetGC(&t,kTRUE); } m_lineSeparator->SetForeground(iColor); m_body->setLineContext( (*m_lineSeparator)()); if(m_rowHeader) { m_rowHeader->setLineContext( (*m_lineSeparator)() ); } }
void FWTableWidget::sort | ( | UInt_t | iColumn, |
bool | iDescendingSort | ||
) |
Sorts the rows of data in the table based on values in column iColumn. If iDescendingSort is 'true' then the rows are sorted in descending order of the values.
Definition at line 152 of file FWTableWidget.cc.
References m_bodyTable, m_descendingSort, m_headerTable, m_sortedColumn, and FWTableManagerBase::sort().
Referenced by buttonReleasedInHeader(), FWTableView::setFrom(), and FWTriggerTableView::setFrom().
{ if(0!=m_headerTable) { m_headerTable->sort(iColumn,iDescendingSort); } m_bodyTable->sort(iColumn,iDescendingSort); m_sortedColumn =iColumn; m_descendingSort=iDescendingSort; //fClient->NeedRedraw(m_header); //fClient->NeedRedraw(m_body); }
int FWTableWidget::sortedColumn | ( | ) | const [inline] |
Definition at line 90 of file FWTableWidget.h.
References m_sortedColumn.
Referenced by FWTableView::addTo(), and FWTriggerTableView::addTo().
{ return m_sortedColumn; }
FWTabularWidget* FWTableWidget::m_body [private] |
Definition at line 111 of file FWTableWidget.h.
Referenced by body(), buttonReleasedInBody(), dataChanged(), disableGrowInWidth(), FWTableWidget(), GetDefaultSize(), handleResize(), ProcessMessage(), SetBackgroundColor(), and SetLineSeparatorColor().
FWTableManagerBase* FWTableWidget::m_bodyTable [private] |
Definition at line 107 of file FWTableWidget.h.
Referenced by buttonPressedInRowHeader(), buttonReleasedInBody(), buttonReleasedInRowHeader(), FWTableWidget(), and sort().
bool FWTableWidget::m_descendingSort [private] |
Definition at line 119 of file FWTableWidget.h.
Referenced by buttonReleasedInHeader(), descendingSort(), and sort().
bool FWTableWidget::m_forceLayout [private] |
Definition at line 120 of file FWTableWidget.h.
Referenced by dataChanged(), and forceLayout().
FWTabularWidget* FWTableWidget::m_header [private] |
Definition at line 110 of file FWTableWidget.h.
Referenced by dataChanged(), disableGrowInWidth(), FWTableWidget(), GetDefaultSize(), handleResize(), ProcessMessage(), SetBackgroundColor(), SetHeaderBackgroundColor(), and SetHeaderForegroundColor().
TGGC* FWTableWidget::m_headerBackground [private] |
Definition at line 122 of file FWTableWidget.h.
Referenced by SetHeaderBackgroundColor(), and ~FWTableWidget().
TGGC* FWTableWidget::m_headerForeground [private] |
Definition at line 123 of file FWTableWidget.h.
Referenced by SetHeaderForegroundColor(), and ~FWTableWidget().
FWTableManagerBase* FWTableWidget::m_headerTable [private] |
Definition at line 108 of file FWTableWidget.h.
Referenced by FWTableWidget(), and sort().
TGHScrollBar* FWTableWidget::m_hSlider [private] |
Definition at line 114 of file FWTableWidget.h.
Referenced by FWTableWidget(), GetDefaultSize(), and handleResize().
TGGC* FWTableWidget::m_lineSeparator [private] |
Definition at line 124 of file FWTableWidget.h.
Referenced by SetLineSeparatorColor(), and ~FWTableWidget().
FWTabularWidget* FWTableWidget::m_rowHeader [private] |
Definition at line 112 of file FWTableWidget.h.
Referenced by dataChanged(), disableGrowInWidth(), FWTableWidget(), GetDefaultSize(), handleResize(), ProcessMessage(), SetBackgroundColor(), and SetLineSeparatorColor().
Definition at line 109 of file FWTableWidget.h.
Referenced by FWTableWidget(), and SetBackgroundColor().
bool FWTableWidget::m_showingHSlider [private] |
Definition at line 116 of file FWTableWidget.h.
Referenced by handleResize().
bool FWTableWidget::m_showingVSlider [private] |
Definition at line 115 of file FWTableWidget.h.
Referenced by handleResize().
int FWTableWidget::m_sortedColumn [private] |
Definition at line 118 of file FWTableWidget.h.
Referenced by buttonReleasedInHeader(), sort(), and sortedColumn().
TGVScrollBar* FWTableWidget::m_vSlider [private] |
Definition at line 113 of file FWTableWidget.h.
Referenced by buttonReleasedInBody(), FWTableWidget(), GetDefaultSize(), and handleResize().