OpendTect  6.3
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 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uitoolsmod.h"
13 #include "uigroup.h"
14 #include "mathformula.h"
15 #include "propertyref.h"
16 class BufferStringSet;
17 class UnitOfMeasure;
18 namespace Math { class Formula; class Expression; }
19 class uiLabel;
20 class uiUnitSel;
21 class uiGenInput;
22 class uiComboBox;
23 class uiToolButton;
24 
25 
28 public:
29 
31  bool withuom=true,
32  bool withsubinps=false,
33  const Math::SpecVarSet* svs=0);
35 
36  mDeprecated void addInpViewIcon(const char* inm,const char* tooltip,
37  const CallBack&);
38  void addInpViewIcon(const char* inm,const uiString& tooltip,
39  const CallBack&);
40  void setNonSpecInputs(const BufferStringSet&);
41  void setNonSpecSubInputs(const BufferStringSet&);
42 
43  virtual void use(const Math::Formula&);
44  virtual void use(const Math::Expression*);
45 
46  int varIdx() const { return varidx_; }
47  const OD::String& varName() const { return varnm_; }
48  bool hasVarName( const char* nm ) const
49  { return varnm_ == nm; }
50 
51  bool isActive() const { return isactive_; }
52  bool isConst() const { return isconst_; }
53  int specIdx() const { return specidx_; }
54  const char* getInput() const;
55  const UnitOfMeasure* getUnit() const;
56  void fill(Math::Formula&) const;
57 
58  void selectInput(const char*,bool exact=false);
59  void selectSubInput(int);
60  void setUnit(const UnitOfMeasure*);
61  void setUnit(const char*);
62  void setPropType(PropertyRef::StdType);
63 
66 
67  uiGroup* rightMostField();
68  const uiToolButton* viewBut() const { return vwbut_; }
69 
70 protected:
71 
72  void initFlds( CallBacker* ) { updateDisp(); }
73  void inpChg( CallBacker* ) { inpSel.trigger(); }
74  void subInpChg( CallBacker* ) { subInpSel.trigger(); }
75  void showHideVwBut(CallBacker* cb=0);
76 
77  const int varidx_;
81  bool isactive_;
82  bool isconst_;
83  int specidx_;
85 
86  uiGroup* inpgrp_;
93 
94  void updateDisp();
95  void updateInpNms(bool sub);
96  void setActive(bool);
97  void setVariable(const char*,bool);
98 
99 };
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
uiComboBox * inpfld_
Definition: uimathexpressionvariable.h:88
bool isconst_
Definition: uimathexpressionvariable.h:82
Selector for UnitOfMeasure's.
Definition: uiunitsel.h:36
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
bool isActive() const
Definition: uimathexpressionvariable.h:51
void initFlds(CallBacker *)
Definition: uimathexpressionvariable.h:72
const OD::String & varName() const
Definition: uimathexpressionvariable.h:47
uiLabel * inplbl_
Definition: uimathexpressionvariable.h:87
void inpChg(CallBacker *)
Definition: uimathexpressionvariable.h:73
Combo box.
Definition: uicombobox.h:30
void trigger()
Definition: notify.h:128
Definition: uistring.h:88
Definition: uiparent.h:24
const int varidx_
Definition: uimathexpressionvariable.h:77
bool hasVarName(const char *nm) const
Definition: uimathexpressionvariable.h:48
Set of BufferString objects.
Definition: bufstringset.h:25
Set of special variables for Math Formulae/Expressions.
Definition: mathspecvars.h:45
uiGenInput * constfld_
Definition: uimathexpressionvariable.h:90
Math formula: (expression, inputs, units, calculation, storage).
Definition: mathformula.h:64
bool isactive_
Definition: uimathexpressionvariable.h:81
bool isConst() const
Definition: uimathexpressionvariable.h:52
Notifier< uiMathExpressionVariable > inpSel
Definition: uimathexpressionvariable.h:64
int specidx_
Definition: uimathexpressionvariable.h:83
encapsulates the read-access-only part of strings in OD.
Definition: odstring.h:29
uiGroup * inpgrp_
Definition: uimathexpressionvariable.h:86
General Input Element.
Definition: uigeninput.h:56
Notifier< uiMathExpressionVariable > subInpSel
Definition: uimathexpressionvariable.h:65
Definition: uimathexpressionvariable.h:26
BufferStringSet nonspecinputs_
Definition: uimathexpressionvariable.h:79
Math::SpecVarSet & specvars_
Definition: uimathexpressionvariable.h:84
BufferString varnm_
Definition: uimathexpressionvariable.h:78
Parsed Math expression.
Definition: mathexpression.h:31
void subInpChg(CallBacker *)
Definition: uimathexpressionvariable.h:74
#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
uiUnitSel * unfld_
Definition: uimathexpressionvariable.h:91
Definition: uilabel.h:22
const uiToolButton * viewBut() const
Definition: uimathexpressionvariable.h:68
Definition: math2.h:27
Definition: uitoolbutton.h:20
uiComboBox * subinpfld_
Definition: uimathexpressionvariable.h:89
StdType
Definition: propertyref.h:44
int varIdx() const
Definition: uimathexpressionvariable.h:46
CallBacks object-oriented (object + method).
Definition: callback.h:62
BufferStringSet nonspecsubinputs_
Definition: uimathexpressionvariable.h:80
Unit of Measure.
Definition: unitofmeasure.h:33
int specIdx() const
Definition: uimathexpressionvariable.h:53
uiToolButton * vwbut_
Definition: uimathexpressionvariable.h:92

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