OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uibasemod.h"
15 #include "uiobj.h"
16 #include "uistring.h"
17 #include "odiconfile.h"
18 
19 class uiButtonBody;
20 class uiCheckBoxBody;
21 class uiPushButtonBody;
22 class uiRadioButtonBody;
23 mFDQtclass(QAbstractButton)
24 
25 class uiMenu;
26 class uiPixmap;
27 mFDQtclass(QEvent)
28 mFDQtclass(QMenu)
29 
30 
31 
33 mExpClass(uiBase) uiButton : public uiObject
34 {
35 public:
36  virtual ~uiButton() {}
37 
38  virtual void setText(const uiString&);
39  const uiString& text() const { return text_; }
40  void setIcon(const char* icon_identifier);
41  void setPixmap( const uiPixmap& pm ) { setPM(pm); }
42  void setIconScale(float val);
43  virtual void updateIconSize() {}
44 
45  virtual void click() = 0;
46 
47  Notifier<uiButton> activated;
48 
50  mQtclass(QAbstractButton*) qButton();
51  const mQtclass(QAbstractButton*) qButton() const;
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  uiButton(uiParent*,const uiString&,const CallBack*,
65  uiObjectBody&);
66 
67  uiString text_;
68  float iconscale_;
69  static bool havecommonpbics_;
70 
71  virtual void translateText();
72  virtual void setPM(const uiPixmap&);
73 
74 public:
75  mDeprecated ("Use uiString")
76  void setText( const char* txt )
77  { setText(toUiString(txt)); }
78 
79 };
80 
81 
87 mExpClass(uiBase) uiPushButton : public uiButton
88 {
89 public:
91  bool immediate);
93  const CallBack&,bool immediate);
95  const uiPixmap&,bool immediate);
97  const uiPixmap&,const CallBack&,
98  bool immediate);
99 
100  void setDefault(bool yn=true);
101  void click();
102  void setMenu(uiMenu*);
103  void setFlat(bool);
104  bool isFlat() const;
105 
106 private:
107 
109  void updateText();
111 
113  uiPushButtonBody* pbbody_;
114  uiPushButtonBody& mkbody(uiParent*,const uiString&);
115 
116 public:
117  mDeprecated ("use uiString")
118  uiPushButton( uiParent* p, const char* txt,
119  bool immediate )
120  : uiPushButton(p,toUiString(txt),immediate) {}
121  mDeprecated ("use uiString")
122  uiPushButton( uiParent* p, const char* txt,
123  const CallBack& cb, bool immediate )
124  : uiPushButton(p,toUiString(txt),cb,immediate) {}
125  mDeprecated ("use uiString")
126  uiPushButton( uiParent* p, const char* txt,
127  const uiPixmap& pm, bool immediate )
128  : uiPushButton(p,toUiString(txt),pm,immediate) {}
129  mDeprecated ("use uiString")
130  uiPushButton( uiParent* p, const char* txt,
131  const uiPixmap& pm, const CallBack& cb,
132  bool immediate )
133  : uiPushButton(p,toUiString(txt),pm,cb,immediate) {}
134 };
135 
136 
137 mExpClass(uiBase) uiRadioButton : public uiButton
138 {
139 public:
142  const CallBack&);
143 
144  bool isChecked() const;
145  virtual void setChecked(bool yn=true);
146 
147  void click();
148 
149 private:
150 
151  uiRadioButtonBody* rbbody_;
152  uiRadioButtonBody& mkbody(uiParent*,const uiString&);
153 
154 public:
155  mDeprecated ("use uiString")
156  uiRadioButton( uiParent* p, const char* txt )
158  mDeprecated ("use uiString")
159  uiRadioButton( uiParent* p, const char* txt,
160  const CallBack& cb )
161  : uiRadioButton(p,toUiString(txt),cb) {}
162 
163 };
164 
165 
166 mExpClass(uiBase) uiCheckBox: public uiButton
167 {
168 public:
169 
172  const CallBack&);
173 
174  bool isChecked() const;
175  void setChecked(bool yn=true);
176  void setTriState(bool yn=true);
179 
180  void click();
181 
182 private:
183 
184  uiCheckBoxBody* cbbody_;
185  uiCheckBoxBody& mkbody(uiParent*,const uiString&);
186 
187 public:
188  mDeprecated ("use uiString")
189  uiCheckBox( uiParent* p, const char* txt )
190  : uiCheckBox(p,toUiString(txt)) {}
191  mDeprecated ("use uiString")
192  uiCheckBox( uiParent* p, const char* txt,
193  const CallBack& cb )
194  : uiCheckBox(p,toUiString(txt),cb) {}
195 
196 };
197 
198 
200 
202 {
203  friend class i_ButMessenger;
204 
205 public:
206 
208  virtual ~uiButtonMessenger() {}
209 
212 
213 protected:
214 
216  virtual void notifyHandler(notifyTp) = 0;
217 
218 };
219 
uiPushButton::translateText
void translateText()
uiCheckBox::getCheckState
OD::CheckState getCheckState() const
i_ButMessenger::released
void released()
Definition: i_qbutton.h:56
uiPixmap
Off-screen pixel-based paint device.
Definition: uipixmap.h:34
uiCheckBox::mDeprecated
mDeprecated("use uiString") uiCheckBox(uiParent *p
uiRadioButton::rbbody_
uiRadioButtonBody * rbbody_
Definition: uibutton.h:151
uiRadioButton::click
void click()
uistring.h
uiPushButton::uiPushButton
uiPushButton(uiParent *, const uiString &txt, const uiPixmap &, const CallBack &, bool immediate)
uiPushButton::updateIconSize
void updateIconSize()
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
i_ButMessenger
Definition: i_qbutton.h:26
uiPushButton::click
void click()
uiPushButton::uiPushButton
uiPushButton(uiParent *, const uiString &txt, const uiPixmap &, bool immediate)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiCheckBox
Definition: uibutton.h:167
uiPushButton::setFlat
void setFlat(bool)
uiCheckBox::mkbody
uiCheckBoxBody & mkbody(uiParent *, const uiString &)
uiPushButton::mDeprecated
mDeprecated("use uiString") uiPushButton(uiParent *p
uiRadioButton::setChecked
virtual void setChecked(bool yn=true)
uiCheckBox::uiCheckBox
uiCheckBox(uiParent *, const uiString &, const CallBack &)
uiRadioButton::isChecked
bool isChecked() const
uiPushButton::setMenu
void setMenu(uiMenu *)
mFDQtclass
mFDQtclass(QAbstractButton) class uiMenu
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
uiRadioButton::uiRadioButton
uiRadioButton(uiParent *, const uiString &, const CallBack &)
uiCheckBox::cbbody_
uiCheckBoxBody * cbbody_
Definition: uibutton.h:184
uiCheckBox::setTriState
void setTriState(bool yn=true)
OD::StdActionType
StdActionType
Definition: oduicommon.h:79
mDeprecated
#define mDeprecated(msg)
Definition: plfdefs.h:215
uiButtonMessenger::notifyHandler
virtual void notifyHandler(notifyTp)=0
Handler called from Qt.
OD::CheckState
CheckState
State of check objects.
Definition: oduicommon.h:53
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
uiCheckBox::isChecked
bool isChecked() const
uiPushButton::immediate_
bool immediate_
Definition: uibutton.h:112
uiPushButton::updateText
void updateText()
uiCheckBox::setChecked
void setChecked(bool yn=true)
i_ButMessenger::clicked
void clicked()
Definition: i_qbutton.h:54
uiRadioButton::mkbody
uiRadioButtonBody & mkbody(uiParent *, const uiString &)
mQtclass
#define mQtclass(cls)
Definition: commondefs.h:234
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiButtonMessenger::uiButtonMessenger
uiButtonMessenger()
Definition: uibutton.h:207
uiCheckBox::click
void click()
uiRadioButton
Definition: uibutton.h:138
uiCheckBox::uiCheckBox
uiCheckBox(uiParent *, const uiString &)
uiRadioButton::uiRadioButton
uiRadioButton(uiParent *, const uiString &)
odiconfile.h
uiPushButton::uiPushButton
uiPushButton(uiParent *, const uiString &txt, bool immediate)
uiPushButton::setDefault
void setDefault(bool yn=true)
uiMenu
Definition: uimenu.h:65
i_ButMessenger::pressed
void pressed()
Definition: i_qbutton.h:55
i_ButMessenger::toggled
void toggled(bool)
Definition: i_qbutton.h:53
uiPushButton::pbbody_
uiPushButtonBody * pbbody_
Definition: uibutton.h:113
uiParent
Definition: uiparent.h:26
uiButtonMessenger::notifyTp
notifyTp
Button signals emitted by Qt.
Definition: uibutton.h:211
uiButtonMessenger::~uiButtonMessenger
virtual ~uiButtonMessenger()
Definition: uibutton.h:208
uiCheckBox::setCheckState
void setCheckState(OD::CheckState)
uiPushButton::uiPushButton
uiPushButton(uiParent *, const uiString &txt, const CallBack &, bool immediate)
uiPushButton::mkbody
uiPushButtonBody & mkbody(uiParent *, const uiString &)
uiPushButton::isFlat
bool isFlat() const
uiRadioButton::mDeprecated
mDeprecated("use uiString") uiRadioButton(uiParent *p
uiobj.h
uiPushButton
is the base class for all buttons.
Definition: uibutton.h:88
uiButtonMessenger
Button Abstract Base class.
Definition: uibutton.h:202

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