CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Fireworks/Core/interface/FWTableView.h

Go to the documentation of this file.
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