]> git.lyx.org Git - lyx.git/blobdiff - src/Spacing.h
forgot two files
[lyx.git] / src / Spacing.h
index 3bbc85282b84600c632ff51caa9ba602b44f4f9e..8d4884f658b6baff857730d5997290e4a2f3b76a 100644 (file)
@@ -5,14 +5,21 @@
  *           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
 
-#include <cstdio>
+#ifdef HAVE_SSTREAM
+#include <sstream>
+using std::istringstream;
+#else
+#include <strstream>
+#endif
+
+#include "support/LOstream.h"
 
 ///
 class Spacing {
@@ -29,14 +36,12 @@ public:
                Other
        };
        ///
-       Spacing()
-       {
+       Spacing() {
                space = Single;
                value = getValue();
        }
        ///
-       float getValue() const
-       {
+       float getValue() const {
                switch(space) {
                case Single: return 1.0;
                case Onehalf: return 1.25;
@@ -46,16 +51,14 @@ public:
                return 1.0;
        }
        ///
-       Spacing::Space getSpace() const
-       {
+       Spacing::Space getSpace() const {
                return space;
        }
        ///
-       void set(Spacing::Space sp, float val= 1.0)
-       {
+       void set(Spacing::Space sp, float val = 1.0) {
                space = sp;
                if (sp == Other) {
-                       switch(int(val*1000 + 0.5)) {
+                       switch(int(val * 1000 + 0.5)) {
                        case 1000: space = Single; break;
                        case 1250: space = Onehalf; break;
                        case 1667: space = Double; break;
@@ -64,17 +67,20 @@ public:
                }
        }
        ///
-       void set(Spacing::Space sp, char const* val)
-       {
+       void set(Spacing::Space sp, char const * val) {
                float fval;
-               sscanf(val,"%f",&fval);
-               set(sp,fval);
+#ifdef HAVE_SSTREAM
+               istringstream istr(val);
+#else
+               istrstream istr(val);
+#endif
+               istr >> fval;
+               set(sp, fval);
        }
        ///
-       void writeFile(FILE *file);
+       void writeFile(ostream &) const;
        ///
-       friend bool operator!=(Spacing const &a, Spacing const &b)
-       {
+       friend bool operator!=(Spacing const & a, Spacing const & b) {
                if (a.space == b.space && a.getValue() == b.getValue())
                        return false;
                return true;