00001 #ifndef IGUANA_STUDIO_IG_QT_APP_TOOL_BAR_SERVICE_H
00002 # define IGUANA_STUDIO_IG_QT_APP_TOOL_BAR_SERVICE_H
00003
00004
00005
00006 # include "Iguana/Studio/interface/config.h"
00007 # include "Iguana/Framework/interface/IgStateElement.h"
00008 # include <map>
00009 # include <string>
00010
00011
00012
00013
00014
00015 class QWidget;
00016 class QToolBar;
00017 class QToolButton;
00018 class QIconSet;
00019 class QObject;
00020
00021
00022
00023
00024
00025 class IGUANA_STUDIO_API IgQtAppToolBarService : public IgStateElement
00026 {
00027 IG_DECLARE_STATE_ELEMENT (IgQtAppToolBarService);
00028 public:
00029 IgQtAppToolBarService (IgState *state, QWidget *mainWindow);
00030 ~IgQtAppToolBarService (void);
00031
00032
00033
00034
00035 QToolBar *toolBar (const int id, const std::string &label);
00036 QToolButton *toolBarButton (IgState *state,
00037 const int barId,
00038 const int buttonId,
00039 const QIconSet &iconSet,
00040 const std::string &name,
00041 QObject *target,
00042 const char *slot,
00043 const char *signal = "");
00044
00045 QToolButton * getToolBarButton (const int barId,
00046 const int buttonId);
00047
00048 private:
00049 IgState *m_state;
00050 QWidget *m_mainWindow;
00051
00052
00053 IgQtAppToolBarService (const IgQtAppToolBarService &);
00054 IgQtAppToolBarService &operator= (const IgQtAppToolBarService &);
00055
00056
00057 typedef std::map<int, QToolBar *> ToolBarMap;
00058 typedef std::map<int, QToolButton *> ToolButtonMap;
00059
00060 ToolBarMap m_toolBarMap;
00061 ToolButtonMap m_toolButtonMap;
00062 };
00063
00064
00065
00066
00067 #endif // IGUANA_STUDIO_IG_QT_APP_TOOL_BAR_SERVICE_H