X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferparams.h;h=aeed3a1572df767b4e0c6a568f280455be63a493;hb=cb52251ccff29d6cbfa13ab90a96be566e3f41ac;hp=1940b5f0f4d277f73a44195e75904bc4fc9bf93a;hpb=dfe1bc44b44903faf77ef454c98c4c3e56c1d5e3;p=lyx.git diff --git a/src/bufferparams.h b/src/bufferparams.h index 1940b5f0f4..aeed3a1572 100644 --- a/src/bufferparams.h +++ b/src/bufferparams.h @@ -1,11 +1,11 @@ // -*- C++ -*- /* This file is part of - * ====================================================== + * ====================================================== * * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-1999 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * ====================================================== */ @@ -23,40 +23,112 @@ #include "Bullet.h" #include "insets/insetquotes.h" #include "layout.h" +#include -/** - This class contains all the parameters for this a buffer uses. Some - work needs to be done on this class to make it nice. Now everything - is in public. - */ + +struct Language; + +/** Buffer parameters. + This class contains all the parameters for this a buffer uses. Some + work needs to be done on this class to make it nice. Now everything + is in public. +*/ class BufferParams { public: - //@Man: Constructors and Deconstructors - //@{ + /// + enum PAPER_SIZE { + /// + PAPER_DEFAULT, + /// + PAPER_USLETTER, + /// + PAPER_LEGALPAPER, + /// + PAPER_EXECUTIVEPAPER, + /// + PAPER_A3PAPER, + /// + PAPER_A4PAPER, + /// + PAPER_A5PAPER, + /// + PAPER_B5PAPER + }; + /// + enum PAPER_PACKAGES { + /// + PACKAGE_NONE, + /// + PACKAGE_A4, + /// + PACKAGE_A4WIDE, + /// + PACKAGE_WIDEMARGINSA4 + }; + /// + enum VMARGIN_PAPER_TYPE { + /// + VM_PAPER_DEFAULT, + /// + VM_PAPER_CUSTOM, + /// + VM_PAPER_USLETTER, + /// + VM_PAPER_USLEGAL, + /// + VM_PAPER_USEXECUTIVE, + /// + VM_PAPER_A3, + /// + VM_PAPER_A4, + /// + VM_PAPER_A5, + /// + VM_PAPER_B3, + /// + VM_PAPER_B4, + /// + VM_PAPER_B5 + }; + /// + enum PARSEP { + /// + PARSEP_INDENT, + /// + PARSEP_SKIP + }; + /// + enum PAPER_ORIENTATION { + /// + ORIENTATION_PORTRAIT, + /// + ORIENTATION_LANDSCAPE + }; /// BufferParams(); - //@} - /// Dummy destructor to shut up gcc - virtual ~BufferParams() {} - /// - void writeFile(FILE *); + void writeFile(std::ostream &) const; + /// + void setPaperStuff(); /// void useClassDefaults(); /// - VSpace getDefSkip() const { return defskip; } + bool hasClassDefaults() const; + + /// + VSpace const & getDefSkip() const { return defskip; } /// - void setDefSkip(VSpace vs) { defskip = vs; } - + void setDefSkip(VSpace const & vs) { defskip = vs; } + /** Wether paragraphs are separated by using a indent like in articles or by using a little skip like in letters. */ - char paragraph_separation; // add approp. signedness + PARSEP paragraph_separation; /// InsetQuotes::quote_language quotes_language; /// @@ -64,17 +136,17 @@ public: /// string fontsize; /// - LyXTextClassList::ClassList::size_type textclass; + LyXTextClassList::size_type textclass; /* this are for the PaperLayout */ - /// - char papersize; /* the general papersize (papersize2 or paperpackage */ // add approp. signedness - /// - char papersize2; /* the selected Geometry papersize */ // add approp. signedness - /// - char paperpackage; /* a special paperpackage .sty-file */ // add approp. signedness + /// 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 /// - char orientation; // add approp. signedness + PAPER_ORIENTATION orientation; // add approp. signedness /// bool use_geometry; /// @@ -108,7 +180,7 @@ public: /// int tocdepth; /// - string language; + Language const * language; /// string inputenc; /// @@ -124,29 +196,29 @@ public: /// string pagestyle; /// - Bullet temp_bullets[4]; + boost::array temp_bullets; /// - Bullet user_defined_bullets[4]; + boost::array user_defined_bullets; /// - void Copy(BufferParams const &p); + void readPreamble(LyXLex &); /// - virtual void readPreamble(LyXLex &); + void readLanguage(LyXLex &); /// - virtual void readLanguage(LyXLex &); - /// - virtual void readGraphicsDriver(LyXLex &); - /// do we allow accents on all chars in this buffer - bool allowAccents; + void readGraphicsDriver(LyXLex &); /// bool use_amsmath; + /// + bool use_natbib; + /// + bool use_numerical_citations; /// Time ago we agreed that this was a buffer property [ale990407] string parentname; -protected: private: /// friend class Buffer; /** This is the amount of space used for paragraph_separation "skip", - and for detached paragraphs in "indented" documents. */ + and for detached paragraphs in "indented" documents. + */ VSpace defskip; };