+// ----------------------------------------------------------------------------
+// Represents a type used as argument for some wxMethod
+// ----------------------------------------------------------------------------
+class wxArgumentType : public wxType
+{
+public:
+ wxArgumentType() {}
+ wxArgumentType(const wxString& type, const wxString& defVal,
+ const wxString& argName = wxEmptyString)
+ { SetTypeFromString(type); SetDefaultValue(defVal); m_strArgName = argName; }
+
+ void SetArgumentName(const wxString& name)
+ { m_strArgName=name.Strip(wxString::both); }
+ wxString GetArgumentName() const
+ { return m_strArgName; }
+
+ void SetDefaultValue(const wxString& defval);
+ wxString GetDefaultValue() const
+ { return m_strDefaultValue; }
+
+ bool operator==(const wxArgumentType& m) const;
+ bool operator!=(const wxArgumentType& m) const
+ { return !(*this == m); }
+
+protected:
+ wxString m_strDefaultValue;
+ wxString m_strArgName; // this one only makes sense when this wxType is
+ // used as argument type (and not as return type)
+ // and can be empty.
+};
+
+extern wxArgumentType wxEmptyArgumentType;
+WX_DECLARE_OBJARRAY(wxArgumentType, wxArgumentTypeArray);
+