 |
OpendTect
6.6
|
Go to the documentation of this file.
14 #include "uicmddrivermod.h"
33 virtual const char*
name()
const = 0;
37 #define mDeclClassifierClass(callerclass) \
39 class callerclass##Classifier : public Classifier \
43 static const char* className() { return #callerclass; } \
44 const char* name() const { return className(); } \
46 bool approved(const CallBacker* caller) const \
47 { return dynamic_cast<const callerclass*>(caller); } \
58 const char* extrakey=0);
63 virtual const char*
name() = 0;
70 bool done()
const {
return done_; }
91 bool casedep =
false)
const;
118 #define mStartDeclComposerClassNoAccept(mod,cmdkey,parentclass) \
120 mExpClass(mod) cmdkey##CmdComposer : public parentclass \
123 cmdkey##CmdComposer(CmdRecorder& cmdrec) \
124 : parentclass(cmdrec) \
127 static const char* keyWord() { return #cmdkey; } \
128 virtual const char* name() { return keyWord(); } \
130 #define mStartDeclComposerClass(mod,cmdkey,parentclass,callerclass) \
132 mStartDeclComposerClassNoAccept(mod,cmdkey,parentclass) \
133 mDeclClassifierClass(callerclass) \
135 virtual bool accept(const CmdRecEvent&); \
137 static CmdComposer* createInstance(CmdRecorder& cmdrec) \
138 { return new cmdkey##CmdComposer(cmdrec); } \
139 static void initClass() \
140 { factory().addCreator( createInstance, \
141 createFactoryKey(new callerclass##Classifier(), \
144 #define mStartDeclComposerClassWithInit(mod,cmdkey,parentclass,callerclass) \
145 mStartDeclComposerClass(mod,cmdkey,parentclass,callerclass) \
148 #define mEndDeclComposerClass \
155 #define mRefuseAndQuit() \
158 if ( stackwasempty_ ) \
159 refuseAndQuitDone(); \
165 #define mCompleteAndQuitIfEventNested( ev, notifierstr ) \
169 else if ( ev.begin_ && !stackwasempty_ && \
170 stringEndsWithCI(notifierstr,ev.msg_) ) \
172 ignoreflag_ = false; \
177 #define mNotifyTest( objclass, uiobject, notifiername ) \
179 mDynamicCastGet( objclass*, uiclassobj, uiobject ); \
181 uiclassobj->notifiername.notify( mCB(this,CmdComposer,testCB) ); \
185 #define mGetInputString( inpptr, txt, haschanged ) \
187 BufferString inpstr; \
188 char* inpptr = inpstr.getCStr(); \
191 inpstr = " "; inpstr += txt; \
192 mSkipBlanks( inpptr ); \
194 strtod( inpptr, &endptr ); \
195 const char* nextword = endptr; \
196 mSkipBlanks( nextword ); \
197 if ( inpptr!=endptr && !*nextword ) \
204 mDressUserInputString( inpstr, sInputStr ); \
205 IdentifierManager().tryFilePathPlaceholders( inpstr ); \
207 inpptr = inpstr.getCStr(); \
212 #define mWriteInputCmd( haschanged, txt, enter ) \
214 mGetInputString( inpptr, txt, haschanged ); \
215 if ( haschanged || enter ) \
217 insertWindowCaseExec( *eventlist_[0] ); \
218 mRecOutStrm << "Input \"" << eventlist_[0]->keystr_ << "\" " \
219 << inpptr << (enter ? "Enter" : "Hold") << od_endl; \
224 #define mGetItemName( uiobj,sizefunc,textfunc,curitemidx,curitemname,casedep ) \
226 BufferString curitemname = uiobj->textfunc( curitemidx ); \
227 mDressNameString( curitemname, sItemName ); \
228 bool casedep = false; \
233 for ( int itmidx=0; itmidx<uiobj->sizefunc(); itmidx++ ) \
235 const char* itmtxt = uiobj->textfunc( itmidx ); \
236 if ( SearchKey(curitemname,false).isMatching(itmtxt) ) \
238 if ( SearchKey(curitemname,true).isMatching(itmtxt) ) \
241 if ( itmidx == curitemidx ) \
249 if ( selnr && nrmatches>1 ) \
251 curitemname += "#"; curitemname += selnr; \
virtual bool tryToFinish()
mODTextTranslationClass(CmdComposer)
const uiMainWin * applWin() const
virtual void init()
Definition: cmdcomposer.h:81
User interface main window.
Definition: uimainwin.h:35
void notDone()
Definition: cmdcomposer.h:95
BufferStringSet bursteventnames_
Definition: cmdcomposer.h:110
Definition: cmdrecorder.h:71
Set of pointers to objects.
Definition: commontypes.h:31
Definition: cmdcomposer.h:30
bool ignoreflag_
Definition: cmdcomposer.h:100
BufferStringSet voideventnames_
Definition: cmdcomposer.h:111
Set of BufferString objects.
Definition: bufstringset.h:26
static BufferString factoryKey(const CallBacker *caller, const char *extrakey=0)
#define mExpClass(module)
Definition: commondefs.h:177
mDefineFactory1ParamInClass(CmdComposer, CmdRecorder &, factory)
virtual const char * name()=0
TypeSet< int > refnrstack_
Definition: cmdcomposer.h:104
void addToEventList(const CmdRecEvent &)
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
bool done() const
Definition: cmdcomposer.h:70
bool quitflag_
Definition: cmdcomposer.h:101
int eventNameIdx(const BufferStringSet &eventnames, const CmdRecEvent &) const
Definition: cmdcomposer.h:52
CmdComposer(CmdRecorder &)
mStartDeclCmdClass(CmdDriver, Wheel, UiObjectCmd) mEndDeclCmdClass class WheelActivator CmdComposer
Definition: coincommands.h:39
void objClosed(CallBacker *)
Definition: cmdcomposer.h:74
bool traceSrcWin(CmdRecEvent &) const
virtual const char * name() const =0
virtual bool approved(const CallBacker *) const =0
virtual bool accept(const CmdRecEvent &)
bool objclosed_
Definition: cmdcomposer.h:106
void refuseAndQuitDone()
Definition: cmdcomposer.h:96
virtual ~Classifier()
Definition: cmdcomposer.h:32
bool done_
Definition: cmdcomposer.h:114
void shrinkEventList(int firstnr=1, int lastnr=-1)
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
void testCB(CallBacker *)
ObjectSet< CmdRecEvent > eventlist_
Definition: cmdcomposer.h:108
virtual bool greedy() const
bool stackwasempty_
Definition: cmdcomposer.h:105
Command Drive
Definition: canvascommands.h:22
void insertWindowCaseExec(const CmdRecEvent &, bool casedep=false) const
bool stateUpdateNeeded()
Definition: cmdcomposer.h:69
Definition: cmdrecorder.h:35
static BufferString createFactoryKey(const Classifier *, const char *keyword)
void srcWinClosed(CallBacker *)
CmdRecorder & rec_
Definition: cmdcomposer.h:98
bool updateflag_
Definition: cmdcomposer.h:102
static void initStandardComposers()
virtual void updateInternalState()
Definition: cmdcomposer.h:67
Generated at
for the OpendTect
seismic interpretation project.
Copyright (C): dGB Beheer B.V. 1995-2021