Updated demo program to work with revised grid code

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Michael Bedward
2000-02-03 06:07:07 +00:00
parent 1f1ce28841
commit f445b8537b
2 changed files with 49 additions and 70 deletions

View File

@@ -47,8 +47,7 @@ bool GridApp::OnInit()
BEGIN_EVENT_TABLE( GridFrame, wxFrame ) BEGIN_EVENT_TABLE( GridFrame, wxFrame )
EVT_MENU( ID_TOGGLEROWLABELS, GridFrame::ToggleRowLabels ) EVT_MENU( ID_TOGGLEROWLABELS, GridFrame::ToggleRowLabels )
EVT_MENU( ID_TOGGLECOLLABELS, GridFrame::ToggleColLabels ) EVT_MENU( ID_TOGGLECOLLABELS, GridFrame::ToggleColLabels )
EVT_MENU( ID_TOGGLECONTROLPANEL, GridFrame::ToggleControlPanel ) EVT_MENU( ID_TOGGLEEDIT, GridFrame::ToggleEditing )
EVT_MENU( ID_TOGGLECELLEDIT, GridFrame::ToggleCellEdit )
EVT_MENU( ID_SETLABELCOLOUR, GridFrame::SetLabelColour ) EVT_MENU( ID_SETLABELCOLOUR, GridFrame::SetLabelColour )
EVT_MENU( ID_SETLABELTEXTCOLOUR, GridFrame::SetLabelTextColour ) EVT_MENU( ID_SETLABELTEXTCOLOUR, GridFrame::SetLabelTextColour )
EVT_MENU( ID_ROWLABELHORIZALIGN, GridFrame::SetRowLabelHorizAlignment ) EVT_MENU( ID_ROWLABELHORIZALIGN, GridFrame::SetRowLabelHorizAlignment )
@@ -58,9 +57,10 @@ BEGIN_EVENT_TABLE( GridFrame, wxFrame )
EVT_MENU( ID_GRIDLINECOLOUR, GridFrame::SetGridLineColour ) EVT_MENU( ID_GRIDLINECOLOUR, GridFrame::SetGridLineColour )
EVT_MENU( ID_INSERTROW, GridFrame::InsertRow ) EVT_MENU( ID_INSERTROW, GridFrame::InsertRow )
EVT_MENU( ID_INSERTCOL, GridFrame::InsertCol ) EVT_MENU( ID_INSERTCOL, GridFrame::InsertCol )
EVT_MENU( ID_DELETEROW, GridFrame::DeleteRow ) EVT_MENU( ID_DELETEROW, GridFrame::DeleteSelectedRows )
EVT_MENU( ID_DELETECOL, GridFrame::DeleteCol ) EVT_MENU( ID_DELETECOL, GridFrame::DeleteSelectedCols )
EVT_MENU( ID_CLEARGRID, GridFrame::ClearGrid ) EVT_MENU( ID_CLEARGRID, GridFrame::ClearGrid )
EVT_MENU( ID_ABOUT, GridFrame::About ) EVT_MENU( ID_ABOUT, GridFrame::About )
EVT_MENU( wxID_EXIT, GridFrame::OnQuit ) EVT_MENU( wxID_EXIT, GridFrame::OnQuit )
@@ -71,6 +71,7 @@ BEGIN_EVENT_TABLE( GridFrame, wxFrame )
EVT_GRID_SELECT_CELL( GridFrame::OnSelectCell ) EVT_GRID_SELECT_CELL( GridFrame::OnSelectCell )
EVT_GRID_RANGE_SELECT( GridFrame::OnRangeSelected ) EVT_GRID_RANGE_SELECT( GridFrame::OnRangeSelected )
EVT_GRID_CELL_CHANGE( GridFrame::OnCellValueChanged ) EVT_GRID_CELL_CHANGE( GridFrame::OnCellValueChanged )
END_EVENT_TABLE() END_EVENT_TABLE()
@@ -88,8 +89,7 @@ GridFrame::GridFrame()
wxMenu *viewMenu = new wxMenu; wxMenu *viewMenu = new wxMenu;
viewMenu->Append( ID_TOGGLEROWLABELS, "&Row labels", "", TRUE ); viewMenu->Append( ID_TOGGLEROWLABELS, "&Row labels", "", TRUE );
viewMenu->Append( ID_TOGGLECOLLABELS, "&Col labels", "", TRUE ); viewMenu->Append( ID_TOGGLECOLLABELS, "&Col labels", "", TRUE );
viewMenu->Append( ID_TOGGLECONTROLPANEL, "To&p controls", "", TRUE ); viewMenu->Append( ID_TOGGLEEDIT, "&Editable", "", TRUE );
viewMenu->Append( ID_TOGGLECELLEDIT, "&In-place editing", "", TRUE );
viewMenu->Append( ID_SETLABELCOLOUR, "Set &label colour" ); viewMenu->Append( ID_SETLABELCOLOUR, "Set &label colour" );
viewMenu->Append( ID_SETLABELTEXTCOLOUR, "Set label &text colour" ); viewMenu->Append( ID_SETLABELTEXTCOLOUR, "Set label &text colour" );
@@ -116,8 +116,8 @@ GridFrame::GridFrame()
wxMenu *editMenu = new wxMenu; wxMenu *editMenu = new wxMenu;
editMenu->Append( ID_INSERTROW, "Insert &row" ); editMenu->Append( ID_INSERTROW, "Insert &row" );
editMenu->Append( ID_INSERTCOL, "Insert &column" ); editMenu->Append( ID_INSERTCOL, "Insert &column" );
editMenu->Append( ID_DELETEROW, "Delete ro&w" ); editMenu->Append( ID_DELETEROW, "Delete selected ro&ws" );
editMenu->Append( ID_DELETECOL, "Delete co&l" ); editMenu->Append( ID_DELETECOL, "Delete selected co&ls" );
editMenu->Append( ID_CLEARGRID, "Cl&ear grid cell contents" ); editMenu->Append( ID_CLEARGRID, "Cl&ear grid cell contents" );
wxMenu *helpMenu = new wxMenu; wxMenu *helpMenu = new wxMenu;
@@ -152,8 +152,6 @@ GridFrame::GridFrame()
// //
grid->CreateGrid( 100, 100 ); grid->CreateGrid( 100, 100 );
grid->EnableTopEditControl( TRUE );
grid->SetRowSize( 0, 60 ); grid->SetRowSize( 0, 60 );
grid->SetCellValue( 0, 0, "Ctrl+Home\nwill go to\nthis cell" ); grid->SetCellValue( 0, 0, "Ctrl+Home\nwill go to\nthis cell" );
@@ -164,7 +162,7 @@ GridFrame::GridFrame()
grid->SetRowSize( 99, 60 ); grid->SetRowSize( 99, 60 );
grid->SetCellValue( 99, 99, "Ctrl+End\nwill go to\nthis cell" ); grid->SetCellValue( 99, 99, "Ctrl+End\nwill go to\nthis cell" );
wxBoxSizer *topSizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer *topSizer = new wxBoxSizer( wxVERTICAL );
topSizer->Add( grid, topSizer->Add( grid,
1, 1,
@@ -189,12 +187,12 @@ GridFrame::~GridFrame()
{ {
} }
void GridFrame::SetDefaults() void GridFrame::SetDefaults()
{ {
GetMenuBar()->Check( ID_TOGGLEROWLABELS, TRUE ); GetMenuBar()->Check( ID_TOGGLEROWLABELS, TRUE );
GetMenuBar()->Check( ID_TOGGLECOLLABELS, TRUE ); GetMenuBar()->Check( ID_TOGGLECOLLABELS, TRUE );
GetMenuBar()->Check( ID_TOGGLECONTROLPANEL, TRUE ); GetMenuBar()->Check( ID_TOGGLEEDIT, TRUE );
GetMenuBar()->Check( ID_TOGGLECELLEDIT, TRUE );
} }
@@ -224,16 +222,10 @@ void GridFrame::ToggleColLabels( wxCommandEvent& WXUNUSED(ev) )
} }
void GridFrame::ToggleControlPanel( wxCommandEvent& WXUNUSED(ev) ) void GridFrame::ToggleEditing( wxCommandEvent& WXUNUSED(ev) )
{ {
grid->EnableTopEditControl(GetMenuBar()->IsChecked(ID_TOGGLECONTROLPANEL)); grid->EnableEditing(
} GetMenuBar()->IsChecked( ID_TOGGLEEDIT ) );
void GridFrame::ToggleCellEdit( wxCommandEvent& WXUNUSED(ev) )
{
grid->EnableCellEditControl(
GetMenuBar()->IsChecked( ID_TOGGLECELLEDIT ) );
} }
@@ -386,15 +378,25 @@ void GridFrame::InsertCol( wxCommandEvent& WXUNUSED(ev) )
} }
void GridFrame::DeleteRow( wxCommandEvent& WXUNUSED(ev) ) void GridFrame::DeleteSelectedRows( wxCommandEvent& WXUNUSED(ev) )
{ {
grid->DeleteRows( 0, 1 ); if ( grid->IsSelection() )
{
int topRow, bottomRow, leftCol, rightCol;
grid->GetSelection( &topRow, &leftCol, &bottomRow, &rightCol );
grid->DeleteRows( topRow, bottomRow - topRow + 1 );
}
} }
void GridFrame::DeleteCol( wxCommandEvent& WXUNUSED(ev) ) void GridFrame::DeleteSelectedCols( wxCommandEvent& WXUNUSED(ev) )
{ {
grid->DeleteCols( 0, 1 ); if ( grid->IsSelection() )
{
int topRow, bottomRow, leftCol, rightCol;
grid->GetSelection( &topRow, &leftCol, &bottomRow, &rightCol );
grid->DeleteCols( leftCol, rightCol - leftCol + 1 );
}
} }
@@ -404,41 +406,6 @@ void GridFrame::ClearGrid( wxCommandEvent& WXUNUSED(ev) )
} }
void GridFrame::About( wxCommandEvent& WXUNUSED(ev) )
{
(void)wxMessageBox( "\n\nwxGrid demo \n\n"
"Michael Bedward \n"
"mbedward@ozemail.com.au \n\n",
"About",
wxOK );
}
void GridFrame::OnSize( wxSizeEvent& WXUNUSED(ev) )
{
if ( grid && logWin )
{
int cw, ch;
GetClientSize( &cw, &ch );
int gridH = ch - 90;
int logH = 80;
if ( gridH < 0 )
{
gridH = ch;
}
grid->SetSize( 0, 0, cw, gridH );
logWin->SetSize( 0, gridH + 10, cw, logH );
}
}
void GridFrame::OnQuit( wxCommandEvent& WXUNUSED(ev) )
{
Close( TRUE );
}
void GridFrame::OnLabelLeftClick( wxGridEvent& ev ) void GridFrame::OnLabelLeftClick( wxGridEvent& ev )
{ {
logBuf = ""; logBuf = "";
@@ -536,3 +503,18 @@ void GridFrame::OnCellValueChanged( wxGridEvent& ev )
} }
void GridFrame::About( wxCommandEvent& WXUNUSED(ev) )
{
(void)wxMessageBox( "\n\nwxGrid demo \n\n"
"Michael Bedward \n"
"mbedward@ozemail.com.au \n\n",
"About",
wxOK );
}
void GridFrame::OnQuit( wxCommandEvent& WXUNUSED(ev) )
{
Close( TRUE );
}

View File

@@ -30,10 +30,10 @@ class GridFrame : public wxFrame
wxString logBuf; wxString logBuf;
void SetDefaults(); void SetDefaults();
void ToggleRowLabels( wxCommandEvent& ); void ToggleRowLabels( wxCommandEvent& );
void ToggleColLabels( wxCommandEvent& ); void ToggleColLabels( wxCommandEvent& );
void ToggleControlPanel( wxCommandEvent& ); void ToggleEditing( wxCommandEvent& );
void ToggleCellEdit( wxCommandEvent& );
void SetLabelColour( wxCommandEvent& ); void SetLabelColour( wxCommandEvent& );
void SetLabelTextColour( wxCommandEvent& ); void SetLabelTextColour( wxCommandEvent& );
void SetRowLabelHorizAlignment( wxCommandEvent& ); void SetRowLabelHorizAlignment( wxCommandEvent& );
@@ -44,12 +44,10 @@ class GridFrame : public wxFrame
void InsertRow( wxCommandEvent& ); void InsertRow( wxCommandEvent& );
void InsertCol( wxCommandEvent& ); void InsertCol( wxCommandEvent& );
void DeleteRow( wxCommandEvent& ); void DeleteSelectedRows( wxCommandEvent& );
void DeleteCol( wxCommandEvent& ); void DeleteSelectedCols( wxCommandEvent& );
void ClearGrid( wxCommandEvent& ); void ClearGrid( wxCommandEvent& );
void About( wxCommandEvent& );
void OnLabelLeftClick( wxGridEvent& ); void OnLabelLeftClick( wxGridEvent& );
void OnCellLeftClick( wxGridEvent& ); void OnCellLeftClick( wxGridEvent& );
void OnRowSize( wxGridSizeEvent& ); void OnRowSize( wxGridSizeEvent& );
@@ -62,13 +60,12 @@ class GridFrame : public wxFrame
GridFrame(); GridFrame();
~GridFrame(); ~GridFrame();
void OnSize( wxSizeEvent& );
void OnQuit( wxCommandEvent& ); void OnQuit( wxCommandEvent& );
void About( wxCommandEvent& );
enum { ID_TOGGLEROWLABELS = 100, enum { ID_TOGGLEROWLABELS = 100,
ID_TOGGLECOLLABELS, ID_TOGGLECOLLABELS,
ID_TOGGLECONTROLPANEL, ID_TOGGLEEDIT,
ID_TOGGLECELLEDIT,
ID_SETLABELCOLOUR, ID_SETLABELCOLOUR,
ID_SETLABELTEXTCOLOUR, ID_SETLABELTEXTCOLOUR,
ID_ROWLABELALIGN, ID_ROWLABELALIGN,