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)
EVT_MENU(GRID_QUIT, MyFrame::Quit)
END_EVENT_TABLE()
-void MyFrame::ToggleEditable(wxCommandEvent& event)
+void MyFrame::ToggleEditable(wxCommandEvent& WXUNUSED(event))
{
grid->SetEditable(!grid->GetEditable());
grid->Refresh();
}
-void MyFrame::ToggleRowLabel(wxCommandEvent& event)
+void MyFrame::ToggleEditInPlace(wxCommandEvent& WXUNUSED(event))
+{
+ grid->SetEditInPlace(!grid->GetEditInPlace());
+ grid->Refresh();
+}
+
+void MyFrame::ToggleRowLabel(wxCommandEvent& WXUNUSED(event))
{
if (grid->GetLabelSize(wxVERTICAL) > 0)
grid->SetLabelSize(wxVERTICAL, 0);
grid->Refresh();
}
-void MyFrame::ToggleColLabel(wxCommandEvent& event)
+void MyFrame::ToggleColLabel(wxCommandEvent& WXUNUSED(event))
{
if (grid->GetLabelSize(wxHORIZONTAL) > 0)
grid->SetLabelSize(wxHORIZONTAL, 0);
grid->Refresh();
}
-void MyFrame::ToggleDividers(wxCommandEvent& event)
+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();
}
-void MyFrame::LeftCell(wxCommandEvent& event)
+void MyFrame::LeftCell(wxCommandEvent& WXUNUSED(event))
{
grid->SetCellAlignment(wxLEFT);
grid->Refresh();
}
-void MyFrame::CentreCell(wxCommandEvent& event)
+void MyFrame::CentreCell(wxCommandEvent& WXUNUSED(event))
{
grid->SetCellAlignment(wxCENTRE);
grid->Refresh();
}
-void MyFrame::RightCell(wxCommandEvent& event)
+void MyFrame::RightCell(wxCommandEvent& WXUNUSED(event))
{
grid->SetCellAlignment(wxRIGHT);
grid->Refresh();
}
-void MyFrame::ColourLabelBackground(wxCommandEvent& event)
+void MyFrame::ColourLabelBackground(wxCommandEvent& WXUNUSED(event))
{
wxColourData data;
data.SetChooseFull(TRUE);
}
}
-void MyFrame::ColourLabelText(wxCommandEvent& event)
+void MyFrame::ColourLabelText(wxCommandEvent& WXUNUSED(event))
{
wxColourData data;
data.SetChooseFull(TRUE);
}
}
-void MyFrame::NormalLabelColouring(wxCommandEvent& event)
+void MyFrame::NormalLabelColouring(wxCommandEvent& WXUNUSED(event))
{
grid->SetLabelBackgroundColour(*wxLIGHT_GREY);
grid->SetLabelTextColour(*wxBLACK);
grid->Refresh();
}
-void MyFrame::ColourCellBackground(wxCommandEvent& event)
+void MyFrame::ColourCellBackground(wxCommandEvent& WXUNUSED(event))
{
wxColourData data;
data.SetChooseFull(TRUE);
}
}
-void MyFrame::ColourCellText(wxCommandEvent& event)
+void MyFrame::ColourCellText(wxCommandEvent& WXUNUSED(event))
{
wxColourData data;
data.SetChooseFull(TRUE);
}
}
-void MyFrame::NormalCellColouring(wxCommandEvent& event)
+void MyFrame::NormalCellColouring(wxCommandEvent& WXUNUSED(event))
{
grid->SetCellBackgroundColour(*wxWHITE);
grid->SetCellTextColour(*wxBLACK);
grid->Refresh();
}
-void MyFrame::Quit(wxCommandEvent& event)
+void MyFrame::Quit(wxCommandEvent& WXUNUSED(event))
{
this->Close(TRUE);
}