1 // File: QtxActionMgr.h
2 // Author: Alexander SOLOVYEV, Sergey TELKOV
17 #pragma warning( disable:4251 )
20 class QTX_EXPORT QtxActionMgr : public QObject
24 class SeparatorAction;
34 QtxActionMgr( QObject* parent );
35 virtual ~QtxActionMgr();
37 virtual int registerAction( QAction*, const int = -1 );
38 virtual void unRegisterAction( const int );
40 QAction* action( const int ) const;
41 int actionId( const QAction* ) const;
42 bool contains( const int ) const;
46 void idList( QIntList& ) const;
48 bool isUpdatesEnabled() const;
49 virtual void setUpdatesEnabled( const bool );
51 virtual bool isVisible( const int, const int ) const;
52 virtual void setVisible( const int, const int, const bool );
56 virtual bool isEnabled( const int ) const;
57 virtual void setEnabled( const int, const bool );
59 static QAction* separator( const bool = false );
62 virtual void internalUpdate();
63 int generateId() const;
66 typedef QMap<int, QAction*> ActionMap;
74 QTX_EXPORT typedef QMap<QString, QString> ItemAttributes;
76 class QtxActionMgr::Creator
79 Creator( QtxActionMgr::Reader* );
82 Reader* reader() const;
84 virtual int append( const QString&, const bool,
85 const ItemAttributes&, const int ) = 0;
86 virtual void connect( QAction* ) const;
88 virtual bool loadPixmap( const QString&, QPixmap& ) const;
91 static int intValue( const ItemAttributes&, const QString&, const int );
92 static QString strValue( const ItemAttributes&, const QString&,
93 const QString& = QString::null );
95 QtxActionMgr::Reader* myReader;
98 class QtxActionMgr::Reader
102 QTX_EXPORT virtual ~Reader();
104 QTX_EXPORT QStringList options() const;
105 QTX_EXPORT QString option( const QString&, const QString& = QString::null ) const;
106 QTX_EXPORT void setOption( const QString&, const QString& );
108 QTX_EXPORT virtual bool read( const QString&, Creator& ) const = 0;
111 QMap< QString, QString > myOptions;
114 class QtxActionMgr::XMLReader : public Reader
117 QTX_EXPORT XMLReader( const QString&, const QString&, const QString& );
118 QTX_EXPORT virtual ~XMLReader();
120 QTX_EXPORT virtual bool read( const QString&, Creator& ) const;
123 QTX_EXPORT virtual void read( const QDomNode&, const int, Creator& ) const;
124 QTX_EXPORT virtual bool isNodeSimilar( const QDomNode&, const QString& ) const;