Refactor logging of wxGridRangeSelectEvent in the grid sample

Avoid duplicating the complicated logging code twice, when it's exactly
the same for both the SELECTED and SELECTING events. Just use a common
helper function instead.
This commit is contained in:
Vadim Zeitlin
2020-08-18 01:27:39 +02:00
parent 9e27efb2cb
commit 4b918966f6

View File

@@ -1638,14 +1638,19 @@ void GridFrame::OnSelectCell( wxGridEvent& ev )
ev.Skip(); ev.Skip();
} }
void GridFrame::OnRangeSelected( wxGridRangeSelectEvent& ev ) namespace
{
void
LogRangeSelectEvent(wxGridRangeSelectEvent& ev, const char* suffix)
{ {
wxString logBuf; wxString logBuf;
if ( ev.Selecting() ) if ( ev.Selecting() )
logBuf << "Selected "; logBuf << "Select";
else else
logBuf << "Deselected "; logBuf << "Deselect";
logBuf << "cells from row " << ev.GetTopRow() logBuf << suffix
<< " cells from row " << ev.GetTopRow()
<< " col " << ev.GetLeftCol() << " col " << ev.GetLeftCol()
<< " to row " << ev.GetBottomRow() << " to row " << ev.GetBottomRow()
<< " col " << ev.GetRightCol() << " col " << ev.GetRightCol()
@@ -1657,24 +1662,17 @@ void GridFrame::OnRangeSelected( wxGridRangeSelectEvent& ev )
ev.Skip(); ev.Skip();
} }
} // anonymous namespace
void GridFrame::OnRangeSelected( wxGridRangeSelectEvent& ev )
{
LogRangeSelectEvent(ev, "ed");
}
void GridFrame::OnRangeSelecting( wxGridRangeSelectEvent& ev ) void GridFrame::OnRangeSelecting( wxGridRangeSelectEvent& ev )
{ {
wxString logBuf; LogRangeSelectEvent(ev, "ing");
if ( ev.Selecting() )
logBuf << "Selecting ";
else
logBuf << "Deselecting ";
logBuf << "cells from row " << ev.GetTopRow()
<< " col " << ev.GetLeftCol()
<< " to row " << ev.GetBottomRow()
<< " col " << ev.GetRightCol()
<< " ( ControlDown: "<< (ev.ControlDown() ? 'T':'F')
<< ", ShiftDown: "<< (ev.ShiftDown() ? 'T':'F')
<< ", AltDown: "<< (ev.AltDown() ? 'T':'F')
<< ", MetaDown: "<< (ev.MetaDown() ? 'T':'F') << " )";
wxLogMessage( "%s", logBuf );
ev.Skip();
} }
void GridFrame::OnCellValueChanging( wxGridEvent& ev ) void GridFrame::OnCellValueChanging( wxGridEvent& ev )