OpendTect  6.3
uibutton.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: 21/01/2000
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uibasemod.h"
14 #include "uiobj.h"
15 #include "uistring.h"
16 #include "odiconfile.h"
17 
18 class uiButtonBody;
19 class uiCheckBoxBody;
20 class uiPushButtonBody;
21 class uiRadioButtonBody;
22 mFDQtclass(QAbstractButton)
23 
24 class uiMenu;
25 class uiPixmap;
26 mFDQtclass(QEvent)
27 mFDQtclass(QMenu)
28 
29 
31 
32 mExpClass(uiBase) uiButton : public uiObject
33 {
34 public:
35  uiButton(uiParent*,const uiString&,const CallBack*,
36  uiObjectBody&);
37  virtual ~uiButton() {}
38 
39  virtual void setText(const uiString&);
40  const uiString& text() const { return text_; }
41  void setIcon(const char* icon_identifier);
42  void setPixmap( const uiPixmap& pm ) { setPM(pm); }
43  void setIconScale(float val);
44  virtual void updateIconSize() {}
45 
46  virtual void click() = 0;
47 
48  Notifier<uiButton> activated;
49 
51  mQtclass(QAbstractButton*) qButton();
52 
53  static uiButton* getStd(uiParent*,OD::StdActionType,const CallBack&,
54  bool immediate);
55  static uiButton* getStd(uiParent*,OD::StdActionType,const CallBack&,
56  bool immediate,const uiString& nonstd_text);
58 
59  static bool haveCommonPBIcons() { return havecommonpbics_; }
60  static void setHaveCommonPBIcons( bool yn=true )
61  { havecommonpbics_ = yn; }
62 
63 protected:
64 
65  uiString text_;
66  float iconscale_;
67  static bool havecommonpbics_;
68 
69  virtual void translateText();
70  virtual void setPM(const uiPixmap&);
71 
72 };
73 
74 
80 mExpClass(uiBase) uiPushButton : public uiButton
81 {
82 public:
83  uiPushButton(uiParent*,const uiString& txt,
84  bool immediate);
85  uiPushButton(uiParent*,const uiString& txt,
86  const CallBack&,bool immediate);
87  uiPushButton(uiParent*,const uiString& txt,
88  const uiPixmap&,bool immediate);
89  uiPushButton(uiParent*,const uiString& txt,
90  const uiPixmap&,const CallBack&,
91  bool immediate);
92 
93  void setDefault(bool yn=true);
94  void click();
95  void setMenu(uiMenu*);
96  void setFlat(bool);
97 
98 private:
99 
100  void translateText();
101  void updateText();
102  void updateIconSize();
103 
105  uiPushButtonBody* pbbody_;
106  uiPushButtonBody& mkbody(uiParent*,const uiString&);
107 };
108 
109 
110 mExpClass(uiBase) uiRadioButton : public uiButton
111 {
112 public:
115  const CallBack&);
116 
117  bool isChecked() const;
118  virtual void setChecked(bool yn=true);
119 
120  void click();
121 
122 private:
123 
124  uiRadioButtonBody* rbbody_;
125  uiRadioButtonBody& mkbody(uiParent*,const uiString&);
126 
127 };
128 
129 
130 mExpClass(uiBase) uiCheckBox: public uiButton
131 {
132 public:
133 
134  uiCheckBox(uiParent*,const uiString&);
135  uiCheckBox(uiParent*,const uiString&,
136  const CallBack&);
137 
138  bool isChecked() const;
139  void setChecked(bool yn=true);
140  void setTriState(bool yn=true);
141  void setCheckState(OD::CheckState);
142  OD::CheckState getCheckState() const;
143 
144  void click();
145 
146 private:
147 
148  uiCheckBoxBody* cbbody_;
149  uiCheckBoxBody& mkbody(uiParent*,const uiString&);
150 
151 };
152 
153 
155 
157 {
158  friend class i_ButMessenger;
159 
160 public:
161 
163  virtual ~uiButtonMessenger() {}
164 
167 
168 protected:
169 
171  virtual void notifyHandler(notifyTp) = 0;
172 
173 };
uiPushButtonBody * pbbody_
Definition: uibutton.h:105
#define mExpClass(module)
Definition: commondefs.h:157
#define mQtclass(cls)
Definition: commondefs.h:232
is the base class for all buttons.
Definition: uibutton.h:80
uiCheckBoxBody * cbbody_
Definition: uibutton.h:148
uiRadioButtonBody * rbbody_
Definition: uibutton.h:124
mFDQtclass(QAbstractButton) class uiMenu
The base class for most UI elements.
Definition: uiobj.h:35
Definition: uistring.h:88
Definition: uiparent.h:24
Definition: i_qbutton.h:25
Class to help setup a callback handling.
Definition: notify.h:121
CheckState
State of check objects.
Definition: oduicommon.h:51
void pressed()
Definition: i_qbutton.h:55
StdActionType
Definition: oduicommon.h:59
Definition: uimenu.h:64
uiButtonMessenger()
Definition: uibutton.h:162
Off-screen pixel-based paint device.
Definition: uipixmap.h:33
Definition: uibutton.h:110
Button Abstract Base class.
Definition: uibutton.h:156
void toggled(bool)
Definition: i_qbutton.h:53
void clicked()
Definition: i_qbutton.h:54
bool immediate_
Definition: uibutton.h:104
OpendTect.
Definition: commontypes.h:25
CallBacks object-oriented (object + method).
Definition: callback.h:62
Definition: uibutton.h:130
notifyTp
Button signals emitted by Qt.
Definition: uibutton.h:166
void released()
Definition: i_qbutton.h:56
virtual ~uiButtonMessenger()
Definition: uibutton.h:163

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