OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 
15 #include "uitoolsmod.h"
16 #include "uigroup.h"
17 #include "uistrings.h"
18 #include "propertyref.h"
19 #include "mnemonics.h"
20 
21 class uiComboBox;
22 class UnitOfMeasure;
23 
24 
38 mExpClass(uiTools) uiUnitSel : public uiGroup
39 {
40 public:
41 
42  mExpClass(uiTools) Setup
43  {
44  public:
45 
46  enum Mode { SymbolsOnly, NamesOnly, Full };
47 
49  const uiString labeltxt=
51  Mnemonic* mn = nullptr )
52  : ptype_(st)
53  , mn_(mn)
54  , lbltxt_(mToUiStringTodo(labeltxt))
55  , mode_(Full)
56  , selproptype_(false)
57  , selmnemtype_(mn ? true : false)
58  , withnone_(false) {}
59 
63  mDefSetupMemb(Mode,mode)
64  mDefSetupMemb(bool,selproptype)
65  mDefSetupMemb(bool,selmnemtype)
66  mDefSetupMemb(bool,withnone)
67  };
68 
71  uiUnitSel(uiParent*,Mnemonic* mn=nullptr);
72  uiUnitSel(uiParent*,const char* lbltxt=0);
75 
76  void setUnit(const UnitOfMeasure* uom=0);
77  void setUnit(const char*);
78  const UnitOfMeasure* getUnit() const;
79  const char* getUnitName() const;
80 
81  float getUserValue(float internalval) const;
82  double getUserValue(double internalval) const;
83  float getInternalValue(float uservalue) const;
84  double getInternalValue(double uservalue) const;
85 
86 
87  PropertyRef::StdType propType() const { return setup_.ptype_;}
89 
90  Mnemonic* mnemonic() const;
92 
93  uiComboBox* inpFld() const { return inpfld_; }
94 
97 
98  void fillPar(IOPar&,const char* altkey=0) const;
99  bool usePar(const IOPar&,const char* altkey=0);
100 
101  const char* tblKey() const;
104  void setFallbackKey(const char*);
105  static IOPar& lastUsed();
107 
108 protected:
109 
113 
117 
118  void selChg( CallBacker* ) { selChange.trigger(); }
123  void setUnFld(const UnitOfMeasure*);
124  void update();
126  const UnitOfMeasure* gtUnit() const;
127 
128 private:
129 
130  void init();
131 
132 };
133 
134 
uiUnitSel::Setup::mDefSetupMemb
mDefSetupMemb(PropertyRef::StdType, ptype) mDefSetupMemb(Mnemonic *
uiUnitSel::selChange
Notifier< uiUnitSel > selChange
Definition: uiunitsel.h:95
Notifier::trigger
void trigger()
Definition: notify.h:132
uiUnitSel::propSelChg
void propSelChg(CallBacker *)
uiUnitSel::Setup::SymbolsOnly
@ SymbolsOnly
Definition: uiunitsel.h:46
ObjectSet< const UnitOfMeasure >
uiUnitSel::setUnFld
void setUnFld(const UnitOfMeasure *)
uiComboBox
Combo box.
Definition: uicombobox.h:32
uiUnitSel::usePar
bool usePar(const IOPar &, const char *altkey=0)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
UnitOfMeasure::propType
PropertyRef::StdType propType() const
Definition: unitofmeasure.h:52
uiUnitSel::Setup::Mode
Mode
Definition: uiunitsel.h:46
uiUnitSel::propfld_
uiComboBox * propfld_
Definition: uiunitsel.h:115
uiUnitSel
Selector for UnitOfMeasure's.
Definition: uiunitsel.h:39
mDefSetupMemb
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:154
uiUnitSel::tblkey_
BufferString tblkey_
Definition: uiunitsel.h:112
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiUnitSel::inpFld
uiComboBox * inpFld() const
Definition: uiunitsel.h:93
Mnemonic
Definition: mnemonics.h:26
uiUnitSel::units_
ObjectSet< const UnitOfMeasure > units_
Definition: uiunitsel.h:111
uigroup.h
uiUnitSel::inpfld_
uiComboBox * inpfld_
Definition: uiunitsel.h:114
uiUnitSel::mnSelChg
void mnSelChg(CallBacker *)
uiUnitSel::Setup
Definition: uiunitsel.h:43
uiUnitSel::setup_
Setup setup_
Definition: uiunitsel.h:110
uiGroup
Definition: uigroup.h:54
uistrings.h
uiUnitSel::mnemonic
Mnemonic * mnemonic() const
uiUnitSel::tblKey
const char * tblKey() const
uiUnitSel::update
void update()
uiStrings::sEmptyString
static uiString sEmptyString()
Definition: uistrings.h:354
mnemonics.h
Notifier< uiUnitSel >
uiUnitSel::init
void init()
uiUnitSel::Setup::Setup
Setup(PropertyRef::StdType st, const uiString labeltxt=uiStrings::sEmptyString(), Mnemonic *mn=nullptr)
Definition: uiunitsel.h:48
uiUnitSel::setPropFld
void setPropFld(PropertyRef::StdType)
propertyref.h
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
PropertyRef
Ref Data for a (usually petrophysical) property.
Definition: propertyref.h:43
UnitOfMeasure
Unit of Measure.
Definition: unitofmeasure.h:35
mToUiStringTodo
#define mToUiStringTodo(i)
Definition: uistring.h:366
uiUnitSel::mnfld_
uiComboBox * mnfld_
Definition: uiunitsel.h:116
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiUnitSel::setMnemFld
void setMnemFld(Mnemonic *)
PropertyRef::StdType
StdType
Definition: propertyref.h:46
uiUnitSel::gtUnit
const UnitOfMeasure * gtUnit() const
uiUnitSel::selChg
void selChg(CallBacker *)
Definition: uiunitsel.h:118
uiParent
Definition: uiparent.h:26
uiUnitSel::setFallbackKey
void setFallbackKey(const char *)
uiUnitSel::getSelTxt
uiString getSelTxt(const UnitOfMeasure *) const
uiUnitSel::propSelChange
Notifier< uiUnitSel > propSelChange
Definition: uiunitsel.h:96
uiUnitSel::lastUsed
static IOPar & lastUsed()
== UnitOfMeasure::currentDefaults()
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
uiUnitSel::fillPar
void fillPar(IOPar &, const char *altkey=0) const
uiUnitSel::setMnemonic
void setMnemonic(Mnemonic &)
uiUnitSel::setPropType
void setPropType(PropertyRef::StdType)

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