X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferlist.h;h=161f95b7f520a63a2742f7ad0d10322164507795;hb=e5b8f6956160631022fede155f55bad7951eecb8;hp=0dbd2434b380af635077c51efb3d9d5dd9f8732b;hpb=37a1ffccb9c3e8c1ec6662a18bbd21d773e4a245;p=lyx.git diff --git a/src/bufferlist.h b/src/bufferlist.h index 0dbd2434b3..161f95b7f5 100644 --- a/src/bufferlist.h +++ b/src/bufferlist.h @@ -1,49 +1,51 @@ // -*- C++ -*- /** - * \file bufferlist.C + * \file bufferlist.h * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * * \author Lars Gullik Bjønnes * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #ifndef BUFFER_LIST_H #define BUFFER_LIST_H -#include "LString.h" - #include +#include #include + +namespace lyx { + class Buffer; +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(); - /** - Loads a LyX file or... + iterator begin(); + const_iterator begin() const; - \param filename The filename to read from. - \param tolastfiles Wether the file should be put in the - last opened files list or not. - \return The newly loaded LyX file. - */ - Buffer * loadLyXFile(string const & filename, - bool tolastfiles = true); + iterator end(); + const_iterator end() const; /// write all buffers, asking the user, returns false if cancelled bool quitWriteAll(); /// create a new buffer - Buffer * newBuffer(string const & s, bool ronly = false); + Buffer * newBuffer(std::string const & s, bool ronly = false); /// delete a buffer void release(Buffer * b); @@ -51,16 +53,11 @@ public: /// Close all open buffers. void closeAll(); - /// read the given file - Buffer * readFile(string const &, bool ro); - - /// Make a new file (buffer) using a template - Buffer * newFile(string const &, string, bool isNamed = false); /// returns a vector with all the buffers filenames - std::vector const getFileNames() const; + std::vector const getFileNames() const; /// FIXME - void updateIncludedTeXfiles(string const &); + void updateIncludedTeXfiles(std::string const &, OutputParams const &); /// emergency save for all buffers void emergencyWriteAll(); @@ -74,19 +71,36 @@ 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(string const &) const; + bool exists(std::string const &) const; /// returns true if the buffer is loaded bool isLoaded(Buffer const * b) const; /// returns a pointer to the buffer with the given name. - Buffer * getBuffer(string const &); + 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(string const & name, string const & email); + void setCurrentAuthor(std::string const & name, std::string const & email); private: /// ask to save a buffer on quit, returns false if should cancel @@ -101,4 +115,10 @@ private: void emergencyWrite(Buffer * buf); }; +/// Implementation is in lyx_main.C +extern BufferList & theBufferList(); + + +} // namespace lyx + #endif // BUFFERLIST_H