From 8b51786f6e56a7d8517107c8b497f0ddb07696ad Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Sat, 21 Jul 2007 23:24:10 +0000
Subject: [PATCH] added wxTo/FromString(wxColour) (part of patch 1753875)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/function.tex | 17 +++++++++++++++++
 include/wx/colour.h        |  5 +++++
 src/common/colourcmn.cpp   | 22 ++++++++++++++++++++++
 3 files changed, 44 insertions(+)

diff --git a/docs/latex/wx/function.tex b/docs/latex/wx/function.tex
index 18632a6856..3c70a4f6bf 100644
--- a/docs/latex/wx/function.tex
+++ b/docs/latex/wx/function.tex
@@ -3261,6 +3261,15 @@ Find the deepest window at the mouse pointer position, returning the window
 and current pointer position in screen coordinates.
 
 
+\membersection{wxFromString}\label{wxfromstring}
+
+\func{bool} {wxFromString}{\param{const wxString\& }{str},
+                           \param{wxColourBase* }{col}}
+
+Converts string to the type of the second argument. Returns \true on success.
+See also: \helpref{wxToString}{wxtostring}.
+
+
 \membersection{::wxGetActiveWindow}\label{wxgetactivewindow}
 
 \func{wxWindow *}{wxGetActiveWindow}{\void}
@@ -3576,6 +3585,14 @@ class name internally. Example of using the macro:
 Notice that there should be no semicolon after this macro.
 
 
+\membersection{wxToString}\label{wxtostring}
+
+\func{wxString} {wxToString}{\param{const wxColourBase\& }{col}}
+
+Converts its argument to string.
+See also: \helpref{wxFromString}{wxfromstring}.
+
+
 \membersection{wxULL}\label{wxull}
 
 \func{wxLongLong\_t}{wxULL}{\param{}{number}}
diff --git a/include/wx/colour.h b/include/wx/colour.h
index ecce9a4943..afe6371475 100644
--- a/include/wx/colour.h
+++ b/include/wx/colour.h
@@ -122,6 +122,11 @@ protected:
 };
 
 
+// wxColour <-> wxString utilities, used by wxConfig, defined in colourcmn.cpp
+WXDLLIMPEXP_CORE wxString wxToString(const wxColourBase& col);
+WXDLLIMPEXP_CORE bool wxFromString(const wxString& str, wxColourBase* col);
+
+
 
 #if defined(__WXPALMOS__)
     #include "wx/generic/colour.h"
diff --git a/src/common/colourcmn.cpp b/src/common/colourcmn.cpp
index 4868f808f2..99243dd383 100644
--- a/src/common/colourcmn.cpp
+++ b/src/common/colourcmn.cpp
@@ -163,3 +163,25 @@ void wxColourBase::InitFromName(const wxString& col)
 }
 
 #endif // WXWIN_COMPATIBILITY_2_6
+
+// wxColour <-> wxString utilities, used by wxConfig
+wxString wxToString(const wxColourBase& col)
+{
+    return col.IsOk() ? col.GetAsString(wxC2S_CSS_SYNTAX)
+                      : wxString();
+}
+
+bool wxFromString(const wxString& str, wxColourBase *col)
+{
+    wxCHECK_MSG( col, false, _T("NULL output parameter") );
+
+    if ( str.empty() )
+    {
+        *col = wxNullColour;
+        return true;
+    }
+
+    return col->Set(str);
+}
+
+
-- 
2.50.0

