X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c67daf87774c71ae9f73af9969008af220e52a11..84a19decccc823884c8cc037dbc8469d251d35a9:/include/wx/docview.h?ds=sidebyside diff --git a/include/wx/docview.h b/include/wx/docview.h index 008929ec76..ba1b413a12 100644 --- a/include/wx/docview.h +++ b/include/wx/docview.h @@ -21,7 +21,7 @@ #include "wx/cmndata.h" #include "wx/string.h" -#if USE_PRINTING_ARCHITECTURE +#if wxUSE_PRINTING_ARCHITECTURE #include "wx/print.h" #endif @@ -34,9 +34,20 @@ class WXDLLEXPORT wxPrintInfo; class WXDLLEXPORT wxCommand; class WXDLLEXPORT wxCommandProcessor; class WXDLLEXPORT wxFileHistory; +#if wxUSE_CONFIG +class WXDLLEXPORT wxConfigBase; +#endif -class WXDLLIMPORT ostream; -class WXDLLIMPORT istream; +#if wxUSE_IOSTREAMH +// N.B. BC++ doesn't have istream.h, ostream.h +# include +#else +# include +# include +# ifdef _MSC_VER + using namespace std; +# endif +#endif // Document manager flags #define wxDOC_SDI 1 @@ -188,7 +199,7 @@ class WXDLLEXPORT wxView: public wxEvtHandler inline wxDocManager *GetDocumentManager(void) const { return m_viewDocument->GetDocumentManager(); } -#if USE_PRINTING_ARCHITECTURE +#if wxUSE_PRINTING_ARCHITECTURE virtual wxPrintout *OnCreatePrintout(void); #endif @@ -332,8 +343,13 @@ class WXDLLEXPORT wxDocManager: public wxEvtHandler virtual int GetNoHistoryFiles(void) const; virtual wxString GetHistoryFile(int i) const; virtual void FileHistoryUseMenu(wxMenu *menu); - virtual void FileHistoryLoad(const wxString& resourceFile, const wxString& section); - virtual void FileHistorySave(const wxString& resourceFile, const wxString& section); + virtual void FileHistoryRemoveMenu(wxMenu *menu); +#if wxUSE_CONFIG + virtual void FileHistoryLoad(wxConfigBase& config); + virtual void FileHistorySave(wxConfigBase& config); +#endif + virtual void FileHistoryAddFilesToMenu(); + virtual void FileHistoryAddFilesToMenu(wxMenu* menu); protected: long m_flags; int m_defaultDocumentNameCounter; @@ -360,12 +376,11 @@ class WXDLLEXPORT wxDocChildFrame: public wxFrame long type = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame"); ~wxDocChildFrame(void); - bool OnClose(void); // Extend event processing to search the view's event table virtual bool ProcessEvent(wxEvent& event); -// void OldOnMenuCommand(int id); void OnActivate(wxActivateEvent& event); + void OnCloseWindow(wxCloseEvent& event); inline wxDocument *GetDocument(void) const { return m_childDocument; } inline wxView *GetView(void) const { return m_childView; } @@ -389,17 +404,16 @@ class WXDLLEXPORT wxDocParentFrame: public wxFrame public: wxDocParentFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long type = wxDEFAULT_FRAME, const wxString& name = "frame"); + long type = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame"); - bool OnClose(void); // Extend event processing to search the document manager's event table virtual bool ProcessEvent(wxEvent& event); -// void OldOnMenuCommand(int id); wxDocManager *GetDocumentManager(void) const { return m_docManager; } void OnExit(wxCommandEvent& event); void OnMRUFile(wxCommandEvent& event); + void OnCloseWindow(wxCloseEvent& event); protected: wxDocManager *m_docManager; @@ -411,7 +425,7 @@ DECLARE_EVENT_TABLE() * Provide simple default printing facilities */ -#if USE_PRINTING_ARCHITECTURE +#if wxUSE_PRINTING_ARCHITECTURE class WXDLLEXPORT wxDocPrintout: public wxPrintout { DECLARE_DYNAMIC_CLASS(wxDocPrintout) @@ -465,7 +479,8 @@ class WXDLLEXPORT wxCommandProcessor: public wxObject virtual bool Submit(wxCommand *command, bool storeIt = TRUE); virtual bool Undo(void); virtual bool Redo(void); - virtual bool CanUndo(void); + virtual bool CanUndo(void) const; + virtual bool CanRedo(void) const; // Call this to manage an edit menu. inline void SetEditMenu(wxMenu *menu) { m_commandEditMenu = menu; } @@ -484,6 +499,8 @@ class WXDLLEXPORT wxCommandProcessor: public wxObject wxMenu* m_commandEditMenu; }; +// File history management + class WXDLLEXPORT wxFileHistory: public wxObject { DECLARE_DYNAMIC_CLASS(wxFileHistory) @@ -491,21 +508,38 @@ class WXDLLEXPORT wxFileHistory: public wxObject wxFileHistory(int maxFiles = 9); ~wxFileHistory(void); - // File history management +// Operations virtual void AddFileToHistory(const wxString& file); - inline virtual int GetNoHistoryFiles(void) const { return m_fileHistoryN; } - virtual wxString GetHistoryFile(int i) const; virtual int GetMaxFiles(void) const { return m_fileMaxFiles; } - virtual void FileHistoryUseMenu(wxMenu *menu); - virtual void FileHistoryLoad(const wxString& resourceFile, const wxString& section); - virtual void FileHistorySave(const wxString& resourceFile, const wxString& section); + virtual void UseMenu(wxMenu *menu); + + // Remove menu from the list (MDI child may be closing) + virtual void RemoveMenu(wxMenu *menu); + +#if wxUSE_CONFIG + virtual void Load(wxConfigBase& config); + virtual void Save(wxConfigBase& config); +#endif + + virtual void AddFilesToMenu(); + virtual void AddFilesToMenu(wxMenu* menu); // Single menu + +// Accessors + virtual wxString GetHistoryFile(int i) const; + + // A synonym for GetNoHistoryFiles + virtual int GetCount() const { return m_fileHistoryN; } + inline int GetNoHistoryFiles(void) const { return m_fileHistoryN; } + + inline wxList& GetMenus() const { return (wxList&) m_fileMenus; } + protected: // Last n files char** m_fileHistory; // Number of files saved int m_fileHistoryN; - // Menu to maintain - wxMenu* m_fileMenu; + // Menus to maintain (may need several for an MDI app) + wxList m_fileMenus; // Max files to maintain int m_fileMaxFiles; };