]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
Return ExportStatus from Buffer to GuiView
[lyx.git] / src / Buffer.h
index a6db5ec01076935d2cd58ae466487de75fbdcffd..f7cc714c6d45b74805f1b612426fcab012b9624b 100644 (file)
@@ -122,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()
@@ -602,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;
        ///
@@ -673,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.