X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FSpacing.h;h=273786aced0a77d2d2dddc84543b36063e749bf8;hb=3ef684e752bb5afdbfdea51d4c3df4afe1461916;hp=7a5db054f1a6e1057bb059a3e3fced7d944782ec;hpb=77e706c44175f3cf71473a42d5db890c77b3b7b3;p=lyx.git diff --git a/src/Spacing.h b/src/Spacing.h index 7a5db054f1..273786aced 100644 --- a/src/Spacing.h +++ b/src/Spacing.h @@ -1,18 +1,23 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. +/** + * \file src/Spacing.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * ====================================================== */ + * \author Lars Gullik Bjønnes + * + * Full author contact details are available in file CREDITS. + */ #ifndef SPACING_H #define SPACING_H #include +#include + + +namespace lyx { + /// class Spacing { @@ -26,33 +31,65 @@ public: /// Double, /// - Other + Other, + /// + Default }; /// - Spacing() { - space = Single; - value = getValue(); + Spacing() : space(Default), value("1.0") {} + /// + Spacing(Spacing::Space sp, double val = 1.0) { + set(sp, val); + } + Spacing(Spacing::Space sp, std::string const & val) { + set(sp, val); } /// - float getValue() const; + bool isDefault() const { + return space == Default; + } + /// + std::string const getValueAsString() const; + /// + double getValue() const; /// Spacing::Space getSpace() const { return space; } /// - void set(Spacing::Space sp, float val = 1.0); + void set(Spacing::Space sp, double val = 1.0); /// - void set(Spacing::Space sp, char const * val) ; + void set(Spacing::Space sp, std::string const & val); /// - void writeFile(std::ostream &) const; + void writeFile(std::ostream &, bool para = false) const; /// - friend bool operator!=(Spacing const & a, Spacing const & b) { - if (a.space == b.space && a.getValue() == b.getValue()) - return false; - return true; - } + std::string const writeEnvirBegin() const; + /// + std::string const writeEnvirEnd() const; + private: /// Space space; /// - float value; + std::string value; + /// names of line spacing + static std::string const spacing_string[]; }; + + +/// +inline +bool operator==(Spacing const & a, Spacing const & b) +{ + return a.getSpace() == b.getSpace() + && a.getValueAsString() == b.getValueAsString(); +} + +/// +inline +bool operator!=(Spacing const & a, Spacing const & b) +{ + return !(a == b); + + +} // namespace lyx +} #endif