git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56480
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
int GetValue() const { return m_value; }
int GetValue() const { return m_value; }
- bool HasValue() const { return (m_value != wxPG_INVALID_VALUE); }
-
protected:
int m_value;
};
protected:
int m_value;
};
Each entry can have label, value, bitmap, text colour, and background
colour.
Each entry can have label, value, bitmap, text colour, and background
colour.
+ @remarks If you do not specify value for entry, index is used.
+
@library{wxpropgrid}
@category{propgrid}
*/
@library{wxpropgrid}
@category{propgrid}
*/
+ /**
+ Constructor.
+
+ @param labels
+ Labels for choices
+
+ @param values
+ Values for choices. If NULL, indexes are used.
+ */
wxPGChoices( const wxChar** labels, const long* values = NULL )
{
Init();
Set(labels,values);
}
wxPGChoices( const wxChar** labels, const long* values = NULL )
{
Init();
Set(labels,values);
}
+ /**
+ Constructor.
+
+ @param labels
+ Labels for choices
+
+ @param values
+ Values for choices. If empty, indexes are used.
+ */
wxPGChoices( const wxArrayString& labels,
const wxArrayInt& values = wxArrayInt() )
{
wxPGChoices( const wxArrayString& labels,
const wxArrayInt& values = wxArrayInt() )
{
If did not have own copies, creates them now. If was empty, identical
to set except that creates copies.
If did not have own copies, creates them now. If was empty, identical
to set except that creates copies.
+
+ @param labels
+ Labels for added choices.
+
+ @param values
+ Values for added choices. If empty, relevant entry indexes are used.
*/
void Add( const wxChar** labels, const ValArrItem* values = NULL );
*/
void Add( const wxChar** labels, const ValArrItem* values = NULL );
/** Version that works with wxArrayString and wxArrayInt. */
void Add( const wxArrayString& arr, const wxArrayInt& arrint );
/** Version that works with wxArrayString and wxArrayInt. */
void Add( const wxArrayString& arr, const wxArrayInt& arrint );
- /** Adds single item. */
+ /**
+ Adds a single choice.
+
+ @param label
+ Label for added choice.
+
+ @param value
+ Value for added choice. If unspecified, index is used.
+ */
wxPGChoiceEntry& Add( const wxString& label,
int value = wxPG_INVALID_VALUE );
wxPGChoiceEntry& Add( const wxString& label,
int value = wxPG_INVALID_VALUE );
wxArrayInt GetIndicesForStrings( const wxArrayString& strings,
wxArrayString* unmatched = NULL ) const;
wxArrayInt GetIndicesForStrings( const wxArrayString& strings,
wxArrayString* unmatched = NULL ) const;
- /** Returns true if choices in general are likely to have values
- (depens on that all entries have values or none has)
- */
- bool HasValues() const;
-
- bool HasValue( unsigned int i ) const
- { return (i < m_data->GetCount()) && m_data->Item(i)->HasValue(); }
-
int Index( const wxString& str ) const;
int Index( int val ) const;
int Index( const wxString& str ) const;
int Index( int val ) const;
if ( cpv.m_type < wxPG_COLOUR_WEB_BASE )
{
if ( cpv.m_type < wxPG_COLOUR_WEB_BASE )
{
- if ( m_choices.HasValues() )
- ind = GetIndexForValue(cpv.m_type);
- else
- ind = ColToInd(col);
+ ind = GetIndexForValue(cpv.m_type);
{
int index = number;
int type = GetValueForIndex(index);
{
int index = number;
int type = GetValueForIndex(index);
- bool hasValue = m_choices[index].HasValue();
- if ( ( hasValue && type == wxPG_COLOUR_CUSTOM ) ||
- ( !hasValue && (index == (int)GetCustomColourIndex() &&
- !(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR))
- )
- )
+ if ( type == wxPG_COLOUR_CUSTOM )
{
QueryColourFromUser(variant);
}
{
QueryColourFromUser(variant);
}
if ( res && GetIndex() >= 0 )
{
val.m_type = GetIndex();
if ( res && GetIndex() >= 0 )
{
val.m_type = GetIndex();
- if ( val.m_type >= 0 && val.m_type < m_choices.GetCount() && m_choices[val.m_type].HasValue() )
+ if ( val.m_type >= 0 && val.m_type < m_choices.GetCount() )
val.m_type = m_choices[val.m_type].GetValue();
// Get proper colour for type.
val.m_type = m_choices[val.m_type].GetValue();
// Get proper colour for type.
wxColour wxColourProperty::GetColour( int index ) const
{
wxColour wxColourProperty::GetColour( int index ) const
{
- if ( !m_choices.HasValue(index) )
- {
- wxASSERT( index < (int)GetItemCount() );
- return gs_cp_es_normcolour_colours[index];
- }
return gs_cp_es_normcolour_colours[m_choices.GetValue(index)];
}
return gs_cp_es_normcolour_colours[m_choices.GetValue(index)];
}
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
-bool wxPGChoices::HasValues() const
-{
- return true;
-}
-
-// -----------------------------------------------------------------------
-
wxArrayInt wxPGChoices::GetValuesForStrings( const wxArrayString& strings ) const
{
wxArrayInt arr;
wxArrayInt wxPGChoices::GetValuesForStrings( const wxArrayString& strings ) const
{
wxArrayInt arr;
if ( !m_choices.IsOk() )
return -1;
if ( !m_choices.IsOk() )
return -1;
- if ( m_choices.HasValues() )
- {
- int intVal = m_choices.Index(value);
- if ( intVal >= 0 )
- return intVal;
- }
+ int intVal = m_choices.Index(value);
+ if ( intVal >= 0 )
+ return intVal;
{
if ( m_choices.IsOk() && index < m_choices.GetCount() )
{
{
if ( m_choices.IsOk() && index < m_choices.GetCount() )
{
- int value = (int)index;
- if ( m_choices.HasValue(index) )
- value = m_choices.GetValue(index);
+ int value = m_choices.GetValue(index);
if ( pvalue )
*pvalue = value;
if ( pvalue )
*pvalue = value;
for ( i=0; i<GetItemCount(); i++ )
{
bool child_val;
for ( i=0; i<GetItemCount(); i++ )
{
bool child_val;
- if ( choices.HasValue(i) )
- child_val = ( value & choices.GetValue(i) )?true:false;
- else
- child_val = ( value & (1<<i) )?true:false;
+ child_val = ( value & choices.GetValue(i) )?true:false;
wxPGProperty* boolProp;
wxString label = GetLabel(i);
wxPGProperty* boolProp;
wxString label = GetLabel(i);
const wxPGChoices& choices = m_choices;
for ( i = 0; i < GetItemCount(); i++ )
{
const wxPGChoices& choices = m_choices;
for ( i = 0; i < GetItemCount(); i++ )
{
- if ( choices.HasValue(i) )
- fullFlags |= choices.GetValue(i);
- else
- fullFlags |= (1<<i);
+ fullFlags |= choices.GetValue(i);
- if ( choices.HasValue(i) )
- flag = choices.GetValue(i);
- else
- flag = (1<<i);
+ flag = choices.GetValue(i);
if ( (newFlags & flag) != (m_oldValue & flag) )
Item(i)->SetFlag( wxPG_PROP_MODIFIED );
if ( (newFlags & flag) != (m_oldValue & flag) )
Item(i)->SetFlag( wxPG_PROP_MODIFIED );
for ( i = 0; i < GetItemCount(); i++ )
{
int doAdd;
for ( i = 0; i < GetItemCount(); i++ )
{
int doAdd;
- if ( choices.HasValue(i) )
- doAdd = ( flags & choices.GetValue(i) );
- else
- doAdd = ( flags & (1<<i) );
+ doAdd = ( flags & choices.GetValue(i) );
{
if ( id == GetLabel(i) )
{
{
if ( id == GetLabel(i) )
{
- if ( m_choices.HasValue(i) )
- return m_choices.GetValue(i);
- return (1<<i);
+ return m_choices.GetValue(i);
- if ( choices.HasValue(i) )
- flag = choices.GetValue(i);
- else
- flag = (1<<i);
+ flag = choices.GetValue(i);
long subVal = flags & flag;
wxPGProperty* p = Item(i);
long subVal = flags & flag;
wxPGProperty* p = Item(i);
{
long oldValue = thisValue.GetLong();
long val = childValue.GetLong();
{
long oldValue = thisValue.GetLong();
long val = childValue.GetLong();
- unsigned long vi = (1<<childIndex);
- if ( m_choices.HasValue(childIndex) ) vi = m_choices.GetValue(childIndex);
+ unsigned long vi = m_choices.GetValue(childIndex);
if ( val )
thisValue = (long)(oldValue | vi);
else
if ( val )
thisValue = (long)(oldValue | vi);
else