CMS 3D CMS Logo

FWTableManagerBase.h
Go to the documentation of this file.
1 #ifndef Fireworks_TableWidget_FWTableManagerBase_h
2 #define Fireworks_TableWidget_FWTableManagerBase_h
3 // -*- C++ -*-
4 //
5 // Package: TableWidget
6 // Class : FWTableManagerBase
7 //
28 //
29 // Original Author: Chris Jones
30 // Created: Mon Feb 2 16:40:52 EST 2009
31 //
32 
33 // system include files
34 #include <vector>
35 #include <string>
36 #include "TQObject.h"
37 #include "GuiTypes.h"
38 
39 // user include files
40 
41 // forward declarations
43 
44 class FWTableManagerBase : public TQObject {
45 public:
47  ~FWTableManagerBase() override;
48 
49  // ---------- const member functions ---------------------
51  virtual int numberOfRows() const = 0;
53  virtual int numberOfColumns() const = 0;
54 
56  virtual std::vector<std::string> getTitles() const = 0;
57 
59  virtual int unsortedRowNumber(int iSortedRowNumber) const = 0;
60 
66  virtual FWTableCellRendererBase* cellRenderer(int iSortedRowNumber, int iCol) const = 0;
67 
69  virtual unsigned int cellHeight() const;
70 
72  virtual std::vector<unsigned int> maxWidthForColumns() const;
73 
74  virtual bool hasLabelHeaders() const;
75 
77  virtual bool hasRowHeaders() const;
79  virtual FWTableCellRendererBase* rowHeader(int iSortedRowNumber) const;
80 
81  virtual bool cellDataIsSortable() const { return true; }
82 
84  virtual void buttonPressedInRowHeader(Int_t row, Event_t* event, Int_t relX, Int_t relY);
85  virtual void buttonReleasedInRowHeader(Int_t row, Event_t* event, Int_t relX, Int_t relY);
86 
87  // ---------- static member functions --------------------
88 
89  // ---------- member functions ---------------------------
91  void sort(int iCol, bool iSortOrder);
92 
94  void dataChanged(); //*SIGNAL*
95 
97  void visualPropertiesChanged(); //*SIGNAL*
98 
100 
102  bool sortOrder(void) { return m_sortOrder; }
103 
105  int sortColumn(void) { return m_sortColumn; }
106 
107 protected:
109  virtual void implSort(int iCol, bool iSortOrder) = 0;
110 
111 private:
112  //FWTableManagerBase(const FWTableManagerBase&); // stop default
113 
114  //const FWTableManagerBase& operator=(const FWTableManagerBase&); // stop default
115 
116  // ---------- member data --------------------------------
119 };
120 
121 #endif
virtual int numberOfColumns() const =0
Number of columns in the table.
bool sortOrder(void)
The current sort order for the table.
virtual bool cellDataIsSortable() const
virtual std::vector< unsigned int > maxWidthForColumns() const
for each column in the table this returns the present maximum width for that column ...
virtual void implSort(int iCol, bool iSortOrder)=0
Called by &#39;sort&#39; method to actually handle the sorting of the rows. Arguments are the same as &#39;sort&#39;...
void sort(int iCol, bool iSortOrder)
Call to have table sorted on values in column iCol with the sort order being descending if iSortOrder...
virtual std::vector< std::string > getTitles() const =0
returns the title names for each column
void dataChanged()
Classes which inherit from FWTableManagerBase must call this when their underlying data changes...
virtual FWTableCellRendererBase * rowHeader(int iSortedRowNumber) const
Returns the renderer for the row header for the sorted row number iSortedRowNumber.
virtual int numberOfRows() const =0
Number of rows in the table.
virtual int unsortedRowNumber(int iSortedRowNumber) const =0
when passed the index to the sorted order of the rows it returns the original row number from the und...
virtual FWTableCellRendererBase * cellRenderer(int iSortedRowNumber, int iCol) const =0
virtual bool hasRowHeaders() const
Returns &#39;true&#39; if this table has row headers. Defaults return value is false.
virtual void buttonReleasedInRowHeader(Int_t row, Event_t *event, Int_t relX, Int_t relY)
virtual bool hasLabelHeaders() const
virtual unsigned int cellHeight() const
require all cells to be the same height
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.
ClassDefOverride(FWTableManagerBase, 0)
~FWTableManagerBase() override
void visualPropertiesChanged()
Classes which inherit from FWTableManagerBase must call this when how the data is shown (e...
Definition: event.py:1
int sortColumn(void)
The current sort column.