OpendTect  6.3
uiunitsel.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: Raman K Singh
8  Date: Feb 2010
9 ________________________________________________________________________
10 
11 -*/
12 
13 
14 #include "uitoolsmod.h"
15 #include "uigroup.h"
16 #include "uistrings.h"
17 #include "propertyref.h"
18 
19 class uiComboBox;
20 class UnitOfMeasure;
21 
22 
36 mExpClass(uiTools) uiUnitSel : public uiGroup
37 {
38 public:
39 
40  mExpClass(uiTools) Setup
41  {
42  public:
43 
44  enum Mode { SymbolsOnly, NamesOnly, Full };
45 
47  const uiString labeltxt=
49  : ptype_(st)
50  , lbltxt_(labeltxt)
51  , mode_(Full)
52  , selproptype_(false)
53  , nodefsave_(false)
54  , withnone_(false) {}
55 
57  mDefSetupMemb(uiString,lbltxt)
58  mDefSetupMemb(Mode,mode)
59  mDefSetupMemb(bool,selproptype)
60  mDefSetupMemb(bool,nodefsave)
61  mDefSetupMemb(bool,withnone)
62  };
63 
64  uiUnitSel(uiParent*,const Setup&);
66  uiUnitSel(uiParent*,const uiString& lbltxt=
69 
70  void setUnit(const UnitOfMeasure* uom=0);
71  void setUnit(const char*);
72  const UnitOfMeasure* getUnit() const;
73  const char* getUnitName() const;
74 
75  float getUserValue(float internalval) const;
76  double getUserValue(double internalval) const;
77  float getInternalValue(float uservalue) const;
78  double getInternalValue(double uservalue) const;
79 
80 
81  PropertyRef::StdType propType() const { return setup_.ptype_;}
83 
84  uiComboBox* inpFld() const { return inpfld_; }
85 
88 
89  void fillPar(IOPar&,const char* altkey=0) const;
90  bool usePar(const IOPar&,const char* altkey=0);
91 
92  const char* tblKey() const;
95  void setFallbackKey(const char*);
96  static IOPar& lastUsed();
98 
99 protected:
100 
101  Setup setup_;
104 
107 
108  void selChg( CallBacker* ) { selChange.trigger(); }
109  void propSelChg(CallBacker*);
110  void setPropFld(PropertyRef::StdType);
111  void setUnFld(const UnitOfMeasure*);
112  void update();
113  uiString getSelTxt(const UnitOfMeasure*) const;
114  const UnitOfMeasure* gtUnit() const;
115 
116 private:
117 
118  void init();
119 
120 };
Definition: uigroup.h:53
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
ObjectSet< const UnitOfMeasure > units_
Definition: uiunitsel.h:102
Selector for UnitOfMeasure&#39;s.
Definition: uiunitsel.h:36
Notifier< uiUnitSel > selChange
Definition: uiunitsel.h:86
void selChg(CallBacker *)
Definition: uiunitsel.h:108
PropertyRef::StdType propType() const
Definition: uiunitsel.h:81
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
uiComboBox * propfld_
Definition: uiunitsel.h:106
bool init()
uiComboBox * inpFld() const
Definition: uiunitsel.h:84
static const uiString & emptyString()
Definition: uistring.h:107
Combo box.
Definition: uicombobox.h:30
void trigger()
Definition: notify.h:128
Definition: uistring.h:88
Definition: uiparent.h:24
Notifier< uiUnitSel > propSelChange
Definition: uiunitsel.h:87
uiComboBox * inpfld_
Definition: uiunitsel.h:105
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Definition: uiunitsel.h:40
Setup setup_
Definition: uiunitsel.h:101
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Setup(PropertyRef::StdType st, const uiString labeltxt=uiStrings::sEmptyString())
Definition: uiunitsel.h:46
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Definition: uiunitsel.h:44
BufferString tblkey_
Definition: uiunitsel.h:103
Mode
Definition: uiunitsel.h:44
StdType
Definition: propertyref.h:44
static uiString sEmptyString()
Definition: uistrings.h:307
void setPropType(PropertyRef::StdType t)
Definition: unitofmeasure.h:58
Unit of Measure.
Definition: unitofmeasure.h:33

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