 |
OpendTect
6.6
|
Go to the documentation of this file.
14 #include "generalmod.h"
34 enum Rep { intTp, int64Tp, floatTp, doubleTp, boolTp, stringTp };
38 : rep_( tp ), form_(frm) {}
40 inline Rep
rep()
const {
return rep_; }
44 {
return (rep_==oth.
rep_) && (form_==oth.
form_); }
46 {
return ! (oth == *
this); }
71 inline Rep
rep__(
int i )
const {
return intTp; }
73 inline Rep
rep__(
float f )
const {
return floatTp; }
74 inline Rep
rep__(
double d )
const {
return doubleTp; }
75 inline Rep
rep__(
bool b )
const {
return boolTp; }
76 inline Rep
rep__(
const char* s )
const {
return stringTp; }
108 virtual const char*
text(
int idx=0 )
const =0;
109 virtual bool setText(
const char*,
int idx=0) =0;
140 virtual const char*
name(
int idx=0)
const;
158 double getdValue(
int idx=0)
const {
return getDValue(idx); }
160 float getfValue(
int idx=0)
const {
return getFValue(idx); }
164 #define mDefDISSetValBaseClassImpl(typ) \
165 virtual void setValue( typ val, int idx=0 ) \
166 { DataInpSpec::setValue(val,idx); }
167 #define mDefDISSetDefValBaseClassImpl(typ) \
168 virtual void setDefaultValue( typ val, int idx=0 ) \
169 { DataInpSpec::setDefaultValue(val,idx); }
208 {
return mIsUdf(value_); }
210 virtual bool setText(
const char* s,
int idx=0 )
216 virtual double getDValue(
int idx=0)
const {
return value(); }
217 virtual float getFValue(
int idx=0)
const {
return (
float)value(); }
220 {
return (
int)defaultValue(); }
222 {
return defaultValue(); }
224 {
return (
float ) defaultValue(); }
227 { defaultvalue_ = (T)val; }
229 { defaultvalue_ = (T)val; }
231 { defaultvalue_ = (T)val; }
243 return defaultvalue_;
246 virtual const char*
text(
int idx=0 )
const
248 if ( isUndef() )
return "";
255 if ( !limits_ )
return true;
257 return limits_->includes( value(),
true );;
259 const bool startudf =
mIsUdf(limits_->start);
260 const bool stopudf =
mIsUdf(limits_->stop);
261 if ( startudf && stopudf )
return true;
263 return value() < limits_->stop;
265 return value() > limits_->start;
292 , limits_( nis.limits_ ? new
StepInterval<T>(*nis.limits_) : 0 )
293 , value_( nis.value_ )
294 , defaultvalue_( nis.defaultvalue_ )
319 , startlimits_(0), stoplimits_(0), steplimits_(0)
340 , startlimits_(0), stoplimits_(0), steplimits_(0)
343 , interval_( interval.clone() )
355 , startlimits_(0), stoplimits_(0), steplimits_(0)
356 , symm_(o.isSymmetric())
357 , wsymm_(o.withSymmetric())
358 , interval_( o.interval_ ? o.interval_->clone() : 0)
359 , defaultinterval_( o.defaultinterval_ ?
360 o.defaultinterval_->clone() : 0)
370 delete defaultinterval_;
379 virtual int nElems()
const {
return hasStep() ? 3 : 2; }
380 inline bool hasStep()
const {
return stpi(); }
384 if ( !interval_ )
return true;
385 return mIsUdf( value_(idx) );
390 if ( interval_ )
delete interval_;
391 interval_ = intval.
clone();
399 virtual
void setDefaultValue( const
Interval<T>& defaultintval )
401 if ( defaultinterval_ )
delete defaultinterval_;
402 defaultinterval_ = defaultintval.clone();
410 virtual
bool setText( const
char* s,
int idx=0 )
412 if ( pt_value_(idx) )
419 if ( isUndef(idx) )
return mUdf(T);
423 virtual int getIntValue(
int idx=0)
const {
return (
int)value(idx); }
426 virtual double getDValue(
int idx=0)
const {
return value(idx); }
427 virtual float getFValue(
int idx=0)
const {
return (
float)value(idx); }
431 if ( !defaultinterval_ )
return mUdf(T);
432 return defaultvalue_(idx);
436 {
return (
int)defaultValue(idx); }
438 {
return defaultValue(idx); }
440 {
return (
float) defaultValue(idx); }
442 virtual const char*
text(
int idx=0 )
const
444 if ( isUndef(idx) )
return "";
449 {
return startlimits_||stoplimits_||steplimits_; }
453 if ( !lims )
return true;
455 return lims->includes( value(idx),
true );
457 const bool startudf =
mIsUdf(lims->start);
458 const bool stopudf =
mIsUdf(lims->stop);
459 if ( startudf && stopudf )
return true;
461 return value(idx) < lims->stop;
463 return value(idx) > lims->start;
479 case 0 :
return startlimits_;
480 case 1 :
return stoplimits_;
481 case 2 :
return steplimits_;
497 if ( idx<0 || idx==0 )
502 if ( idx<0 || idx==1 )
507 if ( idx==-2 || idx==2 )
522 { symm_ = yn; wsymm_ =
true; }
541 if ( pt_value_(idx) )
return *pt_value_(idx);
547 if ( pt_value_(idx,
true) )
548 return *pt_value_(idx,
true);
557 if ( !defaultinterval_)
return 0;
558 if ( idx == 0 )
return &defaultinterval_->start;
559 if ( idx == 1 )
return &defaultinterval_->stop;
560 if ( hasStep() )
return &stpi(defval)->step;
564 if ( !interval_)
return 0;
565 if ( idx == 0 )
return &interval_->start;
566 if ( idx == 1 )
return &interval_->stop;
567 if ( hasStep() )
return &stpi()->step;
575 defval ? defaultinterval_ : interval_)
597 virtual const char*
text(
int)
const;
654 virtual const char*
text(
int idx=0)
const;
656 virtual bool setText(
const char* s,
int idx=0);
663 virtual
bool getDefaultBoolValue(
int idx=0) const;
664 virtual
void setDefaultValue(
bool,
int idx=0);
670 bool isSet()
const {
return isset_; }
671 void setSet(
bool yesno=
true ) { isset_ = yesno; }
684 const
char* falsetxt,
bool isset=true )
688 void setTrueFalseTxt(
bool yn, const
char* txt )
723 virtual const char*
text(
int idx=0)
const;
738 virtual
void setDefaultValue(
int i,
int idx=0);
739 virtual
int getDefaultIntValue(
int idx=0) const;
745 bool isSet()
const {
return isset_; }
746 void setSet(
bool yn=
true ) { isset_ = yn; }
766 Setup(
bool wc=
false,
bool d2=
false,
bool ps=
false )
770 , isrel_(false) {
clear(); }
782 coord_.x = coord_.y =
mUdf(
double);
783 binid_.inl() = binid_.crl() =
mUdf(
int);
798 {
return getVal(setup_,idx); }
800 { setVal( setup_, idx, f ); }
805 virtual
bool isUndef(
int idx=0) const;
806 virtual const
char* text(
int idx=0) const;
807 virtual
bool setText(const
char* s,
int idx=0);
809 float defaultValue(
int idx=0 )
const
810 {
return getVal(defsetup_,idx); }
812 { setVal( defsetup_, idx, f ); }
819 {
return def ? defsetup_ : setup_; }
821 {
return def ? defsetup_ : setup_; }
virtual const char * text(int idx=0) const
Definition: datainpspec.h:246
virtual double getDValue(int idx=0) const
static uiString sYes()
Definition: uistrings.h:671
T value_(int idx=0) const
Definition: datainpspec.h:539
const StepInterval< T > * limits(int idx=0) const
gets limits for interval components.
Definition: datainpspec.h:474
Specifications for numerical inputs that may or may not have limits.
Definition: datainpspec.h:180
const EnumDef * enumDef() const
Definition: datainpspec.h:718
Form form_
Definition: datainpspec.h:52
BoolInpSpec(const BoolInpSpec &)
virtual DataInpSpec * clone() const
virtual void setValue(od_int64 i, int idx=0)
Specifications for file-name inputs.
Definition: datainpspec.h:618
virtual int getDefaultIntValue(int idx=0) const
Definition: datainpspec.h:435
Specifications for boolean inputs.
Definition: datainpspec.h:638
virtual void setValue(int i, int idx=0)
mODTextTranslationClass(StringListInpSpec)
Rep rep__(bool b) const
Definition: datainpspec.h:75
DataType tp_
Definition: datainpspec.h:146
virtual bool hasLimits() const
Definition: datainpspec.h:448
PositionInpSpec(const BinID &, bool isps=false)
virtual float getDefaultfValue(int idx=0) const
Definition: datainpspec.h:439
mODTextTranslationClass(DataInpSpec) public DataInpSpec(const DataInpSpec &)
BoolInpSpec(bool yesno, const uiString &truetxt=uiStrings::sYes(), const uiString &falsetxt=uiStrings::sNo(), bool isset=true)
virtual int getIntValue(int idx=0) const
mODTextTranslationClass(FileNameInpSpec)
virtual bool isInsideLimits(int idx=0) const
Definition: datainpspec.h:450
virtual bool hasLimits() const
Definition: datainpspec.h:105
const EnumDef * enumdef_
Definition: datainpspec.h:754
BufferStringSet names_
Definition: datainpspec.h:150
virtual bool isUndef(int idx=0) const
mODTextTranslationClass(PositionInpSpec)
virtual DataInpSpec * clone() const =0
NumInpIntervalSpec & setLimits(const StepInterval< T > &r, int idx=-1)
sets limits for interval components.
Definition: datainpspec.h:495
Definition: uistringset.h:23
const Setup & setup(bool def=false) const
Definition: datainpspec.h:820
NumInpIntervalSpec< float > FloatInpIntervalSpec
Definition: datainpspec.h:582
PositionInpSpec(int trcnr, bool isps=false)
Set of BufferString objects.
Definition: bufstringset.h:26
Export_Basic uiString toUiString(ViewStyle)
T value(int idx=0) const
Definition: datainpspec.h:417
virtual double getDValue(int idx=0) const
Definition: datainpspec.h:426
virtual bool isInsideLimits(int idx=0) const
Definition: datainpspec.h:253
virtual void setValue(float f, int idx=0)
NumInpSpec< T > & setLimits(const StepInterval< T > &r)
Definition: datainpspec.h:273
StringListInpSpec(const EnumDef &)
EnumDef is assumed to remain in mem.
int getTrcNr(int udfval=mUdf(int)) const
PositionInpSpec(const Setup &)
virtual int nElems() const
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:289
virtual void setValue(double d, int idx=0)
#define od_int64
Definition: plftypes.h:35
Rep rep_
Definition: datainpspec.h:51
StringListInpSpec(const BufferStringSet &)
virtual DataInpSpec * clone() const
Definition: datainpspec.h:794
const StepInterval< T > * limits() const
Definition: datainpspec.h:269
mODTextTranslationClass(StringInpSpec)
bool operator!=(const DataType &oth) const
Definition: datainpspec.h:45
bool operator==(const DataType &oth) const
Definition: datainpspec.h:43
#define mExpClass(module)
Definition: commondefs.h:177
virtual void setValue(const Interval< T > &intval)
Definition: datainpspec.h:388
virtual od_int64 getInt64Value(int idx=0) const
virtual float getFValue(int idx=0) const
float getOffset(float udfval=mUdf(float)) const
virtual double getDValue(int idx=0) const
Definition: datainpspec.h:216
virtual void setDefaultValue(float f, int idx=0)
Definition: datainpspec.h:136
virtual void setValue(float f, int idx=0)
virtual void setValue(od_int64 i, int idx=0)
void addString(const uiString &txt)
mDefSetupMemb(int, method)
Coord getCoord(double udfval=mUdf(double)) const
virtual void setDefaultValue(double d, int idx=0)
Definition: datainpspec.h:135
virtual Interval< T > * clone() const
Definition: ranges.h:411
virtual const char * text(int) const
bool usePar(const IOPar &)
virtual bool getBoolValue(int idx=0) const
void setTrueFalseTxt(bool, const uiString &)
bool prefempty_
Definition: datainpspec.h:147
#define mDynamicCastGet(typ, out, in)
Definition: commondefs.h:148
bool isSymmetric() const
Definition: datainpspec.h:523
virtual NumInpIntervalSpec< T > * clone() const
Definition: datainpspec.h:376
virtual int getIntValue(int idx=0) const
Definition: datainpspec.h:423
virtual const char * text(int idx=0) const =0
virtual bool getBoolValue(int idx=0) const
virtual float getFValue(int idx=0) const
Definition: datainpspec.h:427
uiString trueFalseTxt(bool tf=true) const
virtual void setValue(double d, int idx=0)
T defaultValue() const
Definition: datainpspec.h:240
virtual float getFValue(int idx=0) const
virtual od_int64 getInt64Value(int idx=0) const
Definition: datainpspec.h:214
const uiStringSet & strings() const
T defaultvalue_
Definition: datainpspec.h:283
mODTextTranslationClass(BoolInpSpec)
bool withSymmetric() const
Definition: datainpspec.h:525
virtual void setDefaultValue(float val, int idx=0)
Definition: datainpspec.h:230
void setWithSymmetric(bool yn)
Definition: datainpspec.h:524
virtual int getIntValue(int idx=0) const
Definition: datainpspec.h:213
virtual bool isUndef(int idx=0) const
@ interval
Definition: datainpspec.h:35
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
virtual int getDefaultIntValue(int idx=0) const
Definition: datainpspec.h:219
StringInpSpec(const char *s=0)
mDeprecated("Use uiString") BoolInpSpec(bool yesno
virtual DataInpSpec * clone() const
mDefSetupMemb(bool, wantcoords) mDefSetupMemb(bool
TypeSet< int > nameidxs_
Definition: datainpspec.h:149
void fillPar(IOPar &) const
Interval< T > * interval_
Definition: datainpspec.h:529
void setEnumDef(const EnumDef &)
EnumDef is assumed to remain in mem.
BinID getBinID(int udfval=mUdf(int)) const
Rep rep__(const char *s) const
Definition: datainpspec.h:76
Form
Definition: datainpspec.h:35
void setSymmetric(bool yn)
Definition: datainpspec.h:521
NumInpSpec< od_int64 > Int64InpSpec
Definition: datainpspec.h:299
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
T defaultValue(int idx=0) const
Definition: datainpspec.h:429
virtual void setDefaultValue(int val, int idx=0)
Definition: datainpspec.h:226
Interval with step.
Definition: commontypes.h:32
A cartesian coordinate in 2D space.
Definition: coord.h:25
mDeprecated("Use getFValue") float getfValue(int idx=0) const
Definition: datainpspec.h:159
bool yn_
Definition: datainpspec.h:677
virtual float getDefaultfValue(int idx=0) const
Definition: datainpspec.h:223
Interval< T > * defaultinterval_
Definition: datainpspec.h:530
uiStringSet strings_
Definition: datainpspec.h:750
StepInterval< T > * limits_
Definition: datainpspec.h:285
int defaultval_
Definition: datainpspec.h:752
#define mSetUdf(val)
Use this macro to set simple types to undefined.
Definition: undefval.h:276
virtual const char * text(int idx=0) const
virtual bool setText(const char *, int idx=0)=0
mODTextTranslationClass(NumInpIntervalSpec) public
Definition: datainpspec.h:315
~NumInpSpec()
Definition: datainpspec.h:202
virtual DataInpSpec * clone() const
static uiString sNo()
Definition: uistrings.h:463
virtual void setValue(bool, int idx=0)
void setSet(bool yn=true)
Definition: datainpspec.h:746
const char * getDefaultStringValue(int) const
Setup(bool wc=false, bool d2=false, bool ps=false)
Definition: datainpspec.h:766
T value_
Definition: datainpspec.h:282
virtual ~DataInpSpec()
Definition: datainpspec.h:96
virtual double getDefaultValue(int idx=0) const
NumInpSpec(T val)
Definition: datainpspec.h:186
#define mClass(module)
Definition: commondefs.h:181
#define mDeprecated(msg)
Definition: plfdefs.h:215
Specifications for BinID/Coordinate/TrcNrs and offsets.
Definition: datainpspec.h:761
virtual DataInpSpec & setName(const char *, int idx=0)
T * pt_value_(int idx=0, bool defval=false) const
Definition: datainpspec.h:553
NumInpSpec< double > DoubleInpSpec
Definition: datainpspec.h:301
bool wsymm_
Definition: datainpspec.h:537
void setSet(bool yesno=true)
Definition: datainpspec.h:671
virtual bool isUndef(int idx=0) const =0
Specification of input characteristics.
Definition: datainpspec.h:90
NumInpIntervalSpec< int > IntInpIntervalSpec
Definition: datainpspec.h:581
float value(int idx=0) const
Definition: datainpspec.h:797
virtual int getIntValue(int idx=0) const
virtual bool setText(const char *, int idx=0)
mODTextTranslationClass(NumInpSpec) public
Definition: datainpspec.h:180
Rep rep__(double d) const
Definition: datainpspec.h:74
virtual void setDefaultValue(bool b, int idx=0)
Definition: datainpspec.h:137
T defaultvalue_(int idx=0) const
Definition: datainpspec.h:545
virtual bool isUndef(int idx=0) const
Definition: datainpspec.h:207
void setItemText(int idx, const uiString &)
FileNameInpSpec(const char *fname=0)
virtual float getDefaultfValue(int idx=0) const
bool isset_
Definition: datainpspec.h:753
Holds data pertinent to a certain enum. It does not know the enum values themselves,...
Definition: enums.h:45
virtual bool setText(const char *s, int idx=0)
Definition: datainpspec.h:210
void setDefaultValue(const char *, int)
StepInterval< T > * startlimits_
Definition: datainpspec.h:532
virtual int getDefaultIntValue(int idx=0) const
Definition: datainpspec.h:765
DataType(Rep tp, Form frm=normal)
Definition: datainpspec.h:37
virtual bool isUndef(int idx=0) const
void setChecked(bool yesno)
mDeprecated("Use getDValue") double getdValue(int idx=0) const
Definition: datainpspec.h:157
virtual double getDefaultValue(int idx=0) const
Definition: datainpspec.h:221
StringListInpSpec(const uiString *)
virtual void setDefaultValue(int i, int idx=0)
Definition: datainpspec.h:134
virtual const char * name(int idx=0) const
Specifications for list of character string inputs.
Definition: datainpspec.h:699
StepInterval< T > * stoplimits_
Definition: datainpspec.h:533
virtual bool hasLimits() const
Definition: datainpspec.h:252
Specifications for numerical intervals.
Definition: datainpspec.h:315
virtual int nElems() const
Definition: datainpspec.h:379
NumInpIntervalSpec(const NumInpIntervalSpec< T > &o)
Definition: datainpspec.h:353
StringListInpSpec(const char **sl=0)
virtual bool isUndef(int idx=0) const
Definition: datainpspec.h:382
uiString truetext_
Definition: datainpspec.h:675
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
NumInpIntervalSpec< double > DoubleInpIntervalSpec
Definition: datainpspec.h:583
void setDefaultValue(float f, int idx=0)
Definition: datainpspec.h:811
#define mDefDISSetValBaseClassImpl(typ)
Definition: datainpspec.h:164
NumInpSpec< T > & setLimits(const Interval< T > &intv)
Definition: datainpspec.h:270
NumInpIntervalSpec & setLimits(const Interval< T > &r, int idx=-1)
Definition: datainpspec.h:515
mODTextTranslationClass(DataTypeImpl) public
Definition: datainpspec.h:63
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
@ position
Definition: datainpspec.h:35
Setup defsetup_
Definition: datainpspec.h:831
virtual bool getDefaultBoolValue(int idx=0) const
virtual void setDefaultValue(const char *s, int idx=0)
Definition: datainpspec.h:138
virtual bool setText(const char *s, int idx=0)
void setValue(float f, int idx=0)
Definition: datainpspec.h:799
virtual void setDefaultValue(double val, int idx=0)
Definition: datainpspec.h:228
bool defaultyn_
Definition: datainpspec.h:678
virtual DataInpSpec * clone() const
NumInpSpec< float > FloatInpSpec
Definition: datainpspec.h:300
StringListInpSpec(const StringListInpSpec &)
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:274
Rep rep__(od_int64 i) const
Definition: datainpspec.h:72
Rep rep() const
Definition: datainpspec.h:40
Rep rep__(int i) const
Definition: datainpspec.h:71
virtual NumInpSpec< T > * clone() const
Definition: datainpspec.h:204
virtual bool setText(const char *s, int nr)
virtual double getDefaultValue(int idx=0) const
Definition: datainpspec.h:437
float getVal(const Setup &, int) const
~NumInpIntervalSpec()
Definition: datainpspec.h:367
Form form() const
Definition: datainpspec.h:41
StringListInpSpec(const uiStringSet &)
virtual od_int64 getInt64Value(int idx=0) const
Definition: datainpspec.h:424
virtual void setValue(int i, int idx=0)
virtual int nElems() const
Definition: datainpspec.h:101
void setVal(Setup &, int, float)
Data type.
Definition: datainpspec.h:31
virtual od_int64 getInt64Value(int idx=0) const
const char * text() const
Specifications for character string inputs.
Definition: datainpspec.h:588
bool getFromString(int &, const char *, int udfval)
bool hasStep() const
Definition: datainpspec.h:380
NumInpSpec(T val, const StepInterval< T > &intv)
Definition: datainpspec.h:196
NumInpSpec< int > IntInpSpec
Definition: datainpspec.h:298
Interval of values.
Definition: commontypes.h:30
#define mDefDISSetDefValBaseClassImpl(typ)
Definition: datainpspec.h:167
int cur_
Definition: datainpspec.h:751
Rep rep__(float f) const
Definition: datainpspec.h:73
virtual float getFValue(int idx=0) const
Definition: datainpspec.h:217
DataType
Definition: odjson.h:39
virtual const char * text(int idx=0) const
Definition: datainpspec.h:442
PositionInpSpec(const Coord &, bool isps=false, bool is2d=false)
virtual double getDValue(int idx=0) const
DataType implementation.
Definition: datainpspec.h:63
virtual bool isInsideLimits(int idx=0) const
bool isset_
Definition: datainpspec.h:679
uiString falsetext_
Definition: datainpspec.h:676
BufferString toString(const BufferStringSet &bss)
Definition: bufstringset.h:156
Setup setup_
Definition: datainpspec.h:830
virtual const char * getDefaultStringValue(int idx=0) const
NumInpSpec(T val, T start, T stop=mUdf(T), T step=1)
Definition: datainpspec.h:191
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
static const char * valuestr
Definition: datainpspec.h:154
bool symm_
Definition: datainpspec.h:536
NumInpIntervalSpec(const Interval< T > &interval)
Definition: datainpspec.h:338
StepInterval< T > * steplimits_
Definition: datainpspec.h:534
virtual void setValue(bool b, int idx=0)
StepInterval< T > * stpi(bool defval=false) const
Definition: datainpspec.h:572
virtual const char * text(int idx=0) const
Generated at
for the OpendTect
seismic interpretation project.
Copyright (C): dGB Beheer B.V. 1995-2021