]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix build with wxUSE_FFILE=0.
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 25 Jul 2013 21:55:06 +0000 (21:55 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 25 Jul 2013 21:55:06 +0000 (21:55 +0000)
Add the missing "#if wxUSE_FFILE" checks and add fallbacks to wxFile if it's
available.

Closes #15353.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/richtext/richtextbuffer.h
include/wx/richtext/richtextctrl.h
include/wx/richtext/richtextprint.h
src/common/debugrpt.cpp
src/common/textcmn.cpp
src/generic/dbgrptg.cpp
src/richtext/richtextbuffer.cpp
src/richtext/richtextctrl.cpp
src/richtext/richtextprint.cpp
src/stc/stc.cpp

index 903cfcbf7f2a4ce52909edcca09c61acb1a50c5f..5185e0139f0ea0f5cc80bc69e036992da4ee6523 100644 (file)
@@ -560,6 +560,10 @@ Major new features in this release
 3.0: (released 2013-09-??)
 --------------------------
 
 3.0: (released 2013-09-??)
 --------------------------
 
+All:
+
+- Fix build with wxUSE_FFILE==0 (jroemmler).
+
 All (GUI):
 
 - Fix crash in wxHTML on mal-formed <area> elements (LukasK).
 All (GUI):
 
 - Fix crash in wxHTML on mal-formed <area> elements (LukasK).
index 8a3343a9b20189e44debace1009f234d9a780c1c..6fc97b13955e7bc024f556931a4f076e22d61dcc 100644 (file)
@@ -4842,23 +4842,41 @@ public:
     */
     virtual void ResetAndClearCommands();
 
     */
     virtual void ResetAndClearCommands();
 
+#if wxUSE_FFILE && wxUSE_STREAMS
     //@{
     /**
     //@{
     /**
-        Loads content from a stream or file.
+        Loads content from a file.
         Not all handlers will implement file loading.
     */
     virtual bool LoadFile(const wxString& filename, wxRichTextFileType type = wxRICHTEXT_TYPE_ANY);
         Not all handlers will implement file loading.
     */
     virtual bool LoadFile(const wxString& filename, wxRichTextFileType type = wxRICHTEXT_TYPE_ANY);
-    virtual bool LoadFile(wxInputStream& stream, wxRichTextFileType type = wxRICHTEXT_TYPE_ANY);
     //@}
 
     //@{
     /**
     //@}
 
     //@{
     /**
-        Saves content to a stream or file.
+        Saves content to a file.
         Not all handlers will implement file saving.
     */
     virtual bool SaveFile(const wxString& filename, wxRichTextFileType type = wxRICHTEXT_TYPE_ANY);
         Not all handlers will implement file saving.
     */
     virtual bool SaveFile(const wxString& filename, wxRichTextFileType type = wxRICHTEXT_TYPE_ANY);
+    //@}
+#endif // wxUSE_FFILE
+
+#if wxUSE_STREAMS
+    //@{
+    /**
+        Loads content from a stream.
+        Not all handlers will implement loading from a stream.
+    */
+    virtual bool LoadFile(wxInputStream& stream, wxRichTextFileType type = wxRICHTEXT_TYPE_ANY);
+    //@}
+
+    //@{
+    /**
+        Saves content to a stream.
+        Not all handlers will implement saving to a stream.
+    */
     virtual bool SaveFile(wxOutputStream& stream, wxRichTextFileType type = wxRICHTEXT_TYPE_ANY);
     //@}
     virtual bool SaveFile(wxOutputStream& stream, wxRichTextFileType type = wxRICHTEXT_TYPE_ANY);
     //@}
+#endif // wxUSE_STREAMS
 
     /**
         Sets the handler flags, controlling loading and saving.
 
     /**
         Sets the handler flags, controlling loading and saving.
index 88c6f66387cdc53a39f7af8f73f09cbf771064bc..b115490172ff16bedc7ea38e0c634b2acd4d8bd0 100644 (file)
@@ -573,6 +573,7 @@ public:
                   int type = wxRICHTEXT_TYPE_ANY);
 #endif
 
                   int type = wxRICHTEXT_TYPE_ANY);
 #endif
 
+#if wxUSE_FFILE && wxUSE_STREAMS
     /**
         Helper function for LoadFile(). Loads content into the control's buffer using the given type.
 
     /**
         Helper function for LoadFile(). Loads content into the control's buffer using the given type.
 
@@ -582,6 +583,7 @@ public:
         This function looks for a suitable wxRichTextFileHandler object.
     */
     virtual bool DoLoadFile(const wxString& file, int fileType);
         This function looks for a suitable wxRichTextFileHandler object.
     */
     virtual bool DoLoadFile(const wxString& file, int fileType);
+#endif // wxUSE_FFILE && wxUSE_STREAMS
 
 #ifdef DOXYGEN
     /**
 
 #ifdef DOXYGEN
     /**
@@ -596,6 +598,7 @@ public:
                   int type = wxRICHTEXT_TYPE_ANY);
 #endif
 
                   int type = wxRICHTEXT_TYPE_ANY);
 #endif
 
+#if wxUSE_FFILE && wxUSE_STREAMS
     /**
         Helper function for SaveFile(). Saves the buffer content using the given type.
 
     /**
         Helper function for SaveFile(). Saves the buffer content using the given type.
 
@@ -606,6 +609,7 @@ public:
     */
     virtual bool DoSaveFile(const wxString& file = wxEmptyString,
                             int fileType = wxRICHTEXT_TYPE_ANY);
     */
     virtual bool DoSaveFile(const wxString& file = wxEmptyString,
                             int fileType = wxRICHTEXT_TYPE_ANY);
+#endif // wxUSE_FFILE && wxUSE_STREAMS
 
     /**
         Sets flags that change the behaviour of loading or saving.
 
     /**
         Sets flags that change the behaviour of loading or saving.
index 8ca2e80bb3017fd9c5a34784e0b2b41e35d00615..4c4104321017d278ead47c78b8a3f1cee40e0ff5 100644 (file)
@@ -165,11 +165,15 @@ public:
     virtual ~wxRichTextPrinting();
 
     /// Preview the file or buffer
     virtual ~wxRichTextPrinting();
 
     /// Preview the file or buffer
+#if wxUSE_FFILE && wxUSE_STREAMS
     bool PreviewFile(const wxString& richTextFile);
     bool PreviewFile(const wxString& richTextFile);
+#endif
     bool PreviewBuffer(const wxRichTextBuffer& buffer);
 
     /// Print the file or buffer
     bool PreviewBuffer(const wxRichTextBuffer& buffer);
 
     /// Print the file or buffer
+#if wxUSE_FFILE && wxUSE_STREAMS
     bool PrintFile(const wxString& richTextFile, bool showPrintDialog = true);
     bool PrintFile(const wxString& richTextFile, bool showPrintDialog = true);
+#endif
     bool PrintBuffer(const wxRichTextBuffer& buffer, bool showPrintDialog = true);
 
     /// Shows page setup dialog
     bool PrintBuffer(const wxRichTextBuffer& buffer, bool showPrintDialog = true);
 
     /// Shows page setup dialog
index 3d4f5054127e99cff5ec86f94f00484a3450cb30..d13e1194a42d91cef0cadbff6b1d20165e7f3adf 100644 (file)
 #if wxUSE_DEBUGREPORT && wxUSE_XML
 
 #include "wx/debugrpt.h"
 #if wxUSE_DEBUGREPORT && wxUSE_XML
 
 #include "wx/debugrpt.h"
+#if wxUSE_FFILE
+    #include "wx/ffile.h"
+#elif wxUSE_FILE
+    #include "wx/file.h"
+#endif
 
 
-#include "wx/ffile.h"
 #include "wx/filename.h"
 #include "wx/dir.h"
 #include "wx/dynlib.h"
 #include "wx/filename.h"
 #include "wx/dir.h"
 #include "wx/dynlib.h"
@@ -288,17 +292,25 @@ wxDebugReport::AddText(const wxString& filename,
                        const wxString& text,
                        const wxString& description)
 {
                        const wxString& text,
                        const wxString& description)
 {
+#if wxUSE_FFILE || wxUSE_FILE
     wxASSERT_MSG( !wxFileName(filename).IsAbsolute(),
                   wxT("filename should be relative to debug report directory") );
 
     wxASSERT_MSG( !wxFileName(filename).IsAbsolute(),
                   wxT("filename should be relative to debug report directory") );
 
-    wxFileName fn(GetDirectory(), filename);
-    wxFFile file(fn.GetFullPath(), wxT("w"));
-    if ( !file.IsOpened() || !file.Write(text) )
+    const wxString fullPath = wxFileName(GetDirectory(), filename).GetFullPath();
+#if wxUSE_FFILE
+    wxFFile file(fullPath, wxT("w"));
+#elif wxUSE_FILE
+    wxFile file(fullPath, wxFile::write);
+#endif
+    if ( !file.IsOpened() || !file.Write(text, wxConvAuto()) )
         return false;
 
     AddFile(filename, description);
 
     return true;
         return false;
 
     AddFile(filename, description);
 
     return true;
+#else // !wxUSE_FFILE && !wxUSE_FILE
+    return false;
+#endif
 }
 
 void wxDebugReport::RemoveFile(const wxString& name)
 }
 
 void wxDebugReport::RemoveFile(const wxString& name)
@@ -614,6 +626,8 @@ void wxDebugReportCompress::SetCompressedFileBaseName(const wxString& name)
 
 bool wxDebugReportCompress::DoProcess()
 {
 
 bool wxDebugReportCompress::DoProcess()
 {
+#define HAS_FILE_STREAMS (wxUSE_STREAMS && (wxUSE_FILE || wxUSE_FFILE))
+#if HAS_FILE_STREAMS
     const size_t count = GetFilesCount();
     if ( !count )
         return false;
     const size_t count = GetFilesCount();
     if ( !count )
         return false;
@@ -630,7 +644,14 @@ bool wxDebugReportCompress::DoProcess()
     fn.SetExt("zip");
 
     // create the streams
     fn.SetExt("zip");
 
     // create the streams
-    wxFFileOutputStream os(fn.GetFullPath(), wxT("wb"));
+    const wxString ofullPath = fn.GetFullPath();
+#if wxUSE_FFILE
+    wxFFileOutputStream os(ofullPath, wxT("wb"));
+#elif wxUSE_FILE
+    wxFileOutputStream os(ofullPath);
+#endif
+    if ( !os.IsOk() )
+        return false;
     wxZipOutputStream zos(os, 9);
 
     // add all files to the ZIP one
     wxZipOutputStream zos(os, 9);
 
     // add all files to the ZIP one
@@ -645,8 +666,12 @@ bool wxDebugReportCompress::DoProcess()
         if ( !zos.PutNextEntry(ze) )
             return false;
 
         if ( !zos.PutNextEntry(ze) )
             return false;
 
-        const wxFileName filename(GetDirectory(), name);
-        wxFFileInputStream is(filename.GetFullPath());
+        const wxString ifullPath = wxFileName(GetDirectory(), name).GetFullPath();
+#if wxUSE_FFILE
+        wxFFileInputStream is(ifullPath);
+#elif wxUSE_FILE
+        wxFileInputStream is(ifullPath);
+#endif
         if ( !is.IsOk() || !zos.Write(is).IsOk() )
             return false;
     }
         if ( !is.IsOk() || !zos.Write(is).IsOk() )
             return false;
     }
@@ -654,9 +679,12 @@ bool wxDebugReportCompress::DoProcess()
     if ( !zos.Close() )
         return false;
 
     if ( !zos.Close() )
         return false;
 
-    m_zipfile = fn.GetFullPath();
+    m_zipfile = ofullPath;
 
     return true;
 
     return true;
+#else
+    return false;
+#endif // HAS_FILE_STREAMS
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------
index 46847431f12fb155956f83e0476106c6bb985629..120c8784743d209014bc01f1e61401665a289fec 100644 (file)
@@ -915,6 +915,8 @@ bool wxTextAreaBase::DoLoadFile(const wxString& filename, int WXUNUSED(fileType)
             return true;
         }
     }
             return true;
         }
     }
+#else
+    (void)filename;   // avoid compiler warning about unreferenced parameter
 #endif // wxUSE_FFILE
 
     wxLogError(_("File couldn't be loaded."));
 #endif // wxUSE_FFILE
 
     wxLogError(_("File couldn't be loaded."));
@@ -936,6 +938,8 @@ bool wxTextAreaBase::DoSaveFile(const wxString& filename, int WXUNUSED(fileType)
 
         return true;
     }
 
         return true;
     }
+#else
+    (void)filename;   // avoid compiler warning about unreferenced parameter
 #endif // wxUSE_FFILE
 
     return false;
 #endif // wxUSE_FFILE
 
     return false;
index a6b5561a4b8e0f04af40e6f7ea1812ac0f889261..accea20e70623592c6de800fcf12c660c4423098 100644 (file)
 #endif // WX_PRECOMP
 
 #include "wx/filename.h"
 #endif // WX_PRECOMP
 
 #include "wx/filename.h"
-#include "wx/ffile.h"
+#ifdef wxUSE_FFILE
+    #include "wx/ffile.h"
+#else
+    #include "wx/file.h"
+#endif
 #include "wx/mimetype.h"
 
 #include "wx/statline.h"
 #include "wx/mimetype.h"
 
 #include "wx/statline.h"
@@ -432,7 +436,12 @@ void wxDebugReportDialog::OnView(wxCommandEvent& )
     wxFileName fn(m_dbgrpt.GetDirectory(), m_files[sel]);
     wxString str;
 
     wxFileName fn(m_dbgrpt.GetDirectory(), m_files[sel]);
     wxString str;
 
-    wxFFile file(fn.GetFullPath());
+    const wxString& fullPath = fn.GetFullPath();
+#if wxUSE_FFILE
+    wxFFile file(fullPath);
+#elif wxUSE_FILE
+    wxFile file(fullPath);
+#endif
     if ( file.IsOpened() && file.ReadAll(&str) )
     {
         wxDumpPreviewDlg dlg(this, m_files[sel], str);
     if ( file.IsOpened() && file.ReadAll(&str) )
     {
         wxDumpPreviewDlg dlg(this, m_files[sel], str);
index 86c41cfb5accfda3db465aff348302ed6bb4f207..1fbbd2299904e61bd8bb9cdf6cc22217a6591094 100644 (file)
@@ -8317,6 +8317,7 @@ wxString wxRichTextBuffer::GetExtWildcard(bool combine, bool save, wxArrayInt* t
     return wildcard;
 }
 
     return wildcard;
 }
 
+#if wxUSE_FFILE && wxUSE_STREAMS
 /// Load a file
 bool wxRichTextBuffer::LoadFile(const wxString& filename, wxRichTextFileType type)
 {
 /// Load a file
 bool wxRichTextBuffer::LoadFile(const wxString& filename, wxRichTextFileType type)
 {
@@ -8345,7 +8346,9 @@ bool wxRichTextBuffer::SaveFile(const wxString& filename, wxRichTextFileType typ
     else
         return false;
 }
     else
         return false;
 }
+#endif // wxUSE_FFILE && wxUSE_STREAMS
 
 
+#if wxUSE_STREAMS
 /// Load from a stream
 bool wxRichTextBuffer::LoadFile(wxInputStream& stream, wxRichTextFileType type)
 {
 /// Load from a stream
 bool wxRichTextBuffer::LoadFile(wxInputStream& stream, wxRichTextFileType type)
 {
@@ -8374,6 +8377,7 @@ bool wxRichTextBuffer::SaveFile(wxOutputStream& stream, wxRichTextFileType type)
     else
         return false;
 }
     else
         return false;
 }
+#endif // wxUSE_STREAMS
 
 /// Copy the range to the clipboard
 bool wxRichTextBuffer::CopyToClipboard(const wxRichTextRange& range)
 
 /// Copy the range to the clipboard
 bool wxRichTextBuffer::CopyToClipboard(const wxRichTextRange& range)
index 7657356d3527b925f81e7f5e08ea43c465d2f407..119a8a9d9286e5a443b217386843cc2e0e02ef48 100644 (file)
@@ -2665,7 +2665,7 @@ bool wxRichTextCtrl::RecreateBuffer(const wxSize& size)
 // ----------------------------------------------------------------------------
 // file IO functions
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // file IO functions
 // ----------------------------------------------------------------------------
-
+#if wxUSE_FFILE && wxUSE_STREAMS
 bool wxRichTextCtrl::DoLoadFile(const wxString& filename, int fileType)
 {
     SetFocusObject(& GetBuffer(), true);
 bool wxRichTextCtrl::DoLoadFile(const wxString& filename, int fileType)
 {
     SetFocusObject(& GetBuffer(), true);
@@ -2707,6 +2707,7 @@ bool wxRichTextCtrl::DoSaveFile(const wxString& filename, int fileType)
 
     return false;
 }
 
     return false;
 }
+#endif // wxUSE_FFILE && wxUSE_STREAMS
 
 // ----------------------------------------------------------------------------
 // wxRichTextCtrl specific functionality
 
 // ----------------------------------------------------------------------------
 // wxRichTextCtrl specific functionality
index 59c331d02fc940b570ed949db53b3ccc7b3d7792..7de085df91e4ab894cb049b2317a8173d4d27a33 100644 (file)
@@ -506,6 +506,7 @@ void wxRichTextPrinting::SetRichTextBufferPreview(wxRichTextBuffer* buf)
     m_richTextBufferPreview = buf;
 }
 
     m_richTextBufferPreview = buf;
 }
 
+#if wxUSE_FFILE && wxUSE_STREAMS
 bool wxRichTextPrinting::PreviewFile(const wxString& richTextFile)
 {
     SetRichTextBufferPreview(new wxRichTextBuffer);
 bool wxRichTextPrinting::PreviewFile(const wxString& richTextFile)
 {
     SetRichTextBufferPreview(new wxRichTextBuffer);
@@ -525,6 +526,7 @@ bool wxRichTextPrinting::PreviewFile(const wxString& richTextFile)
     p2->SetRichTextBuffer(m_richTextBufferPrinting);
     return DoPreview(p1, p2);
 }
     p2->SetRichTextBuffer(m_richTextBufferPrinting);
     return DoPreview(p1, p2);
 }
+#endif // wxUSE_FFILE && wxUSE_STREAMS
 
 bool wxRichTextPrinting::PreviewBuffer(const wxRichTextBuffer& buffer)
 {
 
 bool wxRichTextPrinting::PreviewBuffer(const wxRichTextBuffer& buffer)
 {
@@ -540,6 +542,7 @@ bool wxRichTextPrinting::PreviewBuffer(const wxRichTextBuffer& buffer)
     return DoPreview(p1, p2);
 }
 
     return DoPreview(p1, p2);
 }
 
+#if wxUSE_FFILE && wxUSE_STREAMS
 bool wxRichTextPrinting::PrintFile(const wxString& richTextFile, bool showPrintDialog)
 {
     SetRichTextBufferPrinting(new wxRichTextBuffer);
 bool wxRichTextPrinting::PrintFile(const wxString& richTextFile, bool showPrintDialog)
 {
     SetRichTextBufferPrinting(new wxRichTextBuffer);
@@ -557,6 +560,7 @@ bool wxRichTextPrinting::PrintFile(const wxString& richTextFile, bool showPrintD
     delete p;
     return ret;
 }
     delete p;
     return ret;
 }
+#endif // wxUSE_FFILE && wxUSE_STREAMS
 
 bool wxRichTextPrinting::PrintBuffer(const wxRichTextBuffer& buffer, bool showPrintDialog)
 {
 
 bool wxRichTextPrinting::PrintBuffer(const wxRichTextBuffer& buffer, bool showPrintDialog)
 {
index 1dc93c27de4543e43a61798ab831bc3a2533b3ba..5577bb37fd803f3dd634e999a569aef4b5bf09bb 100644 (file)
@@ -50,7 +50,7 @@
 #if wxUSE_FFILE
     #include "wx/ffile.h"
 #elif wxUSE_FILE
 #if wxUSE_FFILE
     #include "wx/ffile.h"
 #elif wxUSE_FILE
-    #include "wx/ffile.h"
+    #include "wx/file.h"
 #endif
 
 #ifdef __WXGTK__
 #endif
 
 #ifdef __WXGTK__