CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends
FWTriggerTableViewTableManager Class Reference

#include <Fireworks/Core/interface/FWTriggerTableViewTableManager.h>

Inheritance diagram for FWTriggerTableViewTableManager:
FWTableManagerBase

Public Member Functions

FWTableCellRendererBasecellRenderer (int iSortedRowNumber, int iCol) const override
 
void dataChanged ()
 
 FWTriggerTableViewTableManager (const FWTriggerTableView *)
 
std::vector< std::string > getTitles () const override
 returns the title names for each column More...
 
int numberOfColumns () const override
 Number of columns in the table. More...
 
int numberOfRows () const override
 Number of rows in the table. More...
 
int unsortedRowNumber (int iSortedRowNumber) const override
 when passed the index to the sorted order of the rows it returns the original row number from the underlying data More...
 
 ~FWTriggerTableViewTableManager () override
 
- Public Member Functions inherited from FWTableManagerBase
virtual void buttonPressedInRowHeader (Int_t row, Event_t *event, Int_t relX, Int_t relY)
 Called if mouse button pressed in Row Header, defaults is to do nothing. More...
 
virtual void buttonReleasedInRowHeader (Int_t row, Event_t *event, Int_t relX, Int_t relY)
 
virtual bool cellDataIsSortable () const
 
virtual unsigned int cellHeight () const
 require all cells to be the same height More...
 
 ClassDefOverride (FWTableManagerBase, 0)
 
void dataChanged ()
 Classes which inherit from FWTableManagerBase must call this when their underlying data changes. More...
 
 FWTableManagerBase ()
 
virtual bool hasLabelHeaders () const
 
virtual bool hasRowHeaders () const
 Returns 'true' if this table has row headers. Defaults return value is false. More...
 
virtual std::vector< unsigned int > maxWidthForColumns () const
 for each column in the table this returns the present maximum width for that column More...
 
virtual FWTableCellRendererBaserowHeader (int iSortedRowNumber) const
 Returns the renderer for the row header for the sorted row number iSortedRowNumber. More...
 
void sort (int iCol, bool iSortOrder)
 Call to have table sorted on values in column iCol with the sort order being descending if iSortOrder is 'true'. More...
 
int sortColumn (void)
 The current sort column. More...
 
bool sortOrder (void)
 The current sort order for the table. More...
 
void visualPropertiesChanged ()
 Classes which inherit from FWTableManagerBase must call this when how the data is shown (e.g. color) changes. More...
 
 ~FWTableManagerBase () override
 

Protected Member Functions

void implSort (int iCol, bool iSortOrder) override
 

Protected Attributes

TGGC * m_graphicsContext
 
FWTextTableCellRendererm_renderer
 
std::vector< int > m_sortedToUnsortedIndices
 
const FWTriggerTableViewm_view
 

Private Member Functions

 FWTriggerTableViewTableManager (const FWTriggerTableViewTableManager &)=delete
 
const FWTriggerTableViewTableManageroperator= (const FWTriggerTableViewTableManager &)=delete
 

Friends

class FWTriggerTableView
 

Detailed Description

Definition at line 31 of file FWTriggerTableViewTableManager.h.

Constructor & Destructor Documentation

FWTriggerTableViewTableManager::FWTriggerTableViewTableManager ( const FWTriggerTableView view)

Definition at line 9 of file FWTriggerTableViewTableManager.cc.

References m_graphicsContext, m_renderer, FWTriggerTableView::m_tableWidget, and m_view.

10  : m_view(view),
11  m_graphicsContext(nullptr),
12  m_renderer(nullptr)
13 {
14  GCValues_t gc = *(m_view->m_tableWidget->GetWhiteGC().GetAttributes());
15  m_graphicsContext = gClient->GetResourcePool()->GetGCPool()->GetGC(&gc,kTRUE);
17 }
FWTableWidget * m_tableWidget
FWTriggerTableViewTableManager::~FWTriggerTableViewTableManager ( )
override

Definition at line 19 of file FWTriggerTableViewTableManager.cc.

References m_renderer.

20 {
21  delete m_renderer;
22 }
FWTriggerTableViewTableManager::FWTriggerTableViewTableManager ( const FWTriggerTableViewTableManager )
privatedelete

Member Function Documentation

FWTableCellRendererBase * FWTriggerTableViewTableManager::cellRenderer ( int  iSortedRowNumber,
int  iCol 
) const
overridevirtual

Returns the particular renderer used to handle the requested cell. Arguments: iSortedRowNumber: the row number from the present sort (i.e. the cell number of the view) iCol: the column number of the cell. The returned value must be used immediately and not held onto since the same Renderer can be used for subsequent calls

Implements FWTableManagerBase.

Definition at line 60 of file FWTriggerTableViewTableManager.cc.

References FWTriggerTableView::backgroundColor(), createfilelist::int, FWTriggerTableView::m_columns, m_graphicsContext, m_renderer, m_view, FWTextTableCellRenderer::setData(), AlCaHLTBitMon_QueryRunRegistry::string, and unsortedRowNumber().

Referenced by FWTriggerTableView::saveImageTo().

62 {
63  const int realRowNumber = unsortedRowNumber(iSortedRowNumber);
64  const int acceptColumn = 1;
65  if ( !m_view->m_columns.empty() &&
66  int(m_view->m_columns.size())>iCol &&
67  int(m_view->m_columns.front().values.size())>realRowNumber ) {
68  bool accepted = std::string(m_view->m_columns.at(acceptColumn).values.at(realRowNumber)) == "1";
69  if ((m_view->backgroundColor() == kBlack) == accepted)
70  m_graphicsContext->SetForeground(0xe0e0e0);
71  else
72  m_graphicsContext->SetForeground(0x404040);
73  m_renderer->setData(m_view->m_columns.at(iCol).values.at(realRowNumber), false);
74  } else {
75  m_renderer->setData("invalid", false);
76  }
77  return m_renderer;
78 }
std::vector< Column > m_columns
int unsortedRowNumber(int iSortedRowNumber) const override
when passed the index to the sorted order of the rows it returns the original row number from the und...
Color_t backgroundColor() const
void setData(const std::string &, bool isSelected)
void FWTriggerTableViewTableManager::dataChanged ( void  )

Definition at line 81 of file FWTriggerTableViewTableManager.cc.

References cuy::col, FWTableManagerBase::dataChanged(), mps_fire::i, m_sortedToUnsortedIndices, and numberOfRows().

Referenced by FWTriggerTableView::dataChanged(), and FWHLTTriggerTableView::fillTable().

82 {
84  for ( int i=0; i< numberOfRows(); ++i)
85  m_sortedToUnsortedIndices.push_back(i);
87 }
int numberOfRows() const override
Number of rows in the table.
void dataChanged()
Classes which inherit from FWTableManagerBase must call this when their underlying data changes...
std::vector< std::string > FWTriggerTableViewTableManager::getTitles ( ) const
overridevirtual

returns the title names for each column

Implements FWTableManagerBase.

Definition at line 40 of file FWTriggerTableViewTableManager.cc.

References mps_fire::i, FWTriggerTableView::m_columns, m_view, gen::n, and numberOfColumns().

41 {
42  unsigned int n = numberOfColumns();
43  std::vector<std::string> ret;
44  ret.reserve(n);
45  for (unsigned int i = 0; i < n; ++i) {
46  ret.push_back(m_view->m_columns.at(i).title);
47  }
48  return ret;
49 }
std::vector< Column > m_columns
int numberOfColumns() const override
Number of columns in the table.
void FWTriggerTableViewTableManager::implSort ( int  iCol,
bool  iSortOrder 
)
overrideprotectedvirtual

Called by 'sort' method to actually handle the sorting of the rows. Arguments are the same as 'sort'

Implements FWTableManagerBase.

Definition at line 112 of file FWTriggerTableViewTableManager.cc.

References FWTriggerTableView::m_columns, m_sortedToUnsortedIndices, and m_view.

113 {
114  if(sortOrder) {
115  std::multimap<std::string,int,std::greater<std::string> > ordered;
116  doSort(col, m_view->m_columns, ordered, m_sortedToUnsortedIndices);
117  } else {
118  std::multimap<std::string,int> ordered;
119  doSort(col, m_view->m_columns, ordered, m_sortedToUnsortedIndices);
120  }
121 }
bool sortOrder(void)
The current sort order for the table.
std::vector< Column > m_columns
col
Definition: cuy.py:1009
int FWTriggerTableViewTableManager::numberOfColumns ( ) const
overridevirtual

Number of columns in the table.

Implements FWTableManagerBase.

Definition at line 34 of file FWTriggerTableViewTableManager.cc.

References FWTriggerTableView::m_columns, and m_view.

Referenced by getTitles(), FWTriggerTableView::saveImageTo(), and FWTriggerTableView::setFrom().

35 {
36  return m_view->m_columns.size();
37 }
std::vector< Column > m_columns
int FWTriggerTableViewTableManager::numberOfRows ( ) const
overridevirtual

Number of rows in the table.

Implements FWTableManagerBase.

Definition at line 25 of file FWTriggerTableViewTableManager.cc.

References FWTriggerTableView::m_columns, and m_view.

Referenced by dataChanged(), and FWTriggerTableView::saveImageTo().

26 {
27  if ( !m_view->m_columns.empty() )
28  return m_view->m_columns.front().values.size();
29  else
30  return 0;
31 }
std::vector< Column > m_columns
const FWTriggerTableViewTableManager& FWTriggerTableViewTableManager::operator= ( const FWTriggerTableViewTableManager )
privatedelete
int FWTriggerTableViewTableManager::unsortedRowNumber ( int  iSortedRowNumber) const
overridevirtual

when passed the index to the sorted order of the rows it returns the original row number from the underlying data

Implements FWTableManagerBase.

Definition at line 52 of file FWTriggerTableViewTableManager.cc.

References m_sortedToUnsortedIndices.

Referenced by cellRenderer().

53 {
54  if (iSortedRowNumber >= (int)m_sortedToUnsortedIndices.size())
55  return 0;
56  return m_sortedToUnsortedIndices[iSortedRowNumber];
57 }

Friends And Related Function Documentation

friend class FWTriggerTableView
friend

Definition at line 32 of file FWTriggerTableViewTableManager.h.

Member Data Documentation

TGGC* FWTriggerTableViewTableManager::m_graphicsContext
protected
FWTextTableCellRenderer* FWTriggerTableViewTableManager::m_renderer
protected
std::vector<int> FWTriggerTableViewTableManager::m_sortedToUnsortedIndices
protected

Definition at line 51 of file FWTriggerTableViewTableManager.h.

Referenced by dataChanged(), implSort(), and unsortedRowNumber().

const FWTriggerTableView* FWTriggerTableViewTableManager::m_view
protected