#include "wx/cmndata.h"
#include "wx/string.h"
-#if USE_PRINTING_ARCHITECTURE
+#if wxUSE_PRINTING_ARCHITECTURE
#include "wx/print.h"
#endif
class WXDLLEXPORT wxCommand;
class WXDLLEXPORT wxCommandProcessor;
class WXDLLEXPORT wxFileHistory;
-
-class WXDLLIMPORT ostream;
-class WXDLLIMPORT istream;
+class WXDLLEXPORT wxConfigBase;
+
+#if wxUSE_IOSTREAMH
+# include <istream.h>
+# include <ostream.h>
+#else
+# include <istream>
+# include <ostream>
+# ifdef _MSC_VER
+ using namespace std;
+# endif
+#endif
// Document manager flags
#define wxDOC_SDI 1
inline wxDocManager *GetDocumentManager(void) const { return m_viewDocument->GetDocumentManager(); }
-#if USE_PRINTING_ARCHITECTURE
+#if wxUSE_PRINTING_ARCHITECTURE
virtual wxPrintout *OnCreatePrintout(void);
#endif
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);
+ virtual void FileHistoryLoad(wxConfigBase& config);
+ virtual void FileHistorySave(wxConfigBase& config);
+ virtual void FileHistoryAddFilesToMenu();
+ virtual void FileHistoryAddFilesToMenu(wxMenu* menu);
protected:
long m_flags;
int m_defaultDocumentNameCounter;
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; }
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long type = wxDEFAULT_FRAME, 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;
* Provide simple default printing facilities
*/
-#if USE_PRINTING_ARCHITECTURE
+#if wxUSE_PRINTING_ARCHITECTURE
class WXDLLEXPORT wxDocPrintout: public wxPrintout
{
DECLARE_DYNAMIC_CLASS(wxDocPrintout)
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; }
wxMenu* m_commandEditMenu;
};
+// File history management
+
class WXDLLEXPORT wxFileHistory: public wxObject
{
DECLARE_DYNAMIC_CLASS(wxFileHistory)
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);
+
+ virtual void Load(wxConfigBase& config);
+ virtual void Save(wxConfigBase& config);
+
+ 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;
};