int wxSystemColourProperty::ColToInd( const wxColour& colour ) const
{
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++ )
{
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 = ColToInd(col);
- if ( ind == wxNOT_FOUND )
+ if ( ind == wxNOT_FOUND &&
+ !(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) )
ind = GetCustomColourIndex();
}
// If custom colour was selected, use invalid index, so that
// ColourToString() will return properly formatted colour text.
- if ( index == GetCustomColourIndex() )
+ if ( index == GetCustomColourIndex() &&
+ !(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) )
index = wxNOT_FOUND;
}
else
colourRGB.clear();
if ( colourRGB.length() == 0 && m_choices.GetCount() &&
+ !(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) &&
colourName == m_choices.GetLabel(GetCustomColourIndex()) )
{
if ( !(argFlags & wxPG_EDITABLE_VALUE ))