Declare WXVARIANT template specialization to assign wxFontData to wxVariant
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user