X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0b9ab0bd824b6b9c93849928d67de1ec71e7c167..01cb1c26171efc494b94d77e4351362bb0eb2e7d:/include/wx/docview.h?ds=sidebyside diff --git a/include/wx/docview.h b/include/wx/docview.h index b564db1b67..93e968d334 100644 --- a/include/wx/docview.h +++ b/include/wx/docview.h @@ -12,7 +12,7 @@ #ifndef _WX_DOCH__ #define _WX_DOCH__ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "docview.h" #endif @@ -133,6 +133,7 @@ public: wxView *GetFirstView() const; virtual void UpdateAllViews(wxView *sender = (wxView *) NULL, wxObject *hint = (wxObject *) NULL); + virtual void NotifyClosing(); // Remove all views (because we're closing the document) virtual bool DeleteAllViews(); @@ -171,18 +172,19 @@ public: ~wxView(); wxDocument *GetDocument() const { return m_viewDocument; } - void SetDocument(wxDocument *doc); + virtual void SetDocument(wxDocument *doc); wxString GetViewName() const { return m_viewTypeName; } void SetViewName(const wxString& name) { m_viewTypeName = name; }; - wxFrame *GetFrame() const { return m_viewFrame ; } - void SetFrame(wxFrame *frame) { m_viewFrame = frame; } + wxWindow *GetFrame() const { return m_viewFrame ; } + void SetFrame(wxWindow *frame) { m_viewFrame = frame; } virtual void OnActivateView(bool activate, wxView *activeView, wxView *deactiveView); virtual void OnDraw(wxDC *dc) = 0; virtual void OnPrint(wxDC *dc, wxObject *info); virtual void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL); + virtual void OnClosingDocument() {}; virtual void OnChangeFilename(); // Called by framework if created automatically by the default document @@ -219,7 +221,7 @@ public: protected: wxDocument* m_viewDocument; wxString m_viewTypeName; - wxFrame* m_viewFrame; + wxWindow* m_viewFrame; }; // Represents user interface (and other) properties of documents and views @@ -300,6 +302,7 @@ public: // Handlers for common user commands void OnFileClose(wxCommandEvent& event); + void OnFileCloseAll(wxCommandEvent& event); void OnFileNew(wxCommandEvent& event); void OnFileOpen(wxCommandEvent& event); void OnFileRevert(wxCommandEvent& event); @@ -360,6 +363,9 @@ public: void AddDocument(wxDocument *doc); void RemoveDocument(wxDocument *doc); + // closes all currently open documents + bool CloseDocuments(bool force = TRUE); + // Clear remaining documents and templates bool Clear(bool force = TRUE);