From 7d90da2b4c677a3a1eeaab1b5991566a5d515368 Mon Sep 17 00:00:00 2001
From: Robert Roebling <robert@roebling.de>
Date: Sun, 17 Sep 2006 10:59:18 +0000
Subject: [PATCH]   Applied [ 1555974 ] small wxURL improvements

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/uri.tex |  6 +++++-
 docs/latex/wx/url.tex | 40 ++++++++++++++++++++++++++++++++++------
 include/wx/url.h      |  8 +++++++-
 3 files changed, 46 insertions(+), 8 deletions(-)

diff --git a/docs/latex/wx/uri.tex b/docs/latex/wx/uri.tex
index b81c247ac0..ee47d04936 100644
--- a/docs/latex/wx/uri.tex
+++ b/docs/latex/wx/uri.tex
@@ -36,6 +36,10 @@ furthur functionality.
 
 <wx/uri.h>
 
+\wxheading{See also}
+
+\helpref{wxURL}{wxurl}
+
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 \membersection{Obtaining individual components}\label{obtainingwxuricomponents}
@@ -46,7 +50,7 @@ one of the following methods
 \helpref{GetScheme}{wxurigetscheme}\\
 \helpref{GetUserInfo}{wxurigetuserinfo}\\
 \helpref{GetServer}{wxurigetserver}\\
-\helpref{GetPort}{wxurigetserver}\\
+\helpref{GetPort}{wxurigetport}\\
 \helpref{GetPath}{wxurigetpath}\\
 \helpref{GetQuery}{wxurigetquery}\\
 \helpref{GetFragment}{wxurigetfragment}
diff --git a/docs/latex/wx/url.tex b/docs/latex/wx/url.tex
index 562291e109..4262d67780 100644
--- a/docs/latex/wx/url.tex
+++ b/docs/latex/wx/url.tex
@@ -1,13 +1,16 @@
 \section{\class{wxURL}}\label{wxurl}
 
-Parses URLs.
+wxURL is a specialization of \helpref{wxURI}{wxuri} for parsing URLs.
+Please look at \helpref{wxURI}{wxuri} documentation for more info about the functions
+you can use to retrieve the various parts of the URL (scheme, server, port, etc).
 
 Supports standard assignment operators, copy constructors,
 and comparison operators.
 
 \wxheading{Derived from}
 
-\helpref{wxURI}{wxuri}
+\helpref{wxURI}{wxuri}\\
+\helpref{wxObject}{wxobject}
 
 \wxheading{Include files}
 
@@ -25,13 +28,16 @@ and comparison operators.
 
 \membersection{wxURL::wxURL}\label{wxurlctor}
 
-\func{}{wxURL}{\param{const wxString\&}{ url}}
+\func{}{wxURL}{\param{const wxString\&}{ url = wxEmptyString}}
 
 Constructs a URL object from the string.  The URL must be valid according
 to RFC 1738.  In particular, file URLs must be of the format
-'file://hostname/path/to/file'.  It is valid to leave out the hostname
-but slashes must remain in place-- i.e. a file URL without a hostname must
-contain three consecutive slashes.
+{\tt file://hostname/path/to/file} otherwise \helpref{GetError}{wxurlgeterror}
+will return a value different from {\tt wxURL_NOERR}.
+
+It is valid to leave out the hostname but slashes must remain in place - 
+i.e. a file URL without a hostname must contain three consecutive slashes 
+(e.g. {\tt file:///somepath/myfile}).
 
 \wxheading{Parameters}
 
@@ -108,6 +114,18 @@ Returns the initialized stream. You will have to delete it yourself.
 
 \helpref{wxInputStream}{wxinputstream}
 
+
+%
+% IsOk
+%
+\membersection{wxURL::IsOk}\label{wxurlgetisok}
+
+\constfunc{bool}{IsOk}{\void}
+
+Returns \true if this object is correctly initialized, i.e. if 
+\helpref{GetError}{wxurlgeterror} returns {\tt wxURL_NOERR}.
+
+
 %
 % SetDefaultProxy
 %
@@ -139,3 +157,13 @@ Sets the proxy to use for this URL.
 
 \helpref{wxURL::SetDefaultProxy}{wxurlsetdefaultproxy}
 
+
+%
+% SetURL
+%
+\membersection{wxURL::SetURL}\label{wxurlseturl}
+
+\func{wxURLError}{SetURL}{\param{const wxString\&}{ url}}
+
+Initializes this object with the given URL and returns {\tt wxURL_NOERR}
+if it's valid (see \helpref{GetError}{wxurlgeterror} for more info).
diff --git a/include/wx/url.h b/include/wx/url.h
index 761ba79b2d..5b350d99fb 100644
--- a/include/wx/url.h
+++ b/include/wx/url.h
@@ -47,7 +47,7 @@ public:
 class WXDLLIMPEXP_NET wxURL : public wxURI
 {
 public:
-    wxURL(const wxString& sUrl);
+    wxURL(const wxString& sUrl = wxEmptyString);
     wxURL(const wxURI& url);
     virtual ~wxURL();
 
@@ -58,6 +58,12 @@ public:
     wxURLError GetError() const      { return m_error; }
     wxString GetURL() const          { return m_url; }
 
+    wxURLError SetURL(const wxString &url)
+        { *this = url; return m_error; }
+
+    bool IsOk() const
+        { return m_error == wxURL_NOERR; }
+
     wxInputStream *GetInputStream();
 
 #if wxUSE_PROTOCOL_HTTP
-- 
2.50.0

