OpendTect  6.3
uimenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Lammertink
8  Date: 26/04/2000
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uibasemod.h"
14 #include "uiaction.h"
15 #include "uibaseobject.h"
16 #include "separstr.h"
17 
18 class uiParent;
19 class uiPixmap;
20 
21 mFDQtclass(QAction)
22 mFDQtclass(QMenu)
23 mFDQtclass(QMenuBar)
24 
25 
26 
27 mExpClass(uiBase) uiMenuBar : public uiActionContainer, public uiBaseObject
28 {
29  friend class uiMainWinBody;
30  friend class uiDialogBody;
31 
32 public:
33 
34  void setSensitive(bool yn);
36  bool isSensitive() const;
37 
38  int getNrWidgets() const { return 1; }
39  mQtclass(QWidget*) getWidget(int);
40  void clear() { removeAllActions(); }
41 
42 protected:
43  uiMenuBar(uiParent*,const char* nm);
44  uiMenuBar(uiParent*,const char* nm,
45  mQtclass(QMenuBar)*);
46  ~uiMenuBar();
47 
48  void doInsertMenu(mQtclass(QMenu)*,
49  mQtclass(QAction)* before);
50  void doInsertAction(mQtclass(QAction)*,
51  mQtclass(QAction)* before);
52  void doRemoveAction(mQtclass(QAction)*);
53  void doInsertSeparator(mQtclass(QAction)* before);
54  void doClear();
55 
56  mQtclass(QMenuBar)* qmenubar_;
57 };
58 
59 
64 mExpClass(uiBase) uiMenu : public uiActionContainer, public uiBaseObject
66 
67 public:
69  const char* iconnm=0);
70  uiMenu(const MenuItem&);
71  ~uiMenu();
72 
73  void addItems(const ObjectSet<MenuItem>&);
74  bool isStandAlone() const { return !submenuaction_; }
79  bool isCheckable() const;
80  void setCheckable(bool);
81 
82  bool isEnabled() const;
83  void setEnabled(bool);
84 
85  bool isChecked() const;
86  void setChecked(bool);
87 
95  int exec();
96 
97  void setText(const uiString&);
98  const uiString& text() const;
99  void clear() { removeAllActions(); }
100 
101  void setIcon(const uiIcon&);
102  void setIcon(const char* iconnm);
103  const char* getIconName() const;
104 
105  mQtclass(QMenu)* getQMenu() { return qmenu_; }
106  int getNrWidgets() const { return 1; }
107  mQtclass(QWidget*) getWidget(int);
108 
109 private:
110  friend class uiAction;
111 
112  void setAction(uiAction*);
113 
116 
117  mQtclass(QMenu)* qmenu_;
118  uiAction* submenuaction_;
119  uiAction* interceptaction_;
121 
122  void doInsertMenu(mQtclass(QMenu)*,
123  mQtclass(QAction)* before);
124  void doInsertAction(mQtclass(QAction)*,
125  mQtclass(QAction)* before);
126  void doInsertSeparator(mQtclass(QAction)* before);
127  void doRemoveAction(mQtclass(QAction)*);
128  void doClear();
129  void useStyleSheet();
130 
131 public:
133  static void addInterceptor(const CallBack&);
134  static void removeInterceptor(const CallBack&);
135  void doIntercept(bool yn,uiAction* activateitm = 0);
136 
137  uiMenu(uiParent*,
138  const uiString& txt=uiString::emptyString(),
139  const char* iconfilenm=0);
140 };
mQtclass(QMenu)*getQMenu()
Definition: uimenu.h:105
#define mExpClass(module)
Definition: commondefs.h:157
#define mQtclass(cls)
Definition: commondefs.h:232
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
void clear(std::ios &)
static const uiString & emptyString()
Definition: uistring.h:107
Definition: uistring.h:88
Definition: uiparent.h:24
uiString text_
Definition: uimenu.h:114
Definition: menuhandler.h:74
int getNrWidgets() const
Definition: uimenu.h:106
bool dointercept_
Definition: uimenu.h:120
BufferString iconnm_
Definition: uimenu.h:115
#define mFDQtclass(cls)
Definition: commondefs.h:231
Definition: uimenu.h:64
Off-screen pixel-based paint device.
Definition: uipixmap.h:33
uiAction * submenuaction_
Definition: uimenu.h:118
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
uiAction * interceptaction_
Definition: uimenu.h:119
void clear()
Definition: uimenu.h:99
bool isStandAlone() const
Definition: uimenu.h:74
CallBacks object-oriented (object + method).
Definition: callback.h:62
Definition: uiaction.h:150

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017