]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxGrid::SetColumnsOrder() too
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 16 Dec 2008 15:53:38 +0000 (15:53 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 16 Dec 2008 15:53:38 +0000 (15:53 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/generic/grid.h
interface/wx/grid.h
src/generic/grid.cpp

index 6873ca0de534cd8ed2d36a7fa8c367a05f3fc556..07d55f9d681f002cf38f3e908c6e8b8c38ce519d 100644 (file)
@@ -1532,6 +1532,10 @@ public:
     // only the display and hit testing code really cares about display
     // positions at all
 
+    // set the positions of all columns at once (this method uses the same
+    // conventions as wxHeaderCtrl::SetColumnsOrder() for the order array)
+    void SetColumnsOrder(const wxArrayInt& order);
+
     // return the column index corresponding to the given (valid) position
     int GetColAt(int pos) const
     {
index 0601bf603153830a425505d38c7cab508a067497..0f4e06e2a787d529ff3b8a57b7eb0eea117fbcaf 100644 (file)
@@ -2305,6 +2305,15 @@ public:
     */
     void SetColPos(int colID, int newPos);
 
+    /**
+        Sets the positions of all columns at once.
+
+        This method takes an array containing the indices of the columns in
+        their display order, i.e. uses the same convention as
+        wxHeaderCtrl::SetColumnsOrder().
+     */
+    void SetColumnsOrder(const wxArrayInt& order);
+
     /**
         Resets the position of the columns to the default.
      */
index 316bd1d2c3ee3d79bb9656b7b3f133668de4de61..1fd5af31a5b513dd889764bd027041dcbce75ccc 100644 (file)
@@ -278,7 +278,6 @@ private:
         GetOwner()->SendEvent(wxEVT_GRID_COL_SIZE, -1, idx);
     }
 
-
     // event handlers forwarding wxHeaderCtrl events to wxGrid
     void OnClick(wxHeaderCtrlEvent& event)
     {
@@ -6885,6 +6884,13 @@ void wxGrid::RefreshAfterColPosChange()
     m_gridWin->Refresh();
 }
 
+void wxGrid::SetColumnsOrder(const wxArrayInt& order)
+{
+    m_colAt = order;
+
+    RefreshAfterColPosChange();
+}
+
 void wxGrid::SetColPos(int idx, int pos)
 {
     // we're going to need m_colAt now, initialize it if needed