Implement wxCOL_WIDTH_AUTOSIZE on OS X.

Only Cocoa build on 10.5+ is supported. Before that, NSOutlineView
didn't have reasonable support for determining cell sizes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2011-01-07 18:26:58 +00:00
parent 6a50a2c4d3
commit b06ed2f866
8 changed files with 187 additions and 5 deletions

View File

@@ -376,6 +376,7 @@ public:
virtual wxDataViewColumn* GetColumn (unsigned int pos) const;
virtual int GetColumnPosition (wxDataViewColumn const* columnPtr) const;
virtual bool InsertColumn (unsigned int pos, wxDataViewColumn* columnPtr);
virtual void FitColumnWidthToContent(unsigned int WXUNUSED(pos)) { /*not implemented*/ }
//
// item related methods (inherited from wxDataViewWidgetImpl)

View File

@@ -441,6 +441,7 @@ public:
virtual wxDataViewColumn* GetColumn(unsigned int pos) const;
virtual int GetColumnPosition(wxDataViewColumn const* columnPtr) const;
virtual bool InsertColumn(unsigned int pos, wxDataViewColumn* columnPtr);
virtual void FitColumnWidthToContent(unsigned int pos);
// item related methods (inherited from wxDataViewWidgetImpl)
virtual bool Add(const wxDataViewItem& parent, const wxDataViewItem& item);

View File

@@ -58,6 +58,7 @@ public:
virtual int GetColumnPosition (wxDataViewColumn const* columnPtr) const = 0; // returns the position of the passed column in the native control
virtual bool InsertColumn (unsigned int pos, wxDataViewColumn* columnPtr) = 0; // inserts a column at pos in the native control;
// the method can assume that the column's owner is already set
virtual void FitColumnWidthToContent(unsigned int pos) = 0; // resizes column to fit its content
//
// item related methods

View File

@@ -95,8 +95,8 @@ private:
m_flags = flags & ~wxDATAVIEW_COL_HIDDEN; // TODO
m_maxWidth = 30000;
m_minWidth = 0;
m_width = width >= 0 ? width : wxDVC_DEFAULT_WIDTH;
m_alignment = align;
SetWidth(width);
}
bool m_ascending; // sorting order