OpendTect
6.3
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
master_od_source
include
uiCmdDriver
cmdfunction.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: Jaap Glas
8
Date: April 2011
9
________________________________________________________________________
10
11
-*/
12
13
#include "uicmddrivermod.h"
14
#include "
bufstringset.h
"
15
#include "
factory.h
"
16
17
18
class
uiMainWin
;
19
20
namespace
CmdDrive
21
{
22
23
class
CmdDriver;
24
class
WildcardManager;
25
26
mExpClass
(uiCmdDriver)
Function
27
{
28
public
:
29
30
mDefineFactory1ParamInClass
( Function,
const
CmdDriver
&, factory );
31
static
void
initStandardFunctions();
32
static
BufferString
factoryKey(
const
char
* name);
33
34
Function
(
const
CmdDriver
& cmddrv)
35
: drv_(cmddrv)
36
{}
37
virtual
~Function
() {}
38
39
virtual
const
char
* name()
const
=0;
40
virtual
bool
eval(
const
BufferStringSet
& args,
41
BufferString
& res)
const
=0;
42
43
44
protected
:
45
46
static
BufferString
createFactoryKey(
const
char
* keyword);
47
48
const
CmdDriver
&
drv_
;
49
50
bool
openQDlg()
const
;
51
const
uiMainWin
* curWin()
const
;
52
const
uiMainWin
* applWin()
const
;
53
54
const
WildcardManager
& wildcardMan()
const
;
55
};
56
57
58
#define mStartDeclFunClassNoEval(funkey,parentclass) \
59
\
60
mExpClass(uiCmdDriver) funkey##Func : public parentclass \
61
{ \
62
public: \
63
funkey##Func(const CmdDriver& cmddrv) \
64
: parentclass(cmddrv) \
65
{ \
66
name_ = keyWord(); \
67
*name_.getCStr() = mCast(char,tolower(*name_.buf())); \
68
} \
69
\
70
static const char* keyWord() { return #funkey; } \
71
virtual const char* name() const { return name_; } \
72
protected: \
73
BufferString name_;
74
75
76
#define mStartDeclFunClass(funkey,parentclass) \
77
\
78
mStartDeclFunClassNoEval(funkey,parentclass) \
79
public: \
80
virtual bool eval(const BufferStringSet& args, \
81
BufferString& res) const; \
82
\
83
static Function* createInstance(const CmdDriver& cmddrv) \
84
{ return new funkey##Func(cmddrv); } \
85
static void initClass() \
86
{ factory().addCreator( createInstance, \
87
createFactoryKey(keyWord()) ); }
88
89
#define mEndDeclFunClass \
90
};
91
92
93
mStartDeclFunClass
(
Abs
,
Function
)
mEndDeclFunClass
94
mStartDeclFunClass
( Asin,
Function
)
mEndDeclFunClass
95
mStartDeclFunClass
( Acos,
Function
)
mEndDeclFunClass
96
mStartDeclFunClass
( Atan,
Function
)
mEndDeclFunClass
97
mStartDeclFunClass
(
Atan2
,
Function
)
mEndDeclFunClass
98
mStartDeclFunClass
(
Ceil
,
Function
)
mEndDeclFunClass
99
mStartDeclFunClass
(
Cos
,
Function
)
mEndDeclFunClass
100
mStartDeclFunClass
(
Exp
,
Function
)
mEndDeclFunClass
101
mStartDeclFunClass
(
Floor
,
Function
)
mEndDeclFunClass
102
mStartDeclFunClass
( Ln,
Function
)
mEndDeclFunClass
103
mStartDeclFunClass
(
Log
,
Function
)
mEndDeclFunClass
104
mStartDeclFunClass
( Rand,
Function
)
mEndDeclFunClass
105
mStartDeclFunClass
( RandG,
Function
)
mEndDeclFunClass
106
mStartDeclFunClass
( Round,
Function
)
mEndDeclFunClass
107
mStartDeclFunClass
( Sgn,
Function
)
mEndDeclFunClass
108
mStartDeclFunClass
(
Sin
,
Function
)
mEndDeclFunClass
109
mStartDeclFunClass
(
Sqrt
,
Function
)
mEndDeclFunClass
110
mStartDeclFunClass
( Tan,
Function
)
mEndDeclFunClass
111
mStartDeclFunClass
( Trunc,
Function
)
mEndDeclFunClass
112
113
mStartDeclFunClass
( Avg,
Function
)
mEndDeclFunClass
114
mStartDeclFunClass
(
Max
,
Function
)
mEndDeclFunClass
115
mStartDeclFunClass
( Med,
Function
)
mEndDeclFunClass
116
mStartDeclFunClass
(
Min
,
Function
)
mEndDeclFunClass
117
mStartDeclFunClass
(
Sum
,
Function
)
mEndDeclFunClass
118
mStartDeclFunClass
( Var,
Function
)
mEndDeclFunClass
119
120
mStartDeclFunClass
( IsAlNum,
Function
)
mEndDeclFunClass
121
mStartDeclFunClass
( IsAlpha,
Function
)
mEndDeclFunClass
122
mStartDeclFunClass
( IsDigit,
Function
)
mEndDeclFunClass
123
mStartDeclFunClass
( IsLower,
Function
)
mEndDeclFunClass
124
mStartDeclFunClass
( IsSpace,
Function
)
mEndDeclFunClass
125
mStartDeclFunClass
( IsUpper,
Function
)
mEndDeclFunClass
126
127
mStartDeclFunClass
( ToLower,
Function
)
mEndDeclFunClass
128
mStartDeclFunClass
( ToUpper,
Function
)
mEndDeclFunClass
129
130
mStartDeclFunClass
( IsNumber,
Function
)
mEndDeclFunClass
131
mStartDeclFunClass
( IsInteger,
Function
)
mEndDeclFunClass
132
133
mStartDeclFunClass
( StrCat,
Function
)
mEndDeclFunClass
134
mStartDeclFunClass
( StrLen,
Function
)
mEndDeclFunClass
135
mStartDeclFunClass
( StrSel,
Function
)
mEndDeclFunClass
136
137
mStartDeclFunClass
( SepStrCat,
Function
)
mEndDeclFunClass
138
mStartDeclFunClass
( SepStrLen,
Function
)
mEndDeclFunClass
139
mStartDeclFunClass
( SepStrSel,
Function
)
mEndDeclFunClass
140
141
mStartDeclFunClass
( Wildcard,
Function
)
mEndDeclFunClass
142
mStartDeclFunClass
( WildcardStr,
Function
)
mEndDeclFunClass
143
144
mStartDeclFunClass
( CurWindow,
Function
)
mEndDeclFunClass
145
146
};
// namespace CmdDrive
mExpClass
#define mExpClass(module)
Definition:
commondefs.h:157
uiMainWin
User interface main window.
Definition:
uimainwin.h:34
CmdDrive::Function::~Function
virtual ~Function()
Definition:
cmdfunction.h:37
CmdDrive::Function::Function
Function(const CmdDriver &cmddrv)
Definition:
cmdfunction.h:34
CmdDrive
Command Drive
Definition:
canvascommands.h:20
Stats::Sum
Definition:
stattype.h:25
Math::Ceil
float Ceil(float)
Math::Cos
float Cos(float)
CmdDrive::WildcardManager
Definition:
searchkey.h:55
Math::Atan2
float Atan2(float y, float x)
File::Log
Definition:
file.h:109
BufferStringSet
Set of BufferString objects.
Definition:
bufstringset.h:25
Stats::Min
Definition:
stattype.h:24
Math::Abs
unsigned int Abs(unsigned int i)
Definition:
math2.h:78
mDefineFactory1ParamInClass
#define mDefineFactory1ParamInClass(T, P, funcname)
Definition:
factory.h:445
Math::Floor
float Floor(float)
Math::Sin
float Sin(float)
Stats::Max
Definition:
stattype.h:24
mEndDeclFunClass
#define mEndDeclFunClass
Definition:
cmdfunction.h:89
CmdDrive::Function::drv_
const CmdDriver & drv_
Definition:
cmdfunction.h:48
factory.h
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition:
bufstring.h:38
CmdDrive::Function
Definition:
cmdfunction.h:26
Math::Exp
float Exp(float)
Math::Sqrt
float Sqrt(float)
mStartDeclFunClass
#define mStartDeclFunClass(funkey, parentclass)
Definition:
cmdfunction.h:76
CmdDrive::CmdDriver
Definition:
cmddriver.h:102
bufstringset.h
Generated at for the
OpendTect
seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017