X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/906c935a80b10d53cecf57f71ab5f3f4f1d529ec..3bad8c39260b8bda7762b4aacd49346b46064a2a:/include/wx/docview.h diff --git a/include/wx/docview.h b/include/wx/docview.h index 502a714446..660c7db336 100644 --- a/include/wx/docview.h +++ b/include/wx/docview.h @@ -21,6 +21,7 @@ #include "wx/string.h" #include "wx/frame.h" #include "wx/filehistory.h" +#include "wx/vector.h" #if wxUSE_PRINTING_ARCHITECTURE #include "wx/print.h" @@ -60,6 +61,10 @@ enum #define wxMAX_FILE_HISTORY 9 +typedef wxVector wxDocVector; +typedef wxVector wxViewVector; +typedef wxVector wxDocTemplateVector; + class WXDLLIMPEXP_CORE wxDocument : public wxEvtHandler { public: @@ -81,6 +86,9 @@ public: bool GetDocumentSaved() const { return m_savedYet; } void SetDocumentSaved(bool saved = true) { m_savedYet = saved; } + // activate the first view of the document if any + void Activate(); + // return true if the document hasn't been modified since the last time it // was saved (implying that it returns false if it was never saved, even if // the document is not modified) @@ -140,8 +148,14 @@ public: virtual bool AddView(wxView *view); virtual bool RemoveView(wxView *view); + +#ifndef __VISUALC6__ + wxViewVector GetViewsVector() const; +#endif // !__VISUALC6__ + wxList& GetViews() { return m_documentViews; } const wxList& GetViews() const { return m_documentViews; } + wxView *GetFirstView() const; virtual void UpdateAllViews(wxView *sender = NULL, wxObject *hint = NULL); @@ -432,6 +446,9 @@ public: // Find template from document class info, may return NULL. wxDocTemplate* FindTemplate(const wxClassInfo* documentClassInfo); + // Find document from file name, may return NULL. + wxDocument* FindDocumentByPath(const wxString& path) const; + wxDocument *GetCurrentDocument() const; void SetMaxDocsOpen(int n) { m_maxDocsOpen = n; } @@ -455,6 +472,11 @@ public: virtual void ActivateView(wxView *view, bool activate = true); virtual wxView *GetCurrentView() const { return m_currentView; } +#ifndef __VISUALC6__ + wxDocVector GetDocumentsVector() const; + wxDocTemplateVector GetTemplatesVector() const; +#endif // !__VISUALC6__ + wxList& GetDocuments() { return m_docs; } wxList& GetTemplates() { return m_templates; } @@ -534,10 +556,6 @@ protected: // view and returns it then wxView *GetActiveView() const; - // activate the first view of the given document if any - void ActivateDocument(wxDocument *doc); - - int m_defaultDocumentNameCounter; int m_maxDocsOpen; wxList m_docs; @@ -855,7 +873,7 @@ public: if ( !BaseFrame::Create(frame, id, title, pos, size, style, name) ) return false; - this->Connect(wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED, + this->Connect(wxID_EXIT, wxEVT_MENU, wxCommandEventHandler(wxDocParentFrameAny::OnExit)); this->Connect(wxEVT_CLOSE_WINDOW, wxCloseEventHandler(wxDocParentFrameAny::OnCloseWindow)); @@ -986,7 +1004,7 @@ wxTransferStreamToFile(wxInputStream& stream, const wxString& filename); // these flags are not used anywhere by wxWidgets and kept only for an unlikely // case of existing user code using them for its own purposes -#ifdef WXWIN_COMPATIBILITY_2_8 +#if WXWIN_COMPATIBILITY_2_8 enum { wxDOC_SDI = 1, @@ -995,6 +1013,23 @@ enum }; #endif // WXWIN_COMPATIBILITY_2_8 +#ifndef __VISUALC6__ +inline wxViewVector wxDocument::GetViewsVector() const +{ + return m_documentViews.AsVector(); +} + +inline wxDocVector wxDocManager::GetDocumentsVector() const +{ + return m_docs.AsVector(); +} + +inline wxDocTemplateVector wxDocManager::GetTemplatesVector() const +{ + return m_templates.AsVector(); +} +#endif // !__VISUALC6__ + #endif // wxUSE_DOC_VIEW_ARCHITECTURE #endif // _WX_DOCH__