// resources
// --------------------------------------------------------------------------
-#if defined(__WXGTK__) || defined(__WXMOTIF__)
+#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) || defined(__WXX11__)
// application icon
#include "mondrian.xpm"
if (filedlg.ShowModal() == wxID_OK)
{
- wxFileInputStream stream(filedlg.GetFilename());
+ wxFileInputStream stream(filedlg.GetPath());
LifeReader reader(stream);
// the reader handles errors itself, no need to do anything here
void LifeFrame::OnNavigate(wxCommandEvent& event)
{
- Cell c;
+ LifeCell c;
switch (event.GetId())
{
bmpe = wxBITMAP(east),
bmps = wxBITMAP(south);
-#if !defined(__WXGTK__) && !defined(__WXMOTIF__)
+#if !defined(__WXGTK__) && !defined(__WXMOTIF__) && !defined(__WXMAC__)
bmpn.SetMask(new wxMask(bmpn, *wxLIGHT_GREY));
bmpw.SetMask(new wxMask(bmpw, *wxLIGHT_GREY));
bmpc.SetMask(new wxMask(bmpc, *wxLIGHT_GREY));
sizer1->Add( sizer2 );
sizer1->Add( bs, 0, wxCENTRE | wxSOUTH, 4 );
- // set the miniframe size
+ // set the panel and miniframe size
panel->SetSizer(sizer1);
panel->SetAutoLayout(TRUE);
- sizer1->Fit(this);
- sizer1->SetSizeHints(this);
+
+ sizer1->Fit(panel);
+ SetClientSize(panel->GetSize());
+ wxSize sz = GetSize();
+ SetSizeHints(sz.x, sz.y, sz.x, sz.y);
// move it to a sensible position
wxRect parentRect = parent->GetRect();
wxClientDC dc(this);
size_t ncells;
- Cell *cells;
+ LifeCell *cells;
bool done = FALSE;
m_life->BeginFind(m_viewportX,
j1 = YToCell(y + h - 1);
size_t ncells;
- Cell *cells;
+ LifeCell *cells;
bool done = FALSE;
m_life->BeginFind(i0, j0, i1, j1, FALSE);
// calculate scroll increment
int scrollinc = 0;
- switch (type)
+ if (type == wxEVT_SCROLLWIN_TOP)
{
- case wxEVT_SCROLLWIN_TOP:
- {
- if (orient == wxHORIZONTAL)
- scrollinc = -m_viewportW;
- else
- scrollinc = -m_viewportH;
- break;
- }
- case wxEVT_SCROLLWIN_BOTTOM:
- {
- if (orient == wxHORIZONTAL)
- scrollinc = m_viewportW;
- else
- scrollinc = m_viewportH;
- break;
- }
- case wxEVT_SCROLLWIN_LINEUP: scrollinc = -1; break;
- case wxEVT_SCROLLWIN_LINEDOWN: scrollinc = +1; break;
- case wxEVT_SCROLLWIN_PAGEUP: scrollinc = -10; break;
- case wxEVT_SCROLLWIN_PAGEDOWN: scrollinc = +10; break;
- case wxEVT_SCROLLWIN_THUMBTRACK:
+ if (orient == wxHORIZONTAL)
+ scrollinc = -m_viewportW;
+ else
+ scrollinc = -m_viewportH;
+ }
+ else
+ if (type == wxEVT_SCROLLWIN_BOTTOM)
+ {
+ if (orient == wxHORIZONTAL)
+ scrollinc = m_viewportW;
+ else
+ scrollinc = m_viewportH;
+ }
+ else
+ if (type == wxEVT_SCROLLWIN_LINEUP)
+ {
+ scrollinc = -1;
+ }
+ else
+ if (type == wxEVT_SCROLLWIN_LINEDOWN)
+ {
+ scrollinc = +1;
+ }
+ else
+ if (type == wxEVT_SCROLLWIN_PAGEUP)
+ {
+ scrollinc = -10;
+ }
+ else
+ if (type == wxEVT_SCROLLWIN_PAGEDOWN)
+ {
+ scrollinc = -10;
+ }
+ else
+ if (type == wxEVT_SCROLLWIN_THUMBTRACK)
+ {
+ if (orient == wxHORIZONTAL)
{
- if (orient == wxHORIZONTAL)
- {
- scrollinc = pos - m_thumbX;
- m_thumbX = pos;
- }
- else
- {
- scrollinc = pos - m_thumbY;
- m_thumbY = pos;
- }
- break;
+ scrollinc = pos - m_thumbX;
+ m_thumbX = pos;
}
- case wxEVT_SCROLLWIN_THUMBRELEASE:
+ else
{
- m_thumbX = m_viewportW;
- m_thumbY = m_viewportH;
+ scrollinc = pos - m_thumbY;
+ m_thumbY = pos;
}
}
+ else
+ if (type == wxEVT_SCROLLWIN_THUMBRELEASE)
+ {
+ m_thumbX = m_viewportW;
+ m_thumbY = m_viewportH;
+ }
#if defined(__WXGTK__) || defined(__WXMOTIF__)
// wxGTK and wxMotif update the thumb automatically (wxMSW doesn't);