added support for wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-03-15 17:44:41 +00:00
parent 03cebc22cb
commit 733f486aac
6 changed files with 201 additions and 13 deletions

View File

@@ -112,6 +112,14 @@ BEGIN_EVENT_TABLE( GridFrame, wxFrame )
EVT_MENU( ID_SELECT_UNSELECT, GridFrame::OnAddToSelectToggle)
EVT_MENU( ID_SHOW_SELECTION, GridFrame::OnShowSelection)
EVT_MENU( ID_SIZE_ROW, GridFrame::AutoSizeRow )
EVT_MENU( ID_SIZE_COL, GridFrame::AutoSizeCol )
EVT_MENU( ID_SIZE_ROW_LABEL, GridFrame::AutoSizeRowLabel )
EVT_MENU( ID_SIZE_COL_LABEL, GridFrame::AutoSizeColLabel )
EVT_MENU( ID_SIZE_LABELS_COL, GridFrame::AutoSizeLabelsCol )
EVT_MENU( ID_SIZE_LABELS_ROW, GridFrame::AutoSizeLabelsRow )
EVT_MENU( ID_SIZE_GRID, GridFrame::AutoSizeTable )
EVT_MENU( ID_SET_HIGHLIGHT_WIDTH, GridFrame::OnSetHighlightWidth)
EVT_MENU( ID_SET_RO_HIGHLIGHT_WIDTH, GridFrame::OnSetROHighlightWidth)
@@ -215,6 +223,14 @@ GridFrame::GridFrame()
selectionMenu->Append( ID_SELROWS, _T("Select &Rows") );
selectionMenu->Append( ID_SELCOLS, _T("Select C&ols") );
wxMenu *autosizeMenu = new wxMenu;
autosizeMenu->Append( ID_SIZE_ROW, _T("Selected &row data") );
autosizeMenu->Append( ID_SIZE_COL, _T("Selected &column data") );
autosizeMenu->Append( ID_SIZE_ROW_LABEL, _T("Selected row la&bel") );
autosizeMenu->Append( ID_SIZE_COL_LABEL, _T("Selected column &label") );
autosizeMenu->Append( ID_SIZE_LABELS_COL, _T("Column la&bels") );
autosizeMenu->Append( ID_SIZE_LABELS_ROW, _T("Row label&s") );
autosizeMenu->Append( ID_SIZE_GRID, _T("Entire &grid") );
wxMenu *helpMenu = new wxMenu;
helpMenu->Append( wxID_ABOUT, _T("&About wxGrid demo") );
@@ -225,6 +241,7 @@ GridFrame::GridFrame()
menuBar->Append( colMenu, _T("&Colours") );
menuBar->Append( editMenu, _T("&Edit") );
menuBar->Append( selectMenu, _T("&Select") );
menuBar->Append( autosizeMenu, _T("&Autosize") );
menuBar->Append( helpMenu, _T("&Help") );
SetMenuBar( menuBar );
@@ -680,6 +697,62 @@ void GridFrame::DeleteSelectedRows( wxCommandEvent& WXUNUSED(ev) )
}
void GridFrame::AutoSizeRow(wxCommandEvent& WXUNUSED(event))
{
wxGridUpdateLocker locker(grid);
const wxArrayInt sels = grid->GetSelectedRows();
for ( size_t n = 0, count = sels.size(); n < count; n++ )
{
grid->AutoSizeRow( sels[n], false );
}
}
void GridFrame::AutoSizeCol(wxCommandEvent& WXUNUSED(event))
{
wxGridUpdateLocker locker(grid);
const wxArrayInt sels = grid->GetSelectedCols();
for ( size_t n = 0, count = sels.size(); n < count; n++ )
{
grid->AutoSizeColumn( sels[n], false );
}
}
void GridFrame::AutoSizeRowLabel(wxCommandEvent& WXUNUSED(event))
{
wxGridUpdateLocker locker(grid);
const wxArrayInt sels = grid->GetSelectedRows();
for ( size_t n = 0, count = sels.size(); n < count; n++ )
{
grid->AutoSizeRowLabelSize( sels[n] );
}
}
void GridFrame::AutoSizeColLabel(wxCommandEvent& WXUNUSED(event))
{
wxGridUpdateLocker locker(grid);
const wxArrayInt sels = grid->GetSelectedCols();
for ( size_t n = 0, count = sels.size(); n < count; n++ )
{
grid->AutoSizeColLabelSize( sels[n] );
}
}
void GridFrame::AutoSizeLabelsCol(wxCommandEvent& WXUNUSED(event))
{
grid->SetColLabelSize( wxGRID_AUTOSIZE );
}
void GridFrame::AutoSizeLabelsRow(wxCommandEvent& WXUNUSED(event))
{
grid->SetRowLabelSize( wxGRID_AUTOSIZE );
}
void GridFrame::AutoSizeTable(wxCommandEvent& WXUNUSED(event))
{
grid->AutoSize();
}
void GridFrame::DeleteSelectedCols( wxCommandEvent& WXUNUSED(ev) )
{
if ( grid->IsSelection() )