CMS 3D CMS Logo

IgPage.h

Go to the documentation of this file.
00001 #ifndef IGUANA_STUDIO_IG_PAGE_H
00002 # define IGUANA_STUDIO_IG_PAGE_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Studio/interface/config.h"
00007 # include "Iguana/Studio/interface/IgQHSplitterSite.h"
00008 # include <qobject.h>
00009 # include <list>
00010 
00011 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00012 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00013 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00014 
00015 class IgDocument;
00016 class QGridLayout;
00017 class IgView;
00018 class IgQtSiteStack;
00019 
00020 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00021 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00022 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00023 
00024 class IGUANA_STUDIO_API IgPage : public QObject, public IgQHSplitterSite
00025 {
00026     Q_OBJECT
00027 public:
00028     static const int MENU_ID_FILE_NEW = 150;
00029     static const int MENU_ID_WINDOW = 5000;    
00030     static const int MENU_ID_WINDOW_TILE = 5001;    
00031     static const int MENU_ID_WINDOW_CASCADE = 5002;    
00032     static const int MENU_ID_WINDOW_SEP = 5003;    
00033     static const int MENU_ID_WINDOW_MAXIMIZE = 5004;    
00034     static const int MENU_ID_WINDOW_FULLSCREEN = 5005;    
00035     static const int MENU_ID_WINDOW_LIST_OFFSET = 6000;
00036         
00037     IgPage (IgDocument *doc);
00038     // implicit copy constructor
00039     // implicit assignment operator
00040     // implicit destructor
00041 
00042     IgQtSiteStack       *workspace (void);
00043     IgQtSite            *leftDockArea (void);    
00044     IgQtSite            *rightDockArea (void);    
00045     IgQtSite            *bottomDockArea (void);    
00046     IgQtSiteStack       *stackArea (void);
00047     
00048     virtual IgState *   state (void) const;
00049     void                registerView (IgView *view, 
00050                                       QWidget *selectableWidget);
00051     void                printViews (const QString &text);
00052 
00053 public slots:
00054     void                showMaximized (void);
00055     void                showFullScreen (void);
00056 
00057 signals:
00058     void                autoPrint (const QString &text);
00059     
00060 private:
00061     IgDocument          *m_document;
00062     QGridLayout         *m_layout;
00063     IgQtSite            *m_leftDockArea;
00064     IgQtSiteStack       *m_stackArea;
00065     IgQtSite            *m_centralSplitter;    
00066     IgQtSiteStack       *m_workspace;    
00067     IgQtSite            *m_bottomDockArea;
00068     IgQtSite            *m_rightDockArea;
00069     
00070     std::map<QWidget *, IgView*>        m_views;
00071     int                 m_numRegisteredWindows;    
00072 };
00073 
00074 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00075 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00076 
00077 #endif // IGUANA_STUDIO_IG_PAGE_H

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