X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxlength.h;h=1fc9e6f79cfa594d2a9fa6a2f07b043528399a94;hb=ba62665f966508db5a4de6864f4aa7374c5a5356;hp=78416cbefd35de1b9b281b30f5044440a0dd7b6b;hpb=59413be9a0b999c17784d1abad01e55819ecd27a;p=lyx.git diff --git a/src/lyxlength.h b/src/lyxlength.h index 78416cbefd..1fc9e6f79c 100644 --- a/src/lyxlength.h +++ b/src/lyxlength.h @@ -15,7 +15,15 @@ #ifndef LYX_LENGTH_H #define LYX_LENGTH_H -#include +#include "support/docstring.h" + + +namespace lyx { + +// Solaris/x86 version 9 and earlier define these +#undef PC +#undef SP + /** * LyXLength - Represents latex length measurement @@ -73,6 +81,8 @@ public: bool empty() const; /// return string representation std::string const asString() const; + /// return string representation + docstring const asDocstring() const; /// return string representation for LaTeX std::string const asLatexString() const; /// return the on-screen size of this length @@ -93,10 +103,21 @@ private: bool operator==(LyXLength const & l1, LyXLength const & l2); /// bool operator!=(LyXLength const & l1, LyXLength const & l2); -/** If "data" is valid, the length represented by it is - stored into "result", if that is not 0. */ +/** Test whether \p data represents a valid length. + * + * \returns whether \p data is a valid length + * \param data Length in LyX format. Since the only difference between LyX + * and LaTeX format is the representation of length variables as units (e.g. + * \c text% vs. \c \\textwidth) you can actually use this function as well + * for testing LaTeX lengths as long as they only contain real units like pt. + * \param result Pointer to a LyXLength variable. If \p result is not 0 and + * \p data is valid, the length represented by it is stored into \p result. + */ bool isValidLength(std::string const & data, LyXLength * result = 0); -/// return the name of the given unit number +/// return the LyX name of the given unit number char const * stringFromUnit(int unit); + +} // namespace lyx + #endif // LYXLENGTH_H