3 * \file InsetMathExInt.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
12 #ifndef MATH_EXINTINSET_H
13 #define MATH_EXINTINSET_H
16 // \int_l^u f(x) dx in one block (as opposed to 'f','(','x',')' or 'f','x')
17 // or \sum, \prod... for interfacing external programs
19 #include "InsetMathNest.h"
24 // for integrals, cell(0) is stuff before the 'd', cell(1) the stuff after
26 // cell(0) is the main body
27 // cell(1) is the index (e.g., i), if the lower bound is "i = ..."
28 // or the whole lower bound if not
29 // cell(2) is what follows the "=" in the first case
30 // cell(3) is the upper bound
31 class InsetMathExInt : public InsetMathNest {
34 explicit InsetMathExInt(Buffer * buf, docstring const & name_);
36 void symbol(docstring const &);
38 void metrics(MetricsInfo & mi, Dimension & dim) const;
40 void draw(PainterInfo &, int x, int y) const;
43 void normalize(NormalStream &) const;
45 void maxima(MaximaStream &) const;
47 void maple(MapleStream &) const;
49 void mathematica(MathematicaStream &) const;
51 void mathmlize(MathStream &) const;
53 void write(WriteStream & os) const;
55 InsetCode lyxCode() const { return MATH_EXINT_CODE; }
57 virtual Inset * clone() const;
59 bool hasScripts() const;