]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/docview.h
Doesn't reset the stream pos to 0 in CanRead().
[wxWidgets.git] / include / wx / docview.h
index 598d84c1254e520258595d245ba91f7d3b5208e8..39854b9847d52270ba4e8a9bf76b2617ffb3a623 100644 (file)
@@ -36,7 +36,11 @@ class WXDLLEXPORT wxCommandProcessor;
 class WXDLLEXPORT wxFileHistory;
 class WXDLLEXPORT wxConfigBase;
 
-#include "wx/ioswrap.h"
+#if wxUSE_STD_IOSTREAM
+  #include "wx/ioswrap.h"
+#else
+  #include "wx/stream.h"
+#endif
 
 // Document manager flags
 enum
@@ -84,8 +88,18 @@ public:
     virtual bool SaveAs();
     virtual bool Revert();
 
+#if wxUSE_STD_IOSTREAM
     virtual ostream& SaveObject(ostream& stream);
     virtual istream& LoadObject(istream& stream);
+#else
+    virtual wxOutputStream& SaveObject(wxOutputStream& stream);
+    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);
@@ -348,6 +362,7 @@ public:
 
     // File history management
     virtual void AddFileToHistory(const wxString& file);
+    virtual void RemoveFileFromHistory(int i);
     virtual int GetNoHistoryFiles() const;
     virtual wxString GetHistoryFile(int i) const;
     virtual void FileHistoryUseMenu(wxMenu *menu);
@@ -360,6 +375,9 @@ public:
     virtual void FileHistoryAddFilesToMenu();
     virtual void FileHistoryAddFilesToMenu(wxMenu* menu);
 
+    inline wxString GetLastDirectory() const { return m_lastDirectory; }
+    inline void SetLastDirectory(const wxString& dir) { m_lastDirectory = dir; }
+
 protected:
     long              m_flags;
     int               m_defaultDocumentNameCounter;
@@ -368,6 +386,7 @@ protected:
     wxList            m_templates;
     wxView*           m_currentView;
     wxFileHistory*    m_fileHistory;
+    wxString          m_lastDirectory;
 
     DECLARE_EVENT_TABLE()
 };
@@ -539,6 +558,7 @@ public:
 
     // Operations
     virtual void AddFileToHistory(const wxString& file);
+    virtual void RemoveFileFromHistory(int i);
     virtual int GetMaxFiles() const { return m_fileMaxFiles; }
     virtual void UseMenu(wxMenu *menu);
 
@@ -573,9 +593,11 @@ protected:
     int               m_fileMaxFiles;
 };
 
+#if wxUSE_STD_IOSTREAM
 // For compatibility with existing file formats:
 // converts from/to a stream to/from a temporary file.
 bool WXDLLEXPORT wxTransferFileToStream(const wxString& filename, ostream& stream);
 bool WXDLLEXPORT wxTransferStreamToFile(istream& stream, const wxString& filename);
+#endif
 
 #endif // _WX_DOCH__