Add support for CURRENCY and SCODE to MSW OLE helpers.
This allows to call OLE Automation methods taking parameters or returning values of these types. Closes #14225. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72081 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -237,6 +237,58 @@ private:
|
||||
// Convert variants
|
||||
class WXDLLIMPEXP_FWD_BASE wxVariant;
|
||||
|
||||
// wrapper for CURRENCY type used in VARIANT (VARIANT.vt == VT_CY)
|
||||
class WXDLLIMPEXP_CORE wxVariantDataCurrency : public wxVariantData
|
||||
{
|
||||
public:
|
||||
wxVariantDataCurrency() { VarCyFromR8(0.0, &m_value); }
|
||||
wxVariantDataCurrency(CURRENCY value) { m_value = value; }
|
||||
|
||||
CURRENCY GetValue() const { return m_value; }
|
||||
void SetValue(CURRENCY 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 wxVariantDataCurrency(m_value); }
|
||||
virtual wxString GetType() const { return wxS("currency"); }
|
||||
|
||||
DECLARE_WXANY_CONVERSION()
|
||||
|
||||
private:
|
||||
CURRENCY m_value;
|
||||
};
|
||||
|
||||
|
||||
// wrapper for SCODE type used in VARIANT (VARIANT.vt == VT_ERROR)
|
||||
class WXDLLIMPEXP_CORE wxVariantDataErrorCode : public wxVariantData
|
||||
{
|
||||
public:
|
||||
wxVariantDataErrorCode(SCODE value = S_OK) { m_value = value; }
|
||||
|
||||
SCODE GetValue() const { return m_value; }
|
||||
void SetValue(SCODE 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 wxVariantDataErrorCode(m_value); }
|
||||
virtual wxString GetType() const { return wxS("errorcode"); }
|
||||
|
||||
DECLARE_WXANY_CONVERSION()
|
||||
|
||||
private:
|
||||
SCODE m_value;
|
||||
};
|
||||
|
||||
WXDLLIMPEXP_CORE bool wxConvertVariantToOle(const wxVariant& variant, VARIANTARG& oleVariant);
|
||||
WXDLLIMPEXP_CORE bool wxConvertOleToVariant(const VARIANTARG& oleVariant, wxVariant& variant);
|
||||
#endif // wxUSE_VARIANT
|
||||
|
Reference in New Issue
Block a user