]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathUnknown.h
Fix #7549, due to a problem in exporting to plaintext a
[lyx.git] / src / mathed / InsetMathUnknown.h
index d1ab2bc50a9bb7c49891897f3d368937bd694e6a..0436be5df636c07054720cb1385e9623a922c14f 100644 (file)
@@ -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.
  */
 #ifndef MATH_UNKNOWNINSET_H
 #define MATH_UNKNOWNINSET_H
 
-#include "InsetMathDim.h"
+#include "InsetMath.h"
 
+#include "support/docstring.h"
 
-namespace lyx {
 
+namespace lyx {
 
 /// LaTeX names for objects that we really don't know
-class InsetMathUnknown : public InsetMathDim {
+class InsetMathUnknown : public InsetMath {
 public:
        ///
        explicit InsetMathUnknown(docstring const & name,
+               docstring const & selection = docstring(),
                bool final = true, bool black = false);
        ///
-       bool metrics(MetricsInfo & mi, Dimension & dim) const;
+       void metrics(MetricsInfo & mi, Dimension & dim) const;
        ///
        void draw(PainterInfo & pi, int x, int y) const;
        ///
        void setName(docstring const & name);
        ///
        docstring name() const;
+
+       ///
+       docstring const & selection() const { return selection_; }
+       
        /// identifies UnknownInsets
        InsetMathUnknown const * asUnknownInset() const { return this; }
        /// identifies UnknownInsets
@@ -46,21 +52,34 @@ public:
        ///
        void mathmlize(MathStream &) const;
        ///
+       void htmlize(HtmlStream &) const;
+       ///
        void octave(OctaveStream &) const;
        ///
        void finalize();
        ///
        bool final() const;
+       ///
+       int kerning(BufferView const *) const { return kerning_; }
+       ///
+       InsetCode lyxCode() const { return MATH_UNKNOWN_CODE; }
+
 private:
-       virtual std::auto_ptr<InsetBase> doClone() const;
+       ///
+       Inset * clone() const { return new InsetMathUnknown(*this); }
+
        ///
        docstring name_;
        /// are we finished creating the name?
        bool final_;
        ///
        bool black_;
+       ///
+       mutable int kerning_;
+       /// the selection which was replaced by this
+       docstring selection_;
 };
 
-
 } // namespace lyx
+
 #endif