Added quick implementation of wxDataViewChoiceByIndexRenderer, closes #11970 (wxDataViewChoiceRenderer set/get methods should use the current selection index

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2010-05-16 15:52:35 +00:00
parent 45cb70531f
commit 79a53c39db

View File

@@ -343,6 +343,38 @@ private:
#endif // generic or Carbon versions
// ----------------------------------------------------------------------------
// wxDataViewChoiceRendererByIndex
// ----------------------------------------------------------------------------
class WXDLLIMPEXP_ADV wxDataViewChoiceRendererByIndex: public wxDataViewChoiceRenderer
{
public:
wxDataViewChoiceRendererByIndex( const wxArrayString &choices,
wxDataViewCellMode mode = wxDATAVIEW_CELL_EDITABLE,
int alignment = wxDVR_DEFAULT_ALIGNMENT ) :
wxDataViewChoiceRenderer( choices, mode, alignment )
{
}
virtual bool SetValue( const wxVariant &value )
{
wxVariant string_value = GetChoice( value.GetLong() );
return wxDataViewChoiceRenderer::SetValue( string_value );
}
virtual bool GetValue( wxVariant &value ) const
{
wxVariant string_value;
if (!wxDataViewChoiceRenderer::GetValue( string_value ))
return false;
value = (long) GetChoices().Index( string_value.GetString() );
return true;
}
};
// this class is obsolete, its functionality was merged in
// wxDataViewTextRenderer itself now, don't use it any more
#define wxDataViewTextRendererAttr wxDataViewTextRenderer