00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef QEXTEND_ACTIONMANAGER_H
00021 #define QEXTEND_ACTIONMANAGER_H
00022
00023 #include <QObject>
00024 #include <QExtend/Core/qextend_global>
00025 #include <QExtend/Core/ObjectList>
00026
00027 QT_BEGIN_NAMESPACE
00028 class QMenu;
00029 class QAction;
00030 class QMainWindow;
00031 QT_END_NAMESPACE
00032
00033 namespace QExtend
00034 {
00037
00045 class QEXTEND_EXPORT ActionManager : public QObject
00046 {
00047 Q_DISABLE_COPY(ActionManager)
00048 Q_OBJECT
00049
00050 public:
00051 enum Option
00052 {
00053 NoOptions = 0x0,
00054 File = 0x1,
00055 New = 0x2,
00056 Open = 0x4,
00057 Save = 0x8,
00058 SaveAs = 0x10,
00059 Close = 0x20,
00060 Print = 0x40,
00061 Settings = 0x80,
00062 Edit = 0x0100,
00063 Undo = 0x0200,
00064 Redo = 0x0400,
00065 Cut = 0x0800,
00066 Copy = 0x1000,
00067 Paste = 0x2000,
00068 SelectAll = 0x4000,
00069 Find = 0x8000,
00070 Help = 0x10000,
00071 Index = 0x20000,
00072 About = 0x40000
00073 };
00074 Q_DECLARE_FLAGS(Options, Option)
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091 Q_SIGNALS:
00092 void newFile();
00093 void openFile();
00094 void save();
00095 void saveAs();
00096 void closeFile();
00097 void print();
00098 void options();
00099
00100 void undo();
00101 void redo();
00102 void cut();
00103 void copy();
00104 void paste();
00105 void selectAll();
00106 void find();
00107
00108 void help();
00109 void about();
00110
00111 private:
00112 bool option(Option f);
00113 void update();
00114
00115 ObjectList m_actions;
00116 QMainWindow* m_mainWindow;
00117 Options m_options;
00118 };
00119
00120 Q_DECLARE_OPERATORS_FOR_FLAGS(ActionManager::Options)
00121
00122 }
00123
00124 #endif // QEXTEND_ACTIONMANAGER_H