bool OnInit(void);
};
+
// Define a new frame type
class MyFrame: public wxFrame
{ public:
wxGrid *grid;
MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size);
- bool OnClose(void) { return TRUE; }
-
void ToggleEditable(wxCommandEvent& event);
+ void ToggleEditInPlace(wxCommandEvent& event);
void ToggleRowLabel(wxCommandEvent& event);
void ToggleColLabel(wxCommandEvent& event);
void ToggleDividers(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
};
-wxBitmap *cellBitmap1 = NULL;
-wxBitmap *cellBitmap2 = NULL;
+wxBitmap *cellBitmap1 = (wxBitmap *) NULL;
+wxBitmap *cellBitmap2 = (wxBitmap *) NULL;
// ID for the menu quit command
#define GRID_QUIT 1
#define GRID_TOGGLE_EDITABLE 2
+#define GRID_TOGGLE_EDITINPLACE 22
#define GRID_LEFT_CELL 3
#define GRID_CENTRE_CELL 4
#define GRID_RIGHT_CELL 5
#endif
// Create the main frame window
- MyFrame *frame = new MyFrame(NULL, "wxGrid Sample", wxPoint(50, 50), wxSize(450, 300));
+ MyFrame *frame = new MyFrame((wxFrame *) NULL, (char *) "wxGrid Sample", wxPoint(50, 50), wxSize(450, 300));
// Give it an icon
#ifdef __WXMSW__
frame->SetIcon(wxIcon("mondrian"));
#endif
-#ifdef __X__
- frame->SetIcon(wxIcon("aiai.xbm"));
-#endif
// Make a menubar
wxMenu *file_menu = new wxMenu;
wxMenu *settings_menu = new wxMenu;
settings_menu->Append(GRID_TOGGLE_EDITABLE, "&Toggle editable");
+ settings_menu->Append(GRID_TOGGLE_EDITINPLACE, "&Toggle edit in place");
settings_menu->Append(GRID_TOGGLE_ROW_LABEL, "Toggle ro&w label");
settings_menu->Append(GRID_TOGGLE_COL_LABEL, "Toggle co&l label");
settings_menu->Append(GRID_TOGGLE_DIVIDERS, "Toggle ÷rs");
frame->grid->SetCellValue("First cell", 0, 0);
frame->grid->SetCellValue("Another cell", 1, 1);
frame->grid->SetCellValue("Yet another cell", 2, 2);
- frame->grid->SetCellTextFont(wxTheFontList->FindOrCreateFont(10, wxROMAN, wxITALIC, wxNORMAL), 0, 0);
+ frame->grid->SetCellTextFont(* wxTheFontList->FindOrCreateFont(10, wxROMAN, wxITALIC, wxNORMAL), 0, 0);
frame->grid->SetCellTextColour(*wxRED, 1, 1);
frame->grid->SetCellBackgroundColour(*wxCYAN, 2, 2);
if (cellBitmap1 && cellBitmap2)
MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size):
wxFrame(frame, -1, title, pos, size)
{
- grid = NULL;
+ grid = (wxGenericGrid *) NULL;
}
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(GRID_TOGGLE_EDITABLE, MyFrame::ToggleEditable)
+ EVT_MENU(GRID_TOGGLE_EDITINPLACE, MyFrame::ToggleEditInPlace)
EVT_MENU(GRID_TOGGLE_ROW_LABEL, MyFrame::ToggleRowLabel)
EVT_MENU(GRID_TOGGLE_COL_LABEL, MyFrame::ToggleColLabel)
EVT_MENU(GRID_TOGGLE_DIVIDERS, MyFrame::ToggleDividers)
grid->Refresh();
}
+void MyFrame::ToggleEditInPlace(wxCommandEvent& WXUNUSED(event))
+{
+ grid->SetEditInPlace(!grid->GetEditInPlace());
+ grid->Refresh();
+}
+
void MyFrame::ToggleRowLabel(wxCommandEvent& WXUNUSED(event))
{
if (grid->GetLabelSize(wxVERTICAL) > 0)
void MyFrame::ToggleDividers(wxCommandEvent& WXUNUSED(event))
{
- if (!grid->GetDividerPen())
- grid->SetDividerPen(wxThePenList->FindOrCreatePen("LIGHT GREY", 1, wxSOLID));
+ if (!grid->GetDividerPen().Ok())
+ grid->SetDividerPen(* wxThePenList->FindOrCreatePen("LIGHT GREY", 1, wxSOLID));
else
- grid->SetDividerPen(NULL);
+ grid->SetDividerPen(wxNullPen);
grid->Refresh();
}