X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FSpacing.h;h=98f9463250fe4979d03906f0b7ac221aea6bb09e;hb=d5b3b6807a719bdc3510444b307a1d22a94c6876;hp=724b03fd6c39193d16727100480fcee80e695a47;hpb=27de1486ca34aaad446adb798d71a77d6f6304da;p=lyx.git diff --git a/src/Spacing.h b/src/Spacing.h index 724b03fd6c..98f9463250 100644 --- a/src/Spacing.h +++ b/src/Spacing.h @@ -1,18 +1,24 @@ // -*- C++ -*- /* This file is part of -* ====================================================== -* -* LyX, The Document Processor -* -* Copyright (C) 1995 1996 Matthias Ettrich -* and the LyX Team. -* -*======================================================*/ + * ====================================================== + * + * LyX, The Document Processor + * + * Copyright 1995 Matthias Ettrich + * Copyright 1995-2000 The LyX Team. + * + * ====================================================== */ -#ifndef _SPACING_H -#define _SPACING_H +#ifndef SPACING_H +#define SPACING_H -#include +#ifdef __GNUG__ +#pragma interface +#endif + +#include + +#include "LString.h" /// class Spacing { @@ -26,59 +32,30 @@ public: /// Double, /// - Other + Other, + /// + Default }; /// - Spacing() - { - space = Single; - value = getValue(); - } + Spacing() : space(Single), value(1.0) {} /// - float getValue() const - { - switch(space) { - case Single: return 1.0; - case Onehalf: return 1.25; - case Double: return 1.667; - case Other: return value; - } - return 1.0; + bool isDefault() const { + return space == Default; } /// - Spacing::Space getSpace() const - { - return space; - } + float getValue() const; /// - void set(Spacing::Space sp, float val= 1.0) - { - space = sp; - if (sp == Other) { - switch(int(val*1000 + 0.5)) { - case 1000: space = Single; break; - case 1250: space = Onehalf; break; - case 1667: space = Double; break; - default: value = val; break; - } - } - } + Spacing::Space getSpace() const { return space; } /// - void set(Spacing::Space sp, char const* val) - { - float fval; - sscanf(val,"%f",&fval); - set(sp,fval); - } + void set(Spacing::Space sp, float val = 1.0); /// - void writeFile(FILE *file); + void set(Spacing::Space sp, string const & val) ; /// - friend bool operator!=(Spacing const &a, Spacing const &b) - { - if (a.space == b.space && a.getValue() == b.getValue()) - return false; - return true; - } + void writeFile(std::ostream &, bool para = false) const; + /// + string const writeEnvirBegin() const; + /// + string const writeEnvirEnd() const; private: /// Space space; @@ -86,4 +63,19 @@ private: float value; }; + +/// +inline +bool operator==(Spacing const & a, Spacing const & b) +{ + return a.getSpace() == b.getSpace() + && a.getValue() == b.getValue(); +} + +/// +inline +bool operator!=(Spacing const & a, Spacing const & b) +{ + return !(a == b); +} #endif