]> git.lyx.org Git - lyx.git/blobdiff - src/Spacing.h
fix typo that put too many include paths for most people
[lyx.git] / src / Spacing.h
index 7a5db054f1a6e1057bb059a3e3fced7d944782ec..0395b3e0cf53a7d355bd260727b89f71f5cedc83 100644 (file)
@@ -1,19 +1,25 @@
 // -*- C++ -*-
 /* This file is part of
  * ======================================================
- * 
+ *
  *           LyX, The Document Processor
- *        
+ *
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team.
+ *           Copyright 1995-2001 The LyX Team.
  *
  * ====================================================== */
 
 #ifndef SPACING_H
 #define SPACING_H
 
+#ifdef __GNUG__
+#pragma interface
+#endif
+
 #include <iosfwd>
 
+#include "LString.h"
+
 ///
 class Spacing {
 public:
@@ -26,12 +32,22 @@ public:
                ///
                Double,
                ///
-               Other
+               Other,
+               ///
+               Default
        };
        ///
-       Spacing() {
-               space = Single;
-               value = getValue();
+       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);
+       }
+       ///
+       bool isDefault() const {
+               return space == Default;
        }
        ///
        float getValue() const;
@@ -40,19 +56,36 @@ public:
        ///
        void set(Spacing::Space sp, float val = 1.0);
        ///
-       void set(Spacing::Space sp, char const * val) ;
+       void set(Spacing::Space sp, 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;
-       }
+       string const writeEnvirBegin() const;
+       ///
+       string const writeEnvirEnd() const;
+
 private:
        ///
        Space space;
        ///
        float value;
+       /// names of line spacing
+       static string const spacing_string[];
 };
+
+
+///
+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