00001 #ifndef __ACTION_GROUP_H__
00002 #define __ACTION_GROUP_H__
00003
00012
00013
00014 #include <QList>
00015 #include <QString>
00016
00017 class QAction;
00018 class QObject;
00019 class QWidget;
00020 class QMenu;
00021 class QToolBar;
00022 class QActionGroup;
00023
00024 class qmdiActionGroup
00025 {
00026 public:
00027 qmdiActionGroup( QString name );
00028 ~qmdiActionGroup();
00029
00030 void setName( QString name );
00031 QString getName();
00032 void addAction( QAction *action, int location=-1 );
00033 void addActions( QActionGroup *actions, int location=-1 );
00034 void addWidget( QWidget *widget, int location=-1 );
00035 void addMenu( QMenu *menu, int location=-1 );
00036 void addSeparator( int location=-1 );
00037 bool containsAction( QAction *action );
00038 void removeAction( QAction *action );
00039 void removeActions( QActionGroup *actions );
00040 void removeMenu( QMenu *menu );
00041 void removeWidget( QWidget *widget );
00042 void setMergePoint();
00043 int getMergePoint();
00044
00045 void mergeGroup( qmdiActionGroup *group );
00046 void unmergeGroup( qmdiActionGroup *group );
00047
00048 QMenu* updateMenu( QMenu *menu=NULL );
00049 QToolBar* updateToolBar( QToolBar *toolbar );
00050
00051 bool breakAfter;
00052 private:
00053 QString name;
00054 QList<QObject*> actionGroupItems;
00055 QList<qmdiActionGroup*> actionGroups;
00056
00057 int breakCount;
00058 int mergeLocation;
00059 };
00060
00061 #endif //__ACTION_GROUP__