X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/153107b4021fe0e6c3ad2ed510d3225f138eee83..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/variant.h diff --git a/include/wx/variant.h b/include/wx/variant.h index 671db18c65..39adc729b9 100644 --- a/include/wx/variant.h +++ b/include/wx/variant.h @@ -4,7 +4,6 @@ // Author: Julian Smart // Modified by: // Created: 10/09/98 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -230,6 +229,26 @@ public: inline operator wxString () const { return MakeString(); } wxString GetString() const; +#if wxUSE_STD_STRING + wxVariant(const std::string& val, const wxString& name = wxEmptyString); + bool operator==(const std::string& value) const + { return operator==(wxString(value)); } + bool operator!=(const std::string& value) const + { return operator!=(wxString(value)); } + wxVariant& operator=(const std::string& value) + { return operator=(wxString(value)); } + operator std::string() const { return (operator wxString()).ToStdString(); } + + wxVariant(const wxStdWideString& val, const wxString& name = wxEmptyString); + bool operator==(const wxStdWideString& value) const + { return operator==(wxString(value)); } + bool operator!=(const wxStdWideString& value) const + { return operator!=(wxString(value)); } + wxVariant& operator=(const wxStdWideString& value) + { return operator=(wxString(value)); } + operator wxStdWideString() const { return (operator wxString()).ToStdWstring(); } +#endif // wxUSE_STD_STRING + // wxUniChar wxVariant(const wxUniChar& val, const wxString& name = wxEmptyString); wxVariant(const wxUniCharRef& val, const wxString& name = wxEmptyString); @@ -342,6 +361,24 @@ public: #if wxUSE_LONGLONG bool Convert(wxLongLong* value) const; bool Convert(wxULongLong* value) const; + #ifdef wxLongLong_t + bool Convert(wxLongLong_t* value) const + { + wxLongLong temp; + if ( !Convert(&temp) ) + return false; + *value = temp.GetValue(); + return true; + } + bool Convert(wxULongLong_t* value) const + { + wxULongLong temp; + if ( !Convert(&temp) ) + return false; + *value = temp.GetValue(); + return true; + } + #endif // wxLongLong_t #endif // wxUSE_LONGLONG // Attributes @@ -424,9 +461,6 @@ wxVariantData* CLASSNAME::VariantDataFactory(const wxAny& any) \ } \ REGISTER_WXANY_CONVERSION(T, CLASSNAME) -// This is needed for wxVariantList conversion -WX_DECLARE_LIST_WITH_DECL(wxAny, wxAnyList, class WXDLLIMPEXP_BASE); - #else // if !wxUSE_ANY #define DECLARE_WXANY_CONVERSION() @@ -535,7 +569,11 @@ bool classname##VariantData::Eq(wxVariantData& data) const \ var.GetWxObjectPtr() : NULL)); // Replacement for using wxDynamicCast on a wxVariantData object -#define wxDynamicCastVariantData(data, classname) dynamic_cast(data) +#ifndef wxNO_RTTI + #define wxDynamicCastVariantData(data, classname) dynamic_cast(data) +#endif + +#define wxStaticCastVariantData(data, classname) static_cast(data) extern wxVariant WXDLLIMPEXP_BASE wxNullVariant;