00001 #ifndef IGUANA_STUDIO_IG_STUDIO_DRIVER_H
00002 # define IGUANA_STUDIO_IG_STUDIO_DRIVER_H
00003
00004
00005
00006 # include "Iguana/Studio/interface/config.h"
00007 # include "Iguana/Framework/interface/IgDriver.h"
00008 # include <vector>
00009 # include <string>
00010
00011
00012
00013
00014
00015 class IgState;
00016 class IgStudioSetupExtension;
00017 class IgSite;
00018 class QString;
00019 class QWidget;
00020
00021
00022
00023
00024
00025 class IGUANA_STUDIO_API IgStudioDriver : public IgDriver
00026 {
00027 public:
00028 IgStudioDriver (IgState *state);
00029
00030
00031
00032
00033 virtual int run (void);
00034 virtual IgSite * mainSite (void) const;
00035 virtual QWidget * mainWindow (void) const;
00036 virtual IgState * state (void) const;
00037
00038 static const char * catalogLabel (void);
00039
00040 protected:
00041 virtual void loadSettings (void);
00042 virtual void setupMainWindow (void);
00043 virtual bool setupSession (QString sessionType);
00044
00045 private:
00046 std::vector<std::string> getAliases (const std::string& name,
00047 const std::string& type);
00048 IgState *m_state;
00049 IgStudioSetupExtension *m_setup;
00050 IgSite *m_mainSite;
00051 QWidget *m_mainWindow;
00052 };
00053
00054
00055
00056
00057 #endif // IGUANA_STUDIO_IG_STUDIO_DRIVER_H