Give inset codes to all the math insets, so we get more information when
[lyx.git] / src / mathed / InsetMathUnknown.h
blobb43bcfd6721a010e594b4dfba2d3ee8645f8495d
1 // -*- C++ -*-
2 /**
3 * \file InsetMathUnknown.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author André Pönitz
9 * Full author contact details are available in file CREDITS.
12 #ifndef MATH_UNKNOWNINSET_H
13 #define MATH_UNKNOWNINSET_H
15 #include "InsetMath.h"
17 #include "support/docstring.h"
20 namespace lyx {
22 /// LaTeX names for objects that we really don't know
23 class InsetMathUnknown : public InsetMath {
24 public:
25 ///
26 explicit InsetMathUnknown(docstring const & name,
27 docstring const & selection = docstring(),
28 bool final = true, bool black = false);
29 ///
30 void metrics(MetricsInfo & mi, Dimension & dim) const;
31 ///
32 void draw(PainterInfo & pi, int x, int y) const;
33 ///
34 void setName(docstring const & name);
35 ///
36 docstring name() const;
38 ///
39 docstring const & selection() const { return selection_; }
41 /// identifies UnknownInsets
42 InsetMathUnknown const * asUnknownInset() const { return this; }
43 /// identifies UnknownInsets
44 InsetMathUnknown * asUnknownInset() { return this; }
46 ///
47 void normalize(NormalStream &) const;
48 ///
49 void maple(MapleStream &) const;
50 ///
51 void mathematica(MathematicaStream &) const;
52 ///
53 void mathmlize(MathStream &) const;
54 ///
55 void octave(OctaveStream &) const;
56 ///
57 void finalize();
58 ///
59 bool final() const;
60 ///
61 int kerning(BufferView const *) const { return kerning_; }
62 ///
63 InsetCode lyxCode() const { return MATH_UNKNOWN_CODE; }
65 private:
66 ///
67 Inset * clone() const { return new InsetMathUnknown(*this); }
69 ///
70 docstring name_;
71 /// are we finished creating the name?
72 bool final_;
73 ///
74 bool black_;
75 ///
76 mutable int kerning_;
77 /// the selection which was replaced by this
78 docstring selection_;
81 } // namespace lyx
83 #endif