X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fc8c1a15b2154214ac744516b15a283b32990f39..54742e34262c249c6aa17028ff57bd993faea82f:/include/wx/generic/dataview.h diff --git a/include/wx/generic/dataview.h b/include/wx/generic/dataview.h index 51faf5f7c2..a10ee6606b 100644 --- a/include/wx/generic/dataview.h +++ b/include/wx/generic/dataview.h @@ -41,10 +41,8 @@ public: virtual bool Render( wxRect cell, wxDC *dc, int state ) = 0; virtual wxSize GetSize() const = 0; - virtual void SetAlignment( int align ) - { m_align=align; } - virtual int GetAlignment() const - { return m_align; } + virtual void SetAlignment( int align ); + virtual int GetAlignment() const; virtual void SetMode( wxDataViewCellMode mode ) { m_mode=mode; } @@ -83,6 +81,9 @@ public: void SetAttr( const wxDataViewItemAttr &attr ) { m_attr = attr; } bool GetWantsAttr() { return m_wantsAttr; } + // implementation + int CalculateAlignment() const; + private: wxDC *m_dc; int m_align; @@ -243,7 +244,7 @@ protected: // wxDataViewIconTextRenderer // --------------------------------------------------------- -class wxDataViewIconTextRenderer: public wxDataViewCustomRenderer +class WXDLLIMPEXP_ADV wxDataViewIconTextRenderer: public wxDataViewCustomRenderer { public: wxDataViewIconTextRenderer( const wxString &varianttype = wxT("wxDataViewIconText"), @@ -357,6 +358,7 @@ private: wxAlignment m_align; wxString m_title; bool m_ascending; + bool m_autosize; void Init(int width); @@ -387,8 +389,6 @@ class WXDLLIMPEXP_ADV wxDataViewCtrl: public wxDataViewCtrlBase, public: wxDataViewCtrl() : wxScrollHelperNative(this) { - //No sorting column at start, I think - m_sortingColumn = NULL; Init(); } @@ -398,7 +398,6 @@ public: const wxValidator& validator = wxDefaultValidator ) : wxScrollHelperNative(this) { - m_sortingColumn = NULL; Create(parent, id, pos, size, style, validator ); } @@ -412,8 +411,10 @@ public: const wxValidator& validator = wxDefaultValidator ); virtual bool AssociateModel( wxDataViewModel *model ); + virtual bool AppendColumn( wxDataViewColumn *col ); virtual bool PrependColumn( wxDataViewColumn *col ); + virtual bool InsertColumn( unsigned int pos, wxDataViewColumn *col ); virtual void DoSetExpanderColumn(); virtual void DoSetIndent(); @@ -443,6 +444,8 @@ public: virtual void Expand( const wxDataViewItem & item ); virtual void Collapse( const wxDataViewItem & item ); + + virtual void SetFocus(); protected: virtual int GetSelections( wxArrayInt & sel ) const; @@ -478,14 +481,15 @@ public: // utility functions not part of the API wxWindow *GetMainWindow() { return (wxWindow*) m_clientArea; } private: - wxDataViewColumnList m_cols; - wxDataViewModelNotifier *m_notifier; - wxDataViewMainWindow *m_clientArea; - wxDataViewHeaderWindow *m_headerArea; - wxDataViewColumn* m_sortingColumn; + wxDataViewColumnList m_cols; + wxDataViewModelNotifier *m_notifier; + wxDataViewMainWindow *m_clientArea; + wxDataViewHeaderWindow *m_headerArea; + wxDataViewColumn *m_sortingColumn; private: void OnSize( wxSizeEvent &event ); + virtual wxSize GetSizeAvailableForScrollTarget(const wxSize& size); // we need to return a special WM_GETDLGCODE value to process just the // arrows but let the other navigation characters through