CMS 3D CMS Logo

IgControlCentre.h

Go to the documentation of this file.
00001 /****************************************************************************
00002 ** Form interface generated from reading ui file 'IgControlCentre.ui'
00003 **
00004 ** Created: Fri Oct 31 14:22:32 2003
00005 **      by: The User Interface Compiler ($Id: IgControlCentre.h,v 1.2 2007/04/10 13:45:03 yana Exp $)
00006 **
00007 ** WARNING! All changes made in this file will be lost!
00008 ****************************************************************************/
00009 
00010 #ifndef IGCONTROLCENTRE_H
00011 #define IGCONTROLCENTRE_H
00012 
00013 # include "Iguana/GLBrowsers/interface/config.h"
00014 # include <qvariant.h>
00015 # include <qdialog.h>
00016 # include <qstring.h>
00017 # include <map>
00018 # include <vector>
00019 
00020 class IgControlCategory;
00021 class QVBoxLayout;
00022 class QHBoxLayout;
00023 class QGridLayout;
00024 class QIconView;
00025 class QIconViewItem;
00026 class QPushButton;
00027 class IgState;
00028 class QFocusEvent;
00029 
00030 class IGUANA_GL_BROWSERS_API IgControlCentre : public QDialog
00031 {
00032     Q_OBJECT
00033 
00034 public:
00035     IgControlCentre (QWidget* parent = 0, 
00036                      const char* name = 0, 
00037                      bool modal = FALSE, 
00038                      WFlags fl = 0);
00039     ~IgControlCentre (void);
00040 
00041     void                addCategory (IgControlCategory *category);
00042     void                removeCategory (IgControlCategory *category);
00043     void                selectCategory (IgControlCategory *category);
00044     void                selectCategory (const QString& name);
00045 
00046     QIconView           *iconView (void);
00047     
00048     // Overrides from base class.
00049     virtual void        show (void);
00050     virtual void        hide (void);
00051     void                updateOnWindowActive (void);
00052     
00053 public slots:
00054     virtual void        apply (void);
00055     virtual void        revert (void);
00056     virtual void        help (void);
00057     virtual void        back (void);
00058     virtual void        enableCategory (IgControlCategory *category,
00059                                         bool state = true);
00060                                         
00061 private slots:
00062     void                selectIconItem (QIconViewItem*);
00063     void                dirtyCategory (void);
00064     void                cleanCategory (void);
00065     void                showCategory (IgControlCategory *category);
00066     void                hideCategory (void);
00067     void                addIconViewItems (QString name);   
00068     void                showIconView (QString name);   
00069     void                hideIconView (void);
00070 
00071 protected:
00072     void                windowActivationChange  (bool oldActive);
00073     
00074     QGridLayout         *IgControlCentreLayout;
00075     QHBoxLayout         *m_layout1;
00076     QGridLayout         *m_layout2;
00077 
00078 protected slots:
00079     virtual void        languageChange();
00080 
00081 private:
00082     typedef std::map<QString, std::pair<IgControlCategory *, bool> > CategoryMap;
00083     typedef std::vector<QIconViewItem*> IconViewList;
00084     typedef std::map<QString, std::pair<void*, bool> > IconViewArch;
00085     void                updateControlCentre (QString name);
00086     void                removeCategory (QString name, IconViewArch *toplevel);
00087     bool                hasCategory (const IgControlCategory *category);
00088     void                deleteIconViewArch (IconViewArch *toplevel);
00089     void                enableCategory (QString name,
00090                                         IconViewArch *toplevel,
00091                                         bool state = true);
00092                                           
00093     IconViewArch        m_iconViewArch;
00094     CategoryMap         m_categories;
00095     IconViewList        m_iconViewList;
00096     IgControlCategory   *m_current;
00097 
00098     QIconView           *m_iconView;
00099     QPushButton         *m_close;
00100     QPushButton         *m_revert;
00101     QPushButton         *m_apply;
00102     QPushButton         *m_help;
00103     QPushButton         *m_back;
00104     QString             m_name;
00105     QString             m_baseName;
00106     bool                m_updateOnWindowActive;
00107     bool                m_focusChanged;
00108 };
00109 
00110 #endif // IGCONTROLCENTRE_H

Generated on Tue Jun 9 17:38:31 2009 for CMSSW by  doxygen 1.5.4