]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxHeaderCtrl::ResetColumnsOrder() function; use it from wxGrid
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 14 Dec 2008 20:02:44 +0000 (20:02 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 14 Dec 2008 20:02:44 +0000 (20:02 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/headerctrl.h
interface/wx/headerctrl.h
src/common/headerctrlcmn.cpp
src/generic/grid.cpp

index 512171a3db19a3682bf2e214e0a1be70c1a42b5b..1557f0fb64694034c5fa0ebdad05ff9b618278d7 100644 (file)
@@ -98,6 +98,9 @@ public:
     // get the position at which this column is currently displayed
     unsigned int GetColumnPos(unsigned int idx) const;
 
     // get the position at which this column is currently displayed
     unsigned int GetColumnPos(unsigned int idx) const;
 
+    // reset the columns order to the natural one
+    void ResetColumnsOrder();
+
     // helper function used by the generic version of this control and also
     // wxGrid: reshuffles the array of column indices indexed by positions
     // (i.e. using the same convention as for SetColumnsOrder()) so that the
     // helper function used by the generic version of this control and also
     // wxGrid: reshuffles the array of column indices indexed by positions
     // (i.e. using the same convention as for SetColumnsOrder()) so that the
index a5358665c1cd41c5adc39df1794dac5a9c283fdb..c2eca870e3a6e5ecd20b92019e52b6ed299890f1 100644 (file)
@@ -268,6 +268,14 @@ public:
      */
     unsigned int GetColumnPos(unsigned int idx) const;
 
      */
     unsigned int GetColumnPos(unsigned int idx) const;
 
+    /**
+        Reset the columns order to the natural one.
+
+        After calling this function, the column with index @c idx appears at
+        position @c idx in the control.
+     */
+    void ResetColumnsOrder();
+
     /**
         Helper function to manipulate the array of column indices.
 
     /**
         Helper function to manipulate the array of column indices.
 
index 66548a1ff998e490fea32b76b0a0d7a07bde3ce1..d1adf1fce1635ad83ea73cfa9f416c13c0b48b0c 100644 (file)
@@ -113,6 +113,16 @@ void wxHeaderCtrlBase::SetColumnsOrder(const wxArrayInt& order)
     // TODO-RTL: do we need to reverse the array?
 }
 
     // TODO-RTL: do we need to reverse the array?
 }
 
+void wxHeaderCtrlBase::ResetColumnsOrder()
+{
+    const unsigned count = GetColumnCount();
+    wxArrayInt order(count);
+    for ( unsigned n = 0; n < count; n++ )
+        order[n] = n;
+
+    DoSetColumnsOrder(order);
+}
+
 wxArrayInt wxHeaderCtrlBase::GetColumnsOrder() const
 {
     const wxArrayInt order = DoGetColumnsOrder();
 wxArrayInt wxHeaderCtrlBase::GetColumnsOrder() const
 {
     const wxArrayInt order = DoGetColumnsOrder();
index 418b97bffb0583f486b46432e5ecb9558c3f9e85..c516ec9072213177d5a209b01d26bf1bcdc5eb74 100644 (file)
@@ -6883,6 +6883,11 @@ void wxGrid::SetColPos(int idx, int pos)
 void wxGrid::ResetColPos()
 {
     m_colAt.clear();
 void wxGrid::ResetColPos()
 {
     m_colAt.clear();
+
+    if ( m_useNativeHeader )
+        GetColHeader()->ResetColumnsOrder();
+    else
+        m_colWindow->Refresh();
 }
 
 void wxGrid::EnableDragColMove( bool enable )
 }
 
 void wxGrid::EnableDragColMove( bool enable )