X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathSpace.h;h=4f16f1640bf5b38b949c2a6c5c4f3e2d294e4c88;hb=ecbd047cffa1c4af95cf4ab91a7d2fded4a5584c;hp=9b6d6c70b33deb93e3ad10c929fedb6354d7de03;hpb=e89625ef28143545a511cdabc67dee8b7be1b216;p=lyx.git diff --git a/src/mathed/InsetMathSpace.h b/src/mathed/InsetMathSpace.h index 9b6d6c70b3..4f16f1640b 100644 --- a/src/mathed/InsetMathSpace.h +++ b/src/mathed/InsetMathSpace.h @@ -4,7 +4,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author André Pönitz + * \author André Pönitz * * Full author contact details are available in file CREDITS. */ @@ -13,15 +13,22 @@ #define MATH_SPACEINSET_H #include "InsetMath.h" +#include "Length.h" +namespace lyx { + +struct InsetSpaceParams; + /// Smart spaces class InsetMathSpace : public InsetMath { public: /// - explicit InsetMathSpace(int sp); + explicit InsetMathSpace(); + /// + explicit InsetMathSpace(std::string const & name, std::string const & length); /// - explicit InsetMathSpace(std::string const & name); + explicit InsetMathSpace(Length const & length, bool const prot = false); /// InsetMathSpace const * asSpaceInset() const { return this; } /// @@ -29,12 +36,6 @@ public: /// void incSpace(); /// - int ascent() const; - /// - int descent() const; - /// - int width() const; - /// void metrics(MetricsInfo & mi, Dimension & dim) const; /// void draw(PainterInfo & pi, int x, int y) const; @@ -50,10 +51,35 @@ public: /// void octave(OctaveStream &) const; /// + void mathmlize(MathStream & ms) const; + /// + void htmlize(HtmlStream & ms) const; + /// void write(WriteStream & os) const; + /// generate something that will be understood by the Dialogs. + InsetSpaceParams params() const; + /// + bool hasSettings() const { return true; } + /// + std::string contextMenuName() const; + /// + bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; + /// + InsetCode lyxCode() const { return MATH_SPACE_CODE; } + +protected: + /// + virtual void doDispatch(Cursor & cur, FuncRequest & cmd); private: - virtual std::auto_ptr doClone() const; + virtual Inset * clone() const; + /// + bool isNegative() const; /// int space_; + /// amount of space for \\hspace + Length length_; }; + + +} // namespace lyx #endif