X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d8737fdcceb7662e6ecc7b1a76f0107cde9d724..e7300ec6d9ebbd1cfa2fcf12c0ce6e5aee85a152:/include/wx/docview.h diff --git a/include/wx/docview.h b/include/wx/docview.h index ac803a61aa..52f0c25048 100644 --- a/include/wx/docview.h +++ b/include/wx/docview.h @@ -20,6 +20,7 @@ #include "wx/list.h" #include "wx/cmndata.h" #include "wx/string.h" +#include "wx/frame.h" #if wxUSE_PRINTING_ARCHITECTURE #include "wx/print.h" @@ -31,7 +32,6 @@ class WXDLLEXPORT wxView; class WXDLLEXPORT wxDocTemplate; class WXDLLEXPORT wxDocManager; class WXDLLEXPORT wxPrintInfo; -class WXDLLEXPORT wxCommand; class WXDLLEXPORT wxCommandProcessor; class WXDLLEXPORT wxFileHistory; class WXDLLEXPORT wxConfigBase; @@ -96,11 +96,6 @@ public: virtual wxInputStream& LoadObject(wxInputStream& stream); #endif -#if wxUSE_SERIAL - // need this to keep from hiding the virtual from wxObject - virtual void LoadObject(wxObjectInputStream& stream) { wxObject::LoadObject(stream); }; -#endif - // Called by wxWindows virtual bool OnSaveDocument(const wxString& filename); virtual bool OnOpenDocument(const wxString& filename); @@ -176,7 +171,7 @@ 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; }; @@ -305,6 +300,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); @@ -365,6 +361,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); @@ -515,74 +514,6 @@ protected: }; #endif // wxUSE_PRINTING_ARCHITECTURE -// ---------------------------------------------------------------------------- -// Command processing framework -// ---------------------------------------------------------------------------- - -class WXDLLEXPORT wxCommand : public wxObject -{ - DECLARE_CLASS(wxCommand) - -public: - wxCommand(bool canUndoIt = FALSE, const wxString& name = ""); - ~wxCommand(); - - // Override this to perform a command - virtual bool Do() = 0; - - // Override this to undo a command - virtual bool Undo() = 0; - - virtual bool CanUndo() const { return m_canUndo; } - virtual wxString GetName() const { return m_commandName; } - -protected: - bool m_canUndo; - wxString m_commandName; -}; - -class WXDLLEXPORT wxCommandProcessor : public wxObject -{ - DECLARE_DYNAMIC_CLASS(wxCommandProcessor) - -public: - wxCommandProcessor(int maxCommands = 100); - ~wxCommandProcessor(); - - // Pass a command to the processor. The processor calls Do(); if - // successful, is appended to the command history unless storeIt is FALSE. - virtual bool Submit(wxCommand *command, bool storeIt = TRUE); - virtual bool Undo(); - virtual bool Redo(); - virtual bool CanUndo() const; - virtual bool CanRedo() const; - - // Call this to manage an edit menu. - void SetEditMenu(wxMenu *menu) { m_commandEditMenu = menu; } - wxMenu *GetEditMenu() const { return m_commandEditMenu; } - virtual void SetMenuStrings(); - virtual void Initialize(); - - wxList& GetCommands() const { return (wxList&) m_commands; } - int GetMaxCommands() const { return m_maxNoCommands; } - virtual void ClearCommands(); - - // By default, the accelerators are "\tCtrl+Z" and "\tCtrl+Y" - const wxString& GetUndoAccelerator() const { return m_undoAccelerator; } - const wxString& GetRedoAccelerator() const { return m_redoAccelerator; } - - void SetUndoAccelerator(const wxString& accel) { m_undoAccelerator = accel; } - void SetRedoAccelerator(const wxString& accel) { m_redoAccelerator = accel; } - -protected: - int m_maxNoCommands; - wxList m_commands; - wxNode* m_currentCommand; - wxMenu* m_commandEditMenu; - wxString m_undoAccelerator; - wxString m_redoAccelerator; -}; - // ---------------------------------------------------------------------------- // File history management // ----------------------------------------------------------------------------