00001 // -*- C++ -*- 00002 #ifndef Fireworks_Core_FWTableView_h 00003 #define Fireworks_Core_FWTableView_h 00004 // 00005 // Package: Core 00006 // Class : FWTableView 00007 // 00016 // 00017 // Original Author: Chris Jones 00018 // Created: Thu Feb 21 11:22:37 EST 2008 00019 // $Id: FWTableView.h,v 1.9 2011/01/26 11:57:32 amraktad Exp $ 00020 // 00021 00022 // system include files 00023 #include "Rtypes.h" 00024 00025 // user include files 00026 #include "Fireworks/Core/interface/FWViewBase.h" 00027 00028 // forward declarations 00029 class TGFrame; 00030 class TGLEmbeddedViewer; 00031 class TGCompositeFrame; 00032 class TGComboBox; 00033 class TEvePad; 00034 class TEveViewer; 00035 class TEveScene; 00036 class TEveElementList; 00037 class TEveGeoShape; 00038 class TGLMatrix; 00039 class TGTextEntry; 00040 class FWEventItem; 00041 class FWTableViewManager; 00042 class FWTableWidget; 00043 class TEveWindowFrame; 00044 class TEveWindowSlot; 00045 class FWTableViewManager; 00046 class FWTableViewTableManager; 00047 class FWCustomIconsButton; 00048 class FWGUIValidatingTextEntry; 00049 class FWExpressionValidator; 00050 00051 class FWTableView : public FWViewBase { 00052 friend class FWTableViewTableManager; 00053 00054 public: 00055 FWTableView(TEveWindowSlot *, FWTableViewManager *); 00056 virtual ~FWTableView(); 00057 00058 // ---------- const member functions --------------------- 00059 virtual void addTo(FWConfiguration&) const; 00060 00061 virtual void saveImageTo(const std::string& iName) const; 00062 00063 // ---------- static member functions -------------------- 00064 00065 // ---------- member functions --------------------------- 00066 virtual void setFrom(const FWConfiguration&); 00067 void setBackgroundColor(Color_t); 00068 void resetColors (const class FWColorManager &); 00069 void updateItems (); 00070 void updateEvaluators (); 00071 void selectCollection (Int_t); 00072 void dataChanged (); 00073 const FWEventItem *item () const; 00074 void modelSelected(Int_t iRow,Int_t iButton,Int_t iKeyMod,Int_t,Int_t); 00075 void columnSelected (Int_t iCol, Int_t iButton, Int_t iKeyMod); 00076 void toggleShowHide (); 00077 void addColumn (); 00078 void deleteColumn (); 00079 void modifyColumn (); 00080 00081 private: 00082 FWTableView(const FWTableView&); // stop default 00083 const FWTableView& operator=(const FWTableView&); // stop default 00084 00085 protected: 00086 // ---------- member data -------------------------------- 00087 TEveWindowFrame *m_eveWindow; 00088 TGComboBox *m_collection; 00089 TGCompositeFrame *m_vert, *m_column_control; 00090 int m_iColl; 00091 FWTableViewManager *m_manager; 00092 FWTableViewTableManager *m_tableManager; 00093 FWTableWidget *m_tableWidget; 00094 bool m_showColumnUI; 00095 FWCustomIconsButton *m_columnUIButton; 00096 TGTextEntry *m_column_name_field; 00097 FWGUIValidatingTextEntry *m_column_expr_field; 00098 FWExpressionValidator *m_validator; 00099 TGTextEntry *m_column_prec_field; 00100 int m_currentColumn; 00101 bool m_useColumnsFromConfig; 00102 }; 00103 00104 00105 #endif