X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6c32fb8f9d6d2506f1dedf14d0eae8d4e30c4cc0..a7689c49fe02c0c065facf736ab28b19f5997b7c:/include/wx/msw/ole/oleutils.h?ds=sidebyside diff --git a/include/wx/msw/ole/oleutils.h b/include/wx/msw/ole/oleutils.h index 257025d7fb..37cbd5fb9e 100644 --- a/include/wx/msw/ole/oleutils.h +++ b/include/wx/msw/ole/oleutils.h @@ -289,6 +289,35 @@ private: SCODE m_value; }; +// wrapper for SAFEARRAY, used for passing multidimensional arrays in wxVariant +class WXDLLIMPEXP_CORE wxVariantDataSafeArray : public wxVariantData +{ +public: + wxEXPLICIT wxVariantDataSafeArray(SAFEARRAY* value = NULL) + { + m_value = value; + } + + SAFEARRAY* GetValue() const { return m_value; } + void SetValue(SAFEARRAY* value) { m_value = value; } + + virtual bool Eq(wxVariantData& data) const; + +#if wxUSE_STD_IOSTREAM + virtual bool Write(wxSTD ostream& str) const; +#endif + virtual bool Write(wxString& str) const; + + wxVariantData* Clone() const { return new wxVariantDataSafeArray(m_value); } + virtual wxString GetType() const { return wxS("safearray"); } + + DECLARE_WXANY_CONVERSION() + +private: + SAFEARRAY* m_value; +}; + + WXDLLIMPEXP_CORE bool wxConvertVariantToOle(const wxVariant& variant, VARIANTARG& oleVariant); WXDLLIMPEXP_CORE bool wxConvertOleToVariant(const VARIANTARG& oleVariant, wxVariant& variant); #endif // wxUSE_VARIANT