#include "MathMacroTable.h"
+namespace lyx {
+
+
/// This class contains the data for a macro.
class MathMacro : public InsetMathNest {
public:
/// A macro can be built from an existing template
- MathMacro(std::string const & name, int numargs);
+ MathMacro(docstring const & name, int numargs);
///
void draw(PainterInfo & pi, int x, int y) const;
///
///
void metrics(MetricsInfo & mi, Dimension & dim) const;
/// get cursor position
- void cursorPos(CursorSlice const & sl, bool boundary, int & x, int & y) const;
+ void cursorPos(BufferView const & bv, CursorSlice const & sl,
+ bool boundary, int & x, int & y) const;
///
InsetBase * editXY(LCursor & cur, int x, int y);
///
- std::string name() const;
+ docstring name() const;
///
void setExpansion(MathArray const & exp, MathArray const & args) const;
///
void maple(MapleStream &) const;
///
- void mathmlize(MathMLStream &) const;
+ void mathmlize(MathStream &) const;
///
void octave(OctaveStream &) const;
///
- void infoize(std::ostream &) const;
+ void infoize(odocstream &) const;
///
- void infoize2(std::ostream &) const;
+ void infoize2(odocstream &) const;
private:
virtual std::auto_ptr<InsetBase> doClone() const;
void expand() const;
/// name of macro
- std::string name_;
+ docstring name_;
/// the unexpanded macro defintition
mutable MathArray tmpl_;
/// the macro substituted with our args
};
+
+
+} // namespace lyx
#endif