00001 // -*- C++ -*- 00002 #ifndef Fireworks_Core_FWTriggerTableViewTableManager_h 00003 #define Fireworks_Core_FWTriggerTableViewTableManager_h 00004 // 00005 // Package: Core 00006 // Class : FWTriggerTableViewTableManager 00007 // 00011 // 00012 // Original Author: 00013 // Created: Mon Feb 2 16:40:52 EST 2009 00014 // $Id: FWTriggerTableViewTableManager.h,v 1.3 2011/11/18 02:57:07 amraktad Exp $ 00015 // 00016 00017 // system include files 00018 #include <vector> 00019 #include <string> 00020 #include "TQObject.h" 00021 #include "GuiTypes.h" 00022 00023 // user include files 00024 #include "Fireworks/TableWidget/interface/FWTableManagerBase.h" 00025 #include "Fireworks/TableWidget/interface/FWTextTableCellRenderer.h" 00026 #include "Fireworks/Core/interface/FWTriggerTableViewManager.h" 00027 #include "Fireworks/Core/interface/FWExpressionEvaluator.h" 00028 00029 // forward declarations 00030 class FWTriggerTableView; 00031 00032 class FWTriggerTableViewTableManager : public FWTableManagerBase { 00033 friend class FWTriggerTableView; 00034 public: 00035 FWTriggerTableViewTableManager(const FWTriggerTableView *); 00036 virtual ~FWTriggerTableViewTableManager(); 00037 00038 // ---------- const member functions --------------------- 00040 virtual int numberOfRows() const; 00041 virtual int numberOfColumns() const; 00042 virtual std::vector<std::string> getTitles() const; 00043 virtual int unsortedRowNumber(int iSortedRowNumber) const; 00044 00045 virtual FWTableCellRendererBase* cellRenderer(int iSortedRowNumber, int iCol) const; 00046 void dataChanged(); //*SIGNAL* 00047 00048 protected: 00051 virtual void implSort(int iCol, bool iSortOrder); 00052 std::vector<int> m_sortedToUnsortedIndices; 00053 00054 const FWTriggerTableView *m_view; 00055 TGGC *m_graphicsContext; 00056 FWTextTableCellRenderer *m_renderer; 00057 00058 private: 00059 FWTriggerTableViewTableManager(const FWTriggerTableViewTableManager&); // stop default 00060 const FWTriggerTableViewTableManager& operator=(const FWTriggerTableViewTableManager&); // stop default 00061 }; 00062 00063 00064 #endif