]> git.lyx.org Git - lyx.git/blobdiff - src/vspace.C
fix two crashes related to dEPM. Some crashes remain
[lyx.git] / src / vspace.C
index 9313ab09a31b606bd5bb0bd280f6f74767b485a0..3e80d370a256f165a9f6556357fa3abec23187da 100644 (file)
 #include "buffer.h"
 #include "bufferparams.h"
 #include "BufferView.h"
+#include "gettext.h"
 #include "lengthcommon.h"
 #include "lyxtext.h"
 
+#include "support/convert.h"
 #include "support/lstrings.h"
 
 using lyx::support::compare;
@@ -24,7 +26,6 @@ using lyx::support::isStrDbl;
 using lyx::support::ltrim;
 using lyx::support::prefixIs;
 using lyx::support::rtrim;
-using lyx::support::strToDbl;
 
 using std::string;
 
@@ -117,7 +118,7 @@ char nextToken(string & data)
                lyx_advance(data, i);
 
                if (isStrDbl(buffer)) {
-                       number[number_index] = strToDbl(buffer);
+                       number[number_index] = convert<double>(buffer);
                        ++number_index;
                        return 'n';
                }
@@ -388,7 +389,7 @@ VSpace::VSpace(string const & data)
                // without units in added_space_top/bottom.
                // Let unit default to centimeters here.
                kind_ = LENGTH;
-               len_  = LyXGlueLength(LyXLength(strToDbl(input), LyXLength::CM));
+               len_  = LyXGlueLength(LyXLength(convert<double>(input), LyXLength::CM));
        }
 }
 
@@ -478,6 +479,34 @@ string const VSpace::asLatexCommand(BufferParams const & params) const
 }
 
 
+string const VSpace::asGUIName() const
+{
+       string result;
+       switch (kind_) {
+       case DEFSKIP:
+               result = _("Default skip");
+               break;
+       case SMALLSKIP:
+               result = _("Small skip");
+               break;
+       case MEDSKIP:
+               result = _("Medium skip");
+               break;
+       case BIGSKIP:
+               result = _("Big skip");
+               break;
+       case VFILL:
+               result = _("Vertical fill");
+               break;
+       case LENGTH:
+               result = len_.asString();
+               break;
+       }
+       if (keep_)
+               result += ", " + _("protected");
+       return result;
+}
+
 
 int VSpace::inPixels(BufferView const & bv) const
 {