X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/16b627b06aafdca62f712519935224272f6945b3..93fdbfb70d67459f5b284ee9ca7061aeffee26d3:/include/wx/cmdline.h diff --git a/include/wx/cmdline.h b/include/wx/cmdline.h index c8f140d720..1ab9966364 100644 --- a/include/wx/cmdline.h +++ b/include/wx/cmdline.h @@ -19,6 +19,13 @@ #include "wx/arrstr.h" #include "wx/cmdargs.h" +// determines ConvertStringToArgs() behaviour +enum wxCmdLineSplitType +{ + wxCMD_LINE_SPLIT_DOS, + wxCMD_LINE_SPLIT_UNIX +}; + #if wxUSE_CMDLINE_PARSER class WXDLLIMPEXP_FWD_BASE wxDateTime; @@ -29,7 +36,7 @@ class WXDLLIMPEXP_FWD_BASE wxDateTime; // by default, options are optional (sic) and each call to AddParam() allows // one more parameter - this may be changed by giving non-default flags to it -enum +enum wxCmdLineEntryFlags { wxCMD_LINE_OPTION_MANDATORY = 0x01, // this option must be given wxCMD_LINE_PARAM_OPTIONAL = 0x02, // the parameter may be omitted @@ -55,6 +62,7 @@ enum wxCmdLineEntryType wxCMD_LINE_SWITCH, wxCMD_LINE_OPTION, wxCMD_LINE_PARAM, + wxCMD_LINE_USAGE_TEXT, wxCMD_LINE_NONE // to terminate the list }; @@ -178,6 +186,9 @@ public: wxCmdLineParamType type = wxCMD_LINE_VAL_STRING, int flags = 0); + // add an explanatory text to be shown to the user in help + void AddUsageText(const wxString& text); + // actions // ------- @@ -229,7 +240,9 @@ public: void Reset(); // break down the command line in arguments - static wxArrayString ConvertStringToArgs(const wxString& cmdline); + static wxArrayString + ConvertStringToArgs(const wxString& cmdline, + wxCmdLineSplitType type = wxCMD_LINE_SPLIT_DOS); private: // common part of all ctors @@ -237,7 +250,7 @@ private: struct wxCmdLineParserData *m_data; - DECLARE_NO_COPY_CLASS(wxCmdLineParser) + wxDECLARE_NO_COPY_CLASS(wxCmdLineParser); }; #else // !wxUSE_CMDLINE_PARSER @@ -247,10 +260,11 @@ private: class WXDLLIMPEXP_BASE wxCmdLineParser { public: - static wxArrayString ConvertStringToArgs(const wxString& cmdline); + static wxArrayString + ConvertStringToArgs(const wxString& cmdline, + wxCmdLineSplitType type = wxCMD_LINE_SPLIT_DOS); }; #endif // wxUSE_CMDLINE_PARSER/!wxUSE_CMDLINE_PARSER #endif // _WX_CMDLINE_H_ -