OpendTect  6.6
uimathformula.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: Bert
8  Date: Apr 2014
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uiiomod.h"
15 #include "uigroup.h"
16 #include "uistrings.h"
17 #include "mathformula.h"
18 #include "propertyref.h"
19 class uiButton;
20 class uiUnitSel;
21 class uiToolButton;
22 class uiToolButtonSetup;
23 class uiMathExpression;
25 class CtxtIOObj;
26 class UnitOfMeasure;
27 namespace Math { class Form; }
28 
29 
30 /* edits a Math::Formula */
31 
32 
35 public:
36 
38  {
39  public:
41  : label_(lbl)
42  , maxnrinps_(6)
43  , withsubinps_(false)
44  , withunits_(true)
45  , proptype_(PropertyRef::Other) {}
46 
48  mDefSetupMemb(int,maxnrinps);
49  mDefSetupMemb(BufferString,stortype); // if empty, no I/O
50  mDefSetupMemb(bool,withsubinps);
51  mDefSetupMemb(bool,withunits);
52  mDefSetupMemb(PropertyRef::StdType,proptype); // used if withunits_
53 
54  };
55 
58 
59 
60  void setNonSpecInputs(const BufferStringSet&,int iinp=-1);
61  void setNonSpecSubInputs(const BufferStringSet&,int iinp=-1);
62 
63  bool setText(const char*);
64  const char* text() const;
65 
66  bool useForm(const TypeSet<PropertyRef::StdType>* inptyps=0);
67  bool updateForm() const;
68 
69  // shortcuts for things available in form
70  int nrInputs() const;
71  const char* getInput(int) const;
72  bool isSpec(int) const;
73  bool isConst(int) const;
74  double getConstVal(int) const;
75  const UnitOfMeasure* getUnit() const;
76 
77  uiButton* addButton(const uiToolButtonSetup&);
78  void addInpViewIcon(const char* icnm,const char* tooltip,
79  const CallBack&);
80 
85 
86  uiMathExpression* exprFld() { return exprfld_; }
87  int nrInpFlds() const { return inpflds_.size(); }
88  uiMathExpressionVariable* inpFld( int idx ) { return inpflds_[idx]; }
89  uiUnitSel* unitFld() { return unitfld_; }
90  int inpSelNotifNr() const { return notifinpnr_; }
91  int vwLogInpNr(CallBacker*) const;
92  bool checkValidNrInputs() const;
93 
94 protected:
95 
104 
108 
110  bool setNotifInpNr(const CallBacker*);
111 
120 
121 };
122 
123 
uiMathFormula::getInput
const char * getInput(int) const
uiMathFormula::setNonSpecSubInputs
void setNonSpecSubInputs(const BufferStringSet &, int iinp=-1)
uiMathFormula::getIOFileName
BufferString getIOFileName(bool forread)
uiMathFormula::setNotifInpNr
bool setNotifInpNr(const CallBacker *)
uiMathFormula::isConst
bool isConst(int) const
uiMathFormula::unitfld_
uiUnitSel * unitfld_
Definition: uimathformula.h:99
uiMathFormula::inpFld
uiMathExpressionVariable * inpFld(int idx)
Definition: uimathformula.h:88
uiMathFormula::recbut_
uiToolButton * recbut_
Definition: uimathformula.h:100
ObjectSet< uiMathExpressionVariable >
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
CtxtIOObj
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:146
uiMathFormula::readReq
void readReq(CallBacker *)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiMathFormula::getUnit
const UnitOfMeasure * getUnit() const
ODInst::Other
@ Other
Definition: odinst.h:44
uiMathFormula::exprfld_
uiMathExpression * exprfld_
Definition: uimathformula.h:97
uiMathFormula::Setup::mDefSetupMemb
mDefSetupMemb(bool, withsubinps)
uiUnitSel
Selector for UnitOfMeasure's.
Definition: uiunitsel.h:39
uiMathFormula::subInpSetCB
void subInpSetCB(CallBacker *)
uiMathFormula::nrInpFlds
int nrInpFlds() const
Definition: uimathformula.h:87
uiMathFormula::unitFld
uiUnitSel * unitFld()
Definition: uimathformula.h:89
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiMathExpressionVariable
Definition: uimathexpressionvariable.h:28
uiMathFormula::text
const char * text() const
uiMathFormula::vwLogInpNr
int vwLogInpNr(CallBacker *) const
uigroup.h
uiMathFormula::writeReq
void writeReq(CallBacker *)
uiMathFormula::uiMathFormula
uiMathFormula(uiParent *, Math::Formula &, const Setup &)
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
uiMathFormula::inpSetCB
void inpSetCB(CallBacker *)
uiMathFormula::isSpec
bool isSpec(int) const
uiGroup
Definition: uigroup.h:54
uiMathFormula::recvals_
TypeSet< double > recvals_
Definition: uimathformula.h:106
uiMathFormula::notifinpnr_
int notifinpnr_
Definition: uimathformula.h:103
uiMathFormula::useForm
bool useForm(const TypeSet< PropertyRef::StdType > *inptyps=0)
uistrings.h
uiMathFormula::exprFld
uiMathExpression * exprFld()
Definition: uimathformula.h:86
uiMathFormula::Setup::mDefSetupMemb
mDefSetupMemb(uiString, label)
uiStrings::sEmptyString
static uiString sEmptyString()
Definition: uistrings.h:354
Notifier< uiMathFormula >
uiMathFormula::addInpViewIcon
void addInpViewIcon(const char *icnm, const char *tooltip, const CallBack &)
uiMathFormula::inpSelNotifNr
int inpSelNotifNr() const
Definition: uimathformula.h:90
uiMathFormula::formSetCB
void formSetCB(CallBacker *)
uiMathFormula::~uiMathFormula
~uiMathFormula()
uiMathFormula::nrInputs
int nrInputs() const
uiMathFormula::Setup::mDefSetupMemb
mDefSetupMemb(PropertyRef::StdType, proptype)
uiMathFormula::inpSet
Notifier< uiMathFormula > inpSet
Definition: uimathformula.h:82
propertyref.h
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
PropertyRef
Ref Data for a (usually petrophysical) property.
Definition: propertyref.h:43
uiMathFormula::Setup::mDefSetupMemb
mDefSetupMemb(int, maxnrinps)
UnitOfMeasure
Unit of Measure.
Definition: unitofmeasure.h:35
uiMathFormula::savebut_
uiToolButton * savebut_
Definition: uimathformula.h:102
uiMathExpression
Definition: uimathexpression.h:26
uiMathFormula::formSet
Notifier< uiMathFormula > formSet
Definition: uimathformula.h:81
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiToolButtonSetup
Definition: uitoolbutton.h:90
uiMathFormula::checkValidNrInputs
bool checkValidNrInputs() const
uiMathFormula::inpflds_
ObjectSet< uiMathExpressionVariable > inpflds_
Definition: uimathformula.h:98
uiMathFormula::recButPush
void recButPush(CallBacker *)
uiMathFormula::setup_
Setup setup_
Definition: uimathformula.h:105
PropertyRef::StdType
StdType
Definition: propertyref.h:46
uiMathFormula::formUnitSet
Notifier< uiMathFormula > formUnitSet
Definition: uimathformula.h:84
uiMathFormula::formUnitSetCB
void formUnitSetCB(CallBacker *)
uiMathFormula::getConstVal
double getConstVal(int) const
uiMathFormula::setText
bool setText(const char *)
uiMathFormula::initFlds
void initFlds(CallBacker *)
uiMathFormula::mODTextTranslationClass
mODTextTranslationClass(uiMathFormula)
uiMathFormula::Setup::mDefSetupMemb
mDefSetupMemb(BufferString, stortype)
uiParent
Definition: uiparent.h:26
uiMathFormula::addButton
uiButton * addButton(const uiToolButtonSetup &)
uiMathFormula::Setup::mDefSetupMemb
mDefSetupMemb(bool, withunits)
uiMathFormula
Definition: uimathformula.h:34
uiMathFormula::setNonSpecInputs
void setNonSpecInputs(const BufferStringSet &, int iinp=-1)
mathformula.h
uiMathFormula::openbut_
uiToolButton * openbut_
Definition: uimathformula.h:101
uiMathFormula::form_
Math::Formula & form_
Definition: uimathformula.h:96
uiMathFormula::ctio_
CtxtIOObj & ctio_
Definition: uimathformula.h:107
uiToolButton
Definition: uitoolbutton.h:22
uiMathFormula::Setup
Definition: uimathformula.h:38
Math
Definition: math2.h:29
uiMathFormula::Setup::Setup
Setup(const uiString &lbl=uiStrings::sEmptyString())
Definition: uimathformula.h:40
TypeSet
Sets of (small) copyable elements.
Definition: commontypes.h:29
uiMathFormula::subInpSet
Notifier< uiMathFormula > subInpSet
Definition: uimathformula.h:83
uiMathFormula::updateForm
bool updateForm() const

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