X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9861f022c31f3f46b694f77cb166b02452a63b6d..bc1dab7e1f1234abf404a8d055d0cd87b426a995:/include/wx/generic/dataview.h?ds=sidebyside diff --git a/include/wx/generic/dataview.h b/include/wx/generic/dataview.h index 9f2d6f009f..86f3803534 100644 --- a/include/wx/generic/dataview.h +++ b/include/wx/generic/dataview.h @@ -21,9 +21,9 @@ // classes // --------------------------------------------------------- -class WXDLLIMPEXP_ADV wxDataViewCtrl; -class WXDLLIMPEXP_ADV wxDataViewMainWindow; -class WXDLLIMPEXP_ADV wxDataViewHeaderWindow; +class WXDLLIMPEXP_FWD_ADV wxDataViewCtrl; +class WXDLLIMPEXP_FWD_ADV wxDataViewMainWindow; +class WXDLLIMPEXP_FWD_ADV wxDataViewHeaderWindow; // --------------------------------------------------------- // wxDataViewRenderer @@ -51,37 +51,37 @@ public: { return m_mode; } virtual bool Activate( wxRect WXUNUSED(cell), - wxDataViewListModel *WXUNUSED(model), - unsigned int WXUNUSED(col), - unsigned int WXUNUSED(row) ) + wxDataViewModel *WXUNUSED(model), + const wxDataViewItem & WXUNUSED(item), + unsigned int WXUNUSED(col) ) { return false; } virtual bool LeftClick( wxPoint WXUNUSED(cursor), wxRect WXUNUSED(cell), - wxDataViewListModel *WXUNUSED(model), - unsigned int WXUNUSED(col), - unsigned int WXUNUSED(row) ) + wxDataViewModel *WXUNUSED(model), + const wxDataViewItem & WXUNUSED(item), + unsigned int WXUNUSED(col) ) { return false; } virtual bool RightClick( wxPoint WXUNUSED(cursor), wxRect WXUNUSED(cell), - wxDataViewListModel *WXUNUSED(model), - unsigned int WXUNUSED(col), - unsigned int WXUNUSED(row) ) + wxDataViewModel *WXUNUSED(model), + const wxDataViewItem & WXUNUSED(item), + unsigned int WXUNUSED(col) ) { return false; } virtual bool StartDrag( wxPoint WXUNUSED(cursor), wxRect WXUNUSED(cell), - wxDataViewListModel *WXUNUSED(model), - unsigned int WXUNUSED(col), - unsigned int WXUNUSED(row) ) + wxDataViewModel *WXUNUSED(model), + const wxDataViewItem & WXUNUSED(item), + unsigned int WXUNUSED(col) ) { return false; } // Create DC on request virtual wxDC *GetDC(); private: - wxDC *m_dc; - int m_align; - wxDataViewCellMode m_mode; + wxDC *m_dc; + int m_align; + wxDataViewCellMode m_mode; protected: DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewRenderer) @@ -102,6 +102,7 @@ protected: DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer) }; + // --------------------------------------------------------- // wxDataViewTextRenderer // --------------------------------------------------------- @@ -119,8 +120,13 @@ public: bool Render( wxRect cell, wxDC *dc, int state ); wxSize GetSize() const; + // in-place editing + virtual bool HasEditorCtrl(); + virtual wxControl* CreateEditorCtrl( wxWindow *parent, wxRect labelRect, const wxVariant &value ); + virtual bool GetValueFromEditorCtrl( wxControl* editor, wxVariant &value ); + private: - wxString m_text; + wxString m_text; protected: DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRenderer) @@ -166,8 +172,8 @@ public: bool GetValue( wxVariant &value ) const; bool Render( wxRect cell, wxDC *dc, int state ); - bool Activate( wxRect cell, wxDataViewListModel *model, unsigned int col, - unsigned int row ); + bool Activate( wxRect cell, wxDataViewModel *model, const wxDataViewItem & item, + unsigned int col ); wxSize GetSize() const; private: @@ -221,7 +227,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; @@ -291,6 +297,7 @@ private: int m_flags; wxAlignment m_align; wxString m_title; + bool m_ascending; void Init(int width); @@ -339,9 +346,15 @@ 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 ); + virtual void DoSetExpanderColumn(); + virtual void DoSetIndent(); + + virtual wxDataViewItem GetSelection() ; + +/********************selection code********************* virtual void SetSelection( int row ); // -1 for unselect virtual void SetSelectionRange( unsigned int from, unsigned int to ); virtual void SetSelections( const wxArrayInt& aSelections); @@ -350,6 +363,7 @@ public: virtual bool IsSelected( unsigned int row ) const; virtual int GetSelection() const; virtual int GetSelections(wxArrayInt& aSelections) const; +*****************************************************/ public: // utility functions not part of the API @@ -362,8 +376,10 @@ public: // utility functions not part of the API // updates the header window after a change in a column setting void OnColumnChange(); + wxWindow *GetMainWindow() { return (wxWindow*) m_clientArea; } + private: - wxDataViewListModelNotifier *m_notifier; + wxDataViewModelNotifier *m_notifier; wxDataViewMainWindow *m_clientArea; wxDataViewHeaderWindow *m_headerArea;