From: Vadim Zeitlin Date: Wed, 15 Feb 2012 00:35:18 +0000 (+0000) Subject: Don't document private event handlers in doc/view frame classes. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/02f5e7631d2761bef8314a5b8da43d1eaff9da21?ds=sidebyside Don't document private event handlers in doc/view frame classes. wxDoc[MDI]ParentFrame::OnCloseWindow(), wxDoc[MDI]ChildFrame::OnActivate() and OnCloseWindow() are all private, don't document them as public. Just mention that the wxEVT_CLOSE_WINDOW and wxEVT_ACTIVATE should be left for the processing in the frame classes to let the default handling take place. Closes #13965. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/interface/wx/docmdi.h b/interface/wx/docmdi.h index 82289a28da..4f24041808 100644 --- a/interface/wx/docmdi.h +++ b/interface/wx/docmdi.h @@ -52,27 +52,6 @@ public: const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr); - - /** - Deletes all views and documents. If no user input cancelled the - operation, the frame will be destroyed and the application will exit. - - Since understanding how document/view clean-up takes place can be - difficult, the implementation of this function is shown below: - - @code - void wxDocParentFrame::OnCloseWindow(wxCloseEvent& event) - { - if (m_docManager->Clear(!event.CanVeto())) - { - this->Destroy(); - } - else - event.Veto(); - } - @endcode - */ - void OnCloseWindow(wxCloseEvent& event); }; @@ -122,18 +101,6 @@ public: */ wxView* GetView() const; - /** - Sets the currently active view to be the frame's view. You may need - to override (but still call) this function in order to set the keyboard - focus for your subwindow. - */ - void OnActivate(wxActivateEvent& event); - - /** - Closes and deletes the current view and document. - */ - void OnCloseWindow(wxCloseEvent& event); - /** Sets the document for this frame. */ diff --git a/interface/wx/docview.h b/interface/wx/docview.h index 5d5f2662dc..236215cba0 100644 --- a/interface/wx/docview.h +++ b/interface/wx/docview.h @@ -1014,6 +1014,13 @@ public: and cooperates with the wxView, wxDocument, wxDocManager and wxDocTemplate classes. + Notice that this class handles ::wxEVT_ACTIVATE event and activates the + child view on receiving it. Don't intercept this event unless you want to + prevent from this happening. + + The same remark applies to ::wxEVT_CLOSE_WINDOW, as wxDocParentFrame the + frame handles this event by trying to close the associated view. + @library{wxcore} @category{docview} @@ -1047,18 +1054,6 @@ public: */ wxView* GetView() const; - /** - Sets the currently active view to be the frame's view. You may need to - override (but still call) this function in order to set the keyboard - focus for your subwindow. - */ - void OnActivate(wxActivateEvent& event); - - /** - Closes and deletes the current view and document. - */ - void OnCloseWindow(wxCloseEvent& event); - /** Sets the document for this frame. */ @@ -1092,6 +1087,12 @@ public: It cooperates with the wxView, wxDocument, wxDocManager and wxDocTemplate classes. + Notice that this class processes ::wxEVT_CLOSE_WINDOW event and tries to + close all open views from its handler. If all the views can be closed, i.e. + if none of them contains unsaved changes or the user decides to not save + them, the window is destroyed. Don't intercept this event in your code + unless you want to replace this logic. + @library{wxcore} @category{docview} @@ -1131,26 +1132,6 @@ public: Returns the associated document manager object. */ wxDocManager* GetDocumentManager() const; - - /** - Deletes all views and documents. If no user input cancelled the - operation, the frame will be destroyed and the application will exit. - Since understanding how document/view clean-up takes place can be - difficult, the implementation of this function is shown below: - - @code - void wxDocParentFrame::OnCloseWindow(wxCloseEvent& event) - { - if (m_docManager->Clear(!event.CanVeto())) - { - this->Destroy(); - } - else - event.Veto(); - } - @endcode - */ - void OnCloseWindow(wxCloseEvent& event); };