namespace support {
class FileName;
class FileNameList;
-}
+} // namespace support
/**
* The class holds all all open buffers, and handles construction
iterator end();
const_iterator end() const;
- /// create a new buffer
+ /// create a new buffer and add it to the buffer list
+ /// \return 0 if the Buffer creation is not possible for whatever reason.
+ Buffer * newBuffer(std::string const & s);
+
+ /// create an internal buffer and add it to the internal buffer list
/// \return 0 if the Buffer creation is not possible for whatever reason.
- Buffer * newBuffer(std::string const & s, bool ronly = false);
+ Buffer * newInternalBuffer(std::string const & s);
+
+ /// Is child a child of some Buffer other than parent?
+ /// NOTE: child must be a child of parent, and both must be non-null.
+ /// Otherwise we assert.
+ bool isOthersChild(Buffer * parent, Buffer * child);
/// 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();
/// returns a vector with all the buffers filenames
- support::FileNameList const & fileNames() const;
+ support::FileNameList fileNames() const;
/// return true if no buffers loaded
bool empty() const;
/// returns true if the buffer is loaded
bool isLoaded(Buffer const * b) const;
+ /// returns true if the buffer is known as internal buffer
+ bool isInternal(Buffer const * b) const;
+
/// \return index of named buffer in buffer list
int bufferNum(support::FileName const & name) const;
- /// \return a pointer to the buffer with the given name
- Buffer * getBuffer(support::FileName const & name) const;
+
+ /** returns a pointer to the buffer with the given name
+ *
+ * \param internal
+ * If true, the buffer is searched also among internal buffers
+ */
+ Buffer * getBuffer(support::FileName const & name, bool internal = false) const;
+
/// \return a pointer to the buffer with the given number
Buffer * getBuffer(unsigned int);
+
/// \return a pointer to the buffer whose temppath matches the given path
Buffer * getBufferFromTmp(std::string const & path);
//@{
/// reset current author for all buffers
void recordCurrentAuthor(Author const & author);
+ /// update previews for all buffers, e.g. for Prefs update
+ void updatePreviews();
/// Call changed() on all buffers, internal or not
void changed(bool update_metrics) const;
/// emergency save for all buffers
void emergencyWriteAll();
/// FIXME
void updateIncludedTeXfiles(std::string const &, OutputParams const &);
+ ///
+ void invalidateConverterCache() const;
//@}
private:
+ /// create a new buffer
+ /// \return 0 if the Buffer creation is not possible for whatever reason.
+ Buffer * createNewBuffer(std::string const & s);
+
/// noncopiable
BufferList(BufferList const &);
void operator=(BufferList const &);