OpendTect  6.3
datainpspec.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: 08/02/2001
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "generalmod.h"
14 #include "ranges.h"
15 #include "string2.h"
16 #include "undefval.h"
17 #include "bufstringset.h"
18 #include "position.h"
19 #include "typeset.h"
20 #include "keystrs.h"
21 #include "uistrings.h"
22 
23 class EnumDef;
24 
30 { mODTextTranslationClass(DataType)
31 public:
32 
33  enum Rep { intTp, int64Tp, floatTp, doubleTp, boolTp, stringTp };
34  enum Form { normal, interval, filename, position, list };
35 
36  DataType( Rep tp, Form frm=normal )
37  : rep_( tp ), form_(frm) {}
38 
39  inline Rep rep() const { return rep_; }
40  inline Form form() const { return form_; }
41 
42  bool operator==( const DataType& oth ) const
43  { return (rep_==oth.rep_) && (form_==oth.form_); }
44  bool operator!=( const DataType& oth ) const
45  { return ! (oth == *this); }
46 
47 
48 protected:
49 
50  Rep rep_;
52 
53 };
54 
55 
60 template<class T>
61 mClass(General) DataTypeImpl : public ::DataType
63 public:
64 
65 
66  DataTypeImpl( Form frm=normal )
67  : ::DataType( rep__( (T)0 ), frm ) {}
68 protected:
69 
70  inline Rep rep__( int i ) const { return intTp; }
71  inline Rep rep__( od_int64 i ) const { return int64Tp; }
72  inline Rep rep__( float f ) const { return floatTp; }
73  inline Rep rep__( double d ) const { return doubleTp; }
74  inline Rep rep__( bool b ) const { return boolTp; }
75  inline Rep rep__( const char* s ) const { return stringTp; }
76 
77 };
78 
79 
80 
81 
89 { mODTextTranslationClass(DataInpSpec)
90 public:
91 
92 
93  DataInpSpec(::DataType);
94  DataInpSpec(const DataInpSpec&);
95  virtual ~DataInpSpec() {}
96 
97  ::DataType type() const;
98 
99  virtual DataInpSpec* clone() const =0;
100  virtual int nElems() const { return 1; }
101 
102  virtual bool isUndef( int idx=0 ) const =0;
103 
104  virtual bool hasLimits() const { return false; }
105  virtual bool isInsideLimits(int idx=0) const;
106 
107  virtual const char* text( int idx=0 ) const =0;
108  virtual bool setText(const char*,int idx=0) =0;
109 
110  void fillPar(IOPar&) const;
112  bool usePar(const IOPar&);
115  virtual int getIntValue(int idx=0) const;
116  virtual od_int64 getInt64Value(int idx=0) const;
117  virtual double getDValue(int idx=0) const;
118  virtual float getFValue(int idx=0) const;
119  virtual bool getBoolValue(int idx=0) const;
120 
121  virtual void setValue(int i,int idx=0);
122  virtual void setValue(od_int64 i,int idx=0);
123  virtual void setValue(double d,int idx=0);
124  virtual void setValue(float f,int idx=0);
125  virtual void setValue(bool b,int idx=0);
126 
127  virtual int getDefaultIntValue(int idx=0) const;
128  virtual double getDefaultDValue(int idx=0) const;
129  virtual float getDefaultFValue(int idx=0) const;
130  virtual bool getDefaultBoolValue(int idx=0) const;
131  virtual const char* getDefaultStringValue(int idx=0) const;
132 
133  virtual void setDefaultValue(int i,int idx=0) {}
134  virtual void setDefaultValue(double d,int idx=0) {}
135  virtual void setDefaultValue(float f,int idx=0) {}
136  virtual void setDefaultValue(bool b,int idx=0) {}
137  virtual void setDefaultValue(const char* s,int idx=0) {}
138 
139  virtual const char* name(int idx=0) const;
140  virtual DataInpSpec& setName(const char*,int idx=0);
141 
142 protected:
143 
144  void setType( ::DataType t );
147 
150 
151 private:
152 
153  static const char* valuestr;
154 
155 public:
156  mDeprecated double getdValue(int idx=0) const { return getDValue(idx); }
157  mDeprecated float getfValue(int idx=0) const { return getFValue(idx); }
158 };
159 
160 
161 #define mDefDISSetValBaseClassImpl(typ) \
162  virtual void setValue( typ val, int idx=0 ) \
163  { DataInpSpec::setValue(val,idx); }
164 #define mDefDISSetDefValBaseClassImpl(typ) \
165  virtual void setDefaultValue( typ val, int idx=0 ) \
166  { DataInpSpec::setDefaultValue(val,idx); }
167 
168 
175 template <class T>
176 mClass(General) NumInpSpec : public DataInpSpec
178 public:
179  NumInpSpec()
180  : DataInpSpec( DataTypeImpl<T>() )
181  , limits_(0)
182  { mSetUdf( value_ ); mSetUdf( defaultvalue_ ); }
183  NumInpSpec( T val )
184  : DataInpSpec( DataTypeImpl<T>() )
185  , limits_(0)
186  , value_(val)
187  { mSetUdf( defaultvalue_ ); }
188  NumInpSpec( T val, T start, T stop=mUdf(T), T step=1)
189  : DataInpSpec(DataTypeImpl<T>())
190  , limits_(new StepInterval<T>(start,stop,step))
191  , value_(val)
192  { mSetUdf( defaultvalue_ ); }
193  NumInpSpec( T val, const StepInterval<T>& intv )
194  : DataInpSpec(DataTypeImpl<T>())
195  , limits_(new StepInterval<T>(intv))
196  , value_(val)
197  { mSetUdf( defaultvalue_ ); }
198  NumInpSpec(const NumInpSpec<T>&);
199  ~NumInpSpec() { delete limits_; }
200 
201  virtual NumInpSpec<T>* clone() const
202  { return new NumInpSpec<T>( *this ); }
203 
204  virtual bool isUndef( int idx=0 ) const
205  { return mIsUdf(value_); }
206 
207  virtual bool setText( const char* s, int idx=0 )
208  { return getFromString( value_, s, mUdf(T) ); }
209 
210  virtual int getIntValue(int idx=0) const { return (int)value(); }
211  virtual od_int64 getInt64Value(int idx=0) const
212  { return (od_int64)value(); }
213  virtual double getDValue(int idx=0) const { return value(); }
214  virtual float getFValue(int idx=0) const { return (float)value(); }
215 
216  virtual int getDefaultIntValue(int idx=0) const
217  { return (int)defaultValue(); }
218  virtual double getDefaultDValue(int idx=0) const
219  { return (double)defaultValue(); }
220  virtual float getDefaultFValue(int idx=0) const
221  { return (float)defaultValue(); }
222 
223  virtual void setDefaultValue( int val, int idx=0 )
224  { defaultvalue_ = (T)val; }
225  virtual void setDefaultValue( double val, int idx=0 )
226  { defaultvalue_ = (T)val; }
227  virtual void setDefaultValue( float val, int idx=0 )
228  { defaultvalue_ = (T)val; }
231  T value() const
232  {
233  if ( mIsUdf(value_) ) return mUdf(T);
234  return value_;
235  }
236 
237  T defaultValue() const
238  {
239  if ( mIsUdf(defaultvalue_) ) return mUdf(T);
240  return defaultvalue_;
241  }
242 
243  virtual const char* text( int idx=0 ) const
244  {
245  if ( isUndef() ) return "";
246  else return toString( value() );
247  }
248 
249  virtual bool hasLimits() const { return limits_; }
250  virtual bool isInsideLimits( int idx=0 ) const
251  {
252  if ( !limits_ ) return true;
253  if ( !isUndef(idx) )
254  return limits_->includes( value(), true );;
255 
256  const bool startudf = mIsUdf(limits_->start);
257  const bool stopudf = mIsUdf(limits_->stop);
258  if ( startudf && stopudf ) return true;
259  if ( startudf )
260  return value() < limits_->stop;
261  if ( stopudf )
262  return value() > limits_->start;
263  return false;
264  }
265 
266  const StepInterval<T>* limits() const { return limits_; }
268  { return setLimits(
269  StepInterval<T>(intv.start,intv.stop,1) ); }
271  {
272  delete limits_;
273  limits_ = new StepInterval<T>( r );
274  return *this;
275  }
276 
277 protected:
278 
281 
283 };
284 
285 
286 template <class T>
288  : DataInpSpec( nis )
289  , limits_( nis.limits_ ? new StepInterval<T>(*nis.limits_) : 0 )
290  , value_( nis.value_ )
291  , defaultvalue_( nis.defaultvalue_ )
292 {}
293 
294 
299 
300 
310 template <class T>
311 mClass(General) NumInpIntervalSpec : public DataInpSpec
313 public:
314  NumInpIntervalSpec( bool withstep=false )
316  , startlimits_(0), stoplimits_(0), steplimits_(0)
317  , symm_(false)
318  , wsymm_(false)
319  , interval_( withstep ? new StepInterval<T>(
320  mUdf(T),
321  mUdf(T),
322  mUdf(T) )
323  : new Interval<T>(
324  mUdf(T),
325  mUdf(T) ) )
326  , defaultinterval_( withstep ? new StepInterval<T>(
327  mUdf(T),
328  mUdf(T),
329  mUdf(T) )
330  : new Interval<T>(
331  mUdf(T),
332  mUdf(T) ) )
333  {}
334 
335  NumInpIntervalSpec( const Interval<T>& interval )
336  : DataInpSpec( DataTypeImpl<T>(DataType::interval) )
337  , startlimits_(0), stoplimits_(0), steplimits_(0)
338  , symm_(false)
339  , wsymm_(false)
340  , interval_( interval.clone() )
341  , defaultinterval_( hasStep() ? new StepInterval<T>(
342  mUdf(T),
343  mUdf(T),
344  mUdf(T) )
345  : new Interval<T>(
346  mUdf(T),
347  mUdf(T) ) )
348  {}
349 
351  : DataInpSpec( o )
352  , startlimits_(0), stoplimits_(0), steplimits_(0)
353  , symm_(o.isSymmetric())
354  , wsymm_(o.withSymmetric())
355  , interval_( o.interval_ ? o.interval_->clone() : 0)
356  , defaultinterval_( o.defaultinterval_ ?
357  o.defaultinterval_->clone() : 0)
358  {
359  if ( o.limits(0) ) setLimits( *o.limits(0), 0 );
360  if ( o.limits(1) ) setLimits( *o.limits(1), 1 );
361  if ( o.limits(2) ) setLimits( *o.limits(2), 2 );
362  }
363 
365  {
366  delete interval_;
367  delete defaultinterval_;
368  delete startlimits_;
369  delete stoplimits_;
370  delete steplimits_;
371  }
372 
373  virtual NumInpIntervalSpec<T>* clone() const
374  { return new NumInpIntervalSpec<T>( *this ); }
375 
376  virtual int nElems() const { return hasStep() ? 3 : 2; }
377  inline bool hasStep() const { return stpi(); }
378 
379  virtual bool isUndef( int idx=0 ) const
380  {
381  if ( !interval_ ) return true;
382  return mIsUdf( value_(idx) );
383  }
384 
385  virtual void setValue( const Interval<T>& intval )
386  {
387  if ( interval_ ) delete interval_;
388  interval_ = intval.clone();
389  }
395 
396  virtual void setDefaultValue( const Interval<T>& defaultintval )
397  {
398  if ( defaultinterval_ ) delete defaultinterval_;
399  defaultinterval_ = defaultintval.clone();
400  }
406 
407  virtual bool setText( const char* s, int idx=0 )
408  {
409  if ( pt_value_(idx) )
410  return getFromString(*pt_value_(idx),s,mUdf(T));
411  return false;
412  }
413 
414  T value( int idx=0 ) const
415  {
416  if ( isUndef(idx) ) return mUdf(T);
417  return value_(idx);
418  }
419 
420  virtual int getIntValue(int idx=0) const { return (int)value(idx); }
421  virtual od_int64 getInt64Value(int idx=0) const
422  { return (od_int64)value(idx); }
423  virtual double getDValue(int idx=0) const { return value(idx); }
424  virtual float getFValue(int idx=0) const { return (float)value(idx); }
425 
426  T defaultValue( int idx=0 ) const
427  {
428  if ( !defaultinterval_ ) return mUdf(T);
429  return defaultvalue_(idx);
430  }
431 
432  virtual int getDefaultIntValue(int idx=0) const
433  { return (int)defaultValue(idx); }
434  virtual double getDefaultDValue(int idx=0) const
435  { return (double)defaultValue(idx); }
436  virtual float getDefaultFValue(int idx=0) const
437  { return (float)defaultValue(idx); }
438 
439  virtual const char* text( int idx=0 ) const
440  {
441  if ( isUndef(idx) ) return "";
442  return toString( value(idx));
443  }
444 
445  virtual bool hasLimits() const
446  { return startlimits_||stoplimits_||steplimits_; }
447  virtual bool isInsideLimits( int idx=0 ) const
448  {
449  const StepInterval<T>* lims = limits(idx);
450  if ( !lims ) return true;
451  if ( !isUndef(idx) )
452  return lims->includes( value(idx), true );
453 
454  const bool startudf = mIsUdf(lims->start);
455  const bool stopudf = mIsUdf(lims->stop);
456  if ( startudf && stopudf ) return true;
457  if ( startudf )
458  return value(idx) < lims->stop;
459  if ( stopudf )
460  return value(idx) > lims->start;
461  return false;
462  }
463 
464 
471  const StepInterval<T>* limits( int idx=0 ) const
472  {
473  switch( idx )
474  {
475  default:
476  case 0 : return startlimits_;
477  case 1 : return stoplimits_;
478  case 2 : return steplimits_;
479  }
480  }
481 
482 
493  {
494  if ( idx<0 || idx==0 )
495  {
496  delete startlimits_;
497  startlimits_ = new StepInterval<T>( r );
498  }
499  if ( idx<0 || idx==1 )
500  {
501  delete stoplimits_;
502  stoplimits_ = new StepInterval<T>( r );
503  }
504  if ( idx==-2 || idx==2 )
505  {
506  delete steplimits_;
507  steplimits_ = new StepInterval<T>( r );
508  }
509 
510  return *this;
511  }
512  NumInpIntervalSpec& setLimits( const Interval<T>& r, int idx=-1 )
513  {
514  return setLimits(
515  StepInterval<T>(r.start,r.stop,1), idx );
516  }
517 
518  void setSymmetric( bool yn )
519  { symm_ = yn; wsymm_ = true; }
520  bool isSymmetric() const { return symm_; }
521  void setWithSymmetric( bool yn ) { wsymm_ = yn; }
522  bool withSymmetric() const { return wsymm_; }
523 
524 protected:
525 
528 
532 
533  bool symm_;
534  bool wsymm_;
535 
536  T value_( int idx=0 ) const
537  {
538  if ( pt_value_(idx) ) return *pt_value_(idx);
539  return mUdf(T);
540  }
541 
542  T defaultvalue_( int idx=0 ) const
543  {
544  if ( pt_value_(idx,true) )
545  return *pt_value_(idx,true);
546 
547  return mUdf(T);
548  }
549 
550  T* pt_value_( int idx=0, bool defval=false ) const
551  {
552  if ( defval )
553  {
554  if ( !defaultinterval_) return 0;
555  if ( idx == 0 ) return &defaultinterval_->start;
556  if ( idx == 1 ) return &defaultinterval_->stop;
557  if ( hasStep() ) return &stpi(defval)->step;
558  }
559  else
560  {
561  if ( !interval_) return 0;
562  if ( idx == 0 ) return &interval_->start;
563  if ( idx == 1 ) return &interval_->stop;
564  if ( hasStep() ) return &stpi()->step;
565  }
566  return 0;
567  }
568 
569  StepInterval<T>* stpi( bool defval=false ) const
570  {
572  defval ? defaultinterval_ : interval_)
573  return const_cast<StepInterval<T>*>( si );
574  }
575 };
576 
577 
581 
582 
584 mExpClass(General) StringInpSpec : public DataInpSpec
586 public:
587  StringInpSpec( const char* s=0 );
588  virtual bool isUndef(int idx=0) const;
589 
590  virtual DataInpSpec* clone() const;
591  const char* text() const;
592 
593  virtual bool setText(const char*,int idx=0) ;
594  virtual const char* text(int) const;
595 
596  void setDefaultValue(const char*,int);
597  const char* getDefaultStringValue(int) const;
598 
603 
604 protected:
605 
606  bool isUndef_;
608  BufferString defaultstr_;
609 
610 };
611 
616 public:
617  FileNameInpSpec( const char* fname=0 );
618  virtual DataInpSpec* clone() const;
619 };
620 
621 
634 mExpClass(General) BoolInpSpec : public DataInpSpec
636 public:
637  BoolInpSpec(bool yesno,
638  const uiString& truetxt=uiStrings::sYes(),
639  const uiString& falsetxt=uiStrings::sNo(),
640  bool isset=true);
641  BoolInpSpec(const BoolInpSpec&);
642 
643  virtual bool isUndef(int idx=0) const;
644 
645  virtual DataInpSpec* clone() const;
646  uiString trueFalseTxt(bool tf=true) const;
647  void setTrueFalseTxt(bool,const uiString&);
648 
649  bool checked() const;
650  void setChecked(bool yesno);
651  virtual const char* text(int idx=0) const;
652 
653  virtual bool setText(const char* s,int idx=0);
654  virtual bool getBoolValue(int idx=0) const;
655  virtual void setValue(bool,int idx=0);
660  virtual bool getDefaultBoolValue(int idx=0) const;
661  virtual void setDefaultValue(bool,int idx=0);
666 
667  bool isSet() const { return isset_; }
668  void setSet( bool yesno=true ) { isset_ = yesno; }
669 
670 protected:
671 
674  bool yn_;
676  bool isset_;
677 
678 };
679 
680 
681 
682 
685 mExpClass(General) StringListInpSpec : public DataInpSpec
687 public:
690  StringListInpSpec(const char** sl=0);
691  StringListInpSpec(const uiString*);
694  StringListInpSpec(const EnumDef&);
698 
699  virtual bool isUndef(int idx=0) const;
700 
701  virtual DataInpSpec* clone() const;
702 
703  const uiStringSet& strings() const;
704 
705  const EnumDef* enumDef() const { return enumdef_ ; }
706  void setEnumDef(const EnumDef&);
708 
709  void addString(const uiString& txt);
710  virtual const char* text(int idx=0) const;
711  void setItemText(int idx, const uiString&);
712  virtual bool setText(const char* s,int nr);
713 
714  virtual int getIntValue(int idx=0) const;
715  virtual od_int64 getInt64Value(int idx=0) const;
716  virtual double getDValue(int idx=0) const;
717  virtual float getFValue(int idx=0) const;
718 
719  virtual void setValue(int i,int idx=0);
720  virtual void setValue(od_int64 i,int idx=0);
721  virtual void setValue(double d,int idx=0);
722  virtual void setValue(float f,int idx=0);
724 
725  virtual void setDefaultValue(int i,int idx=0);
726  virtual int getDefaultIntValue(int idx=0) const;
731 
732  bool isSet() const { return isset_; }
733  void setSet( bool yn=true ) { isset_ = yn; }
734 
735 protected:
736 
738  int cur_;
740  bool isset_;
742 };
743 
744 
747 mExpClass(General) PositionInpSpec : public DataInpSpec
749 public:
750 
751  struct Setup
752  {
753  Setup( bool wc=false, bool d2=false, bool ps=false )
754  : wantcoords_(wc)
755  , is2d_(d2)
756  , isps_(ps)
757  , isrel_(false) { clear(); }
758 
759  mDefSetupMemb(bool,wantcoords)
760  mDefSetupMemb(bool,is2d)
761  mDefSetupMemb(bool,isps)
762  mDefSetupMemb(bool,isrel)
763  mDefSetupMemb(Coord,coord)
764  mDefSetupMemb(BinID,binid) // For 2D, put trace number in crl
765  mDefSetupMemb(float,offs)
766 
767  void clear()
768  {
769  coord_.x_ = coord_.y_ = mUdf(double);
770  binid_.inl() = binid_.crl() = mUdf(int);
771  offs_ = 0;
772  }
773  };
774 
775  PositionInpSpec(const Setup&);
776  PositionInpSpec(const BinID&,bool isps=false);
777  PositionInpSpec(const Coord&,bool isps=false,
778  bool is2d=false);
779  PositionInpSpec(int trcnr,bool isps=false);
780 
781  virtual DataInpSpec* clone() const { return new PositionInpSpec(*this); }
782  virtual int nElems() const;
783 
784  float value( int idx=0 ) const
785  { return getVal(setup_,idx); }
786  void setValue( float f, int idx=0 )
787  { setVal( setup_, idx, f ); }
792  virtual bool isUndef(int idx=0) const;
793  virtual const char* text(int idx=0) const;
794  virtual bool setText(const char* s,int idx=0);
795 
796  float defaultValue( int idx=0 ) const
797  { return getVal(defsetup_,idx); }
798  void setDefaultValue( float f, int idx=0 )
799  { setVal( defsetup_, idx, f ); }
804 
805  Setup& setup( bool def=false )
806  { return def ? defsetup_ : setup_; }
807  const Setup& setup( bool def=false ) const
808  { return def ? defsetup_ : setup_; }
809 
810  Coord getCoord(double udfval=mUdf(double)) const;
811  BinID getBinID(int udfval=mUdf(int)) const;
812  int getTrcNr(int udfval=mUdf(int)) const;
813  float getOffset(float udfval=mUdf(float)) const;
814 
815 protected:
816 
819 
820  float getVal(const Setup&,int) const;
821  void setVal(Setup&,int,float);
822 };
#define mExpClass(module)
Definition: commondefs.h:157
virtual void setValue(int i, int idx=0)
mODTextTranslationClass(NumInpIntervalSpec) public
Definition: datainpspec.h:312
virtual void setName(const char *nm)
Definition: namedobj.h:35
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:285
bool getFromString(int &, const char *, int udfval)
Rep rep() const
Definition: datainpspec.h:39
T defaultValue() const
Definition: datainpspec.h:237
StepInterval< T > * steplimits_
Definition: datainpspec.h:531
DataType(Rep tp, Form frm=normal)
Definition: datainpspec.h:36
NumInpSpec< od_int64 > Int64InpSpec
Definition: datainpspec.h:296
NumInpSpec(T val)
Definition: datainpspec.h:183
virtual void setDefaultValue(float f, int idx=0)
Definition: datainpspec.h:135
bool isset_
Definition: datainpspec.h:676
NumInpIntervalSpec(const NumInpIntervalSpec< T > &o)
Definition: datainpspec.h:350
bool hasStep() const
Definition: datainpspec.h:377
void setDefaultValue(float f, int idx=0)
Definition: datainpspec.h:798
const EnumDef * enumdef_
Definition: datainpspec.h:741
::DataType tp_
Definition: datainpspec.h:145
Form form_
Definition: datainpspec.h:51
virtual float getDefaultFValue(int idx=0) const
Definition: datainpspec.h:436
virtual bool getDefaultBoolValue(int idx=0) const
NumInpSpec< double > DoubleInpSpec
Definition: datainpspec.h:298
mDeprecated float getfValue(int idx=0) const
Definition: datainpspec.h:157
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define mSetUdf(val)
Use this macro to set simple types to undefined.
Definition: undefval.h:272
const StepInterval< T > * limits(int idx=0) const
gets limits for interval components.
Definition: datainpspec.h:471
mODTextTranslationClass(DataInpSpec) public DataInpSpec(const DataInpSpec &)
NumInpIntervalSpec< float > FloatInpIntervalSpec
Definition: datainpspec.h:579
bool yn_
Definition: datainpspec.h:674
Form form() const
Definition: datainpspec.h:40
virtual int nElems() const
Definition: datainpspec.h:376
BufferStringSet names_
Definition: datainpspec.h:149
virtual void setDefaultValue(int val, int idx=0)
Definition: datainpspec.h:223
StepInterval< T > * stoplimits_
Definition: datainpspec.h:530
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
#define od_int64
Definition: plftypes.h:34
virtual double getDValue(int idx=0) const
Definition: datainpspec.h:423
Definition: datainpspec.h:34
DataType implementation.
Definition: datainpspec.h:61
StepInterval< T > * startlimits_
Definition: datainpspec.h:529
void setWithSymmetric(bool yn)
Definition: datainpspec.h:521
virtual void setDefaultValue(double d, int idx=0)
Definition: datainpspec.h:134
uiString falsetext_
Definition: datainpspec.h:673
const StepInterval< T > * limits() const
Definition: datainpspec.h:266
Setup defsetup_
Definition: datainpspec.h:818
mODTextTranslationClass(DataTypeImpl) public
Definition: datainpspec.h:62
void clear(std::ios &)
NumInpIntervalSpec & setLimits(const StepInterval< T > &r, int idx=-1)
sets limits for interval components.
Definition: datainpspec.h:492
virtual double getDValue(int idx=0) const
Definition: datainpspec.h:213
virtual float getFValue(int idx=0) const
Definition: datainpspec.h:424
Definition: uistring.h:88
NumInpSpec< T > & setLimits(const Interval< T > &intv)
Definition: datainpspec.h:267
virtual bool getBoolValue(int idx=0) const
bool operator!=(const DataType &oth) const
Definition: datainpspec.h:44
bool operator==(const DataType &oth) const
Definition: datainpspec.h:42
Set of BufferString objects.
Definition: bufstringset.h:25
virtual od_int64 getInt64Value(int idx=0) const
Definition: datainpspec.h:421
virtual DataInpSpec * clone() const
Definition: datainpspec.h:781
TypeSet< int > nameidxs_
Definition: datainpspec.h:148
Data type.
Definition: datainpspec.h:29
Rep rep_
Definition: datainpspec.h:50
T value(int idx=0) const
Definition: datainpspec.h:414
Interval of values.
Definition: commontypes.h:27
NumInpSpec(T val, const StepInterval< T > &intv)
Definition: datainpspec.h:193
float value(int idx=0) const
Definition: datainpspec.h:784
virtual int getDefaultIntValue(int idx=0) const
Definition: datainpspec.h:216
Specifications for character string inputs.
Definition: datainpspec.h:584
virtual bool isInsideLimits(int idx=0) const
Definition: datainpspec.h:447
bool symm_
Definition: datainpspec.h:533
NumInpIntervalSpec(const Interval< T > &interval)
Definition: datainpspec.h:335
uiStringSet strings_
Definition: datainpspec.h:737
NumInpIntervalSpec< int > IntInpIntervalSpec
Definition: datainpspec.h:578
bool prefempty_
Definition: datainpspec.h:146
virtual NumInpSpec< T > * clone() const
Definition: datainpspec.h:201
Setup setup_
Definition: datainpspec.h:817
virtual bool hasLimits() const
Definition: datainpspec.h:445
static uiString sNo()
Definition: uistrings.h:392
virtual ~DataInpSpec()
Definition: datainpspec.h:95
Rep rep__(float f) const
Definition: datainpspec.h:72
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
int defaultval_
Definition: datainpspec.h:739
Specification of input characteristics.
Definition: datainpspec.h:88
virtual od_int64 getInt64Value(int idx=0) const
Definition: datainpspec.h:211
virtual bool isUndef(int idx=0) const
Definition: datainpspec.h:379
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
virtual NumInpIntervalSpec< T > * clone() const
Definition: datainpspec.h:373
uiString truetext_
Definition: datainpspec.h:672
virtual int getIntValue(int idx=0) const
Definition: datainpspec.h:420
const uiStringSet & strings() const
Definition: enums.h:57
Interval with step.
Definition: commontypes.h:29
Setup(bool wc=false, bool d2=false, bool ps=false)
Definition: datainpspec.h:753
Interval< T > * defaultinterval_
Definition: datainpspec.h:527
virtual bool hasLimits() const
Definition: datainpspec.h:104
bool defaultyn_
Definition: datainpspec.h:675
T defaultvalue_
Definition: datainpspec.h:280
virtual void setDefaultValue(double val, int idx=0)
Definition: datainpspec.h:225
virtual void setDefaultValue(float val, int idx=0)
Definition: datainpspec.h:227
void setSet(bool yn=true)
Definition: datainpspec.h:733
static uiString sYes()
Definition: uistrings.h:544
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
T defaultValue(int idx=0) const
Definition: datainpspec.h:426
virtual double getDefaultDValue(int idx=0) const
Definition: datainpspec.h:218
Specifications for numerical inputs that may or may not have limits.
Definition: datainpspec.h:176
BufferString toString(const DBKey &ky)
Definition: dbkey.h:115
Form
Definition: datainpspec.h:34
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
#define mDynamicCastGet(typ, out, in)
Definition: commondefs.h:123
Rep rep__(int i) const
Definition: datainpspec.h:70
~NumInpSpec()
Definition: datainpspec.h:199
bool wsymm_
Definition: datainpspec.h:534
virtual int nElems() const
Definition: datainpspec.h:100
virtual void setDefaultValue(bool b, int idx=0)
Definition: datainpspec.h:136
T value() const
Definition: datainpspec.h:231
Specifications for BinID/Coordinate/TrcNrs and offsets.
Definition: datainpspec.h:747
NumInpSpec< int > IntInpSpec
Definition: datainpspec.h:295
Rep rep__(od_int64 i) const
Definition: datainpspec.h:71
bool isset_
Definition: datainpspec.h:740
Rep rep__(bool b) const
Definition: datainpspec.h:74
virtual const char * text(int idx=0) const
Definition: datainpspec.h:243
NumInpSpec(T val, T start, T stop=mUdf(T), T step=1)
Definition: datainpspec.h:188
T stop
Definition: ranges.h:91
#define mDeprecated
Definition: plfdefs.h:213
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
StepInterval< T > * limits_
Definition: datainpspec.h:282
virtual const char * text(int idx=0) const
Definition: datainpspec.h:439
bool isSymmetric() const
Definition: datainpspec.h:520
void setSet(bool yesno=true)
Definition: datainpspec.h:668
NumInpSpec< T > & setLimits(const StepInterval< T > &r)
Definition: datainpspec.h:270
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Definition: datainpspec.h:751
mDeprecated double getdValue(int idx=0) const
Definition: datainpspec.h:156
virtual int getIntValue(int idx=0) const
Definition: datainpspec.h:210
#define mDefDISSetDefValBaseClassImpl(typ)
Definition: datainpspec.h:164
StepInterval< T > * stpi(bool defval=false) const
Definition: datainpspec.h:569
T value_(int idx=0) const
Definition: datainpspec.h:536
mODTextTranslationClass(NumInpSpec) public
Definition: datainpspec.h:177
bool includes(const X &, bool allowrev) const
Definition: ranges.h:481
virtual bool isInsideLimits(int idx=0) const
Definition: datainpspec.h:250
virtual void setValue(const Interval< T > &intval)
Definition: datainpspec.h:385
Definition: datainpspec.h:34
const EnumDef * enumDef() const
Definition: datainpspec.h:705
~NumInpIntervalSpec()
Definition: datainpspec.h:364
NumInpIntervalSpec & setLimits(const Interval< T > &r, int idx=-1)
Definition: datainpspec.h:512
virtual const char * getDefaultStringValue(int idx=0) const
virtual void setDefaultValue(int i, int idx=0)
Definition: datainpspec.h:133
T start
Definition: ranges.h:90
Specifications for numerical intervals.
Definition: datainpspec.h:311
Definition: uistring.h:235
NumInpSpec< float > FloatInpSpec
Definition: datainpspec.h:297
DataType
Definition: seistype.h:52
virtual float getDefaultFValue(int idx=0) const
Definition: datainpspec.h:220
Rep rep__(double d) const
Definition: datainpspec.h:73
T * pt_value_(int idx=0, bool defval=false) const
Definition: datainpspec.h:550
int cur_
Definition: datainpspec.h:738
NumInpIntervalSpec< double > DoubleInpIntervalSpec
Definition: datainpspec.h:580
#define mDefDISSetValBaseClassImpl(typ)
Definition: datainpspec.h:161
void setValue(float f, int idx=0)
Definition: datainpspec.h:786
Interval< T > * interval_
Definition: datainpspec.h:526
#define mClass(module)
Definition: commondefs.h:161
2D point or vector class.
Definition: commontypes.h:58
void setSymmetric(bool yn)
Definition: datainpspec.h:518
bool withSymmetric() const
Definition: datainpspec.h:522
virtual bool setText(const char *s, int idx=0)
Definition: datainpspec.h:207
virtual bool hasLimits() const
Definition: datainpspec.h:249
Specifications for file-name inputs.
Definition: datainpspec.h:614
virtual const OD::String & name() const
Definition: namedobj.h:33
virtual void setDefaultValue(const char *s, int idx=0)
Definition: datainpspec.h:137
virtual bool isUndef(int idx=0) const
Definition: datainpspec.h:204
static const char * valuestr
Definition: datainpspec.h:153
Holds data pertinent to a certain enum. It does not know the enum values themselves, but treat them as integers.
Definition: enums.h:44
T defaultvalue_(int idx=0) const
Definition: datainpspec.h:542
virtual double getDefaultDValue(int idx=0) const
Definition: datainpspec.h:434
Rep rep__(const char *s) const
Definition: datainpspec.h:75
virtual int getDefaultIntValue(int idx=0) const
Definition: datainpspec.h:432
T value_
Definition: datainpspec.h:279
Specifications for boolean inputs.
Definition: datainpspec.h:634
Specifications for list of character string inputs.
Definition: datainpspec.h:685
virtual float getFValue(int idx=0) const
Definition: datainpspec.h:214
const Setup & setup(bool def=false) const
Definition: datainpspec.h:807
virtual Interval< T > * clone() const
Definition: ranges.h:406

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