]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cmdline.h
updating fixed config data for xcode builds for gcc 4.0 and 10.4 sdk as minimum envir...
[wxWidgets.git] / include / wx / cmdline.h
index 8df967be960b83f35040763147b3f502684fa524..10bf956eb0052af0cf0127481b53e97ca95acdc1 100644 (file)
 #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;
@@ -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,12 +240,11 @@ 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();
 
@@ -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_
-