CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/Fireworks/Core/src/FWCollectionSummaryWidget.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWCollectionSummaryWidget_h
00002 #define Fireworks_Core_FWCollectionSummaryWidget_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWCollectionSummaryWidget
00007 // 
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Sat Feb 14 10:02:30 CST 2009
00019 // $Id: FWCollectionSummaryWidget.h,v 1.8 2010/06/16 14:04:40 matevz Exp $
00020 //
00021 
00022 // system include files
00023 #include "TGFrame.h"
00024 
00025 // user include files
00026 
00027 // forward declarations
00028 class TGPictureButton;
00029 class TGCheckButton;
00030 class TGLayoutHints;
00031 class FWEventItem;
00032 class FWColorSelect;
00033 class FWBoxIconButton;
00034 class FWBoxIconBase;
00035 class FWCheckBoxIcon;
00036 class FWColorBoxIcon;
00037 class FWCustomIconsButton;
00038 class FWColorPopup;
00039 class FWCollectionSummaryTableManager;
00040 class FWTableWidget;
00041 class TGGC;
00042 class TGTextButton;
00043 
00044 namespace fireworks {
00045    class Context;
00046 }
00047 
00048 class FWCollectionSummaryWidgetConnectionHolder;
00049 
00050 class FWCollectionSummaryWidget : public TGCompositeFrame
00051 {
00052 
00053 public:
00054    FWCollectionSummaryWidget(TGFrame* iParent, FWEventItem& iItem, TGLayoutHints*);
00055    virtual ~FWCollectionSummaryWidget();
00056    
00057    // ---------- const member functions ---------------------
00058 
00059    // ---------- static member functions --------------------
00060    
00061    // ---------- member functions ---------------------------
00062    void displayChanged();
00063    void itemChanged();
00064    
00065    //pass true if white or false if black
00066    void setBackgroundToWhite(bool);
00067    
00068    void colorChangeRequested(Color_t iColorIndex);
00069    void toggleItemVisible();
00070    void toggleShowHide();
00071    void colorClicked();
00072    
00073    void requestForInfo(FWEventItem*); // *SIGNAL*
00074    void requestForFilter(FWEventItem*); // *SIGNAL*
00075    void requestForErrorInfo(FWEventItem*); // *SIGNAL*
00076    void requestForController(FWEventItem*); // *SIGNAL*
00077    void requestForModelContextMenu(Int_t,Int_t); // *SIGNAL*
00078    
00079    void infoClicked();
00080    void stateClicked();
00081    void labelClicked();
00082    
00083    ClassDef(FWCollectionSummaryWidget,0);
00084    
00085    void itemColorClicked(int iIndex, Int_t iRootX, Int_t iRootY);
00086    void modelSelected(Int_t iRow,Int_t iButton,Int_t iKeyMod, Int_t iGlobalX, Int_t iGlobalY);
00087 
00088 private:
00089    FWCollectionSummaryWidget(const FWCollectionSummaryWidget&); // stop default
00090    
00091    const FWCollectionSummaryWidget& operator=(const FWCollectionSummaryWidget&); // stop default
00092    
00093    void createColorPopup();
00094    void colorTable();
00095    // ---------- member data --------------------------------
00096    FWEventItem* m_collection;
00097    TGLayoutHints* m_hints;
00098    TGFrame* m_parent;
00099    FWCustomIconsButton* m_showHideButton;
00100    FWBoxIconButton* m_isVisibleButton;
00101    FWCheckBoxIcon* m_isVisibleCheckBox;
00102    //FWColorSelect* m_colorSelectWidget;
00103    FWBoxIconButton* m_colorSelectWidget;
00104    FWColorBoxIcon* m_colorSelectBox;
00105    FWCustomIconsButton* m_stateButton;
00106    FWCustomIconsButton* m_infoButton;
00107    TGTextButton* m_label;
00108    TGFrame* m_holder;
00109    bool m_collectionShown;
00110    TGGC* m_graphicsContext;
00111    TGGC* m_tableContext;
00112    int m_indexForColor;
00113    FWColorPopup* m_colorPopup;
00114    
00115    FWCollectionSummaryTableManager* m_tableManager;
00116    FWTableWidget* m_tableWidget;
00117    bool m_backgroundIsWhite;
00118    
00119    FWCollectionSummaryWidgetConnectionHolder* m_connectionHolder;
00120 };
00121 
00122 
00123 #endif