bool Init(wxDataViewCellMode mode, int align);
private:
+ // Called from GtkGetTextRenderer() to really create the renderer if
+ // necessary.
+ void GtkInitTextRenderer();
+
wxDC *m_dc;
GtkCellRendererText *m_text_renderer;
virtual wxSize GetSize() const;
private:
+ void GTKSetLabel();
+
wxString m_label;
int m_value;
+#if !wxUSE_UNICODE
+ // Flag used to indicate that we need to set the label because we were
+ // unable to do it in the ctor (see comments there).
+ bool m_needsToSetLabel;
+#endif // !wxUSE_UNICODE
+
protected:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewProgressRenderer)
};
virtual bool Render( wxRect cell, wxDC *dc, int state );
virtual wxSize GetSize() const;
- virtual bool Activate( wxRect cell,
+ virtual bool Activate( const wxRect& cell,
wxDataViewModel *model,
const wxDataViewItem &item,
unsigned int col );
void SetAlignment( int align );
+ wxString GetChoice(size_t index) const { return m_choices[index]; }
+ const wxArrayString& GetChoices() const { return m_choices; }
+
private:
wxArrayString m_choices;
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_