X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferlist.h;h=adb65fde2c4498cc3ed6200e4c6712d33316a9c1;hb=34d28f9daae536db06d6cf1a9dcf62dc0f5aa432;hp=da970e6fe8774ebfc0c420399fe4278edb1a28bb;hpb=dda41e40d36386e51be78c841bb7b15df9ba2603;p=lyx.git diff --git a/src/bufferlist.h b/src/bufferlist.h index da970e6fe8..adb65fde2c 100644 --- a/src/bufferlist.h +++ b/src/bufferlist.h @@ -4,9 +4,9 @@ * * LyX, The Document Processor * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team + * Copyright 1995-2001 The LyX Team * - * This file is Copyright 1996-2000 + * This file is Copyright 1996-2001 * Lars Gullik Bjønnes * * ====================================================== */ @@ -18,9 +18,12 @@ #pragma interface #endif -#include "buffer.h" -#include "debug.h" -#include "support/utility.hpp" +class Buffer; +class UpdatableInset; +#include +#include + +#include "LString.h" /** A class to hold all the buffers in a structure The point of this class is to hide from bufferlist what kind @@ -30,7 +33,7 @@ This class should ideally be enclosed inside class BufferList, but that gave me an "internal gcc error". */ -class BufferStorage : public noncopyable { +class BufferStorage : boost::noncopyable { public: /// typedef std::vector Container; @@ -39,6 +42,8 @@ public: /// typedef Container::const_iterator const_iterator; /// + typedef Container::size_type size_type; + /// bool empty() const { return container.empty(); } /// void release(Buffer * buf); @@ -57,7 +62,7 @@ public: /// Buffer * operator[](int c) { return container[c]; } /// - int size() const { return container.size(); } + size_type size() const { return container.size(); } private: /// Container container; @@ -66,7 +71,7 @@ private: /** The class govern all open buffers. */ -class BufferList : public noncopyable { +class BufferList : boost::noncopyable { public: /// BufferList(); @@ -94,21 +99,18 @@ public: bool empty() const; /// - bool QwriteAll(); + bool qwriteAll(); /// Close all open buffers. void closeAll(); - /// - void resize(); - /// Read a file into a buffer readonly or not. Buffer * readFile(string const &, bool ro); /// Make a new file (buffer) using a template - Buffer * newFile(string const &, string, bool isNamed=false); + Buffer * newFile(string const &, string, bool isNamed = false); /// returns a vector with all the buffers filenames - std::vector getFileNames() const; + std::vector const getFileNames() const; /// int unlockInset(UpdatableInset *); @@ -118,7 +120,7 @@ public: /// void emergencyWriteAll(); - + /** Close buffer. @param buf the buffer that should be closed @return #false# if operation was canceled @@ -137,14 +139,19 @@ public: /// returns a pointer to the buffer with the given name. Buffer * getBuffer(string const &); /// returns a pointer to the buffer with the given number. - Buffer * getBuffer(int); + Buffer * getBuffer(unsigned int); private: + /// ask to save a buffer on quit + bool qwriteOne(Buffer * buf, string const & fname, string & unsaved_list); + /// BufferStorage bstore; /// list_state state_; + /// + void emergencyWrite(Buffer * buf); }; #endif