OpendTect  6.6
uimathexpressionvariable.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: H. Huck
7  Date: Mar 2012
8  RCS: $Id$
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uitoolsmod.h"
14 #include "uigroup.h"
15 #include "mathformula.h"
16 #include "propertyref.h"
17 class BufferStringSet;
18 class UnitOfMeasure;
19 namespace Math { class Formula; class Expression; }
20 class uiLabel;
21 class uiUnitSel;
22 class uiGenInput;
23 class uiComboBox;
24 class uiToolButton;
25 
26 
29 public:
30 
32  bool withuom=true,
33  bool withsubinps=false,
34  const Math::SpecVarSet* svs=0);
36 
37  void addInpViewIcon(const char* inm,const char* tooltip,
38  const CallBack&);
41 
42  virtual void use(const Math::Formula&);
43  virtual void use(const Math::Expression*);
44 
45  int varIdx() const { return varidx_; }
46  const OD::String& varName() const { return varnm_; }
47  bool hasVarName( const char* nm ) const
48  { return varnm_ == nm; }
49 
50  bool isActive() const { return isactive_; }
51  bool isConst() const { return isconst_; }
52  int specIdx() const { return specidx_; }
53  const char* getInput() const;
54  const UnitOfMeasure* getUnit() const;
55  void fill(Math::Formula&) const;
56 
57  void selectInput(const char*,bool exact=false);
58  void selectSubInput(int);
59  void setSelUnit(const UnitOfMeasure*);
60  // unit of selected variable
61  void setSelUnit(const char*);
62  // unit of selected variable
63  void setFormUnit(const UnitOfMeasure*);
64  // unit required by formula
65  void setFormUnit(const char*);
66  // unit required by formula
68 
71 
73  const uiToolButton* viewBut() const { return vwbut_; }
74 
75 protected:
76 
77  void initFlds( CallBacker* ) { updateDisp(); }
78  void inpChg( CallBacker* ) { inpSel.trigger(); }
79  void subInpChg( CallBacker* ) { subInpSel.trigger(); }
81 
82  const int varidx_;
86  bool isactive_;
87  bool isconst_;
88  int specidx_;
90 
96  uiUnitSel* unfld_; // unit required by formula
98 
99  void updateDisp();
100  void updateInpNms(bool sub);
101  void setActive(bool);
102  void setVariable(const char*,bool);
103 
104 public:
105  mDeprecated("Use setFormUnit")
106  void setUnit(const UnitOfMeasure* uom)
107  { setFormUnit(uom); }
108  mDeprecated("Use setFormUnit")
109  void setUnit(const char* un)
110  { setFormUnit(un); }
111 };
112 
113 
uiToolButton::cb
const char const char const CallBack & cb
Definition: uitoolbutton.h:76
Math::SpecVarSet
Set of special variables for Math Formulae/Expressions.
Definition: mathspecvars.h:47
uiMathExpressionVariable::subInpSel
Notifier< uiMathExpressionVariable > subInpSel
Definition: uimathexpressionvariable.h:70
Math::Expression
Parsed Math expression.
Definition: mathexpression.h:32
uiMathExpressionVariable::inpSel
Notifier< uiMathExpressionVariable > inpSel
Definition: uimathexpressionvariable.h:69
uiMathExpressionVariable::selectSubInput
void selectSubInput(int)
uiMathExpressionVariable::inpChg
void inpChg(CallBacker *)
Definition: uimathexpressionvariable.h:78
uiMathExpressionVariable::setSelUnit
void setSelUnit(const char *)
Notifier::trigger
void trigger()
Definition: notify.h:132
uiMathExpressionVariable::viewBut
const uiToolButton * viewBut() const
Definition: uimathexpressionvariable.h:73
uiMathExpressionVariable::specvars_
Math::SpecVarSet & specvars_
Definition: uimathexpressionvariable.h:89
uiMathExpressionVariable::nonspecsubinputs_
BufferStringSet nonspecsubinputs_
Definition: uimathexpressionvariable.h:85
uiMathExpressionVariable::mODTextTranslationClass
mODTextTranslationClass(uiMathExpressionVariable)
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
uiComboBox
Combo box.
Definition: uicombobox.h:32
uiMathExpressionVariable::hasVarName
bool hasVarName(const char *nm) const
Definition: uimathexpressionvariable.h:47
uiMathExpressionVariable::setFormUnit
void setFormUnit(const UnitOfMeasure *)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiMathExpressionVariable::selectInput
void selectInput(const char *, bool exact=false)
uiMathExpressionVariable::subinpfld_
uiComboBox * subinpfld_
Definition: uimathexpressionvariable.h:94
uiMathExpressionVariable::isActive
bool isActive() const
Definition: uimathexpressionvariable.h:50
uiUnitSel
Selector for UnitOfMeasure's.
Definition: uiunitsel.h:39
uiMathExpressionVariable::unfld_
uiUnitSel * unfld_
Definition: uimathexpressionvariable.h:96
uiMathExpressionVariable::setVariable
void setVariable(const char *, bool)
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiMathExpressionVariable
Definition: uimathexpressionvariable.h:28
uiMathExpressionVariable::addInpViewIcon
void addInpViewIcon(const char *inm, const char *tooltip, const CallBack &)
uiMathExpressionVariable::specidx_
int specidx_
Definition: uimathexpressionvariable.h:88
uigroup.h
uiMathExpressionVariable::updateInpNms
void updateInpNms(bool sub)
uiGenInput
General Input Element.
Definition: uigeninput.h:59
uiMathExpressionVariable::isConst
bool isConst() const
Definition: uimathexpressionvariable.h:51
uiMathExpressionVariable::getInput
const char * getInput() const
uiMathExpressionVariable::varnm_
BufferString varnm_
Definition: uimathexpressionvariable.h:83
uiMathExpressionVariable::varidx_
const int varidx_
Definition: uimathexpressionvariable.h:82
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
uiMathExpressionVariable::showHideVwBut
void showHideVwBut(CallBacker *cb=0)
uiGroup
Definition: uigroup.h:54
uiMathExpressionVariable::varName
const OD::String & varName() const
Definition: uimathexpressionvariable.h:46
uiMathExpressionVariable::fill
void fill(Math::Formula &) const
uiMathExpressionVariable::rightMostField
uiGroup * rightMostField()
Notifier< uiMathExpressionVariable >
uiMathExpressionVariable::constfld_
uiGenInput * constfld_
Definition: uimathexpressionvariable.h:95
uiMathExpressionVariable::initFlds
void initFlds(CallBacker *)
Definition: uimathexpressionvariable.h:77
uiMathExpressionVariable::updateDisp
void updateDisp()
uiMathExpressionVariable::inpfld_
uiComboBox * inpfld_
Definition: uimathexpressionvariable.h:93
uiMathExpressionVariable::getUnit
const UnitOfMeasure * getUnit() const
uiMathExpressionVariable::use
virtual void use(const Math::Formula &)
uiMathExpressionVariable::isactive_
bool isactive_
Definition: uimathexpressionvariable.h:86
uiMathExpressionVariable::setSelUnit
void setSelUnit(const UnitOfMeasure *)
propertyref.h
uiMathExpressionVariable::setNonSpecSubInputs
void setNonSpecSubInputs(const BufferStringSet &)
uiMathExpressionVariable::~uiMathExpressionVariable
~uiMathExpressionVariable()
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
Math::Formula
Math formula: (expression, inputs, units, calculation, storage).
Definition: mathformula.h:66
uiMathExpressionVariable::setActive
void setActive(bool)
uiMathExpressionVariable::specIdx
int specIdx() const
Definition: uimathexpressionvariable.h:52
UnitOfMeasure
Unit of Measure.
Definition: unitofmeasure.h:35
uiMathExpressionVariable::inpgrp_
uiGroup * inpgrp_
Definition: uimathexpressionvariable.h:91
uiMathExpressionVariable::inplbl_
uiLabel * inplbl_
Definition: uimathexpressionvariable.h:92
OD::String
encapsulates the read-access-only part of strings in OD.
Definition: odstring.h:31
uiMathExpressionVariable::mDeprecated
mDeprecated("Use setFormUnit") void setUnit(const UnitOfMeasure *uom)
Definition: uimathexpressionvariable.h:105
PropertyRef::StdType
StdType
Definition: propertyref.h:46
uiLabel
Definition: uilabel.h:24
uiMathExpressionVariable::varIdx
int varIdx() const
Definition: uimathexpressionvariable.h:45
uiMathExpressionVariable::uiMathExpressionVariable
uiMathExpressionVariable(uiParent *, int varidx, bool withuom=true, bool withsubinps=false, const Math::SpecVarSet *svs=0)
uiMathExpressionVariable::nonspecinputs_
BufferStringSet nonspecinputs_
Definition: uimathexpressionvariable.h:84
uiMathExpressionVariable::vwbut_
uiToolButton * vwbut_
Definition: uimathexpressionvariable.h:97
uiParent
Definition: uiparent.h:26
uiMathExpressionVariable::setNonSpecInputs
void setNonSpecInputs(const BufferStringSet &)
mathformula.h
uiMathExpressionVariable::subInpChg
void subInpChg(CallBacker *)
Definition: uimathexpressionvariable.h:79
uiMathExpressionVariable::mDeprecated
mDeprecated("Use setFormUnit") void setUnit(const char *un)
Definition: uimathexpressionvariable.h:108
uiMathExpressionVariable::use
virtual void use(const Math::Expression *)
uiMathExpressionVariable::isconst_
bool isconst_
Definition: uimathexpressionvariable.h:87
uiToolButton
Definition: uitoolbutton.h:22
uiMathExpressionVariable::setFormUnit
void setFormUnit(const char *)
Math
Definition: math2.h:29
uiMathExpressionVariable::setPropType
void setPropType(PropertyRef::StdType)
uiToolButton::tooltip
const char const char * tooltip
Definition: uitoolbutton.h:74

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