Added wxView::OnClosingDocument so the application can do
cleanup. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -213,6 +213,8 @@ All (GUI):
|
|||||||
so that erroneous help strings are no longer found as the hash
|
so that erroneous help strings are no longer found as the hash
|
||||||
table fills up
|
table fills up
|
||||||
- updated libpng from 1.0.3 to 1.2.4
|
- updated libpng from 1.0.3 to 1.2.4
|
||||||
|
- Added wxView::OnClosingDocument so the application can do
|
||||||
|
cleanup.
|
||||||
|
|
||||||
wxMSW:
|
wxMSW:
|
||||||
|
|
||||||
@@ -302,6 +304,7 @@ All (GUI):
|
|||||||
- wxGrid cell editing veto support (Roger Gammans)
|
- wxGrid cell editing veto support (Roger Gammans)
|
||||||
- wxListCtrl ITEM_FOCUSED event added
|
- wxListCtrl ITEM_FOCUSED event added
|
||||||
- support for ICO files in wxImage added (Chris Elliott)
|
- support for ICO files in wxImage added (Chris Elliott)
|
||||||
|
- improvements to wxDragImage (Chuck Messenger)
|
||||||
|
|
||||||
wxMSW:
|
wxMSW:
|
||||||
|
|
||||||
@@ -312,6 +315,9 @@ wxMSW:
|
|||||||
wxGTK:
|
wxGTK:
|
||||||
|
|
||||||
- fixed popup menu positioning bug
|
- fixed popup menu positioning bug
|
||||||
|
- fixed the edit function for wxListCtrl (Chuck Messenger)
|
||||||
|
- fixed the key-hitting events for wxListCtrl and wxTreeCtrl, so they
|
||||||
|
correctly return the key which was pressed (Chuck Messenger)
|
||||||
|
|
||||||
wxMac:
|
wxMac:
|
||||||
|
|
||||||
|
@@ -126,6 +126,13 @@ all share the same window, you need to disassociate the window from the view
|
|||||||
and perhaps clear the window. If {\it deleteWindow} is TRUE, delete the
|
and perhaps clear the window. If {\it deleteWindow} is TRUE, delete the
|
||||||
frame associated with the view.
|
frame associated with the view.
|
||||||
|
|
||||||
|
\membersection{wxView::OnClosingDocument}\label{wxviewonclosingdocument}
|
||||||
|
|
||||||
|
\func{virtual void}{OnClosingDoocument}{\void}
|
||||||
|
|
||||||
|
Override this to clean up the view when the document is being
|
||||||
|
closed.
|
||||||
|
|
||||||
\membersection{wxView::OnCreate}
|
\membersection{wxView::OnCreate}
|
||||||
|
|
||||||
\func{virtual bool}{OnCreate}{\param{wxDocument* }{doc}, \param{long}{ flags}}
|
\func{virtual bool}{OnCreate}{\param{wxDocument* }{doc}, \param{long}{ flags}}
|
||||||
|
@@ -133,6 +133,7 @@ public:
|
|||||||
wxView *GetFirstView() const;
|
wxView *GetFirstView() const;
|
||||||
|
|
||||||
virtual void UpdateAllViews(wxView *sender = (wxView *) NULL, wxObject *hint = (wxObject *) NULL);
|
virtual void UpdateAllViews(wxView *sender = (wxView *) NULL, wxObject *hint = (wxObject *) NULL);
|
||||||
|
virtual void NotifyClosing();
|
||||||
|
|
||||||
// Remove all views (because we're closing the document)
|
// Remove all views (because we're closing the document)
|
||||||
virtual bool DeleteAllViews();
|
virtual bool DeleteAllViews();
|
||||||
@@ -183,6 +184,7 @@ public:
|
|||||||
virtual void OnDraw(wxDC *dc) = 0;
|
virtual void OnDraw(wxDC *dc) = 0;
|
||||||
virtual void OnPrint(wxDC *dc, wxObject *info);
|
virtual void OnPrint(wxDC *dc, wxObject *info);
|
||||||
virtual void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL);
|
virtual void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL);
|
||||||
|
virtual void OnClosingDocument() {};
|
||||||
virtual void OnChangeFilename();
|
virtual void OnChangeFilename();
|
||||||
|
|
||||||
// Called by framework if created automatically by the default document
|
// Called by framework if created automatically by the default document
|
||||||
|
@@ -164,6 +164,8 @@ bool wxDocument::Close()
|
|||||||
|
|
||||||
bool wxDocument::OnCloseDocument()
|
bool wxDocument::OnCloseDocument()
|
||||||
{
|
{
|
||||||
|
// Tell all views that we're about to close
|
||||||
|
NotifyClosing();
|
||||||
DeleteContents();
|
DeleteContents();
|
||||||
Modify(FALSE);
|
Modify(FALSE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -508,6 +510,17 @@ void wxDocument::UpdateAllViews(wxView *sender, wxObject *hint)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxDocument::NotifyClosing()
|
||||||
|
{
|
||||||
|
wxNode *node = m_documentViews.First();
|
||||||
|
while (node)
|
||||||
|
{
|
||||||
|
wxView *view = (wxView *)node->Data();
|
||||||
|
view->OnClosingDocument();
|
||||||
|
node = node->Next();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void wxDocument::SetFilename(const wxString& filename, bool notifyViews)
|
void wxDocument::SetFilename(const wxString& filename, bool notifyViews)
|
||||||
{
|
{
|
||||||
m_documentFile = filename;
|
m_documentFile = filename;
|
||||||
|
Reference in New Issue
Block a user