]> git.lyx.org Git - lyx.git/blobdiff - src/lyxgluelength.C
* GuiView.C (updateTab): do not update early if current tab has
[lyx.git] / src / lyxgluelength.C
index fd1cf48565f725efdeec5451932037970a615681..fbea55bbd0354fa397088258e4eaed6a6ab2f0ed 100644 (file)
@@ -1,23 +1,27 @@
-/* This file is part of
- * ======================================================
+/**
+ * \file lyxgluelength.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- *           LyX, The Document Processor
+ * \author Lars Gullik Bjønnes
+ * \author Matthias Ettrich
+ * \author John Levon
  *
- *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2001 The LyX Team.
- *
- * ====================================================== */
+ * Full author contact details are available in file CREDITS.
+ */
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #include "lyxgluelength.h"
 #include "lengthcommon.h"
 
-#include "Lsstream.h"
+#include <sstream>
+
+
+namespace lyx {
+
+using std::ostringstream;
+using std::string;
 
 
 LyXGlueLength::LyXGlueLength(LyXLength const & len)
@@ -45,45 +49,45 @@ string const LyXGlueLength::asString() const
 
        if (plus_.zero() && minus_.zero()) {
                buffer << unit_name[len_.unit()];
-               return buffer.str().c_str();
+               return buffer.str();
        }
+
        // just len and plus
        if (minus_.zero()) {
                if (len_.unit() != plus_.unit())
                        buffer << unit_name[len_.unit()];
-               buffer << "+" << plus_.value();
+               buffer << '+' << plus_.value();
                buffer << unit_name[plus_.unit()];
-               return buffer.str().c_str();
+               return buffer.str();
        }
+
        // just len and minus
        if (plus_.zero()) {
                if (len_.unit() != minus_.unit())
                        buffer << unit_name[len_.unit()];
-               buffer << "-" << minus_.value();
+               buffer << '-' << minus_.value();
                buffer << unit_name[minus_.unit()];
-               return buffer.str().c_str();
+               return buffer.str();
        }
 
        // ok, len, plus AND minus
+
        // len+-
        if (minus_ == plus_) {
                if (len_.unit() != minus_.unit())
                        buffer << unit_name[len_.unit()];
                buffer << "+-" << minus_.value();
                buffer << unit_name[minus_.unit()];
-               return buffer.str().c_str();
+               return buffer.str();
        }
+
        // this is so rare a case, why bother minimising units ?
 
        buffer << unit_name[len_.unit()];
-       buffer << "+" << plus_.value() << unit_name[plus_.unit()];
-       buffer << "-" << minus_.value() << unit_name[minus_.unit()];
-       return buffer.str().c_str();
+       buffer << '+' << plus_.value() << unit_name[plus_.unit()];
+       buffer << '-' << minus_.value() << unit_name[minus_.unit()];
+
+       return buffer.str();
 }
 
 
@@ -92,12 +96,12 @@ string const LyXGlueLength::asLatexString() const
        ostringstream buffer;
 
        buffer << len_.value() << unit_name[len_.unit()];
+
        if (!plus_.zero())
                buffer << " plus " << plus_.value() << unit_name[plus_.unit()];
        if (!minus_.zero())
                buffer << " minus " << minus_.value() << unit_name[minus_.unit()];
-       return buffer.str().c_str();
+       return buffer.str();
 }
 
 
@@ -131,3 +135,6 @@ bool operator!=(LyXGlueLength const & l1, LyXGlueLength const & l2)
 {
        return !(l1 == l2);
 }
+
+
+} // namespace lyx