00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _TOMENU_H_
00031 #define _TOMENU_H_
00032
00033
00034
00035
00036
00037
00038 #include <qpopupmenu.h>
00039
00040
00041
00042
00043
00044 namespace OSB_GUI {
00045
00046
00047
00048 struct ToMenuCmd;
00049
00050
00051
00055 class ToMenu : public QPopupMenu {
00056 Q_OBJECT
00057 public:
00058 enum Command {
00060 cmdShow = 1,
00062 cmdEdit,
00064 cmdStatus,
00066 cmdDelete,
00068 cmdNewObject,
00070 cmdNewVersion,
00072 cmdCopyVersion,
00074 cmdGoto,
00076 cmdUser = 16
00077 };
00078 public:
00080 explicit ToMenu(
00081 QWidget* parent,
00082 const char* name = "toMenu_"
00083 );
00084 private:
00086 ToMenu(const ToMenu&);
00088 ToMenu& operator=(const ToMenu&);
00089 public:
00091 void languageChange();
00097 void clearCommands(bool disable = false);
00104 void addCmd(
00105 Command cmd,
00106 bool enable = true
00107 );
00117 void addUserCmd(
00118 int cmd,
00119 const std::string& text,
00120 bool enable = true,
00121 const QKeySequence& accel = QKeySequence()
00122 );
00123 signals:
00132 void sigCommand(ToMenuCmd cmd);
00133 private slots:
00139 void activationEvent(int id);
00140 };
00141
00150 struct ToMenuCmd {
00151 public:
00153 ToMenuCmd(ToMenu::Command cmd);
00155 operator ToMenu::Command() const;
00157 ToMenu::Command cmd_;
00158 };
00159 }
00160 #endif // #ifndef _TOMENU_H_