added wxLogWindow::OnFrameClose()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -351,7 +351,13 @@ public:
|
|||||||
// called immediately after the log frame creation allowing for
|
// called immediately after the log frame creation allowing for
|
||||||
// any extra initializations
|
// any extra initializations
|
||||||
virtual void OnFrameCreate(wxFrame *frame);
|
virtual void OnFrameCreate(wxFrame *frame);
|
||||||
// called right before the log frame is going to be deleted
|
// called if the user closes the window interactively, will not be
|
||||||
|
// called if it is destroyed for another reason (such as when program
|
||||||
|
// exits) - return TRUE from here to allow the frame to close, FALSE
|
||||||
|
// to prevent this from happening
|
||||||
|
virtual bool OnFrameClose(wxFrame *frame);
|
||||||
|
// called right before the log frame is going to be deleted: will
|
||||||
|
// always be called unlike OnFrameClose()
|
||||||
virtual void OnFrameDelete(wxFrame *frame);
|
virtual void OnFrameDelete(wxFrame *frame);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@@ -404,8 +404,8 @@ private:
|
|||||||
Menu_Clear = wxID_CLEAR
|
Menu_Clear = wxID_CLEAR
|
||||||
};
|
};
|
||||||
|
|
||||||
// instead of closing just hide the window to be able to Show() it later
|
// common part of OnClose() and OnCloseWindow()
|
||||||
void DoClose() { Show(FALSE); }
|
void DoClose();
|
||||||
|
|
||||||
wxTextCtrl *m_pTextCtrl;
|
wxTextCtrl *m_pTextCtrl;
|
||||||
wxLogWindow *m_log;
|
wxLogWindow *m_log;
|
||||||
@@ -455,6 +455,16 @@ wxLogFrame::wxLogFrame(wxFrame *pParent, wxLogWindow *log, const wxChar *szTitle
|
|||||||
m_log->OnFrameCreate(this);
|
m_log->OnFrameCreate(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxLogFrame::DoClose()
|
||||||
|
{
|
||||||
|
if ( m_log->OnFrameClose(this) )
|
||||||
|
{
|
||||||
|
// instead of closing just hide the window to be able to Show() it
|
||||||
|
// later
|
||||||
|
Show(FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void wxLogFrame::OnClose(wxCommandEvent& WXUNUSED(event))
|
void wxLogFrame::OnClose(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
DoClose();
|
DoClose();
|
||||||
@@ -643,6 +653,12 @@ void wxLogWindow::OnFrameCreate(wxFrame * WXUNUSED(frame))
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxLogWindow::OnFrameClose(wxFrame * WXUNUSED(frame))
|
||||||
|
{
|
||||||
|
// allow to close
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
void wxLogWindow::OnFrameDelete(wxFrame * WXUNUSED(frame))
|
void wxLogWindow::OnFrameDelete(wxFrame * WXUNUSED(frame))
|
||||||
{
|
{
|
||||||
m_pLogFrame = (wxLogFrame *)NULL;
|
m_pLogFrame = (wxLogFrame *)NULL;
|
||||||
|
Reference in New Issue
Block a user