![]() |
|
|||
File indexing completed on 2024-04-06 12:11:32
0001 // -*- C++ -*- 0002 #ifndef Fireworks_Core_FWTableViewTableManager_h 0003 #define Fireworks_Core_FWTableViewTableManager_h 0004 // 0005 // Package: Core 0006 // Class : FWTableViewTableManager 0007 // 0008 /**\class FWTableViewTableManager FWTableViewTableManager.h Fireworks/Core/interface/FWTableViewTableManager.h 0009 0010 */ 0011 // 0012 // Original Author: 0013 // Created: Mon Feb 2 16:40:52 EST 2009 0014 // 0015 0016 // system include files 0017 #include <vector> 0018 #include <string> 0019 #include "TQObject.h" 0020 #include "GuiTypes.h" 0021 0022 // user include files 0023 #include "Fireworks/TableWidget/interface/FWTableManagerBase.h" 0024 #include "Fireworks/TableWidget/interface/FWTextTableCellRenderer.h" 0025 #include "Fireworks/Core/interface/FWTableViewManager.h" 0026 #include "Fireworks/Core/interface/FWExpressionEvaluator.h" 0027 0028 // forward declarations 0029 class FWTableView; 0030 class FWFramedTextTableCellRenderer; 0031 0032 class FWTableViewTableManager : public FWTableManagerBase { 0033 friend class FWTableView; 0034 0035 public: 0036 FWTableViewTableManager(const FWTableView *); 0037 ~FWTableViewTableManager() override; 0038 0039 // ---------- const member functions --------------------- 0040 ///Number of rows in the table 0041 int numberOfRows() const override; 0042 ///Number of columns in the table 0043 int numberOfColumns() const override; 0044 0045 ///returns the title names for each column 0046 std::vector<std::string> getTitles() const override; 0047 0048 ///when passed the index to the sorted order of the rows it 0049 ///returns the original row number from the underlying data 0050 int unsortedRowNumber(int iSortedRowNumber) const override; 0051 0052 /** Returns the particular renderer used to handle the requested 0053 cell. Arguments: iSortedRowNumber: the row number from the 0054 present sort (i.e. the cell number of the view) iCol: the column 0055 number of the cell. The returned value must be used immediately 0056 and not held onto since the same Renderer can be used for 0057 subsequent calls 0058 */ 0059 FWTableCellRendererBase *cellRenderer(int iSortedRowNumber, int iCol) const override; 0060 0061 ///require all cells to be the same height 0062 // virtual unsigned int cellHeight() const; 0063 0064 ///for each column in the table this returns the present maximum width for that column 0065 // virtual std::vector<unsigned int> maxWidthForColumns() const; 0066 0067 ///Returns 'true' if this table has row headers. Defaults return value is false. 0068 bool hasRowHeaders() const override; 0069 ///Returns the renderer for the row header for the sorted row number iSortedRowNumber 0070 FWTableCellRendererBase *rowHeader(int iSortedRowNumber) const override; 0071 0072 ///Called if mouse button pressed in Row Header, defaults is to do nothing 0073 //virtual void buttonPressedInRowHeader(Int_t row, Event_t* event, Int_t relX, Int_t relY); 0074 //virtual void buttonReleasedInRowHeader(Int_t row, Event_t* event, Int_t relX, Int_t relY); 0075 0076 // ---------- static member functions -------------------- 0077 0078 // ---------- member functions --------------------------- 0079 ///Call to have table sorted on values in column iCol with the 0080 ///sort order being descending if iSortOrder is 'true' 0081 // void sort(int iCol, bool iSortOrder); 0082 0083 ///Classes which inherit from FWTableViewTableManager must call 0084 ///this when their underlying data changes 0085 void dataChanged(); //*SIGNAL* 0086 0087 ///Classes which inherit from FWTableViewTableManager must call 0088 ///this when how the data is shown (e.g. color) changes 0089 // void visualPropertiesChanged(); //*SIGNAL* 0090 0091 // ClassDef(FWTableViewTableManager,0); 0092 void updateEvaluators(); 0093 0094 protected: 0095 ///Called by 'sort' method to actually handle the sorting of the 0096 ///rows. Arguments are the same as 'sort' 0097 void implSort(int iCol, bool iSortOrder) override; 0098 std::vector<int> m_sortedToUnsortedIndices; 0099 0100 const FWTableView *m_view; 0101 TGGC *m_graphicsContext; 0102 TGGC *m_highlightContext; 0103 FWTextTableCellRenderer *m_renderer; 0104 0105 TGGC *m_rowContext; 0106 TGGC *m_rowFillContext; 0107 FWFramedTextTableCellRenderer *m_rowRenderer; 0108 0109 std::vector<FWExpressionEvaluator> m_evaluators; 0110 std::vector<FWTableViewManager::TableEntry> *m_tableFormats; 0111 0112 // ---------- member data -------------------------------- 0113 // int m_sortColumn; 0114 // bool m_sortOrder; 0115 mutable bool m_caughtExceptionInCellRender; 0116 0117 public: 0118 FWTableViewTableManager(const FWTableViewTableManager &) = delete; // stop default 0119 const FWTableViewTableManager &operator=(const FWTableViewTableManager &) = delete; // stop default 0120 }; 0121 0122 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |