kwave  18.07.70
MenuSub.h
Go to the documentation of this file.
1 /***************************************************************************
2  MenuSub.h - submenu
3  -------------------
4  begin : Mon Jan 10 2000
5  copyright : (C) 2000 by Thomas Eschenbacher
6  email : Thomas.Eschenbacher@gmx.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef MENU_SUB_H
19 #define MENU_SUB_H
20 
21 #include "config.h"
22 
23 #include <QAction>
24 #include <QIcon>
25 #include <QMenu>
26 #include <QString>
27 
28 #include "libgui/MenuNode.h"
29 
30 namespace Kwave
31 {
36  class MenuSub: public Kwave::MenuNode
37  {
38  Q_OBJECT
39 
40  public:
51  MenuSub(Kwave::MenuNode *parent,
52  QMenu *menu,
53  const QString &name,
54  const QString &command,
55  const QKeySequence &shortcut,
56  const QString &uid);
57 
59  virtual ~MenuSub() Q_DECL_OVERRIDE;
60 
64  virtual bool isBranch() const Q_DECL_OVERRIDE { return true; }
65 
81  virtual Kwave::MenuSub *insertBranch(const QString &name,
82  const QString &command,
83  const QKeySequence &shortcut,
84  const QString &uid) Q_DECL_OVERRIDE;
85 
96  virtual Kwave::MenuNode *insertLeaf(const QString &name,
97  const QString &command,
98  const QKeySequence &shortcut,
99  const QString &uid) Q_DECL_OVERRIDE;
100 
102  virtual QAction *action() Q_DECL_OVERRIDE {
103  return (m_menu) ? m_menu->menuAction() : Q_NULLPTR;
104  }
105 
111  virtual void removeChild(Kwave::MenuNode *child) Q_DECL_OVERRIDE;
112 
118  virtual bool specialCommand(const QString &command) Q_DECL_OVERRIDE;
119 
124  virtual void setVisible(bool visible) Q_DECL_OVERRIDE;
125 
129  virtual bool isEnabled() Q_DECL_OVERRIDE;
130 
135  virtual void setEnabled(bool enable) Q_DECL_OVERRIDE;
136 
138  virtual const QIcon icon() Q_DECL_OVERRIDE;
139 
144  virtual void setIcon(const QIcon &icon) Q_DECL_OVERRIDE;
145 
146  protected:
147  friend class MenuRoot;
148 
150  virtual QMenu *menu() { return m_menu; }
151 
152  private:
153 
155  QMenu *m_menu;
156 
157  };
158 }
159 
160 #endif /* MENU_SUB_H */
161 
162 //***************************************************************************
163 //***************************************************************************
virtual const QIcon icon() Q_DECL_OVERRIDE
Definition: MenuSub.cpp:86
Definition: App.h:33
virtual ~MenuSub() Q_DECL_OVERRIDE
Definition: MenuSub.cpp:47
virtual Kwave::MenuNode * insertLeaf(const QString &name, const QString &command, const QKeySequence &shortcut, const QString &uid) Q_DECL_OVERRIDE
Definition: MenuSub.cpp:118
virtual bool specialCommand(const QString &command) Q_DECL_OVERRIDE
Definition: MenuSub.cpp:172
QMenu * m_menu
Definition: MenuSub.h:155
virtual bool isEnabled() Q_DECL_OVERRIDE
Definition: MenuSub.cpp:73
const QKeySequence & shortcut() const
Definition: MenuNode.h:95
virtual void setVisible(bool visible) Q_DECL_OVERRIDE
Definition: MenuSub.cpp:52
virtual void setIcon(const QIcon &icon) Q_DECL_OVERRIDE
Definition: MenuSub.cpp:92
const QString & name() const
Definition: MenuNode.h:74
const QString & command() const
Definition: MenuNode.h:77
virtual bool isBranch() const Q_DECL_OVERRIDE
Definition: MenuSub.h:64
virtual QMenu * menu()
Definition: MenuSub.h:150
virtual QAction * action() Q_DECL_OVERRIDE
Definition: MenuSub.h:102
virtual Kwave::MenuSub * insertBranch(const QString &name, const QString &command, const QKeySequence &shortcut, const QString &uid) Q_DECL_OVERRIDE
Definition: MenuSub.cpp:98
const QString & uid() const
Definition: MenuNode.h:85
virtual void removeChild(Kwave::MenuNode *child) Q_DECL_OVERRIDE
Definition: MenuSub.cpp:163
MenuSub(Kwave::MenuNode *parent, QMenu *menu, const QString &name, const QString &command, const QKeySequence &shortcut, const QString &uid)
Definition: MenuSub.cpp:33
virtual void setEnabled(bool enable) Q_DECL_OVERRIDE
Definition: MenuSub.cpp:80