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:
@@ -327,15 +327,15 @@ public:
|
|||||||
~wxLogWindow();
|
~wxLogWindow();
|
||||||
|
|
||||||
// window operations
|
// window operations
|
||||||
// show/hide the log window
|
// show/hide the log window
|
||||||
void Show(bool bShow = TRUE);
|
void Show(bool bShow = TRUE);
|
||||||
// retrieve the pointer to the frame
|
// retrieve the pointer to the frame
|
||||||
wxFrame *GetFrame() const;
|
wxFrame *GetFrame() const;
|
||||||
|
|
||||||
// accessors
|
// accessors
|
||||||
// the previous log target (may be NULL)
|
// the previous log target (may be NULL)
|
||||||
wxLog *GetOldLog() const { return m_pOldLog; }
|
wxLog *GetOldLog() const { return m_pOldLog; }
|
||||||
// are we passing the messages to the previous log target?
|
// are we passing the messages to the previous log target?
|
||||||
bool IsPassingMessages() const { return m_bPassMessages; }
|
bool IsPassingMessages() const { return m_bPassMessages; }
|
||||||
|
|
||||||
// we can pass the messages to the previous log target (we're in this mode by
|
// we can pass the messages to the previous log target (we're in this mode by
|
||||||
@@ -344,14 +344,20 @@ public:
|
|||||||
void PassMessages(bool bDoPass) { m_bPassMessages = bDoPass; }
|
void PassMessages(bool bDoPass) { m_bPassMessages = bDoPass; }
|
||||||
|
|
||||||
// base class virtuals
|
// base class virtuals
|
||||||
// we don't need it ourselves, but we pass it to the previous logger
|
// we don't need it ourselves, but we pass it to the previous logger
|
||||||
virtual void Flush();
|
virtual void Flush();
|
||||||
|
|
||||||
// overridables
|
// overridables
|
||||||
// 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