13 #include "uicmddrivermod.h" 31 #define mAddCharToBufStr( bufstr, chr ) \ 32 { char str[2]; str[0] = mCast(char,chr); str[1] = '\0'; bufstr += str; } 34 #define mSepStrSize(fms) ( fms.isEmpty() ? 1 : fms.size() ) 36 #define mGetAmpFilteredStr( dest, src ) \ 37 BufferString dest( src ); \ 38 StringProcessor(dest).filterAmpersands(); 41 #define mGetEscConvertedFMS( fms, str, removecmdfileescapes ) \ 43 BufferString fms##bufstr( str ); \ 44 StringProcessor( fms##bufstr ).addFileMultiStrEscapes(); \ 45 if ( removecmdfileescapes ) \ 46 StringProcessor( fms##bufstr ).removeCmdFileEscapes(); \ 48 FileMultiString fms( fms##bufstr.buf() ); 51 #define mStripOuterBrackets( name, context ) \ 52 StringProcessor(name).stripOuterBrackets( \ 53 StringProcessor::context##VoidBeginBrackets(), \ 54 StringProcessor::context##VoidEndBrackets() ) 57 #define mDressString( name, context, cleanup ) \ 60 StringProcessor(name).cleanUp(); \ 61 while ( mStripOuterBrackets(name, sDress) ) ; \ 62 StringProcessor(name).addCmdFileEscapes( \ 63 StringProcessor::context##EscSymbols() ); \ 66 #define mDressNameString( name, context ) \ 67 mDressString( name, context, true ); 69 #define mDressUserInputString( name, context ) \ 70 mDressString( name, context, false ); 73 #define mIsSymbol(chr) ( !iswalnum(chr) && !iswspace(chr) ) 76 #define mGetColorString( color, isvalid, colorstr ) \ 78 FileMultiString colorstr; \ 79 colorstr += isvalid ? (int) color.r() : 255; \ 80 colorstr += isvalid ? (int) color.g() : 255; \ 81 colorstr += isvalid ? (int) color.b() : 255; \ 82 colorstr += isvalid ? (int) color.t() : 255; \ 85 #define mUnscope( identstr, unscopedstr ) \ 86 const char* unscopedstr = *identstr=='@' ? identstr+1 : identstr; 93 : constptr_(bs.buf()), bufstr_(&bs)
97 : constptr_(ss.buf()), bufstr_(&ss.rep())
101 : constptr_(str), bufstr_(0)
104 const char* parseDQuoted(
BufferString& unquotedstr)
const;
105 int consecutiveDQuoted(
const char** remnant=0)
const;
106 int nrDQuotes()
const;
108 const char* parseBracketed(
BufferString& unbracketedstr,
109 char begin=
'[',
char end=
']')
const;
111 int removeNumAppendix();
112 bool removeTokenAppendix(
char token);
115 const char* findAssignment(
const char* tokens=
"=")
const;
118 bool convertToInt(
int* =0)
const;
119 bool convertToDouble(
double* =0)
const;
124 void makeDirSepIndep(
int startpos=-1);
126 void addCmdFileEscapes(
const char* extraescapesymbols=0);
127 bool isEscapedSymbol(
const char*)
const;
128 void removeCmdFileEscapes();
129 void addFileMultiStrEscapes();
131 const char* getCharElement(
int idx)
const;
132 int nrCharElements()
const;
133 void appendCharElements(
const char* tail);
135 void filterAmpersands();
136 void capitalize(
bool yn=
true);
138 void removeExtraSpace();
139 void removeTrailingDots();
142 char stripOuterBrackets(
const char* beginsymbols,
143 const char* endsymbols);
145 const char*
buf()
const {
return constptr_; }
182 bool moveToTop(
const uiMainWin*);
183 bool moveFrameToTop(
const uiMainWin*);
185 const uiMainWin* topWin(
bool ignorecmddriverwins=
false)
const;
190 bool moveToTopWithoutSync(
const uiMainWin*);
226 bool isValid()
const {
return uiobj_ || uiact_; }
229 const uiAction*
action()
const {
return uiact_; }
231 bool visible()
const;
232 bool sensitive()
const;
234 const char* name()
const;
235 const char* toolTip()
const;
238 const uiMenu* menu()
const;
bool wait_
Definition: cmddriverbasics.h:205
uiString infotext_
Definition: cmddriverbasics.h:211
#define mExpClass(module)
Definition: commondefs.h:157
User interface main window.
Definition: uimainwin.h:34
uiString cancelbuttext_
Definition: cmddriverbasics.h:210
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
bool isCmdDriverWindow(const uiMainWin *)
Definition of a mouse cursor, can be either a predefined shape (from the enum, or a file...
Definition: mousecursor.h:24
uiString dlgtitle_
Definition: cmddriverbasics.h:208
StringProcessor(SeparString &ss)
Definition: cmddriverbasics.h:96
Command Drive
Definition: canvascommands.h:20
Shape
Definition: mousecursor.h:55
const char * constptr_
Definition: cmddriverbasics.h:164
#define mGlobal(module)
Definition: commondefs.h:160
InteractSpec(bool wait=true)
Definition: cmddriverbasics.h:199
static const char * sDressVoidEndBrackets()
Definition: cmddriverbasics.h:160
const char * controllerTitle()
StringProcessor(const char *str)
Definition: cmddriverbasics.h:100
uiString okbuttext_
Definition: cmddriverbasics.h:209
const char * buf() const
Definition: cmddriverbasics.h:145
const char * windowTitle(const uiMainWin *applwin, const uiMainWin *uimw, int aliasnr=0)
List encoded in a string.
Definition: separstr.h:32
The base class for most UI elements.
Definition: uiobj.h:35
static const char * sWinNameEscSymbols()
Definition: cmddriverbasics.h:148
Definition: uistring.h:88
Definition: uiparent.h:24
static const char * sMatchVoidBeginBrackets()
Definition: cmddriverbasics.h:156
SeparString with backquotes as separators, use in most ascii files.
Definition: separstr.h:131
static const char * sWinAssertEscSymbols()
Definition: cmddriverbasics.h:147
MouseCursor::Shape cursorshape_
Definition: cmddriverbasics.h:207
const uiMainWin * launchpad_
Definition: cmddriverbasics.h:206
static const char * sInputStrEscSymbols()
Definition: cmddriverbasics.h:153
Definition: cmddriverbasics.h:196
const uiAction * action() const
Definition: cmddriverbasics.h:229
static const char * sItemNameEscSymbols()
Definition: cmddriverbasics.h:152
const uiObject * uiobj_
Definition: cmddriverbasics.h:244
const uiAction * uiact_
Definition: cmddriverbasics.h:245
static const char * sMatchVoidEndBrackets()
Definition: cmddriverbasics.h:157
static const char * sMenuPathEscSymbols()
Definition: cmddriverbasics.h:150
const uiObject * object() const
Definition: cmddriverbasics.h:228
static const char * sDressVoidBeginBrackets()
Definition: cmddriverbasics.h:159
Convenience class UIEntity offers access to shared functionality of uiAction and uiObject, given their base class CallBacker. Since toolbar buttons are no longer uiToolButtons but uiActions, unspecified UI objects have to be passed as CallBackers.
Definition: cmddriverbasics.h:221
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
BufferString * bufstr_
Definition: cmddriverbasics.h:165
bool isValid() const
Definition: cmddriverbasics.h:226
uiString resumetext_
Definition: cmddriverbasics.h:212
WindowStack()
Definition: cmddriverbasics.h:180
Definition: cmddriverbasics.h:177
static const char * sTreePathEscSymbols()
Definition: cmddriverbasics.h:151
Definition: cmddriverbasics.h:89
StringProcessor(BufferString &bs)
Definition: cmddriverbasics.h:92
static const char * sKeyStrEscSymbols()
Definition: cmddriverbasics.h:149
const uiString controllerUiTitle()
ObjectSet< const uiMainWin > winstack_
Definition: cmddriverbasics.h:192
static const char * sAllEscSymbols()
Definition: cmddriverbasics.h:154