X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4693b20c7500190c3cc8c02919c45436bf5efbc9..92b0a2a13ccaaa23a97964ff35cdaf39dd44a104:/samples/newgrid/griddemo.cpp diff --git a/samples/newgrid/griddemo.cpp b/samples/newgrid/griddemo.cpp index aaf3bebcd5..28c51cd7f1 100644 --- a/samples/newgrid/griddemo.cpp +++ b/samples/newgrid/griddemo.cpp @@ -29,11 +29,11 @@ #endif #ifndef WX_PRECOMP -#include "wx/wx.h" + #include "wx/wx.h" + #include "wx/colordlg.h" + #include "wx/fontdlg.h" #endif -#include "wx/colordlg.h" - #include "wx/grid.h" #include "wx/generic/gridctrl.h" @@ -76,6 +76,7 @@ BEGIN_EVENT_TABLE( GridFrame, wxFrame ) EVT_MENU( ID_AUTOSIZECOLS, GridFrame::AutoSizeCols ) EVT_MENU( ID_SETLABELCOLOUR, GridFrame::SetLabelColour ) EVT_MENU( ID_SETLABELTEXTCOLOUR, GridFrame::SetLabelTextColour ) + EVT_MENU( ID_SETLABEL_FONT, GridFrame::SetLabelFont ) EVT_MENU( ID_ROWLABELHORIZALIGN, GridFrame::SetRowLabelHorizAlignment ) EVT_MENU( ID_ROWLABELVERTALIGN, GridFrame::SetRowLabelVertAlignment ) EVT_MENU( ID_COLLABELHORIZALIGN, GridFrame::SetColLabelHorizAlignment ) @@ -169,11 +170,12 @@ GridFrame::GridFrame() colLabelMenu->Append( ID_COLLABELVERTALIGN, "&Vertical" ); wxMenu *colMenu = new wxMenu; - colMenu->Append( ID_SETLABELCOLOUR, "Set &label colour" ); - colMenu->Append( ID_SETLABELTEXTCOLOUR, "Set label &text colour" ); - colMenu->Append( ID_GRIDLINECOLOUR, "&Grid line colour" ); - colMenu->Append( ID_SET_CELL_FG_COLOUR, "Set cell &foreground colour" ); - colMenu->Append( ID_SET_CELL_BG_COLOUR, "Set cell &background colour" ); + colMenu->Append( ID_SETLABELCOLOUR, "Set &label colour..." ); + colMenu->Append( ID_SETLABELTEXTCOLOUR, "Set label &text colour..." ); + colMenu->Append( ID_SETLABEL_FONT, "Set label fo&nt..." ); + colMenu->Append( ID_GRIDLINECOLOUR, "&Grid line colour..." ); + colMenu->Append( ID_SET_CELL_FG_COLOUR, "Set cell &foreground colour..." ); + colMenu->Append( ID_SET_CELL_BG_COLOUR, "Set cell &background colour..." ); wxMenu *editMenu = new wxMenu; editMenu->Append( ID_INSERTROW, "Insert &row" ); @@ -249,6 +251,8 @@ GridFrame::GridFrame() grid->SetCellValue( 0, 2, "Blah" ); grid->SetCellValue( 0, 3, "Read only" ); grid->SetReadOnly( 0, 3 ); + + grid->SetCellValue( 0, 4, "Can veto edit this cell" ); grid->SetCellValue( 0, 5, "Press\nCtrl+arrow\nto skip over\ncells" ); @@ -457,6 +461,14 @@ void GridFrame::SetLabelTextColour( wxCommandEvent& WXUNUSED(ev) ) } } +void GridFrame::SetLabelFont( wxCommandEvent& WXUNUSED(ev) ) +{ + wxFont font = wxGetFontFromUser(this); + if ( font.Ok() ) + { + grid->SetLabelFont(font); + } +} void GridFrame::SetRowLabelHorizAlignment( wxCommandEvent& WXUNUSED(ev) ) { @@ -808,6 +820,17 @@ void GridFrame::OnCellValueChanged( wxGridEvent& ev ) void GridFrame::OnEditorShown( wxGridEvent& ev ) { + + if ( (ev.GetCol() == 4) && + (ev.GetRow() == 0) && + (wxMessageBox(_T("Are you sure you wish to edit this cell"), + _T("Checking"),wxYES_NO) == wxNO ) ) { + + ev.Veto(); + return; + } + + wxLogMessage( wxT("Cell editor shown.") ); ev.Skip(); @@ -815,6 +838,16 @@ void GridFrame::OnEditorShown( wxGridEvent& ev ) void GridFrame::OnEditorHidden( wxGridEvent& ev ) { + + if ( (ev.GetCol() == 4) && + (ev.GetRow() == 0) && + (wxMessageBox(_T("Are you sure you wish to finish editing this cell"), + _T("Checking"),wxYES_NO) == wxNO ) ) { + + ev.Veto(); + return; + } + wxLogMessage( wxT("Cell editor hidden.") ); ev.Skip();