X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferparams.h;h=4f611a7c8d2f31f4e7171bde4ab764a4e3e6b6e8;hb=f448e22d483e1370bcbfbb7be8cb47ad7251ed77;hp=e2f6933c194d98f823a7eadea942e0c9f324c550;hpb=27de1486ca34aaad446adb798d71a77d6f6304da;p=lyx.git diff --git a/src/bufferparams.h b/src/bufferparams.h index e2f6933c19..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,132 +22,193 @@ #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; /// InsetQuotes::quote_times quotes_times; /// - LString fontsize; + 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; /// - LString paperwidth; + string paperwidth; /// - LString paperheight; + string paperheight; /// - LString leftmargin; + string leftmargin; /// - LString topmargin; + string topmargin; /// - LString rightmargin; + string rightmargin; /// - LString bottommargin; + string bottommargin; /// - LString headheight; + string headheight; /// - LString headsep; + string headsep; /// - LString footskip; + string footskip; /* some LaTeX options */ /// The graphics driver - LString graphicsDriver; + string graphicsDriver; /// - LString fonts; + string fonts; /// Spacing spacing; /// - signed char secnumdepth; - /// - signed char tocdepth; + int secnumdepth; /// - LString language; + int tocdepth; /// - LString inputenc; + Language const * language; /// - LString preamble; + string inputenc; /// - LString options; + string preamble; /// - LString float_placement; + string options; /// - char columns; // add approp. signedness + string float_placement; /// - char sides; // add approp. signedness + unsigned int columns; /// - LString pagestyle; + LyXTextClass::PageSides sides; /// - Bullet temp_bullets[4]; + string pagestyle; /// - 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] - LString parentname; -protected: + string parentname; 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; };