Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef QTXACTIONSET_H
00024 #define QTXACTIONSET_H
00025
00026 #include "QtxAction.h"
00027
00028 #include <QList>
00029
00030 #ifdef WIN32
00031 #pragma warning( disable:4251 )
00032 #endif
00033
00034 class QTX_EXPORT QtxActionSet : public QtxAction
00035 {
00036 Q_OBJECT
00037
00038 public:
00039 QtxActionSet( QObject* = 0 );
00040 virtual ~QtxActionSet();
00041
00042 QList<QAction*> actions() const;
00043 void setActions( const QList<QAction*>& );
00044
00045 void insertActions( const QList<QAction*>&, const int = -1 );
00046
00047 int insertAction( QAction*, const int id = -1, const int = -1 );
00048 int insertAction( const QString&, const int id = -1, const int = -1 );
00049 int insertAction( const QString&, const QIcon&, const int id = -1, const int = -1 );
00050
00051 void removeAction( QAction* );
00052 void removeAction( const int );
00053
00054 void clear();
00055
00056 signals:
00057 void triggered( int );
00058 void triggered( QAction* );
00059
00060 private slots:
00061 void onChanged();
00062 void onActionTriggered( bool = false );
00063
00064 protected:
00065 virtual void addedTo( QWidget* );
00066 virtual void removedFrom( QWidget* );
00067
00068 virtual void actionAdded( QAction* );
00069 virtual void actionRemoved( QAction* );
00070
00071 QAction* action( int ) const;
00072 int actionId( QAction* ) const;
00073 void setActionId( QAction*, const int );
00074
00075 virtual bool isEmptyAction() const;
00076
00077 virtual void updateAction();
00078 virtual void updateAction( QWidget* );
00079
00080 private:
00081 int generateId() const;
00082
00083 private:
00084 typedef QList<QAction*> ActionList;
00085
00086 private:
00087 ActionList mySet;
00088 };
00089
00090 #ifdef WIN32
00091 #pragma warning( default:4251 )
00092 #endif
00093
00094 #endif