* the GNU General Public Licence version 2 or later.
*/
-#include <config.h>
-
#ifdef __GNUG__
#pragma implementation
#endif
#include "math_inset.h"
-#include "mathed/support.h"
-#include "Painter.h"
#include "debug.h"
int MathInset::workwidth;
-MathInset::MathInset(string const & name, MathInsetTypes ot, int nargs)
+MathInset::MathInset(int nargs, string const & name, MathInsetTypes ot)
: name_(name), objtype(ot), width_(0), ascent_(0), descent_(0),
size_(LM_ST_DISPLAY), cells_(nargs), xo_(0), yo_(0)
{}
{
}
-bool MathInset::hasLimits() const
-{
- return false;
-}
-
-
string const & MathInset::name() const
{
return name_;
}
-void MathInset::setData(MathArray const & a, int idx)
-{
- cells_[idx].data_ = a;
-}
-
-
void MathInset::substitute(MathArray & array, MathMacro const & m) const
{
MathInset * p = clone();
return false;
}
-bool MathInset::idxDelete(int)
+void MathInset::idxDelete(int &, bool & popit, bool & deleteit)
{
- return false;
+ popit = false;
+ deleteit = false;
}
+void MathInset::idxDeleteRange(int, int)
+{}
+
bool MathInset::idxLastUp(int &, int &) const
{
}
-void MathInset::push_back(byte ch, MathTextCodes fcode)
+void MathInset::push_back(unsigned char ch, MathTextCodes fcode)
{
if (nargs())
cells_.back().data_.push_back(ch, fcode);
y <= yo_ + descent_;
}
+void MathInset::Validate(LaTeXFeatures & features) const
+{
+ for (int i = 0; i < nargs(); ++i)
+ cell(i).Validate(features);
+}
+
+std::vector<int> MathInset::idxBetween(int from, int to) const
+{
+ std::vector<int> res;
+ for (int i = from; i <= to; ++i)
+ res.push_back(i);
+ return res;
+}