Second try to get wxDataViewChoiceByIndex and its name right, hopefully fixes #11970: wxDataViewChoiceRenderer set/get methods should use the current selection
index not a string git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -341,40 +341,27 @@ private:
|
||||
wxString m_data;
|
||||
};
|
||||
|
||||
#endif // generic or Carbon versions
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxDataViewChoiceRendererByIndex
|
||||
// wxDataViewChoiceByIndexRenderer
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_ADV wxDataViewChoiceRendererByIndex: public wxDataViewChoiceRenderer
|
||||
class WXDLLIMPEXP_ADV wxDataViewChoiceByIndexRenderer: public wxDataViewChoiceRenderer
|
||||
{
|
||||
public:
|
||||
wxDataViewChoiceRendererByIndex( const wxArrayString &choices,
|
||||
wxDataViewChoiceByIndexRenderer( const wxArrayString &choices,
|
||||
wxDataViewCellMode mode = wxDATAVIEW_CELL_EDITABLE,
|
||||
int alignment = wxDVR_DEFAULT_ALIGNMENT ) :
|
||||
wxDataViewChoiceRenderer( choices, mode, alignment )
|
||||
{
|
||||
}
|
||||
int alignment = wxDVR_DEFAULT_ALIGNMENT );
|
||||
|
||||
virtual bool SetValue( const wxVariant &value )
|
||||
{
|
||||
wxVariant string_value = GetChoice( value.GetLong() );
|
||||
return wxDataViewChoiceRenderer::SetValue( string_value );
|
||||
}
|
||||
virtual wxControl* CreateEditorCtrl( wxWindow *parent, wxRect labelRect, const wxVariant &value );
|
||||
virtual bool GetValueFromEditorCtrl( wxControl* editor, wxVariant &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;
|
||||
}
|
||||
virtual bool SetValue( const wxVariant &value );
|
||||
virtual bool GetValue( wxVariant &value ) const;
|
||||
};
|
||||
|
||||
|
||||
#endif // generic or Carbon versions
|
||||
|
||||
// this class is obsolete, its functionality was merged in
|
||||
// wxDataViewTextRenderer itself now, don't use it any more
|
||||
#define wxDataViewTextRendererAttr wxDataViewTextRenderer
|
||||
|
@@ -48,7 +48,7 @@ public:
|
||||
//
|
||||
// it validates the new value and notifies the model about the change by
|
||||
// calling GtkOnCellChanged() if it was accepted
|
||||
void GtkOnTextEdited(const gchar *itempath, const wxString& value);
|
||||
virtual void GtkOnTextEdited(const gchar *itempath, const wxString& value);
|
||||
|
||||
GtkCellRenderer* GetGtkHandle() { return m_renderer; }
|
||||
void GtkInitHandlers();
|
||||
|
@@ -276,5 +276,25 @@ private:
|
||||
wxString m_data;
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxDataViewChoiceByIndexRenderer
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_ADV wxDataViewChoiceByIndexRenderer: public wxDataViewChoiceRenderer
|
||||
{
|
||||
public:
|
||||
wxDataViewChoiceByIndexRenderer( const wxArrayString &choices,
|
||||
wxDataViewCellMode mode = wxDATAVIEW_CELL_EDITABLE,
|
||||
int alignment = wxDVR_DEFAULT_ALIGNMENT );
|
||||
|
||||
virtual bool SetValue( const wxVariant &value );
|
||||
virtual bool GetValue( wxVariant &value ) const;
|
||||
|
||||
private:
|
||||
virtual void GtkOnTextEdited(const gchar *itempath, const wxString& str);
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif // _WX_GTK_DVRENDERERS_H_
|
||||
|
||||
|
Reference in New Issue
Block a user