// Author: Guillermo Rodriguez Garcia, <guille@iies.es>
// Modified by:
// Created: Jan/2000
-// RCS-ID: $Id$
// Copyright: (c) 2000, Guillermo Rodriguez Garcia
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _LIFE_APP_H_
#define _LIFE_APP_H_
-#ifdef __GNUG__
- #pragma interface "life.h"
-#endif
-
-// for compilers that support precompilation, includes "wx/wx.h"
-#include "wx/wxprec.h"
-
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif
-
-// for all others, include the necessary headers
-#ifndef WX_PRECOMP
- #include "wx/wx.h"
-#endif
-
#include "wx/minifram.h"
#include "game.h"
{
public:
// ctor and dtor
- LifeCanvas(wxWindow* parent, Life* life, bool interactive = TRUE);
- ~LifeCanvas();
+ LifeCanvas(wxWindow* parent, Life* life, bool interactive = true);
+ virtual ~LifeCanvas();
// view management
int GetCellSize() const { return m_cellsize; };
void DrawCell(wxInt32 i, wxInt32 j, bool alive);
private:
- // any class wishing to process wxWindows events must use this macro
+ // any class wishing to process wxWidgets events must use this macro
DECLARE_EVENT_TABLE()
// draw a cell (parametrized by DC)
wxInt32 m_viewportY; // first visible cell (y coord)
wxInt32 m_viewportW; // number of visible cells (w)
wxInt32 m_viewportH; // number of visible cells (h)
- int m_thumbX; // horiz. scrollbar thumb position
- int m_thumbY; // vert. scrollbar thumb position
- wxInt32 m_mi, m_mj; // last mouse position
+ int m_thumbX; // horiz. scrollbar thumb position
+ int m_thumbY; // vert. scrollbar thumb position
+ wxInt32 m_mi, m_mj; // last mouse position
};
LifeNavigator(wxWindow *parent);
private:
- // any class wishing to process wxWindows events must use this macro
+ // any class wishing to process wxWidgets events must use this macro
DECLARE_EVENT_TABLE()
// event handlers
public:
// ctor and dtor
LifeFrame();
- ~LifeFrame();
+ virtual ~LifeFrame();
// member functions
void UpdateInfoText();
void UpdateUI();
private:
- // any class wishing to process wxWindows events must use this macro
+ // any class wishing to process wxWidgets events must use this macro
DECLARE_EVENT_TABLE()
// event handlers
- void OnSamples(wxCommandEvent& event);
void OnMenu(wxCommandEvent& event);
+ void OnOpen(wxCommandEvent& event);
+ void OnSamples(wxCommandEvent& event);
void OnNavigate(wxCommandEvent& event);
void OnZoom(wxCommandEvent& event);
void OnSlider(wxScrollEvent& event);
void OnStop();
void OnStep();
- Life *m_life;
+ Life *m_life;
LifeCanvas *m_canvas;
LifeNavigator *m_navigator;
wxStaticText *m_text;