X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c80cde00014a3d0f21dbd24500a22b4a1f4d0208..14b44999eb335f3fc84b4362980b1730b8887588:/include/wx/gtk/dvrenderers.h?ds=sidebyside diff --git a/include/wx/gtk/dvrenderers.h b/include/wx/gtk/dvrenderers.h index b22ef67eea..2e05380324 100644 --- a/include/wx/gtk/dvrenderers.h +++ b/include/wx/gtk/dvrenderers.h @@ -3,7 +3,7 @@ // Purpose: All GTK wxDataViewCtrl renderer classes // Author: Robert Roebling, Vadim Zeitlin // Created: 2009-11-07 (extracted from wx/gtk/dataview.h) -// RCS-ID: $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $ +// RCS-ID: $Id$ // Copyright: (c) 2006 Robert Roebling // (c) 2009 Vadim Zeitlin // Licence: wxWindows licence @@ -13,7 +13,6 @@ #define _WX_GTK_DVRENDERERS_H_ typedef struct _GdkRectangle GdkRectangle; -typedef struct _GtkCellRendererText GtkCellRendererText; // --------------------------------------------------------- // wxDataViewTextRenderer @@ -47,6 +46,8 @@ public: virtual bool GtkSupportsAttrs() const { return true; } virtual bool GtkSetAttr(const wxDataViewItemAttr& attr); + virtual GtkCellRendererText *GtkGetTextRenderer() const; + protected: // implementation of Set/GetValue() bool SetTextValue(const wxString& str); @@ -140,6 +141,8 @@ public: return !attr.IsDefault(); } + virtual GtkCellRendererText *GtkGetTextRenderer() const; + protected: bool Init(wxDataViewCellMode mode, int align); @@ -236,7 +239,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 ); @@ -265,10 +268,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_