Further fixes to colour properties that use wxPG_COLOUR_ALLOW_CUSTOM attribute
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
ece5e6a47a
commit
5f7c24e2ff
@ -1030,7 +1030,10 @@ wxVariant wxSystemColourProperty::DoTranslateVal( wxColourPropertyValue& v ) con
|
|||||||
int wxSystemColourProperty::ColToInd( const wxColour& colour ) const
|
int wxSystemColourProperty::ColToInd( const wxColour& colour ) const
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
size_t i_max = m_choices.GetCount() - 1;
|
size_t i_max = m_choices.GetCount();
|
||||||
|
|
||||||
|
if ( !(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) )
|
||||||
|
i_max -= 1;
|
||||||
|
|
||||||
for ( i=0; i<i_max; i++ )
|
for ( i=0; i<i_max; i++ )
|
||||||
{
|
{
|
||||||
@ -1088,7 +1091,8 @@ void wxSystemColourProperty::OnSetValue()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( cpv.m_type < wxPG_COLOUR_WEB_BASE )
|
if ( cpv.m_type < wxPG_COLOUR_WEB_BASE ||
|
||||||
|
(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) )
|
||||||
{
|
{
|
||||||
ind = GetIndexForValue(cpv.m_type);
|
ind = GetIndexForValue(cpv.m_type);
|
||||||
}
|
}
|
||||||
@ -1112,7 +1116,8 @@ void wxSystemColourProperty::OnSetValue()
|
|||||||
|
|
||||||
ind = ColToInd(col);
|
ind = ColToInd(col);
|
||||||
|
|
||||||
if ( ind == wxNOT_FOUND )
|
if ( ind == wxNOT_FOUND &&
|
||||||
|
!(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) )
|
||||||
ind = GetCustomColourIndex();
|
ind = GetCustomColourIndex();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1151,7 +1156,8 @@ wxString wxSystemColourProperty::ValueToString( wxVariant& value,
|
|||||||
|
|
||||||
// If custom colour was selected, use invalid index, so that
|
// If custom colour was selected, use invalid index, so that
|
||||||
// ColourToString() will return properly formatted colour text.
|
// ColourToString() will return properly formatted colour text.
|
||||||
if ( index == GetCustomColourIndex() )
|
if ( index == GetCustomColourIndex() &&
|
||||||
|
!(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) )
|
||||||
index = wxNOT_FOUND;
|
index = wxNOT_FOUND;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1358,6 +1364,7 @@ bool wxSystemColourProperty::StringToValue( wxVariant& value, const wxString& te
|
|||||||
colourRGB.clear();
|
colourRGB.clear();
|
||||||
|
|
||||||
if ( colourRGB.length() == 0 && m_choices.GetCount() &&
|
if ( colourRGB.length() == 0 && m_choices.GetCount() &&
|
||||||
|
!(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) &&
|
||||||
colourName == m_choices.GetLabel(GetCustomColourIndex()) )
|
colourName == m_choices.GetLabel(GetCustomColourIndex()) )
|
||||||
{
|
{
|
||||||
if ( !(argFlags & wxPG_EDITABLE_VALUE ))
|
if ( !(argFlags & wxPG_EDITABLE_VALUE ))
|
||||||
|
Loading…
Reference in New Issue
Block a user