X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d95b0c2ba0aca17fe3d0088276dd2db8a4571eb8..15f03b25a6e735601106b49dbf711cc2ad34a1f1:/samples/newgrid/griddemo.cpp diff --git a/samples/newgrid/griddemo.cpp b/samples/newgrid/griddemo.cpp index e63f35b76f..8188209452 100644 --- a/samples/newgrid/griddemo.cpp +++ b/samples/newgrid/griddemo.cpp @@ -71,6 +71,8 @@ BEGIN_EVENT_TABLE( GridFrame, wxFrame ) EVT_MENU( ID_TOGGLEROWSIZING, GridFrame::ToggleRowSizing ) EVT_MENU( ID_TOGGLECOLSIZING, GridFrame::ToggleColSizing ) EVT_MENU( ID_TOGGLEGRIDSIZING, GridFrame::ToggleGridSizing ) + EVT_MENU( ID_TOGGLEGRIDLINES, GridFrame::ToggleGridLines ) + EVT_MENU( ID_AUTOSIZECOLS, GridFrame::AutoSizeCols ) EVT_MENU( ID_SETLABELCOLOUR, GridFrame::SetLabelColour ) EVT_MENU( ID_SETLABELTEXTCOLOUR, GridFrame::SetLabelTextColour ) EVT_MENU( ID_ROWLABELHORIZALIGN, GridFrame::SetRowLabelHorizAlignment ) @@ -129,6 +131,8 @@ GridFrame::GridFrame() viewMenu->Append( ID_TOGGLEROWSIZING, "Ro&w drag-resize", "", TRUE ); viewMenu->Append( ID_TOGGLECOLSIZING, "C&ol drag-resize", "", TRUE ); viewMenu->Append( ID_TOGGLEGRIDSIZING, "&Grid drag-resize", "", TRUE ); + viewMenu->Append( ID_TOGGLEGRIDLINES, "&Grid Lines", "", TRUE ); + viewMenu->Append( ID_AUTOSIZECOLS, "&Auto-size cols" ); wxMenu *rowLabelMenu = new wxMenu; @@ -225,7 +229,7 @@ GridFrame::GridFrame() grid->SetCellBackgroundColour(3, 3, *wxLIGHT_GREY); grid->SetCellValue(4, 4, "a weird looking cell"); - grid->SetCellAlignment(4, 4, wxCENTRE, wxCENTRE); + grid->SetCellAlignment(4, 4, wxALIGN_CENTRE, wxALIGN_CENTRE); grid->SetCellRenderer(4, 4, new MyGridCellRenderer); grid->SetCellValue(3, 0, "1"); @@ -288,6 +292,7 @@ void GridFrame::SetDefaults() GetMenuBar()->Check( ID_TOGGLEROWSIZING, TRUE ); GetMenuBar()->Check( ID_TOGGLECOLSIZING, TRUE ); GetMenuBar()->Check( ID_TOGGLEGRIDSIZING, TRUE ); + GetMenuBar()->Check( ID_TOGGLEGRIDLINES, TRUE ); } @@ -344,6 +349,20 @@ void GridFrame::ToggleGridSizing( wxCommandEvent& WXUNUSED(ev) ) } +void GridFrame::ToggleGridLines( wxCommandEvent& WXUNUSED(ev) ) +{ + grid->EnableGridLines( + GetMenuBar()->IsChecked( ID_TOGGLEGRIDLINES ) ); +} + + +void GridFrame::AutoSizeCols( wxCommandEvent& WXUNUSED(ev) ) +{ + grid->AutoSizeColumns(); + grid->Refresh(); +} + + void GridFrame::SetLabelColour( wxCommandEvent& WXUNUSED(ev) ) { wxColourDialog dlg( NULL ); @@ -379,16 +398,16 @@ void GridFrame::SetRowLabelHorizAlignment( wxCommandEvent& WXUNUSED(ev) ) switch ( horiz ) { - case wxLEFT: - horiz = wxCENTRE; + case wxALIGN_LEFT: + horiz = wxALIGN_CENTRE; break; - case wxCENTRE: - horiz = wxRIGHT; + case wxALIGN_CENTRE: + horiz = wxALIGN_RIGHT; break; - case wxRIGHT: - horiz = wxLEFT; + case wxALIGN_RIGHT: + horiz = wxALIGN_LEFT; break; } @@ -402,16 +421,16 @@ void GridFrame::SetRowLabelVertAlignment( wxCommandEvent& WXUNUSED(ev) ) switch ( vert ) { - case wxTOP: - vert = wxCENTRE; + case wxALIGN_TOP: + vert = wxALIGN_CENTRE; break; - case wxCENTRE: - vert = wxBOTTOM; + case wxALIGN_CENTRE: + vert = wxALIGN_BOTTOM; break; - case wxBOTTOM: - vert = wxTOP; + case wxALIGN_BOTTOM: + vert = wxALIGN_TOP; break; } @@ -426,16 +445,16 @@ void GridFrame::SetColLabelHorizAlignment( wxCommandEvent& WXUNUSED(ev) ) switch ( horiz ) { - case wxLEFT: - horiz = wxCENTRE; + case wxALIGN_LEFT: + horiz = wxALIGN_CENTRE; break; - case wxCENTRE: - horiz = wxRIGHT; + case wxALIGN_CENTRE: + horiz = wxALIGN_RIGHT; break; - case wxRIGHT: - horiz = wxLEFT; + case wxALIGN_RIGHT: + horiz = wxALIGN_LEFT; break; } @@ -450,16 +469,16 @@ void GridFrame::SetColLabelVertAlignment( wxCommandEvent& WXUNUSED(ev) ) switch ( vert ) { - case wxTOP: - vert = wxCENTRE; + case wxALIGN_TOP: + vert = wxALIGN_CENTRE; break; - case wxCENTRE: - vert = wxBOTTOM; + case wxALIGN_CENTRE: + vert = wxALIGN_BOTTOM; break; - case wxBOTTOM: - vert = wxTOP; + case wxALIGN_BOTTOM: + vert = wxALIGN_TOP; break; } @@ -497,9 +516,13 @@ void GridFrame::DeleteSelectedRows( wxCommandEvent& WXUNUSED(ev) ) { if ( grid->IsSelection() ) { - for ( int n = 0; n < grid->GetNumberRows(); n++ ) + grid->BeginBatch(); + for ( int n = 0; n < grid->GetNumberRows(); ) if ( grid->IsInSelection( n , 0 ) ) grid->DeleteRows( n, 1 ); + else + n++; + grid->EndBatch(); } } @@ -508,9 +531,13 @@ void GridFrame::DeleteSelectedCols( wxCommandEvent& WXUNUSED(ev) ) { if ( grid->IsSelection() ) { - for ( int n = 0; n < grid->GetNumberCols(); n++ ) + grid->BeginBatch(); + for ( int n = 0; n < grid->GetNumberCols(); ) if ( grid->IsInSelection( 0 , n ) ) grid->DeleteCols( n, 1 ); + else + n++; + grid->EndBatch(); } } @@ -572,6 +599,7 @@ void GridFrame::OnLabelLeftClick( wxGridEvent& ev ) } if ( ev.ShiftDown() ) logBuf << " (shift down)"; + if ( ev.ControlDown() ) logBuf << " (control down)"; wxLogMessage( "%s", logBuf.c_str() ); // you must call event skip if you want default grid processing @@ -623,10 +651,10 @@ void GridFrame::OnSelectCell( wxGridEvent& ev ) logBuf << "Deselected "; logBuf << "cell at row " << ev.GetRow() << " col " << ev.GetCol() - << " ( ControlDown: "<