13 #include "uicmddrivermod.h" 32 virtual const char* name()
const = 0;
33 virtual bool approved(
const CallBacker*)
const = 0;
36 #define mDeclClassifierClass(callerclass) \ 38 class callerclass##Classifier : public Classifier \ 42 static const char* className() { return #callerclass; } \ 43 const char* name() const { return className(); } \ 45 bool approved(const CallBacker* caller) const \ 46 { return dynamic_cast<const callerclass*>(caller); } \ 55 static void initStandardComposers();
57 const char* extrakey=0);
62 virtual const char* name() = 0;
64 virtual bool greedy()
const;
67 virtual bool tryToFinish();
69 bool done()
const {
return done_; }
74 void testCB(CallBacker*);
85 void shrinkEventList(
int firstnr=1,
int lastnr=-1);
90 bool casedep =
false)
const;
92 void srcWinClosed(CallBacker*);
117 #define mStartDeclComposerClassNoAccept(mod,cmdkey,parentclass) \ 119 mExpClass(mod) cmdkey##CmdComposer : public parentclass \ 122 cmdkey##CmdComposer(CmdRecorder& cmdrec) \ 123 : parentclass(cmdrec) \ 126 static const char* keyWord() { return #cmdkey; } \ 127 virtual const char* name() { return keyWord(); } \ 129 #define mStartDeclComposerClass(mod,cmdkey,parentclass,callerclass) \ 131 mStartDeclComposerClassNoAccept(mod,cmdkey,parentclass) \ 132 mDeclClassifierClass(callerclass) \ 134 virtual bool accept(const CmdRecEvent&); \ 136 static CmdComposer* createInstance(CmdRecorder& cmdrec) \ 137 { return new cmdkey##CmdComposer(cmdrec); } \ 138 static void initClass() \ 139 { factory().addCreator( createInstance, \ 140 createFactoryKey(new callerclass##Classifier(), \ 143 #define mStartDeclComposerClassWithInit(mod,cmdkey,parentclass,callerclass) \ 144 mStartDeclComposerClass(mod,cmdkey,parentclass,callerclass) \ 147 #define mEndDeclComposerClass \ 154 #define mRefuseAndQuit() \ 157 if ( stackwasempty_ ) \ 158 refuseAndQuitDone(); \ 164 #define mCompleteAndQuitIfEventNested( ev, notifierstr ) \ 168 else if ( ev.begin_ && !stackwasempty_ && \ 169 stringEndsWithCI(notifierstr,ev.msg_) ) \ 171 ignoreflag_ = false; \ 176 #define mNotifyTest( objclass, uiobject, notifiername ) \ 178 mDynamicCastGet( objclass*, uiclassobj, uiobject ); \ 180 uiclassobj->notifiername.notify( mCB(this,CmdComposer,testCB) ); \ 184 #define mGetInputString( inpptr, txt, haschanged ) \ 186 BufferString inpstr; \ 187 char* inpptr = inpstr.getCStr(); \ 190 inpstr = " "; inpstr += txt; \ 191 mSkipBlanks( inpptr ); \ 193 strtod( inpptr, &endptr ); \ 194 const char* nextword = endptr; \ 195 mSkipBlanks( nextword ); \ 196 if ( inpptr!=endptr && !*nextword ) \ 203 mDressUserInputString( inpstr, sInputStr ); \ 204 IdentifierManager().tryFilePathPlaceholders( inpstr ); \ 206 inpptr = inpstr.getCStr(); \ 211 #define mWriteInputCmd( haschanged, txt, enter ) \ 213 mGetInputString( inpptr, txt, haschanged ); \ 214 if ( haschanged || enter ) \ 216 insertWindowCaseExec( *eventlist_[0] ); \ 217 mRecOutStrm << "Input \"" << eventlist_[0]->keystr_ << "\" " \ 218 << inpptr << (enter ? "Enter" : "Hold") << od_endl; \ 223 #define mGetItemName( uiobj,sizefunc,textfunc,curitemidx,curitemname,casedep ) \ 225 BufferString curitemname = uiobj->textfunc( curitemidx ); \ 226 mDressNameString( curitemname, sItemName ); \ 227 bool casedep = false; \ 232 for ( int itmidx=0; itmidx<uiobj->sizefunc(); itmidx++ ) \ 234 const char* itmtxt = uiobj->textfunc( itmidx ); \ 235 if ( SearchKey(curitemname,false).isMatching(itmtxt) ) \ 237 if ( SearchKey(curitemname,true).isMatching(itmtxt) ) \ 240 if ( itmidx == curitemidx ) \ 248 if ( selnr && nrmatches>1 ) \ 250 curitemname += "#"; curitemname += selnr; \ #define mExpClass(module)
Definition: commondefs.h:157
User interface main window.
Definition: uimainwin.h:34
bool updateflag_
Definition: cmdcomposer.h:101
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Command Drive
Definition: canvascommands.h:20
virtual void updateInternalState()
Definition: cmdcomposer.h:66
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
void objClosed(CallBacker *)
Definition: cmdcomposer.h:73
bool done() const
Definition: cmdcomposer.h:69
BufferStringSet bursteventnames_
Definition: cmdcomposer.h:109
Set of BufferString objects.
Definition: bufstringset.h:25
BufferStringSet voideventnames_
Definition: cmdcomposer.h:110
bool ignoreflag_
Definition: cmdcomposer.h:99
#define mDefineFactory1ParamInClass(T, P, funcname)
Definition: factory.h:445
Definition: cmdrecorder.h:69
Set of pointers to objects.
Definition: commontypes.h:28
TypeSet< int > refnrstack_
Definition: cmdcomposer.h:103
bool objclosed_
Definition: cmdcomposer.h:105
Definition: cmdcomposer.h:28
Definition: cmdrecorder.h:33
bool stateUpdateNeeded()
Definition: cmdcomposer.h:68
Definition: cmdcomposer.h:50
bool quitflag_
Definition: cmdcomposer.h:100
CmdRecorder & rec_
Definition: cmdcomposer.h:97
virtual ~Classifier()
Definition: cmdcomposer.h:31
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
void notDone()
Definition: cmdcomposer.h:94
virtual void init()
Definition: cmdcomposer.h:80
void refuseAndQuitDone()
Definition: cmdcomposer.h:95
bool done_
Definition: cmdcomposer.h:113
ObjectSet< CmdRecEvent > eventlist_
Definition: cmdcomposer.h:107
bool stackwasempty_
Definition: cmdcomposer.h:104