// -*- C++ -*-
/**
- * \file Spacing.h
+ * \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
+ * \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#ifndef SPACING_H
#define SPACING_H
-#include <iosfwd>
+#include "support/strfwd.h"
-#include "support/std_string.h"
+#include <string>
+
+namespace lyx {
///
class Spacing {
Default
};
///
- Spacing() : space(Default), value(1.0) {}
+ Spacing() : space(Default), value("1.0") {}
///
- Spacing(Spacing::Space sp, float val = 1.0) {
- set(sp, val);
- }
- Spacing(Spacing::Space sp, string const & val) {
- set(sp, val);
- }
+ Spacing(Spacing::Space sp, double val = 1.0) { set(sp, val); }
///
- bool isDefault() const {
- return space == Default;
- }
+ Spacing(Spacing::Space sp, std::string const & val) { set(sp, val); }
///
- float getValue() const;
+ bool isDefault() const { return space == Default; }
///
- Spacing::Space getSpace() const { return space; }
+ std::string const getValueAsString() const;
///
- void set(Spacing::Space sp, float val = 1.0);
+ double getValue() const;
///
- void set(Spacing::Space sp, string const & val) ;
+ Spacing::Space getSpace() const { return space; }
///
- void writeFile(std::ostream &, bool para = false) const;
+ void set(Spacing::Space sp, double val = 1.0);
///
- string const writeEnvirBegin() const;
+ void set(Spacing::Space sp, std::string const & val);
///
- string const writeEnvirEnd() const;
+ void writeFile(std::ostream &, bool para = false) const;
+ /// useSetSpace is true when using the variant supported by
+ /// the memoir class.
+ std::string const writeEnvirBegin(bool useSetSpace) const;
+ /// useSetSpace is true when using the variant supported by
+ /// the memoir class.
+ std::string const writeEnvirEnd(bool useSetSpace) const;
+ /// useSetSpace is true when using the variant supported by
+ /// the memoir class.
+ std::string const writePreamble(bool useSetSpace) const;
private:
///
Space space;
///
- float value;
+ std::string value;
/// names of line spacing
- static string const spacing_string[];
+ static std::string const spacing_string[];
};
bool operator==(Spacing const & a, Spacing const & b)
{
return a.getSpace() == b.getSpace()
- && a.getValue() == b.getValue();
+ && a.getValueAsString() == b.getValueAsString();
}
///
{
return !(a == b);
}
-#endif
+
+} // namespace lyx
+
+#endif // SPACING_H