X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FSpacing.h;h=98f9463250fe4979d03906f0b7ac221aea6bb09e;hb=d5b3b6807a719bdc3510444b307a1d22a94c6876;hp=4ee1b284c075516ba672fdbc406b947af02f46a5;hpb=53b464c5e95ed708e9464db0499826894be450fd;p=lyx.git diff --git a/src/Spacing.h b/src/Spacing.h index 4ee1b284c0..98f9463250 100644 --- a/src/Spacing.h +++ b/src/Spacing.h @@ -5,21 +5,20 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-1999 The LyX Team. + * Copyright 1995-2000 The LyX Team. * * ====================================================== */ #ifndef SPACING_H #define SPACING_H -#ifdef HAVE_SSTREAM -#include -using std::istringstream; -#else -#include +#ifdef __GNUG__ +#pragma interface #endif -#include "support/LOstream.h" +#include + +#include "LString.h" /// class Spacing { @@ -33,64 +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; -#ifdef HAVE_SSTREAM - istringstream istr(val); -#else - istrstream istr(val); -#endif - istr >> fval; - set(sp, fval); - } + void set(Spacing::Space sp, float val = 1.0); /// - void writeFile(ostream &); + 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; @@ -98,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