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

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