#include "support/FileName.h"
#include "support/types.h"
-#include <boost/utility.hpp>
-#include <boost/tuple/tuple.hpp>
-
#include <string>
#include <deque>
#include <vector>
#include <map>
-// used by at least frontends/qt2/QPref.C
+// used by at least frontends/qt4/GuiPref.cpp
const long maxlastfiles = 20;
/** This session file maintains
*/
namespace lyx {
-/** base class for all sections in the session file
+/* base class for all sections in the session file
*/
-class SessionSection : boost::noncopyable {
-
+class SessionSection
+{
public:
+ ///
+ SessionSection() {}
///
virtual ~SessionSection() {}
/// write to std::ostream
virtual void write(std::ostream & os) const = 0;
+
+private:
+ /// uncopiable
+ SessionSection(SessionSection const &);
+ void operator=(SessionSection const &);
};
{
public:
///
- typedef boost::tuple<pit_type, pos_type> FilePos;
+ struct FilePos {
+ FilePos() : pit(0), pos(0) {}
+ pit_type pit;
+ pos_type pos;
+ };
///
typedef std::map<support::FileName, FilePos> FilePosMap;
@param fname file entry for which to save position information
@param pos position of the cursor when the file is closed.
*/
- void save(support::FileName const & fname, FilePos pos);
+ void save(support::FileName const & fname, FilePos const & pos);
/** load saved cursor position from the fname entry in the filepos map
@param fname file entry for which to load position information
/// top_id is determined when a bookmark is restored from session; and
/// bottom_pit and bottom_pos are determined from top_id when a bookmark
/// is save to session. (What a mess! :-)
- ///
+ ///
/// TODO: bottom level pit and pos will be replaced by StableDocIterator
class Bookmark {
public:
: filename(f), bottom_pit(pit), bottom_pos(pos), top_id(id), top_pos(tpos) {}
/// set bookmark top_id, this is because newly loaded bookmark
/// may have zero par_id and par_pit can change during editing, see bug 3092
- void updatePos(pit_type pit, pos_type pos, int id) {
+ void updatePos(pit_type pit, pos_type pos, int id) {
bottom_pit = pit;
bottom_pos = pos;
top_id = id;
{
public:
///
- ToolbarInfo() :
- state(ON), location(NOTSET), posx(0), posy(0) { }
+ ToolbarInfo()
+ : state(ON), location(NOTSET), posx(0), posy(0)
+ {}
///
- ToolbarInfo(int s, int loc, int x=0, int y=0) :
- state(static_cast<State>(s)),
- location(static_cast<Location>(loc)),
- posx(x),
- posy(y)
- { }
+ //ToolbarInfo(int s, int loc, int x = 0, int y = 0)
+ // : state(State(s)), location(Location(loc)), posx(x), posy(y)
+ // {}
public:
enum State {
/// y-position of the toolbar
int posy;
-
+
/// potentially, icons
};
- typedef boost::tuple<std::string, ToolbarInfo> ToolbarItem;
+ struct ToolbarItem {
+ std::string key;
+ ToolbarInfo info;
+ };
/// info for each toolbar
typedef std::vector<ToolbarItem> ToolbarList;
/// TOP < BOTTOM < LEFT < RIGHT
/// Line at each side
/// order in each line
-bool operator< (ToolbarSection::ToolbarItem const & a, ToolbarSection::ToolbarItem const & b);
+bool operator<(ToolbarSection::ToolbarItem const & a,
+ ToolbarSection::ToolbarItem const & b);
class SessionInfoSection : SessionSection
};
-class Session : boost::noncopyable {
-
+class Session
+{
public:
- /** Read the session file.
- @param num length of lastfiles
- */
+ /// Read the session file. @param num length of lastfiles
explicit Session(unsigned int num = 4);
-
- /** Write the session file.
- */
+ /// Write the session file.
void writeFile() const;
-
///
LastFilesSection & lastFiles() { return last_files; }
-
///
LastFilesSection const & lastFiles() const { return last_files; }
-
///
LastOpenedSection & lastOpened() { return last_opened; }
-
///
LastOpenedSection const & lastOpened() const { return last_opened; }
-
///
LastFilePosSection & lastFilePos() { return last_file_pos; }
-
///
LastFilePosSection const & lastFilePos() const { return last_file_pos; }
-
///
BookmarksSection & bookmarks() { return bookmarks_; }
-
///
BookmarksSection const & bookmarks() const { return bookmarks_; }
-
///
ToolbarSection & toolbars() { return toolbars_; }
-
///
ToolbarSection const & toolbars() const { return toolbars_; }
-
///
SessionInfoSection & sessionInfo() { return session_info; }
-
///
SessionInfoSection const & sessionInfo() const { return session_info; }
private:
+ /// uncopiable
+ Session(Session const &);
+ void operator=(Session const &);
+
/// file to save session, determined in the constructor.
support::FileName session_file;
///
LastFilesSection last_files;
-
///
LastOpenedSection last_opened;
-
///
LastFilePosSection last_file_pos;
-
///
BookmarksSection bookmarks_;
-
///
ToolbarSection toolbars_;
-
///
SessionInfoSection session_info;
};