Send the autosize column event for grid native header columns
Send wxEVT_GRID_COL_AUTO_SIZE on double clicking on a separator line of the grid native header to allow override default behaviour.
This commit is contained in:
parent
6ed0443d2f
commit
8971321542
@ -2404,6 +2404,8 @@ private:
|
||||
wxGridColLabelWindow* colLabelWin);
|
||||
void ProcessCornerLabelMouseEvent(wxMouseEvent& event);
|
||||
|
||||
void HandleColumnAutosize(int col, const wxMouseEvent& event);
|
||||
|
||||
void DoColHeaderClick(int col);
|
||||
|
||||
void DoStartResizeCol(int col);
|
||||
|
@ -191,11 +191,9 @@ private:
|
||||
}
|
||||
|
||||
// override to implement column auto sizing
|
||||
virtual bool UpdateColumnWidthToFit(unsigned int idx, int widthTitle) wxOVERRIDE
|
||||
virtual bool UpdateColumnWidthToFit(unsigned int idx, int WXUNUSED(widthTitle)) wxOVERRIDE
|
||||
{
|
||||
// TODO: currently grid doesn't support computing the column best width
|
||||
// from its contents so we just use the best label width as is
|
||||
GetOwner()->SetColSize(idx, widthTitle);
|
||||
GetOwner()->HandleColumnAutosize(idx, GetDummyMouseEvent());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -3874,13 +3874,7 @@ void wxGrid::ProcessColLabelMouseEvent( wxMouseEvent& event, wxGridColLabelWindo
|
||||
}
|
||||
else
|
||||
{
|
||||
// adjust column width depending on label text
|
||||
//
|
||||
// TODO: generate RESIZING event, see #10754
|
||||
if ( !SendGridSizeEvent(wxEVT_GRID_COL_AUTO_SIZE, -1, colEdge, event) )
|
||||
AutoSizeColLabelSize( colEdge );
|
||||
|
||||
SendGridSizeEvent(wxEVT_GRID_COL_SIZE, -1, colEdge, event);
|
||||
HandleColumnAutosize(colEdge, event);
|
||||
|
||||
ChangeCursorMode(WXGRID_CURSOR_SELECT_CELL, colLabelWin);
|
||||
m_dragLastPos = -1;
|
||||
@ -4023,6 +4017,17 @@ void wxGrid::ProcessCornerLabelMouseEvent( wxMouseEvent& event )
|
||||
}
|
||||
}
|
||||
|
||||
void wxGrid::HandleColumnAutosize(int col, const wxMouseEvent& event)
|
||||
{
|
||||
// adjust column width depending on label text
|
||||
//
|
||||
// TODO: generate RESIZING event, see #10754
|
||||
if ( !SendGridSizeEvent(wxEVT_GRID_COL_AUTO_SIZE, -1, col, event) )
|
||||
AutoSizeColLabelSize(col);
|
||||
|
||||
SendGridSizeEvent(wxEVT_GRID_COL_SIZE, -1, col, event);
|
||||
}
|
||||
|
||||
void wxGrid::CancelMouseCapture()
|
||||
{
|
||||
// cancel operation currently in progress, whatever it is
|
||||
|
Loading…
Reference in New Issue
Block a user