]> git.saurik.com Git - wxWidgets.git/commitdiff
improve display of hints during column move (#9884)
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 15 Sep 2008 00:33:39 +0000 (00:33 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 15 Sep 2008 00:33:39 +0000 (00:33 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
src/generic/grid.cpp

index 1bcb97e7f320456de7966beb42ed16c17bbbd927..707702b92a8ed0b7c50e7dfad1ffab3113910022 100644 (file)
@@ -391,6 +391,7 @@ All (GUI):
 - Added "enabled" and "hidden" attributes to radio box items in XRC.
 - wxWindow::IsBeingDeleted() now returns true not only if the window itself is
   marked for destruction but also if any of its parent windows are.
+- Improved drawing of the hint during column move in wxGrid.
 
 wxGTK:
 
index 45df39c603aecceb066824f7a00afe105ed75331..1d30f7baf5d80880fb64630b7bdfff550275aa77 100644 (file)
@@ -5574,6 +5574,14 @@ void wxGrid::ProcessColLabelMouseEvent( wxMouseEvent& event )
 
                     if ( m_moveToCol < 0 )
                         markerX = GetColRight( GetColAt( m_numCols - 1 ) );
+                    else if ( x >= (GetColLeft( m_moveToCol ) + (GetColWidth(m_moveToCol) / 2)) )
+                    {
+                        m_moveToCol = GetColAt( GetColPos( m_moveToCol ) + 1 );
+                        if ( m_moveToCol < 0 )
+                            markerX = GetColRight( GetColAt( m_numCols - 1 ) );
+                        else
+                            markerX = GetColLeft( m_moveToCol );
+                    }
                     else
                         markerX = GetColLeft( m_moveToCol );
 
@@ -5599,17 +5607,17 @@ void wxGrid::ProcessColLabelMouseEvent( wxMouseEvent& event )
                                 DrawColLabel( dc, XToCol( m_dragLastPos ) );
                         }
 
+                        const wxColour *color;
                         //Moving to the same place? Don't draw a marker
                         if ( (m_moveToCol == m_dragRowOrCol)
                           || (GetColPos( m_moveToCol ) == GetColPos( m_dragRowOrCol ) + 1)
                           || (m_moveToCol < 0 && m_dragRowOrCol == GetColAt( m_numCols - 1 )))
-                        {
-                            m_dragLastPos = -1;
-                            return;
-                        }
+                            color = wxLIGHT_GREY;
+                        else
+                            color = wxBLUE;
 
                         //Draw the marker
-                        wxPen pen( *wxBLUE, 2 );
+                        wxPen pen( *color, 2 );
                         dc.SetPen(pen);
 
                         dc.DrawLine( markerX, 0, markerX, ch );