X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b1153ed60faa31147c5ff2d4cbae15f4d5376887..75bc8b3454bd2adda5bf3dc0e60984a275ea7ac3:/include/wx/gtk/dvrenderers.h diff --git a/include/wx/gtk/dvrenderers.h b/include/wx/gtk/dvrenderers.h index 3997f8013f..563d30944d 100644 --- a/include/wx/gtk/dvrenderers.h +++ b/include/wx/gtk/dvrenderers.h @@ -147,6 +147,10 @@ protected: 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; @@ -185,9 +189,17 @@ public: 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) }; @@ -239,7 +251,7 @@ public: 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 ); @@ -268,10 +280,33 @@ public: 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_