From 87c819f9c9bcf84fd300c0dab95845eb535a4cdd Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 15 Sep 2008 00:33:39 +0000 Subject: [PATCH] improve display of hints during column move (#9884) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 1 + src/generic/grid.cpp | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index 1bcb97e7f3..707702b92a 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -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: diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index 45df39c603..1d30f7baf5 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -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 ); -- 2.45.2