]> git.saurik.com Git - wxWidgets.git/commitdiff
Remove wxHeaderColumn::SetAsSortKey() and only use SetSortOrder().
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 21 Sep 2011 15:07:46 +0000 (15:07 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 21 Sep 2011 15:07:46 +0000 (15:07 +0000)
The two member functions, SetAsSortKey() and SetSortOrder(), were doing almost
the same thing but differently and the former was only used in the generic
wxDataViewCtrl implementation and not implemented in the native GTK/OS X one.

Remove SetAsSortKey() entirely and only keep UnsetAsSortKey() which is still
needed by generic/MSW wxDataViewCtrl. But only SetSortOrder() should now be
called to indicate that the column is used for sorting.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/generic/dataview.h
include/wx/gtk/dataview.h
include/wx/headercol.h
include/wx/osx/dataview.h
interface/wx/headercol.h
src/common/headerctrlcmn.cpp
src/generic/datavgen.cpp
src/gtk/dataview.cpp
src/osx/carbon/dataview.cpp
src/osx/cocoa/dataview.mm

index e4f69aec2d22e26193f6a2b084c839cc8c7cb459..0fac7af910f7afb997c646cea84f6df0f3368fb7 100644 (file)
@@ -68,10 +68,17 @@ public:
     virtual void SetFlags(int flags) { m_flags = flags; UpdateDisplay(); }
     virtual int GetFlags() const { return m_flags; }
 
-    virtual void SetAsSortKey(bool sort = true) { m_sort = sort; UpdateDisplay(); }
     virtual bool IsSortKey() const { return m_sort; }
 
-    virtual void SetSortOrder(bool ascending) { m_sortAscending = ascending; UpdateDisplay(); }
+    virtual void UnsetAsSortKey() { m_sort = false; UpdateDisplay(); }
+
+    virtual void SetSortOrder(bool ascending)
+    {
+        m_sort = true;
+        m_sortAscending = ascending;
+        UpdateDisplay();
+    }
+
     virtual bool IsSortOrderAscending() const { return m_sortAscending; }
 
     virtual void SetBitmap( const wxBitmap& bitmap ) { wxDataViewColumnBase::SetBitmap(bitmap); UpdateDisplay(); }
index 8a4e12c3545dc2395de6c3810332517ccfa106e9..134e422b97a03910b927a710cdce1f012acc05aa 100644 (file)
@@ -44,7 +44,6 @@ public:
 
     virtual void SetSortable( bool sortable );
     virtual void SetSortOrder( bool ascending );
-    virtual void SetAsSortKey(bool sort = true);
 
     virtual void SetResizeable( bool resizable );
     virtual void SetHidden( bool hidden );
index 815c41f82a77cf2f81afd9c51f243624ba066c8e..58736edb0262b3b00a5b6ba9fb9994ea3968879e 100644 (file)
@@ -186,8 +186,12 @@ public:
     virtual void SetHidden(bool hidden)
         { ChangeFlag(wxCOL_HIDDEN, hidden); }
 
-    virtual void SetAsSortKey(bool sort = true) = 0;
-    void UnsetAsSortKey() { SetAsSortKey(false); }
+    // This function can be called to indicate that this column is not used for
+    // sorting any more. Under some platforms it's not necessary to do anything
+    // in this case as just setting another column as a sort key takes care of
+    // everything but under MSW we currently need to call this explicitly to
+    // reset the sort indicator displayed on the column.
+    virtual void UnsetAsSortKey() { }
 
     virtual void SetSortOrder(bool ascending) = 0;
     void ToggleSortOrder() { SetSortOrder(!IsSortOrderAscending()); }
@@ -249,10 +253,15 @@ public:
     virtual void SetFlags(int flags) { m_flags = flags; }
     virtual int GetFlags() const { return m_flags; }
 
-    virtual void SetAsSortKey(bool sort = true) { m_sort = sort; }
     virtual bool IsSortKey() const { return m_sort; }
+    virtual void UnsetAsSortKey() { m_sort = false; }
+
+    virtual void SetSortOrder(bool ascending)
+    {
+        m_sort = true;
+        m_sortAscending = ascending;
+    }
 
-    virtual void SetSortOrder(bool ascending) { m_sortAscending = ascending; }
     virtual bool IsSortOrderAscending() const { return m_sortAscending; }
 
 private:
index 883438001fd8aa40fdadc5b1812c5ace1112e4b8..feabf7de02df8052aebf59fe6a8483c20c20b284 100644 (file)
@@ -65,7 +65,6 @@ public:
     virtual void SetSortOrder  (bool ascending);
     virtual void SetTitle      (wxString const& title);
     virtual void SetWidth      (int  width);
-    virtual void SetAsSortKey  (bool sort = true);
 
    // implementation only
     wxDataViewColumnNativeData* GetNativeData() const
index d554115362052aa789b599b0c9927776d6271923..53d426101735a8111dbbdbe782c3d7d290afe8dd 100644 (file)
@@ -338,38 +338,26 @@ public:
     virtual void SetHidden(bool hidden);
 
 
-    /**
-        Sets this column as the sort key for the associated control.
-
-        Calling this function with @true argument means that this column is
-        currently used for sorting the control contents and so should typically
-        display an arrow indicating it (the direction of the arrow depends on
-        IsSortOrderAscending() return value).
-
-        Don't confuse this function with SetSortable() which should be used to
-        indicate that the column @em may be used for sorting while this one is
-        used to indicate that it currently @em is used for sorting. Of course,
-        SetAsSortKey() can be only called for sortable columns.
-
-        @param sort
-            Sort (default) or don't sort the control contents by this column.
-     */
-    virtual void SetAsSortKey(bool sort = true) = 0;
-
     /**
         Don't use this column for sorting.
 
-        This is equivalent to calling SetAsSortKey() with @false argument.
+        This is the reverse of SetSortOrder() and is called to indicate that
+        this column is not used for sorting any longer.
      */
     void UnsetAsSortKey();
 
     /**
-        Sets the sort order for this column.
+        Sets this column as the sort key for the associated control.
+
+        This function indicates that this column is currently used for sorting
+        the control and also sets the sorting direction. Notice that actual
+        sorting is only done in the control associated with the header, this
+        function doesn't do any sorting on its own.
 
-        This only makes sense for sortable columns which are currently used as
-        sort key, i.e. for which IsSortKey() returns @true and is only taken
-        into account by the control in which this column is inserted, this
-        function just stores the sort order in the wxHeaderColumn object.
+        Don't confuse this function with SetSortable() which should be used to
+        indicate that the column @em may be used for sorting while this one is
+        used to indicate that it currently @em is used for sorting. Of course,
+        SetSortOrder() can be only called for sortable columns.
 
         @param ascending
             If @true, sort in ascending order, otherwise in descending order.
@@ -444,7 +432,6 @@ public:
     virtual wxAlignment GetAlignment() const;
     virtual void SetFlags(int flags);
     virtual int GetFlags() const;
-    virtual void SetAsSortKey(bool sort = true);
     virtual bool IsSortKey() const;
     virtual void SetSortOrder(bool ascending);
     virtual bool IsSortOrderAscending() const;
index 4e32625c6b536cda52afe7633119e1ead95fddf4..be858a6848d6c98cc82cc782f1171a97579537b0 100644 (file)
@@ -443,7 +443,7 @@ void wxHeaderCtrlSimple::DoShowSortIndicator(unsigned int idx, bool ascending)
 {
     RemoveSortIndicator();
 
-    m_cols[idx].SetAsSortKey(ascending);
+    m_cols[idx].SetSortOrder(ascending);
     m_sortKey = idx;
 
     UpdateColumn(idx);
index 46ea2141e1bbaae70e8e8796aadf231958aaf5cc..f5fcf0d5e33842c3cb9384f889b9c49ad97b7531 100644 (file)
@@ -230,7 +230,7 @@ private:
             }
 
             owner->SetSortingColumnIndex(idx);
-            col->SetAsSortKey();
+            col->SetSortOrder(true);
         }
 
         wxDataViewModel * const model = owner->GetModel();
index b848fcdc9328001c4bfe0a7ec38c90862b80c670..d89b8c55015583779cf0c2f11ceb3c9af820efe0 100644 (file)
@@ -3286,14 +3286,6 @@ bool wxDataViewColumn::IsSortable() const
     return gtk_tree_view_column_get_clickable( column );
 }
 
-void wxDataViewColumn::SetAsSortKey( bool WXUNUSED(sort) )
-{
-    // it might not make sense to have this function in wxHeaderColumn at
-    // all in fact, changing of the sort order should only be done using the
-    // associated control API
-    wxFAIL_MSG( "not implemented" );
-}
-
 bool wxDataViewColumn::IsSortKey() const
 {
     GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN(m_column);
index dd288d8e17f243e3d549bb7c302b1d2694e09590..13765f900dfddc9d6fc126e9671f16b3bf5ec936 100644 (file)
@@ -2811,12 +2811,6 @@ bool wxDataViewColumn::IsHidden() const
 }
 
 
-void wxDataViewColumn::SetAsSortKey(bool WXUNUSED(sort))
-{
-    // see wxGTK native wxDataViewColumn implementation
-    wxFAIL_MSG( "not implemented" );
-}
-
 void wxDataViewColumn::SetNativeData(wxDataViewColumnNativeData* newNativeDataPtr)
 {
   delete m_NativeDataPtr;
index f9600c916ed7bf0ae632b596076bb9ca587fc4a2..16ce4c8fabb03142ea900148dd98071644fe5e02 100644 (file)
@@ -3243,12 +3243,6 @@ void wxDataViewColumn::SetWidth(int width)
     }
 }
 
-void wxDataViewColumn::SetAsSortKey(bool WXUNUSED(sort))
-{
-    // see wxGTK native wxDataViewColumn implementation
-    wxFAIL_MSG("not implemented");
-}
-
 void wxDataViewColumn::SetNativeData(wxDataViewColumnNativeData* newNativeDataPtr)
 {
     delete m_NativeDataPtr;