OpendTect  6.6
userinputobj.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/2/2002
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "generalmod.h"
15 #include "datainpspec.h"
16 #include "convert.h"
17 #include "undefval.h"
18 
19 class CallBack;
20 class BufferStringSet;
21 class uiString;
22 
23 
25 {
26 public:
27 
29  virtual ~UserInputObj() {}
30 
31  virtual const char* text() const = 0;
32  virtual int getIntValue() const = 0;
33  virtual od_int64 getInt64Value() const = 0;
34  virtual double getDValue() const = 0;
35  virtual float getFValue() const = 0;
36  virtual bool getBoolValue() const = 0;
37 
38  virtual void setText(const char*) = 0;
39  virtual void setValue(const char* s);
40  virtual void setValue(int) = 0;
41  virtual void setValue(od_int64) = 0;
42  virtual void setValue(double) = 0;
43  virtual void setValue(float) = 0;
44  virtual void setValue(bool) = 0;
45 
46  virtual void setReadOnly( bool = true ) = 0;
47  virtual bool isReadOnly() const = 0;
48 
49  virtual void setEmpty() = 0;
50  virtual void addItem(const uiString&);
51 
54  bool notifyValueChanging( const CallBack& cb );
55 
58  bool notifyValueChanged( const CallBack& cb );
59 
61  bool notifyUpdateRequested( const CallBack& cb );
62 
64  bool update( const DataInpSpec& s );
65 
66  virtual void setToolTip(const uiString&) = 0;
67 
68 protected:
69 
71  virtual bool notifyValueChanging_(const CallBack&) =0;
73  virtual bool notifyValueChanged_(const CallBack&) =0;
74  virtual bool notifyUpdateRequested_(const CallBack&) =0;
75  virtual bool update_( const DataInpSpec&) =0;
76 
77 public:
78  mDeprecated ("Use getDValue")
79  double getdValue() const { return getDValue(); }
80  mDeprecated ("Use getFValue")
81  float getfValue() const { return getFValue(); }
82 };
83 
84 
85 template<class T>
87 {
88 public:
89 
90  virtual const char* text() const
91  { return Conv::to<const char*>( getvalue_() ); }
92  virtual int getIntValue() const
93  { return Conv::to<int>( getvalue_() ); }
94  virtual od_int64 getInt64Value() const
95  { return Conv::to<od_int64>( getvalue_() ); }
96  virtual double getDValue() const
97  { return Conv::to<double>( getvalue_() );}
98  virtual float getFValue() const
99  { return Conv::to<float>( getvalue_() ); }
100  virtual bool getBoolValue() const
101  { return Conv::to<bool>( getvalue_() ); }
102 
103  virtual void setText( const char* s )
104  { setvalue_( Conv::to<T>(s) ); }
105  virtual void setValue( const char* s )
106  { setText( s ); }
107  virtual void setValue( int i )
108  { setvalue_( Conv::to<T>(i) ); }
109  virtual void setValue( od_int64 i )
110  { setvalue_( Conv::to<T>(i) ); }
111  virtual void setValue( double d )
112  { setvalue_( Conv::to<T>(d) ); }
113  virtual void setValue( float f )
114  { setvalue_( Conv::to<T>(f) ); }
115  virtual void setValue( bool b )
116  { setvalue_( Conv::to<T>(b) ); }
117 
118  void setEmpty()
119  { setvalue_(mUdf(T)); }
120 
121 protected:
122  // return true if implemented.
123  virtual bool setEmpty_() { return false; }
124 
125  virtual void setvalue_( T v ) = 0;
126  virtual T getvalue_() const = 0;
127 
128 };
129 
UserInputObj::setText
virtual void setText(const char *)=0
UserInputObj::setValue
virtual void setValue(bool)=0
UserInputObj::update
bool update(const DataInpSpec &s)
return false if not updated for whatever reason.
UserInputObj::setReadOnly
virtual void setReadOnly(bool=true)=0
UserInputObj::setValue
virtual void setValue(int)=0
UserInputObjImpl::text
virtual const char * text() const
Definition: userinputobj.h:90
UserInputObj::setEmpty
virtual void setEmpty()=0
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
UserInputObj::notifyValueChanged
bool notifyValueChanged(const CallBack &cb)
value change complete cq. commited
od_int64
#define od_int64
Definition: plftypes.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
UserInputObj::~UserInputObj
virtual ~UserInputObj()
Definition: userinputobj.h:29
UserInputObjImpl::setEmpty_
virtual bool setEmpty_()
Definition: userinputobj.h:123
UserInputObjImpl
Definition: userinputobj.h:87
UserInputObjImpl::setValue
virtual void setValue(int i)
Definition: userinputobj.h:107
UserInputObj::notifyUpdateRequested_
virtual bool notifyUpdateRequested_(const CallBack &)=0
undefval.h
UserInputObjImpl::getFValue
virtual float getFValue() const
Definition: userinputobj.h:98
UserInputObj::setValue
virtual void setValue(const char *s)
UserInputObj::setValue
virtual void setValue(od_int64)=0
UserInputObj::getBoolValue
virtual bool getBoolValue() const =0
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
UserInputObjImpl::setValue
virtual void setValue(float f)
Definition: userinputobj.h:113
UserInputObjImpl::getvalue_
virtual T getvalue_() const =0
mClass
#define mClass(module)
Definition: commondefs.h:181
UserInputObj::UserInputObj
UserInputObj()
Definition: userinputobj.h:28
UserInputObj::notifyValueChanged_
virtual bool notifyValueChanged_(const CallBack &)=0
return false if not available
UserInputObj::setValue
virtual void setValue(double)=0
DataInpSpec
Specification of input characteristics.
Definition: datainpspec.h:90
UserInputObjImpl::setValue
virtual void setValue(od_int64 i)
Definition: userinputobj.h:109
UserInputObj::notifyValueChanging_
virtual bool notifyValueChanging_(const CallBack &)=0
return false if not available
UserInputObjImpl::getIntValue
virtual int getIntValue() const
Definition: userinputobj.h:92
UserInputObjImpl::getInt64Value
virtual od_int64 getInt64Value() const
Definition: userinputobj.h:94
UserInputObj::notifyUpdateRequested
bool notifyUpdateRequested(const CallBack &cb)
UserInputObjImpl::setValue
virtual void setValue(bool b)
Definition: userinputobj.h:115
UserInputObjImpl::setValue
virtual void setValue(const char *s)
Definition: userinputobj.h:105
UserInputObj::setToolTip
virtual void setToolTip(const uiString &)=0
datainpspec.h
convert.h
UserInputObj::getDValue
virtual double getDValue() const =0
UserInputObj::text
virtual const char * text() const =0
UserInputObj::mDeprecated
mDeprecated("Use getDValue") double getdValue() const
Definition: userinputobj.h:78
UserInputObj::addItem
virtual void addItem(const uiString &)
UserInputObj::getInt64Value
virtual od_int64 getInt64Value() const =0
UserInputObjImpl::getBoolValue
virtual bool getBoolValue() const
Definition: userinputobj.h:100
UserInputObj::notifyValueChanging
bool notifyValueChanging(const CallBack &cb)
intermediate value available
UserInputObjImpl::setvalue_
virtual void setvalue_(T v)=0
UserInputObjImpl::setText
virtual void setText(const char *s)
Definition: userinputobj.h:103
UserInputObjImpl::setEmpty
void setEmpty()
Definition: userinputobj.h:118
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
UserInputObj::getFValue
virtual float getFValue() const =0
mUdf
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:274
UserInputObjImpl::setValue
virtual void setValue(double d)
Definition: userinputobj.h:111
UserInputObjImpl::getDValue
virtual double getDValue() const
Definition: userinputobj.h:96
UserInputObj::isReadOnly
virtual bool isReadOnly() const =0
UserInputObj::setValue
virtual void setValue(float)=0
UserInputObj::mDeprecated
mDeprecated("Use getFValue") float getfValue() const
Definition: userinputobj.h:80
UserInputObj
Definition: userinputobj.h:25
UserInputObj::getIntValue
virtual int getIntValue() const =0
UserInputObj::update_
virtual bool update_(const DataInpSpec &)=0

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