]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wxHtmlTag::GetParamAsString() convenience method.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Sep 2013 23:48:38 +0000 (23:48 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Sep 2013 23:48:38 +0000 (23:48 +0000)
This is more convenient to use than HasParam() + GetParam() and also slightly
more efficient as we search for the tag name only once.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/html/htmltag.h
interface/wx/html/htmltag.h
src/html/htmltag.cpp

index 1eef4dd9434492f6392216e7c7896370f06bf5e0..e260d24c220a0d9a5c12280aebf7c1d642b2c16a 100644 (file)
@@ -579,6 +579,7 @@ All (GUI):
 - wxPropertyGrid: improve composite flags handling (Jens Lody).
 - Don't crash laying out wxGridBagSizer with only hidden elements (briceandre).
 - Fix alignment and transparency of bitmaps in wxDataViewCtrl (Eric Jensen).
+- Add wxHtmlTag::GetParamAsString() convenience method.
 
 wxGTK:
 
index 99d15ee6ff0acfa68e1ef9d3b50c7a2030bdcbc8..f7b4f9b5b075866dcb59bdcfdc02680e6ae4b525 100644 (file)
@@ -101,6 +101,7 @@ public:
     static bool ParseAsColour(const wxString& str, wxColour *clr);
 
     // Convenience functions:
+    bool GetParamAsString(const wxString& par, wxString *str) const;
     bool GetParamAsColour(const wxString& par, wxColour *clr) const;
     bool GetParamAsInt(const wxString& par, int *clr) const;
     bool GetParamAsIntOrPercent(const wxString& param,
index 6f88e3b00bc8f7018510b5db5be21ce0debd29c2..11df3f401e768f310d3eb4c69036215646bde93e 100644 (file)
@@ -78,8 +78,11 @@ public:
     wxString GetName() const;
 
     /**
-        Returns the value of the parameter. You should check whether the
-        parameter exists or not (use wxHtmlTag::HasParam) first.
+        Returns the value of the parameter.
+
+        You should check whether the parameter exists or not (use
+        wxHtmlTag::HasParam) first or use GetParamAsString() if you need to
+        distinguish between non-specified and empty parameter values.
 
         @param par
             The parameter's name.
@@ -121,6 +124,22 @@ public:
     */
     bool GetParamAsInt(const wxString& par, int* value) const;
 
+    /**
+        Get the value of the parameter.
+
+        If the tag doesn't have such parameter at all, simply returns @false.
+        Otherwise, fills @a value with the parameter value and returns @true.
+
+        @param par
+            The parameter's name.
+        @param value
+            Pointer to the string to be filled with the parameter value, must
+            be non-@NULL.
+
+        @since 3.0
+     */
+    bool GetParamAsString(const wxString& par, wxString* value) const;
+
     /**
         Returns @true if this tag is paired with ending tag, @false otherwise.
         See the example of HTML document:
index 574b01006e9151b64b092a2f7ba92c46b64fbf94..d507d5373a48f60e1ac4f0a563ee72b4163d4911 100644 (file)
@@ -511,6 +511,19 @@ wxString wxHtmlTag::GetParam(const wxString& par, bool with_quotes) const
         return m_ParamValues[index];
 }
 
+bool wxHtmlTag::GetParamAsString(const wxString& par, wxString *str) const
+{
+    wxCHECK_MSG( str, false, wxT("NULL output string argument") );
+
+    int index = m_ParamNames.Index(par, false);
+    if (index == wxNOT_FOUND)
+        return false;
+
+    *str = m_ParamValues[index];
+
+    return true;
+}
+
 int wxHtmlTag::ScanParam(const wxString& par,
                          const char *format,
                          void *param) const