#include "lyxtext.h"
#include "paragraph.h"
-#include "mathed/math_inset.h"
-#include "mathed/math_data.h"
+#include "mathed/InsetMath.h"
+#include "mathed/MathData.h"
-#include "insets/updatableinset.h"
+#include <boost/assert.hpp>
-#include <boost/assert.hpp>
+namespace lyx {
using std::endl;
CursorSlice::CursorSlice()
- : inset_(0), idx_(0), pit_(0), pos_(0), boundary_(false)
+ : inset_(0), idx_(0), pit_(0), pos_(0)
{}
CursorSlice::CursorSlice(InsetBase & p)
- : inset_(&p), idx_(0), pit_(0), pos_(0), boundary_(false)
+ : inset_(&p), idx_(0), pit_(0), pos_(0)
{
BOOST_ASSERT(inset_);
}
-size_t CursorSlice::nargs() const
+MathArray & CursorSlice::cell() const
{
- BOOST_ASSERT(inset_);
- return inset_->nargs();
+ return inset_->asInsetMath()->cell(idx_);
}
-size_t CursorSlice::nrows() const
+Paragraph & CursorSlice::paragraph()
{
- BOOST_ASSERT(inset_);
- return inset_->nrows();
+ return text()->getPar(pit_);
}
-size_t CursorSlice::ncols() const
+Paragraph const & CursorSlice::paragraph() const
{
- BOOST_ASSERT(inset_);
- return inset_->ncols();
+ return text()->getPar(pit_);
}
-CursorSlice::pos_type CursorSlice::lastpos() const
+pos_type CursorSlice::lastpos() const
{
BOOST_ASSERT(inset_);
- return inset_->asMathInset() ? cell().size() : paragraph().size();
+ return inset_->asInsetMath() ? cell().size() : paragraph().size();
}
CursorSlice::row_type CursorSlice::row() const
{
- BOOST_ASSERT(asMathInset());
- return asMathInset()->row(idx_);
+ BOOST_ASSERT(asInsetMath());
+ return asInsetMath()->row(idx_);
}
CursorSlice::col_type CursorSlice::col() const
{
- BOOST_ASSERT(asMathInset());
- return asMathInset()->col(idx_);
-}
-
-
-MathInset * CursorSlice::asMathInset() const
-{
- BOOST_ASSERT(inset_);
- return inset_->asMathInset();
-}
-
-
-UpdatableInset * CursorSlice::asUpdatableInset() const
-{
- BOOST_ASSERT(inset_);
- return inset_->asUpdatableInset();
-}
-
-
-MathArray & CursorSlice::cell() const
-{
- BOOST_ASSERT(asMathInset());
- return asMathInset()->cell(idx_);
-}
-
-
-LyXText * CursorSlice::text() const
-{
- BOOST_ASSERT(inset_);
- return inset_->getText(idx_);
-}
-
-
-Paragraph & CursorSlice::paragraph()
-{
- // access to the main lyx text must be handled in the cursor
- BOOST_ASSERT(text());
- return text()->getPar(pit_);
-}
-
-
-Paragraph const & CursorSlice::paragraph() const
-{
- // access to the main lyx text must be handled in the cursor
- BOOST_ASSERT(text());
- return text()->getPar(pit_);
+ BOOST_ASSERT(asInsetMath());
+ return asInsetMath()->col(idx_);
}
bool operator==(CursorSlice const & p, CursorSlice const & q)
{
- return &p.inset() == &q.inset()
+ return p.inset_ == q.inset_
&& p.idx() == q.idx()
&& p.pit() == q.pit()
&& p.pos() == q.pos();
bool operator!=(CursorSlice const & p, CursorSlice const & q)
{
- return &p.inset() != &q.inset()
+ return p.inset_ != q.inset_
|| p.idx() != q.idx()
|| p.pit() != q.pit()
|| p.pos() != q.pos();
// << " y: " << item.inset().y()
;
}
+
+
+} // namespace lyx