X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9861f022c31f3f46b694f77cb166b02452a63b6d..333e57d578e9e0fb6555452b5a53698ffd85ee69:/include/wx/gtk/dataview.h diff --git a/include/wx/gtk/dataview.h b/include/wx/gtk/dataview.h index cb4043722c..197a8e713d 100644 --- a/include/wx/gtk/dataview.h +++ b/include/wx/gtk/dataview.h @@ -19,7 +19,8 @@ // classes // --------------------------------------------------------- -class WXDLLIMPEXP_CORE wxDataViewCtrl; +class WXDLLIMPEXP_FWD_CORE wxDataViewCtrl; +class WXDLLIMPEXP_FWD_CORE wxDataViewCtrlInternal; // --------------------------------------------------------- @@ -34,7 +35,7 @@ public: int align = wxDVR_DEFAULT_ALIGNMENT ); // implementation - GtkWidget* GetGtkHandle() { return m_renderer; } + GtkCellRenderer* GetGtkHandle() { return m_renderer; } virtual void SetMode( wxDataViewCellMode mode ); virtual wxDataViewCellMode GetMode() const; @@ -43,7 +44,7 @@ public: virtual int GetAlignment() const; protected: - GtkWidget *m_renderer; + GtkCellRenderer *m_renderer; protected: DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewRenderer) @@ -123,17 +124,17 @@ public: virtual wxSize GetSize() const = 0; virtual bool Activate( wxRect cell, - wxDataViewListModel *model, unsigned int col, unsigned int row ) + wxDataViewModel *model, const wxDataViewItem &item, unsigned int col ) { return false; } virtual bool LeftClick( wxPoint cursor, wxRect cell, - wxDataViewListModel *model, unsigned int col, unsigned int row ) + wxDataViewModel *model, const wxDataViewItem &item, unsigned int col ) { return false; } virtual bool RightClick( wxPoint cursor, wxRect cell, - wxDataViewListModel *model, unsigned int col, unsigned int row ) + wxDataViewModel *model, const wxDataViewItem &item, unsigned int col ) { return false; } virtual bool StartDrag( wxPoint cursor, wxRect cell, - wxDataViewListModel *model, unsigned int col, unsigned int row ) + wxDataViewModel *model, const wxDataViewItem &item, unsigned int col ) { return false; } // Create DC on request @@ -195,7 +196,7 @@ public: virtual bool Render( wxRect cell, wxDC *dc, int state ); virtual wxSize GetSize() const; virtual bool Activate( wxRect cell, - wxDataViewListModel *model, unsigned int col, unsigned int row ); + wxDataViewModel *model, const wxDataViewItem &item, unsigned int col ); private: wxDateTime m_date; @@ -302,30 +303,39 @@ public: const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator ); - virtual bool AssociateModel( wxDataViewListModel *model ); + virtual bool AssociateModel( wxDataViewModel *model ); virtual bool AppendColumn( wxDataViewColumn *col ); + + // selection code + virtual wxDataViewItem GetSelection(); - virtual void SetSelection( int row ); // -1 for unselect - virtual void SetSelectionRange( unsigned int from, unsigned int to ); - virtual void SetSelections( const wxArrayInt& aSelections); - virtual void Unselect( unsigned int row ); - - virtual bool IsSelected( unsigned int row ) const; - virtual int GetSelection() const; - virtual int GetSelections(wxArrayInt& aSelections) const; static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); + wxWindow *GetMainWindow() { return (wxWindow*) this; } + + GtkWidget *GtkGetTreeView() { return m_treeview; } + wxDataViewCtrlInternal* GtkGetInternal() { return m_internal; } + +protected: + virtual void DoSetExpanderColumn(); + virtual void DoSetIndent(); + private: friend class wxDataViewCtrlDC; friend class wxDataViewColumn; - friend class wxGtkDataViewListModelNotifier; - GtkWidget *m_treeview; - wxDataViewListModelNotifier *m_notifier; + friend class wxGtkDataViewModelNotifier; + GtkWidget *m_treeview; + wxDataViewModelNotifier *m_notifier; + wxDataViewCtrlInternal *m_internal; + virtual void OnInternalIdle(); + void GtkEnableSelectionEvents(); + void GtkDisableSelectionEvents(); + private: DECLARE_DYNAMIC_CLASS(wxDataViewCtrl) DECLARE_NO_COPY_CLASS(wxDataViewCtrl)