X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b1859b1a1b35194abb9d55a35d8bad202db39776..9ab7ff537d1ead0f0b07c14841474203c7fa59ba:/include/wx/cmdline.h diff --git a/include/wx/cmdline.h b/include/wx/cmdline.h index 8df967be96..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 // ------- @@ -192,6 +203,9 @@ public: // give the usage message describing all program options void Usage() const; + // return the usage string, call Usage() to directly show it to the user + wxString GetUsageString() const; + // get the command line arguments // ------------------------------ @@ -226,18 +240,17 @@ 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: - // get usage string - wxString GetUsageString() const; - // common part of all ctors void Init(); 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_ -