Declare WXVARIANT template specialization to assign wxFontData to wxVariant

This commit is contained in:
Artur Wieczorek
2019-07-07 23:32:11 +02:00
parent 21f9329836
commit 894c69c0cd

View File

@@ -45,6 +45,13 @@ bool operator == (const wxFontData&, const wxFontData&)
return false; return false;
} }
template<> inline wxVariant WXVARIANT(const wxFontData& value)
{
wxVariant variant;
variant << value;
return variant;
}
// Custom version of wxFontProperty that also holds colour in the value. // Custom version of wxFontProperty that also holds colour in the value.
// Original version by Vladimir Vainer. // Original version by Vladimir Vainer.
@@ -66,7 +73,7 @@ wxFontDataProperty::wxFontDataProperty( const wxString& label, const wxString& n
// Set initial value - should be done in a simpler way like this // Set initial value - should be done in a simpler way like this
// (instead of calling SetValue) in derived (wxObject) properties. // (instead of calling SetValue) in derived (wxObject) properties.
m_value_wxFontData << fontData; m_value_wxFontData = WXVARIANT(fontData);
// Add extra children. // Add extra children.
AddPrivateChild( new wxColourProperty("Colour", wxPG_LABEL, AddPrivateChild( new wxColourProperty("Colour", wxPG_LABEL,
@@ -95,9 +102,7 @@ void wxFontDataProperty::OnSetValue()
{ {
fontData.SetColour(*wxBLACK); fontData.SetColour(*wxBLACK);
} }
wxVariant variant; m_value_wxFontData = WXVARIANT(fontData);
variant << fontData;
m_value_wxFontData = variant;
} }
else else
{ {
@@ -143,7 +148,7 @@ bool wxFontDataProperty::DisplayEditorDialog(wxPropertyGrid* pg, wxVariant& valu
if ( dlg.ShowModal() == wxID_OK ) if ( dlg.ShowModal() == wxID_OK )
{ {
value << dlg.GetFontData(); value = WXVARIANT(dlg.GetFontData());
return true; return true;
} }
return false; return false;
@@ -183,8 +188,7 @@ wxVariant wxFontDataProperty::ChildChanged( wxVariant& thisValue,
fontData.SetChosenFont(font); fontData.SetChosenFont(font);
} }
wxVariant newVariant; wxVariant newVariant = WXVARIANT(fontData);
newVariant << fontData;
return newVariant; return newVariant;
} }