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); +} + +