FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h);
virtual ~FortyFrame();
- bool OnClose();
+ void OnCloseWindow(wxCloseEvent& event);
// Menu callbacks
void NewGame(wxCommandEvent& event);
EVT_MENU(SCORES, FortyFrame::Scores)
EVT_MENU(RIGHT_BUTTON_UNDO, FortyFrame::ToggleRightButtonUndo)
EVT_MENU(HELPING_HAND, FortyFrame::ToggleHelpingHand)
+ EVT_CLOSE(FortyFrame::OnCloseWindow)
END_EVENT_TABLE()
// Create a new application object
-1, -1, 668, 510
);
- // Show the frame
+ // Show the frame
frame->Show(TRUE);
- return true;
+ return TRUE;
}
-wxColour* FortyApp::BackgroundColour()
+const wxColour& FortyApp::BackgroundColour()
{
if (!m_backgroundColour)
{
m_backgroundColour = new wxColour(0, 128, 0);
}
- return m_backgroundColour;
+
+ return *m_backgroundColour;
}
-wxBrush* FortyApp::BackgroundBrush()
+const wxBrush& FortyApp::BackgroundBrush()
{
if (!m_backgroundBrush)
{
- m_backgroundBrush = new wxBrush(*BackgroundColour(), wxSOLID);
+ m_backgroundBrush = new wxBrush(BackgroundColour(), wxSOLID);
}
- return m_backgroundBrush;
+
+ return *m_backgroundBrush;
}
-wxColour* FortyApp::TextColour()
+const wxColour& FortyApp::TextColour()
{
if (!m_textColour)
{
m_textColour = new wxColour("BLACK");
}
- return m_textColour;
+
+ return *m_textColour;
}
// My frame constructor
{
// set the icon
#ifdef __WXMSW__
- SetIcon(new wxIcon("CardsIcon"));
+ SetIcon(wxIcon("CardsIcon"));
#else
#ifdef GTK_TBD
- SetIcon(new wxIcon(Cards_bits, Cards_width, Cards_height));
+ SetIcon(wxIcon(Cards_bits, Cards_width, Cards_height));
#endif
#endif
{
}
-bool FortyFrame::OnClose()
+void FortyFrame::OnCloseWindow(wxCloseEvent& event)
{
- return m_canvas->OnClose();
+ if (m_canvas->OnCloseCanvas() )
+ {
+ this->Destroy();
+ }
+ else
+ event.Veto();
}
void
{
#ifdef __WXGTK__
// wxGTK doesn't call OnClose() so we do it here
- if (OnClose())
+// if (OnClose())
#endif
Close(TRUE);
}