Vesna
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
MenuCommand.h
Go to the documentation of this file.
1 #ifndef MENUCOMMAND_H
2 #define MENUCOMMAND_H
3 
4 #include <functional>
5 
6 #include <QSharedPointer>
7 
9 
10 class StateMenu;
11 
13 {
14 private:
15 
16 public:
17  using MenuCommandAction = std::function<void(StateMenu*)>;
18 
20  {
23  };
24 
25  MenuCommand( const MenuCommandDefines::MenuCommandID commandID, const QString &commandText, const QString &commandDescription, const QString &commandButtonText, MenuCommandAction action );
27  MenuCommand( const MenuCommand &otherMenuCommand );
28  MenuCommand( const MenuCommand *otherMenuCommand );
29  ~MenuCommand();
30 
31  void SetCommandText( const QString &text );
32  QString GetCommandText() const;
33 
34  void SetCommandDescription( const QString &description );
35  QString GetCommandDescription() const;
36 
37  void SetCommandActionText( const QString &commandButtonText );
38  QString GetCommandActionText() const;
39 
40  void SetAllCommandTexts( const QString &text, const QString &description, const QString &commandButtonText );
41 
42  void SetTabIndex( int tabIndex );
43  int GetTabIndex() const;
44 
46 
47  void ExecuteCommand( StateMenu *state );
48 
54  void SetVisibleOnlyForDispatcher( const bool dispatcherOnly );
55  bool IsVisibleOnlyForDispatcher() const;
56 
57  bool IsAllowedForCurrentOperator( const OperatorType currentOperator ) const;
58 
59 private:
61 
62  class DataClass;
63  DataClass *d;
64 
66 };
67 
68 #endif // MENUCOMMAND_H
int GetTabIndex() const
Definition: MenuCommand.cpp:134
MenuCommandID
The MenuCommandID enum - this enum replaced previously used string literals Menu commands within this...
Definition: MenuCommandDefines.h:16
void SetAllCommandTexts(const QString &text, const QString &description, const QString &commandButtonText)
Definition: MenuCommand.cpp:122
void SetVisibleOnlyForDispatcher(const bool dispatcherOnly)
SetVisibleOnlyForDispatcher - method can limit menu command usage to only dispatcher.
Definition: MenuCommand.cpp:154
QString GetCommandText() const
Definition: MenuCommand.cpp:97
bool IsVisibleOnlyForDispatcher() const
Definition: MenuCommand.cpp:159
Definition: MenuCommand.h:12
MenuCommand(const MenuCommandDefines::MenuCommandID commandID, const QString &commandText, const QString &commandDescription, const QString &commandButtonText, MenuCommandAction action)
Definition: MenuCommand.cpp:66
std::function< void(StateMenu *)> MenuCommandAction
Definition: MenuCommand.h:17
~MenuCommand()
Definition: MenuCommand.cpp:86
QString GetCommandDescription() const
Definition: MenuCommand.cpp:107
void SetCommandDescription(const QString &description)
Definition: MenuCommand.cpp:102
Definition: MenuCommand.h:22
void SetTabIndex(int tabIndex)
Definition: MenuCommand.cpp:129
void SetCommandText(const QString &text)
Definition: MenuCommand.cpp:92
MenuCommandDefines::MenuCommandID GetCommandID() const
Definition: MenuCommand.cpp:139
void SetCommandActionText(const QString &commandButtonText)
Definition: MenuCommand.cpp:112
void ExecuteCommand(StateMenu *state)
Definition: MenuCommand.cpp:144
OperatorType
Definition: MenuCommand.h:19
QString GetCommandActionText() const
Definition: MenuCommand.cpp:117
Definition: StateMenu.h:8
Definition: MenuCommand.h:21
bool IsAllowedForCurrentOperator(const OperatorType currentOperator) const
Definition: MenuCommand.cpp:164