]> git.lyx.org Git - lyx.git/blobdiff - src/BufferList.h
Hebrew translation updates by Ran
[lyx.git] / src / BufferList.h
index 895dc46ee55211daf779c3fc6f154e878bb9b14a..1943c16ba3a5046e7f704e4bc86c8295c0a6ed2b 100644 (file)
@@ -14,8 +14,6 @@
 
 #include "support/docstring.h"
 
-#include <boost/noncopyable.hpp>
-
 #include <vector>
 
 
@@ -28,7 +26,7 @@ class OutputParams;
  * The class holds all all open buffers, and handles construction
  * and deletions of new ones.
  */
-class BufferList : boost::noncopyable {
+class BufferList {
 public:
        typedef std::vector<Buffer *>::iterator iterator;
        typedef std::vector<Buffer *>::const_iterator const_iterator;
@@ -42,15 +40,17 @@ public:
        iterator end();
        const_iterator end() const;
 
-       /// write all buffers, asking the user, returns false if cancelled
-       bool quitWriteAll();
-
        /// create a new buffer
+       /// \return 0 if the Buffer creation is not possible for whatever reason.
        Buffer * newBuffer(std::string const & s, bool ronly = false);
 
        /// delete a buffer
        void release(Buffer * b);
 
+       /// Release \p child if it really is a child and is not used elsewhere.
+       /// \return true is the file was closed.
+       bool releaseChild(Buffer * parent, Buffer * child);
+
        /// Close all open buffers.
        void closeAll();
 
@@ -63,8 +63,11 @@ public:
        /// emergency save for all buffers
        void emergencyWriteAll();
 
-       /// close buffer. Returns false if cancelled by user
-       bool close(Buffer * buf, bool ask);
+       /// save emergency file for the given buffer
+       /**
+         * \return a status message towards the user.
+         */
+       docstring emergencyWrite(Buffer * buf);
 
        /// return true if no buffers loaded
        bool empty() const;
@@ -81,6 +84,8 @@ public:
        /// returns true if the buffer is loaded
        bool isLoaded(Buffer const * b) const;
 
+       /// return index of named buffer in buffer list
+       int bufferNum(std::string const & name) const;
        /// returns a pointer to the buffer with the given name.
        Buffer * getBuffer(std::string const &);
        /// returns a pointer to the buffer with the given number.
@@ -104,16 +109,14 @@ public:
        void setCurrentAuthor(docstring const & name, docstring const & email);
 
 private:
-       /// ask to save a buffer on quit, returns false if should cancel
-       bool quitWriteBuffer(Buffer * buf);
+       /// noncopiable
+       BufferList(BufferList const &);
+       void operator=(BufferList const &);
 
        typedef std::vector<Buffer *> BufferStorage;
 
        /// storage of all buffers
        BufferStorage bstore;
-
-       /// save emergency file for the given buffer
-       void emergencyWrite(Buffer * buf);
 };
 
 /// Implementation is in LyX.cpp