#ifndef WX_PRECOMP
#include "wx/wx.h"
- #include "wx/colordlg.h"
- #include "wx/fontdlg.h"
#endif
+#include "wx/colordlg.h"
+#include "wx/fontdlg.h"
+
#include "wx/grid.h"
#include "wx/generic/gridctrl.h"
EVT_MENU( wxID_EXIT, GridFrame::OnQuit )
EVT_MENU( ID_VTABLE, GridFrame::OnVTable)
EVT_MENU( ID_BUGS_TABLE, GridFrame::OnBugsTable)
+ EVT_MENU( ID_SMALL_GRID, GridFrame::OnSmallGrid)
EVT_MENU( ID_DESELECT_CELL, GridFrame::DeselectCell)
EVT_MENU( ID_DESELECT_COL, GridFrame::DeselectCol)
wxMenu *fileMenu = new wxMenu;
fileMenu->Append( ID_VTABLE, "&Virtual table test\tCtrl-V");
fileMenu->Append( ID_BUGS_TABLE, "&Bugs table test\tCtrl-B");
+ fileMenu->Append( ID_SMALL_GRID, "&Small Grid test\tCtrl-S");
fileMenu->AppendSeparator();
fileMenu->Append( wxID_EXIT, "E&xit\tAlt-X" );
grid->SetCellValue( 0, 1, "A long piece of text to demonstrate wrapping." );
grid->SetCellRenderer(0 , 1, new wxGridCellAutoWrapStringRenderer);
grid->SetCellEditor( 0, 1 , new wxGridCellAutoWrapStringEditor);
-
+
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" );
for ( int n = 0; n < grid->GetNumberRows(); )
if ( grid->IsInSelection( n , 0 ) )
grid->DeleteRows( n, 1 );
- else
- n++;
+ else
+ n++;
grid->EndBatch();
}
}
for ( int n = 0; n < grid->GetNumberCols(); )
if ( grid->IsInSelection( 0 , n ) )
grid->DeleteCols( n, 1 );
- else
- n++;
+ else
+ n++;
grid->EndBatch();
}
}
if ( (ev.GetCol() == 4) &&
(ev.GetRow() == 0) &&
- (wxMessageBox(_T("Are you sure you wish to edit this cell"),
- _T("Checking"),wxYES_NO) == wxNO ) ) {
+ (wxMessageBox(_T("Are you sure you wish to edit this cell"),
+ _T("Checking"),wxYES_NO) == wxNO ) ) {
- ev.Veto();
- return;
+ ev.Veto();
+ return;
}
-
-
+
wxLogMessage( wxT("Cell editor shown.") );
ev.Skip();
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 ) ) {
+ (wxMessageBox(_T("Are you sure you wish to finish editing this cell"),
+ _T("Checking"),wxYES_NO) == wxNO ) ) {
- ev.Veto();
- return;
+ ev.Veto();
+ return;
}
wxLogMessage( wxT("Cell editor hidden.") );
frame->Show(TRUE);
}
+void GridFrame::OnSmallGrid(wxCommandEvent& )
+{
+ wxFrame* frame = new wxFrame(NULL, -1, "A Small Grid",
+ wxDefaultPosition, wxSize(640, 480));
+ wxPanel* panel = new wxPanel(frame, -1);
+ wxGrid* grid = new wxGrid(panel, -1, wxPoint(10,10), wxSize(400,400),
+ wxWANTS_CHARS | wxSIMPLE_BORDER);
+ grid->CreateGrid(3,3);
+ frame->Show(TRUE);
+}
void GridFrame::OnVTable(wxCommandEvent& )
{