X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferparams.h;h=8aa0b4a671ec8cfea82485a7a142c79f0868ef83;hb=c1e009f2d3baa65a05345224ae14f1fe521b8199;hp=4f611a7c8d2f31f4e7171bde4ab764a4e3e6b6e8;hpb=bd659b25fb6e2df5d02273ee1ce4699aa5723e2e;p=lyx.git diff --git a/src/bufferparams.h b/src/bufferparams.h index 4f611a7c8d..8aa0b4a671 100644 --- a/src/bufferparams.h +++ b/src/bufferparams.h @@ -1,31 +1,34 @@ // -*- C++ -*- /* This file is part of - * ====================================================== - * + * ====================================================== + * * LyX, The Document Processor - * + * * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * ====================================================== */ #ifndef BUFFERPARAMS_H #define BUFFERPARAMS_H -#ifdef __GNUG__ -#pragma interface -#endif - #include "LString.h" -#include "lyxlex.h" #include "vspace.h" #include "Spacing.h" #include "Bullet.h" +#include "lyxtextclass.h" +#include "LaTeXFeatures.h" +#include "texrow.h" +#include "author.h" + #include "insets/insetquotes.h" -#include "layout.h" -#include +#include +#include +class LyXLex; +class LatexFeatures; +class TexRow; struct Language; /** Buffer parameters. @@ -107,12 +110,27 @@ public: /// BufferParams(); + /// read a header token, if unrecognised, return it or an unknown class name + string const readToken(LyXLex & lex, string const & token); + /// void writeFile(std::ostream &) const; + /** \returns true if the babel package is used (interogates + the BufferParams and a LyXRC variable). + This returned value can then be passed to the insets... + */ + bool writeLaTeX(std::ostream &, LaTeXFeatures &, TexRow &) const; + + /// + void setPaperStuff(); + /// void useClassDefaults(); + /// + bool hasClassDefaults() const; + /// VSpace const & getDefSkip() const { return defskip; } @@ -122,47 +140,49 @@ public: /** Wether paragraphs are separated by using a indent like in articles or by using a little skip like in letters. */ - PARSEP paragraph_separation; + PARSEP paragraph_separation; + /// + InsetQuotes::quote_language quotes_language; /// - InsetQuotes::quote_language quotes_language; + InsetQuotes::quote_times quotes_times; /// - InsetQuotes::quote_times quotes_times; + string fontsize; /// - string fontsize; + lyx::textclass_type textclass; /// - LyXTextClassList::size_type textclass; + LyXTextClass const & getLyXTextClass() const; /* this are for the PaperLayout */ /// the general papersize (papersize2 or paperpackage - char papersize; // add apprip. signedness - /// the selected Geometry papersize - char papersize2; // add approp. signedness - /// a special paperpackage .sty-file - char paperpackage; // add approp. signedness - /// - PAPER_ORIENTATION orientation; // add approp. signedness - /// - bool use_geometry; - /// - string paperwidth; - /// - string paperheight; - /// - string leftmargin; - /// - string topmargin; - /// - string rightmargin; - /// - string bottommargin; - /// - string headheight; - /// - string headsep; - /// - string footskip; - - /* some LaTeX options */ + PAPER_SIZE papersize; + /// the selected Geometry papersize + VMARGIN_PAPER_TYPE papersize2; + /// a special paperpackage .sty-file + PAPER_PACKAGES paperpackage; + /// + PAPER_ORIENTATION orientation; + /// + bool use_geometry; + /// + string paperwidth; + /// + string paperheight; + /// + string leftmargin; + /// + string topmargin; + /// + string rightmargin; + /// + string bottommargin; + /// + string headheight; + /// + string headsep; + /// + string footskip; + + /* some LaTeX options */ /// The graphics driver string graphicsDriver; /// @@ -190,20 +210,39 @@ public: /// string pagestyle; /// - array temp_bullets; + boost::array temp_bullets; /// - array user_defined_bullets; + boost::array user_defined_bullets; /// void readPreamble(LyXLex &); /// void readLanguage(LyXLex &); /// void readGraphicsDriver(LyXLex &); + + /// use AMS package, not, or auto + enum AMS { + AMS_OFF, + AMS_AUTO, + AMS_ON + }; + AMS use_amsmath; /// - bool use_amsmath; + bool use_natbib; + /// + bool use_numerical_citations; + /// revision tracking for this buffer ? + bool tracking_changes; /// Time ago we agreed that this was a buffer property [ale990407] - string parentname; + string parentname; + + /// map of the file's author IDs to buffer author IDs + std::vector author_map; + private: + /// the author list + AuthorList authorlist; + /// friend class Buffer; /** This is the amount of space used for paragraph_separation "skip",