From 2a59c1fb204169af11213febef755f2b4771f762 Mon Sep 17 00:00:00 2001 From: Daniel Kulp Date: Sat, 28 Jul 2018 02:29:29 +0200 Subject: [PATCH] Implement wxDataViewColumn::UnsetAsSortKey() in macOS version It was impossible to stop sorting the control if it had been sorted before, so implement UnsetAsSortKey() to allow doing it by destroying the current sort descriptor. Closes #18176. --- docs/changes.txt | 1 + include/wx/osx/dataview.h | 1 + src/osx/cocoa/dataview.mm | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/docs/changes.txt b/docs/changes.txt index a156283e77..80c7c8564e 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -128,6 +128,7 @@ wxMSW: wxOSX: - Fix dispatching pending events (and CallAfter()) in console applications. +- Implement wxDataViewColumn::UnsetAsSortKey() (Daniel Kulp). wxQt: diff --git a/include/wx/osx/dataview.h b/include/wx/osx/dataview.h index 64418110f9..2b958c60a4 100644 --- a/include/wx/osx/dataview.h +++ b/include/wx/osx/dataview.h @@ -60,6 +60,7 @@ public: virtual void SetMinWidth (int minWidth); virtual void SetReorderable(bool reorderable); virtual void SetResizeable (bool resizable); + virtual void UnsetAsSortKey(); virtual void SetSortable (bool sortable); virtual void SetSortOrder (bool ascending); virtual void SetTitle (wxString const& title); diff --git a/src/osx/cocoa/dataview.mm b/src/osx/cocoa/dataview.mm index a7ec7df23f..83b3fd9343 100644 --- a/src/osx/cocoa/dataview.mm +++ b/src/osx/cocoa/dataview.mm @@ -3465,6 +3465,13 @@ void wxDataViewColumn::SetResizeable(bool resizable) [m_NativeDataPtr->GetNativeColumnPtr() setResizingMask:NSTableColumnNoResizing]; } +void wxDataViewColumn::UnsetAsSortKey() +{ + NSTableColumn* const tableColumn = m_NativeDataPtr->GetNativeColumnPtr(); + if ( tableColumn ) + [tableColumn setSortDescriptorPrototype:nil]; +} + void wxDataViewColumn::SetSortable(bool sortable) { // wxDataViewColumnBase::SetSortable(sortable);