X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferlist.h;h=2ca9fefe551d2db3404e8b16ba85323abf66b422;hb=b9963e1a57135c3e2ab128a9ec4300f0e4886992;hp=d049c71bf9a626f870b257d170b7d0837a54bba9;hpb=9fc9bd98f6b52732ec7e43e163e2db4df9f80a2d;p=lyx.git diff --git a/src/bufferlist.h b/src/bufferlist.h index d049c71bf9..2ca9fefe55 100644 --- a/src/bufferlist.h +++ b/src/bufferlist.h @@ -1,21 +1,24 @@ // -*- C++ -*- -/** \file - * Copyright 2002 the LyX Team - * Read the file COPYING +/** + * \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 * - * \author Lars Gullik Bjønnes -*/ + * Full author contact details are available in file CREDITS. + */ #ifndef BUFFER_LIST_H #define BUFFER_LIST_H -#include "LString.h" - #include +#include #include class Buffer; +class OutputParams; /** * The class holds all all open buffers, and handles construction @@ -25,45 +28,29 @@ class BufferList : boost::noncopyable { public: BufferList(); - /** - Loads a LyX file or... - - \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); - - /// write all buffers, asking the user - bool qwriteAll(); + /// 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); - + /// 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(); /// close buffer. Returns false if cancelled by user - bool close(Buffer * buf); + bool close(Buffer * buf, bool ask); /// return true if no buffers loaded bool empty() const; @@ -72,26 +59,39 @@ public: Buffer * first(); /// 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 - bool qwriteOne(Buffer * buf, string const & fname, - string & unsaved_list); + /// ask to save a buffer on quit, returns false if should cancel + bool quitWriteBuffer(Buffer * buf); typedef std::vector BufferStorage; - + /// storage of all buffers BufferStorage bstore;