#ifndef MATH_INSET_H
#define MATH_INSET_H
-#ifdef __GNUG__
-#pragma interface
-#endif
#include <config.h>
#include "LString.h"
#include "frontends/mouse_state.h"
+#include "insets/insetbase.h"
#include "math_data.h"
/**
class FuncRequest;
-class MathInset {
+class MathInset : public InsetBase {
public:
/// short of anything else reasonable
typedef MathArray::size_type size_type;
/// our members behave nicely...
MathInset() {}
- /// the virtual base destructor
- virtual ~MathInset() {}
/// reproduce itself
virtual MathInset * clone() const = 0;
virtual bool isRelOp() const { return false; }
/// -1: text mode, 1: math mode, 0 undecided
enum mode_type {UNDECIDED_MODE, TEXT_MODE, MATH_MODE};
- /// Dispatch result codes, see inset/inset.h
- enum result_type {
- UNDISPATCHED = 0, DISPATCHED, DISPATCHED_NOUPDATE,
- FINISHED, FINISHED_RIGHT, FINISHED_UP, FINISHED_DOWN,
- DISPATCHED_POP
- };
virtual mode_type currentMode() const { return UNDECIDED_MODE; }
/// will this get written as a single block in {..}
/// write normalized content
virtual void normalize(NormalStream &) const;
/// write content as something readable by Maple
- virtual void maplize(MapleStream &) const;
+ virtual void maple(MapleStream &) const;
/// write content as something readable by Maxima
- virtual void maximize(MaximaStream &) const;
+ virtual void maxima(MaximaStream &) const;
/// write content as something readable by Mathematica
- virtual void mathematicize(MathematicaStream &) const;
+ virtual void mathematica(MathematicaStream &) const;
/// write content as something resembling MathML
virtual void mathmlize(MathMLStream &) const;
/// write content as something readable by Octave
- virtual void octavize(OctaveStream &) const;
+ virtual void octave(OctaveStream &) const;
/// describe content if cursor inside
virtual void infoize(std::ostream &) const {}
/// describe content if cursor behind
/// dump content to stderr for debugging
virtual void dump() const;
- /// local dispatcher
- virtual result_type dispatch
- (FuncRequest const & cmd, idx_type & idx, pos_type & pos);
/// LyXInset stuff
/// write labels into a list