X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferparams.h;h=4f611a7c8d2f31f4e7171bde4ab764a4e3e6b6e8;hb=f448e22d483e1370bcbfbb7be8cb47ad7251ed77;hp=f7176b1eac73f54957485550dda4becbf47d56e2;hpb=0eccdd1c3613e5170deb77b22174dd0afde833e9;p=lyx.git diff --git a/src/bufferparams.h b/src/bufferparams.h index f7176b1eac..4f611a7c8d 100644 --- a/src/bufferparams.h +++ b/src/bufferparams.h @@ -1,16 +1,16 @@ // -*- C++ -*- /* This file is part of - * ====================================================== + * ====================================================== * * LyX, The Document Processor * - * Copyright (C) 1995 1996 Matthias Ettrich - * and the LyX Team. + * Copyright 1995 Matthias Ettrich + * Copyright 1995-2000 The LyX Team. * - *======================================================*/ + * ====================================================== */ -#ifndef _BUFFERPARAMS_H -#define _BUFFERPARAMS_H +#ifndef BUFFERPARAMS_H +#define BUFFERPARAMS_H #ifdef __GNUG__ #pragma interface @@ -22,42 +22,107 @@ #include "Spacing.h" #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(); - // /// - //BufferParams(const BufferParams&); - //@} - /// Dummy destructor to shut up gcc - virtual ~BufferParams() {} - /// - void writeFile(FILE *); - + void writeFile(std::ostream &) const; /// void useClassDefaults(); /// - VSpace getDefSkip() const { return defskip; } + 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; /// @@ -65,17 +130,17 @@ public: /// string fontsize; /// - signed char 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 + /// 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 paperpackage; /* a special paperpackage .sty-file */ // add approp. signedness - /// - char orientation; // add approp. signedness + PAPER_ORIENTATION orientation; // add approp. signedness /// bool use_geometry; /// @@ -105,11 +170,11 @@ public: /// Spacing spacing; /// - signed char secnumdepth; + int secnumdepth; /// - signed char tocdepth; + int tocdepth; /// - string language; + Language const * language; /// string inputenc; /// @@ -119,35 +184,31 @@ public: /// string float_placement; /// - char columns; // add approp. signedness + unsigned int columns; /// - char sides; // add approp. signedness + LyXTextClass::PageSides sides; /// string pagestyle; /// - Bullet temp_bullets[4]; - /// - Bullet user_defined_bullets[4]; + array temp_bullets; /// - void Copy(BufferParams const &p); + array user_defined_bullets; /// - virtual void readPreamble(LyXLex &); + void readPreamble(LyXLex &); /// - virtual void readLanguage(LyXLex &); + 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; /// 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; };