OpendTect  6.6
uigeninput_impl.h
Go to the documentation of this file.
1 #ifndef uigeninput_impl_h
2 #define uigeninput_impl_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: A.H. Lammertink / Bert
9  Date: 21/2/2002 / Sep 2011
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "uigroup.h"
16 #include "uispinbox.h"
17 #include "userinputobj.h"
18 
19 class uiCheckBox;
20 class uiRadioButton;
21 
33 {
34 public:
37  virtual int nElems() const { return 1; }
38 
39  virtual UserInputObj* element( int idx=0 ) = 0;
40  const UserInputObj* element(int idx=0) const;
41  virtual uiObject* mainObj() = 0;
42  virtual uiObject* elemObj(int idx=0);
43  const uiObject* elemObj(int idx=0) const;
44 
45  virtual bool isUndef(int) const;
46  const char* text(int) const;
47  int getIntValue(int) const;
48  od_int64 getInt64Value(int) const;
49  float getFValue(int) const;
50  double getDValue(int) const;
51  bool getBoolValue(int) const;
52 
53  template <class T>
54  void setValue( T t, int idx )
55  {
56  UserInputObj* obj = element( idx );
57  if ( !obj )
58  {
60  if ( sb ) sb->setValue( t );
61  return;
62  }
63 
64  if ( mIsUdf(t) )
65  obj->setEmpty();
66  else
67  obj->setValue(t);
68  }
69 
70  virtual void setText(const char*,int);
71  void setValue(bool,int);
72 
73  void setEmpty();
74  void display(bool,int elemidx);
75  bool isReadOnly(int idx=0) const;
76  virtual void setReadOnly(bool yn=true,int idx=-1);
77  void setSensitive(bool yn,int elemidx=-1);
78 
79  DataInpSpec& spec() { return spec_; }
80  const DataInpSpec& spec() const { return spec_; }
81 
82  bool update(const DataInpSpec&);
83  virtual void updateSpec();
84 
88 
89 protected:
90 
93 
94  virtual bool update_(const DataInpSpec&);
95  void init();
96 
97 };
98 
99 
100 class uiGenInputBoolFld : public UserInputObjImpl<bool>, public uiGroup
102 public:
103 
105  const uiString& truetext=uiStrings::
106  sEmptyString(),
107  const uiString& falsetext=uiStrings::
108  sEmptyString(),
109  bool initval = true,
110  const char* nm="Bool Input");
111 
113  const DataInpSpec& spec,
114  const char* nm="Bool Input");
115 
116  virtual const char* text() const;
117  virtual void setText(const char* t);
118 
119  bool notifyValueChanged( const CallBack& cb )
120  { valueChanged.notify(cb); return true; }
121 
123 
124  virtual void setReadOnly(bool ro=true);
125  virtual bool isReadOnly() const;
126 
127  virtual bool update_(const DataInpSpec& spec);
128 
129  virtual void setToolTip(const uiString&);
130 
131 protected:
132 
133  void init(uiParent*,const uiString&,const uiString&,bool);
134 
135  virtual bool getvalue_() const { return yn_; }
136  virtual void setvalue_( bool );
137 
138  virtual bool notifyValueChanging_( const CallBack& ) { return false;}
139  virtual bool notifyValueChanged_( const CallBack& cb )
140  { valueChanged.notify(cb); return true; }
141  virtual bool notifyUpdateRequested_(const CallBack&) { return false;}
142 
144 
145  virtual uiObject* mainobject();
146 
149  bool yn_;
154 };
155 
156 
157 class uiGenInputIntFld : public UserInputObjImpl<int>, public uiSpinBox
158 {
159 public:
161  const char* nm="Int Input");
163  const char* nm="Int Input");
164  virtual void setReadOnly(bool);
165  virtual bool isReadOnly() const;
166 
167  virtual bool update_(const DataInpSpec&);
168  virtual void setToolTip(const uiString&);
169 
170 protected:
171 
172  virtual int getvalue_() const;
173  virtual void setvalue_(int);
174 
175  virtual bool notifyValueChanging_(const CallBack&);
176  virtual bool notifyValueChanged_(const CallBack&);
177  virtual bool notifyUpdateRequested_(const CallBack&);
178 };
179 
180 
181 class uiGenInputInt64Fld : public UserInputObjImpl<od_int64>, public uiSpinBox
182 {
183 public:
185  const char* nm="Int Input");
187  const char* nm="Int Input");
188  virtual void setReadOnly(bool);
189  virtual bool isReadOnly() const;
190 
191  virtual bool update_(const DataInpSpec&);
192  virtual void setToolTip(const uiString&);
193 
194 protected:
195 
196  virtual od_int64 getvalue_() const;
197  virtual void setvalue_(od_int64);
198 
199  virtual bool notifyValueChanging_(const CallBack&);
200  virtual bool notifyValueChanged_(const CallBack&);
201  virtual bool notifyUpdateRequested_(const CallBack&);
202 };
203 
204 #endif
uiGenInputInputFld::element
virtual UserInputObj * element(int idx=0)=0
uiGenInputInt64Fld::setvalue_
virtual void setvalue_(od_int64)
uiGenInputBoolFld::text
virtual const char * text() const
uiGenInputInputFld::uiGenInputInputFld
uiGenInputInputFld(uiGenInput *, const DataInpSpec &)
uiGenInputIntFld::notifyUpdateRequested_
virtual bool notifyUpdateRequested_(const CallBack &)
uiGenInputInt64Fld
Definition: uigeninput_impl.h:182
uiGenInputBoolFld::truetxt_
uiString truetxt_
Definition: uigeninput_impl.h:147
uiGenInputBoolFld::isReadOnly
virtual bool isReadOnly() const
UserInputObj::setEmpty
virtual void setEmpty()=0
uiGenInputInputFld::init
void init()
mIsUdf
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:289
od_int64
#define od_int64
Definition: plftypes.h:35
uiGenInputInt64Fld::notifyValueChanged_
virtual bool notifyValueChanged_(const CallBack &)
return false if not available
uiGenInputInputFld::element
const UserInputObj * element(int idx=0) const
uiGenInputIntFld::uiGenInputIntFld
uiGenInputIntFld(uiParent *, const DataInpSpec &, const char *nm="Int Input")
uiCheckBox
Definition: uibutton.h:167
uiGenInputInputFld::update
bool update(const DataInpSpec &)
uiGenInputInputFld::setEmpty
void setEmpty()
uiGenInputBoolFld::getvalue_
virtual bool getvalue_() const
Definition: uigeninput_impl.h:135
UserInputObjImpl
Definition: userinputobj.h:87
uiGenInputInputFld::getBoolValue
bool getBoolValue(int) const
mDynamicCastGet
#define mDynamicCastGet(typ, out, in)
Definition: commondefs.h:148
uiGenInputInputFld::spec_
DataInpSpec & spec_
Definition: uigeninput_impl.h:91
uiGenInputInputFld::setSensitive
void setSensitive(bool yn, int elemidx=-1)
uiGenInputBoolFld::mainobject
virtual uiObject * mainobject()
uiGenInputInputFld::spec
DataInpSpec & spec()
Definition: uigeninput_impl.h:79
uiStrings
Definition: uistrings.h:27
uiGenInputInputFld::elemObj
virtual uiObject * elemObj(int idx=0)
uiGenInputBoolFld::butgrp_
uiObject * butgrp_
Definition: uigeninput_impl.h:150
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiGenInputBoolFld::notifyUpdateRequested_
virtual bool notifyUpdateRequested_(const CallBack &)
Definition: uigeninput_impl.h:141
uiGenInputBoolFld::yn_
bool yn_
Definition: uigeninput_impl.h:149
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
uiGenInputIntFld::notifyValueChanged_
virtual bool notifyValueChanged_(const CallBack &)
return false if not available
uigroup.h
uiGenInput
General Input Element.
Definition: uigeninput.h:59
uiGenInputInputFld::update_
virtual bool update_(const DataInpSpec &)
uiGenInputInputFld::getIntValue
int getIntValue(int) const
uiGenInputIntFld::update_
virtual bool update_(const DataInpSpec &)
uiGenInputInputFld::elemObj
const uiObject * elemObj(int idx=0) const
UserInputObj::setValue
virtual void setValue(const char *s)
uiGenInputBoolFld::init
void init(uiParent *, const uiString &, const uiString &, bool)
uiGenInputIntFld::uiGenInputIntFld
uiGenInputIntFld(uiParent *, int val=0, const char *nm="Int Input")
uiGenInputInt64Fld::uiGenInputInt64Fld
uiGenInputInt64Fld(uiParent *, const DataInpSpec &, const char *nm="Int Input")
uiGenInputInputFld::updateSpec
virtual void updateSpec()
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
uiGenInputIntFld
Definition: uigeninput_impl.h:158
uiGenInputBoolFld::uiGenInputBoolFld
mODTextTranslationClass(UserInputObjImpl) public uiGenInputBoolFld(uiParent *, const DataInpSpec &spec, const char *nm="Bool Input")
uiGenInputInputFld::valChangingNotify
void valChangingNotify(CallBacker *)
uiGenInputIntFld::setReadOnly
virtual void setReadOnly(bool)
uiGroup
Definition: uigroup.h:54
uiGenInputInputFld::isUndef
virtual bool isUndef(int) const
uiGenInputInputFld::nElems
virtual int nElems() const
Definition: uigeninput_impl.h:37
uiGenInputInt64Fld::setToolTip
virtual void setToolTip(const uiString &)
uispinbox.h
uiGenInputInputFld::setText
virtual void setText(const char *, int)
uiGenInputInt64Fld::uiGenInputInt64Fld
uiGenInputInt64Fld(uiParent *, od_int64 val=0, const char *nm="Int Input")
uiGenInputBoolFld::setText
virtual void setText(const char *t)
Notifier< uiGenInputBoolFld >
DataInpSpec
Specification of input characteristics.
Definition: datainpspec.h:90
uiGenInputBoolFld::falsetxt_
uiString falsetxt_
Definition: uigeninput_impl.h:148
uiGenInputIntFld::getvalue_
virtual int getvalue_() const
uiGenInputInputFld::display
void display(bool, int elemidx)
uiGenInputInt64Fld::notifyUpdateRequested_
virtual bool notifyUpdateRequested_(const CallBack &)
uiGenInputBoolFld::notifyValueChanged
bool notifyValueChanged(const CallBack &cb)
Definition: uigeninput_impl.h:119
uiGenInputInt64Fld::isReadOnly
virtual bool isReadOnly() const
userinputobj.h
uiGenInputBoolFld::rb1_
uiRadioButton * rb1_
Definition: uigeninput_impl.h:152
uiSpinBox
Definition: uispinbox.h:24
uiGenInputInputFld::setValue
void setValue(T t, int idx)
Definition: uigeninput_impl.h:54
uiGenInputIntFld::notifyValueChanging_
virtual bool notifyValueChanging_(const CallBack &)
return false if not available
uiGenInputBoolFld
Definition: uigeninput_impl.h:101
uiGenInputBoolFld::selected
void selected(CallBacker *)
uiGenInputInputFld::getDValue
double getDValue(int) const
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiGenInputBoolFld::notifyValueChanging_
virtual bool notifyValueChanging_(const CallBack &)
return false if not available
Definition: uigeninput_impl.h:138
uiGenInputBoolFld::rb2_
uiRadioButton * rb2_
Definition: uigeninput_impl.h:153
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiGenInputInputFld::mainObj
virtual uiObject * mainObj()=0
uiGenInputBoolFld::setReadOnly
virtual void setReadOnly(bool ro=true)
uiGenInputInputFld::updateReqNotify
void updateReqNotify(CallBacker *)
uiRadioButton
Definition: uibutton.h:138
uiGenInputBoolFld::notifyValueChanged_
virtual bool notifyValueChanged_(const CallBack &cb)
return false if not available
Definition: uigeninput_impl.h:139
uiGenInputBoolFld::valueChanged
Notifier< uiGenInputBoolFld > valueChanged
Definition: uigeninput_impl.h:122
uiGenInputBoolFld::setvalue_
virtual void setvalue_(bool)
uiGenInputInputFld::valChangedNotify
void valChangedNotify(CallBacker *)
uiGenInputInputFld::isReadOnly
bool isReadOnly(int idx=0) const
uiGenInputInt64Fld::getvalue_
virtual od_int64 getvalue_() const
uiGenInputBoolFld::update_
virtual bool update_(const DataInpSpec &spec)
uiGenInputInputFld::text
const char * text(int) const
uiGenInputInputFld::spec
const DataInpSpec & spec() const
Definition: uigeninput_impl.h:80
uiGenInputInputFld::getInt64Value
od_int64 getInt64Value(int) const
uiGenInputBoolFld::setToolTip
virtual void setToolTip(const uiString &)
uiParent
Definition: uiparent.h:26
uiGenInputInputFld
Generalised data input field.
Definition: uigeninput_impl.h:33
uiGenInputInputFld::p_
uiGenInput * p_
Definition: uigeninput_impl.h:92
uiGenInputInputFld::setReadOnly
virtual void setReadOnly(bool yn=true, int idx=-1)
uiGenInputInt64Fld::update_
virtual bool update_(const DataInpSpec &)
UserInputObj
Definition: userinputobj.h:25
uiGenInputInputFld::getFValue
float getFValue(int) const
uiGenInputInt64Fld::setReadOnly
virtual void setReadOnly(bool)
uiGenInputIntFld::isReadOnly
virtual bool isReadOnly() const
uiGenInputBoolFld::checkbox_
uiCheckBox * checkbox_
Definition: uigeninput_impl.h:151
NotifierAccess::notify
void notify(const CallBack &, bool first=false) const
uiGenInputInputFld::~uiGenInputInputFld
virtual ~uiGenInputInputFld()
uiGenInputInt64Fld::notifyValueChanging_
virtual bool notifyValueChanging_(const CallBack &)
return false if not available
uiGenInputIntFld::setToolTip
virtual void setToolTip(const uiString &)
uiGenInputIntFld::setvalue_
virtual void setvalue_(int)
uiGenInputInputFld::setValue
void setValue(bool, int)

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