OpendTect  6.6
uitoolbutton.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Bert
7  Date: Nov 2010
8  RCS: $Id$
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uibasemod.h"
14 #include "uibutton.h"
15 #include "uistrings.h"
16 
17 class uiToolButtonBody;
18 class uiToolButtonSetup;
19 
20 
21 mExpClass(uiBase) uiToolButton : public uiButton
22 {
23 public:
24 
26  UpArrow, DownArrow, LeftArrow, RightArrow };
27  enum PopupMode { DelayedPopup, MenuButtonPopup, InstantPopup };
28 
30  const uiToolButtonSetup&);
31  uiToolButton(uiParent*,const char* filenm,
32  const uiString& tooltip,
33  const CallBack&);
35  const uiString& tooltip,
36  const CallBack&);
38 
40  const CallBack&,const uiString& ttip);
41 
42  bool isOn() const;
43  void setOn(bool yn=true);
44 
45  void setToggleButton(bool yn=true);
46  bool isToggleButton() const;
47 
49 
50  void setShortcut(const char*);
51  void setMenu(uiMenu*,PopupMode=MenuButtonPopup);
53 
54  const uiMenu* menu() const { return uimenu_; }
55 
56  void setID( int i ) { id_ = i; }
57  int id() const { return id_; }
58 
59  void click();
60 
61 private:
62 
63  uiToolButtonBody* tbbody_;
64  uiToolButtonBody& mkbody(uiParent*,const char* icon_identifier,
65  const uiString&);
66 
67  int id_; // Used by toolbar
68 
70 
71 public:
72  mDeprecated ("use uiString")
73  uiToolButton( uiParent* p,const char* filenm,
74  const char* tooltip,
75  const CallBack& cb )
76  : uiToolButton(p,filenm,toUiString(tooltip),
77  cb) {}
78  mDeprecated ("use uiString")
79  uiToolButton( uiParent* p, ArrowType typ,
80  const char* tooltip,
81  const CallBack& cb )
82  : uiToolButton(p,typ,toUiString(tooltip),
83  cb) {}
84 };
85 
86 
87 #define mDefuiTBSUMemb(typ,memb) mDefSetupClssMemb(uiToolButtonSetup,typ,memb)
88 
90 {
91 public:
92  uiToolButtonSetup( const char* ic, const uiString& tt,
93  const CallBack& c , const uiString&
95  : icid_(ic)
96  , cb_(c)
97  , tooltip_(tt)
98  , istoggle_(false)
99  , ison_(false)
100  , isimmediate_(false)
101  , arrowtype_(uiToolButton::NoArrow)
102  , name_(!nm.isEmpty() ? nm : tt)
103  {}
104 
108 
109  mDefuiTBSUMemb(bool,istoggle);
110  mDefuiTBSUMemb(bool,ison);
111  mDefuiTBSUMemb(bool,isimmediate);
115 
116  uiButton* getButton(uiParent*,bool forcetoolbutton=false) const;
119  uiPushButton* getPushButton(uiParent*,bool withicon=true) const;
120 
121 public:
122  mDeprecated ("Use uiString")
123  uiToolButtonSetup( const char* ic, const char* tt,
124  const CallBack& cb,
125  const char* nm = nullptr )
127  toUiString(nm)) {}
128  mDeprecated ("Use uiString")
129  uiToolButtonSetup( const char* ic, const uiString& tt,
130  const CallBack& cb, const char* nm )
131  : uiToolButtonSetup(ic,tt,cb,toUiString(nm)) {}
132 
133 };
134 
uiToolButton::ArrowType
ArrowType
Definition: uitoolbutton.h:25
uiToolButtonSetup::tt
const char * tt
Definition: uitoolbutton.h:123
uiToolButtonSetup::getPushButton
uiPushButton * getPushButton(uiParent *, bool withicon=true) const
uiToolButton::setOn
void setOn(bool yn=true)
uiToolButton::getStd
static uiToolButton * getStd(uiParent *, OD::StdActionType, const CallBack &, const uiString &ttip)
uiToolButton::tbbody_
uiToolButtonBody * tbbody_
Definition: uitoolbutton.h:63
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
uiToolButton::uiToolButton
uiToolButton(uiParent *, ArrowType, const uiString &tooltip, const CallBack &)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiToolButton::id
int id() const
Definition: uitoolbutton.h:57
uiToolButtonSetup::mDeprecated
mDeprecated("Use uiString") uiToolButtonSetup(const char *ic
uiToolButtonSetup::uiToolButtonSetup
uiToolButtonSetup(const char *ic, const uiString &tt, const CallBack &c, const uiString &nm=uiStrings::sEmptyString())
Definition: uitoolbutton.h:92
uiToolButton::setToggleButton
void setToggleButton(bool yn=true)
isEmpty
bool isEmpty(const NLAModel *mdl)
uiToolButton::menu
const uiMenu * menu() const
Definition: uitoolbutton.h:54
uibutton.h
uiToolButton::setArrowType
void setArrowType(ArrowType)
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
uiToolButton::setID
void setID(int i)
Definition: uitoolbutton.h:56
OD::StdActionType
StdActionType
Definition: oduicommon.h:79
mDeprecated
#define mDeprecated(msg)
Definition: plfdefs.h:215
uistrings.h
uiToolButton::UpArrow
@ UpArrow
Definition: uitoolbutton.h:26
uiStrings::sEmptyString
static uiString sEmptyString()
Definition: uistrings.h:354
uiToolButton::NoArrow
@ NoArrow
Definition: uitoolbutton.h:25
uiToolButton::setMenu
void setMenu(uiMenu *, PopupMode=MenuButtonPopup)
Menu becomes mine.
uiToolButtonSetup::cb
const char const CallBack & cb
Definition: uitoolbutton.h:124
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiToolButton::isOn
bool isOn() const
uiToolButton::mkbody
uiToolButtonBody & mkbody(uiParent *, const char *icon_identifier, const uiString &)
uiToolButton::setShortcut
void setShortcut(const char *)
uiToolButton::isToggleButton
bool isToggleButton() const
uiToolButton::~uiToolButton
~uiToolButton()
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiToolButtonSetup
Definition: uitoolbutton.h:90
uiToolButton::uiToolButton
uiToolButton(uiParent *, const char *filenm, const uiString &tooltip, const CallBack &)
uiToolButton::click
void click()
uiMenu
Definition: uimenu.h:65
uiParent
Definition: uiparent.h:26
uiToolButton::uimenu_
uiMenu * uimenu_
Definition: uitoolbutton.h:69
uiToolButton::uiToolButton
uiToolButton(uiParent *, const uiToolButtonSetup &)
uiToolButtonSetup::getToolButton
uiToolButton * getToolButton(uiParent *) const
uiToolButton::mDeprecated
mDeprecated("use uiString") uiToolButton(uiParent *p
uiToolButton
Definition: uitoolbutton.h:22
mDefuiTBSUMemb
#define mDefuiTBSUMemb(typ, memb)
Definition: uitoolbutton.h:87
uiToolButton::id_
int id_
Definition: uitoolbutton.h:67
uiToolButton::PopupMode
PopupMode
Definition: uitoolbutton.h:27
uiPushButton
is the base class for all buttons.
Definition: uibutton.h:88
uiToolButtonSetup::getButton
uiButton * getButton(uiParent *, bool forcetoolbutton=false) const
pushbutton if name_ != tooltip_ and !istoggle_

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