X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferlist.h;h=161f95b7f520a63a2742f7ad0d10322164507795;hb=9667cb383640866f47aea57f059a9d2a5caefc3d;hp=19dfd51d3ceeb22be66ec91c92e79d09f68995bd;hpb=eb36b71ce3b9880a9b577f3db25d16e6a86cd338;p=lyx.git diff --git a/src/bufferlist.h b/src/bufferlist.h index 19dfd51d3c..161f95b7f5 100644 --- a/src/bufferlist.h +++ b/src/bufferlist.h @@ -17,17 +17,30 @@ #include #include + +namespace lyx { + class Buffer; -class LatexRunParams; +class OutputParams; /** * The class holds all all open buffers, and handles construction * and deletions of new ones. */ class BufferList : boost::noncopyable { +public: + typedef std::vector::iterator iterator; + typedef std::vector::const_iterator const_iterator; + public: BufferList(); + iterator begin(); + const_iterator begin() const; + + iterator end(); + const_iterator end() const; + /// write all buffers, asking the user, returns false if cancelled bool quitWriteAll(); @@ -44,7 +57,7 @@ public: std::vector const getFileNames() const; /// FIXME - void updateIncludedTeXfiles(std::string const &, LatexRunParams const &); + void updateIncludedTeXfiles(std::string const &, OutputParams const &); /// emergency save for all buffers void emergencyWriteAll(); @@ -58,6 +71,9 @@ public: /// return head of buffer list if any Buffer * first(); + /// return back of buffer list if any + Buffer * last(); + /// returns true if the buffer exists already bool exists(std::string const &) const; @@ -68,6 +84,20 @@ public: Buffer * getBuffer(std::string const &); /// returns a pointer to the buffer with the given number. Buffer * getBuffer(unsigned int); + /// returns a pointer to the buffer whose temppath matches the string + Buffer * getBufferFromTmp(std::string const &); + + /** returns a pointer to the buffer that follows argument in + * buffer list. The buffer following the last in list is the + * first one. + */ + Buffer * next(Buffer const *) const; + + /** returns a pointer to the buffer that precedes argument in + * buffer list. The buffer preceding the first in list is the + * last one. + */ + Buffer * previous(Buffer const *) const; /// reset current author for all buffers void setCurrentAuthor(std::string const & name, std::string const & email); @@ -85,4 +115,10 @@ private: void emergencyWrite(Buffer * buf); }; +/// Implementation is in lyx_main.C +extern BufferList & theBufferList(); + + +} // namespace lyx + #endif // BUFFERLIST_H