]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
Return ExportStatus from Buffer to GuiView
[lyx.git] / src / Buffer.h
index 9701f319132aed6e1ed65f9d854ff1a0f1248ed1..f7cc714c6d45b74805f1b612426fcab012b9624b 100644 (file)
@@ -72,6 +72,10 @@ class FileName;
 class FileNameList;
 }
 
+namespace graphics {
+class PreviewLoader;
+}
+
 
 class Buffer;
 typedef std::list<Buffer *> ListOfBuffers;
@@ -118,6 +122,17 @@ public:
                ReadOriginal
        };
 
+       enum ExportStatus {
+               // export
+               ExportSuccess,
+               ExportError,
+               ExportNoPathToFormat,
+               ExportTexPathHasSpaces,
+               ExportConverterError,
+               // preview
+               PreviewSuccess,
+               PreviewError
+       };
 
        /// Method to check if a file is externally modified, used by
        /// isExternallyModified()
@@ -313,8 +328,7 @@ public:
                             bool only_body = false) const;
        ///
        void makeLyXHTMLFile(support::FileName const & filename,
-                            OutputParams const & runparams_in,
-                            bool only_body = false) const;
+                            OutputParams const & runparams_in) const;
        ///
        void writeLyXHTMLSource(odocstream & os,
                             OutputParams const & runparams_in,
@@ -512,6 +526,8 @@ public:
        /// Set by buffer_funcs' newFile.
        void setFullyLoaded(bool);
 
+       /// FIXME: Needed by RenderPreview.
+       graphics::PreviewLoader * loader() const;
        /// Update the LaTeX preview snippets associated with this buffer
        void updatePreviews() const;
        /// Remove any previewed LaTeX snippets associated with this buffer
@@ -597,16 +613,23 @@ public:
        ///
        bool hasGuiDelegate() const;
 
-       
-
        ///
-       bool doExport(std::string const & format, bool put_in_tempdir,
+       ExportStatus doExport(std::string const & target, bool put_in_tempdir) const;
+       ///
+       ExportStatus preview(std::string const & format) const;
+
+private:
+       /// target is a format name optionally followed by a space
+       /// and a destination file-name
+       ExportStatus doExport(std::string const & target, bool put_in_tempdir,
                bool includeall, std::string & result_file) const;
        ///
-       bool doExport(std::string const & format, bool put_in_tempdir,
-                     bool includeall = false) const;
+       ExportStatus doExport(std::string const & target, bool put_in_tempdir,
+               bool includeall) const;
        ///
-       bool preview(std::string const & format, bool includeall = false) const;
+       ExportStatus preview(std::string const & format, bool includeall = false) const;
+
+public:
        /// mark the buffer as busy exporting something, or not
        void setExportStatus(bool e) const;
        ///
@@ -668,7 +691,10 @@ private:
        ///
        void collectChildren(ListOfBuffers & children, bool grand_children) const;
 
-       
+       /// noncopyable
+       Buffer(Buffer const &);
+       void operator=(Buffer const &);
+
        /// Use the Pimpl idiom to hide the internals.
        class Impl;
        /// The pointer never changes although *pimpl_'s contents may.