X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5d2ac6b8c652a4aac703ba03f143820e978b33d4..0ad966eeac4c245a745c6a2056613f9c7367e4b2:/demos/life/life.cpp diff --git a/demos/life/life.cpp b/demos/life/life.cpp index ca0e56200d..cc61369e11 100644 --- a/demos/life/life.cpp +++ b/demos/life/life.cpp @@ -13,10 +13,6 @@ // headers, declarations, constants // ========================================================================== -#ifdef __GNUG__ - #pragma implementation "life.h" -#endif - // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" @@ -103,7 +99,9 @@ enum // Event tables BEGIN_EVENT_TABLE(LifeFrame, wxFrame) EVT_MENU (wxID_NEW, LifeFrame::OnMenu) +#if wxUSE_FILEDLG EVT_MENU (wxID_OPEN, LifeFrame::OnOpen) +#endif EVT_MENU (ID_SAMPLES, LifeFrame::OnSamples) EVT_MENU (wxID_ABOUT, LifeFrame::OnMenu) EVT_MENU (wxID_EXIT, LifeFrame::OnMenu) @@ -183,8 +181,9 @@ bool LifeApp::OnInit() // -------------------------------------------------------------------------- // frame constructor -LifeFrame::LifeFrame() : wxFrame( (wxFrame *) NULL, wxID_ANY, - _("Life!"), wxPoint(200, 200) ) +LifeFrame::LifeFrame() : + wxFrame( (wxFrame *) NULL, wxID_ANY, _("Life!"), wxDefaultPosition ), + m_navigator(NULL) { // frame icon SetIcon(wxICON(mondrian)); @@ -196,14 +195,19 @@ LifeFrame::LifeFrame() : wxFrame( (wxFrame *) NULL, wxID_ANY, wxMenu *menuHelp = new wxMenu(wxMENU_TEAROFF); menuFile->Append(wxID_NEW, wxGetStockLabel(wxID_NEW), _("Start a new game")); +#if wxUSE_FILEDLG menuFile->Append(wxID_OPEN, wxGetStockLabel(wxID_OPEN), _("Open an existing Life pattern")); +#endif menuFile->Append(ID_SAMPLES, _("&Sample game..."), _("Select a sample configuration")); +#if ! (defined(__SMARTPHONE__) || defined(__POCKETPC__)) menuFile->AppendSeparator(); menuFile->Append(wxID_EXIT, wxGetStockLabel(wxID_EXIT, true, _T("Alt-X")), _("Quit this program")); menuView->Append(ID_SHOWNAV, _("Navigation &toolbox"), _("Show or hide toolbox"), wxITEM_CHECK); menuView->Check(ID_SHOWNAV, true); menuView->AppendSeparator(); +#endif + menuView->Append(ID_ORIGIN, _("&Absolute origin"), _("Go to (0, 0)")); menuView->Append(ID_CENTER, _("&Center of mass"), _("Find center of mass")); menuView->Append(ID_NORTH, _("&North"), _("Find northernmost cell")); @@ -247,12 +251,17 @@ LifeFrame::LifeFrame() : wxFrame( (wxFrame *) NULL, wxID_ANY, toolBar->SetToolBitmapSize(wxSize(16, 16)); ADD_TOOL(wxID_NEW, tbBitmaps[0], wxGetStockLabel(wxID_NEW, false), _("Start a new game")); +#ifndef __POCKETPC__ +#if wxUSE_FILEDLG ADD_TOOL(wxID_OPEN, tbBitmaps[1], wxGetStockLabel(wxID_OPEN, false), _("Open an existing Life pattern")); +#endif // wxUSE_FILEDLG + toolBar->AddSeparator(); ADD_TOOL(wxID_ZOOM_IN, tbBitmaps[2], wxGetStockLabel(wxID_ZOOM_IN, false), _("Zoom in")); ADD_TOOL(wxID_ZOOM_OUT, tbBitmaps[3], wxGetStockLabel(wxID_ZOOM_OUT, false), _("Zoom out")); ADD_TOOL(ID_INFO, tbBitmaps[4], _("Description"), _("Show description")); toolBar->AddSeparator(); +#endif // __POCKETPC__ ADD_TOOL(ID_START, tbBitmaps[5], _("Start"), _("Start")); ADD_TOOL(wxID_STOP, tbBitmaps[6], wxGetStockLabel(wxID_STOP, false), _("Stop")); @@ -323,13 +332,17 @@ LifeFrame::LifeFrame() : wxFrame( (wxFrame *) NULL, wxID_ANY, sizer3->Add( panel1, 1, wxGROW ); sizer3->Add( panel2, 0, wxGROW ); SetSizer( sizer3 ); + +#ifndef __WXWINCE__ sizer3->Fit( this ); // set minimum frame size sizer3->SetSizeHints( this ); - // navigator frame + // navigator frame - not appropriate for small devices m_navigator = new LifeNavigator(this); +#endif + } LifeFrame::~LifeFrame() @@ -401,7 +414,8 @@ void LifeFrame::OnMenu(wxCommandEvent& event) case ID_SHOWNAV: { bool checked = GetMenuBar()->GetMenu(1)->IsChecked(ID_SHOWNAV); - m_navigator->Show(checked); + if (m_navigator) + m_navigator->Show(checked); break; } case ID_INFO: @@ -434,6 +448,7 @@ void LifeFrame::OnMenu(wxCommandEvent& event) } } +#if wxUSE_FILEDLG void LifeFrame::OnOpen(wxCommandEvent& WXUNUSED(event)) { wxFileDialog filedlg(this, @@ -463,6 +478,7 @@ void LifeFrame::OnOpen(wxCommandEvent& WXUNUSED(event)) } } } +#endif void LifeFrame::OnSamples(wxCommandEvent& WXUNUSED(event)) { @@ -677,7 +693,13 @@ void LifeNavigator::OnClose(wxCloseEvent& event) // canvas constructor LifeCanvas::LifeCanvas(wxWindow *parent, Life *life, bool interactive) : wxWindow(parent, wxID_ANY, wxDefaultPosition, wxSize(100, 100), - wxSUNKEN_BORDER|wxFULL_REPAINT_ON_RESIZE) + wxFULL_REPAINT_ON_RESIZE +#if !defined(__SMARTPHONE__) && !defined(__POCKETPC__) + |wxSUNKEN_BORDER +#else + |wxSIMPLE_BORDER +#endif + ) { m_life = life; m_interactive = interactive; @@ -1114,5 +1136,3 @@ void LifeCanvas::OnEraseBackground(wxEraseEvent& WXUNUSED(event)) { // do nothing. I just don't want the background to be erased, you know. } - -