mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 10:18:50 +00:00
small step forward on the lenghty path to \mbox support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2940 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
68a3a474b7
commit
557033beb6
@ -70,7 +70,6 @@ void MathBoxInset::metrics(MathMetricsInfo const & st) const
|
|||||||
void MathBoxInset::draw(Painter & pain, int x, int y) const
|
void MathBoxInset::draw(Painter & pain, int x, int y) const
|
||||||
{
|
{
|
||||||
float fx = x + 2;
|
float fx = x + 2;
|
||||||
|
|
||||||
if (text_ && mi_.view)
|
if (text_ && mi_.view)
|
||||||
text_->draw(mi_.view, mi_.font, y, fx, false);
|
text_->draw(mi_.view, mi_.font, y, fx, false);
|
||||||
if (mathcursor && mathcursor->isInside(this))
|
if (mathcursor && mathcursor->isInside(this))
|
||||||
|
@ -36,6 +36,8 @@ public:
|
|||||||
void metrics(MathMetricsInfo const &) const;
|
void metrics(MathMetricsInfo const &) const;
|
||||||
/// identifies BoxInsets
|
/// identifies BoxInsets
|
||||||
MathBoxInset * asBoxInset() { return this; }
|
MathBoxInset * asBoxInset() { return this; }
|
||||||
|
///
|
||||||
|
bool isHyperActive() const { return 1; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// unimplemented
|
/// unimplemented
|
||||||
|
@ -243,6 +243,9 @@ bool MathCursor::isInside(MathInset const * p) const
|
|||||||
|
|
||||||
bool MathCursor::openable(MathAtom const & t, bool sel) const
|
bool MathCursor::openable(MathAtom const & t, bool sel) const
|
||||||
{
|
{
|
||||||
|
if (t->isHyperActive())
|
||||||
|
return true;
|
||||||
|
|
||||||
if (!t->isActive())
|
if (!t->isActive())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -304,6 +307,9 @@ bool MathCursor::left(bool sel)
|
|||||||
lastcode_ = LM_TC_VAR;
|
lastcode_ = LM_TC_VAR;
|
||||||
|
|
||||||
if (hasPrevAtom() && openable(prevAtom(), sel)) {
|
if (hasPrevAtom() && openable(prevAtom(), sel)) {
|
||||||
|
if (prevAtom()->isHyperActive()) {
|
||||||
|
lyxerr << "entering hyperactive inset\n";
|
||||||
|
}
|
||||||
pushRight(prevAtom());
|
pushRight(prevAtom());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -324,6 +330,9 @@ bool MathCursor::right(bool sel)
|
|||||||
lastcode_ = LM_TC_VAR;
|
lastcode_ = LM_TC_VAR;
|
||||||
|
|
||||||
if (hasNextAtom() && openable(nextAtom(), sel)) {
|
if (hasNextAtom() && openable(nextAtom(), sel)) {
|
||||||
|
if (nextAtom()->isHyperActive()) {
|
||||||
|
lyxerr << "entering hyperactive inset\n";
|
||||||
|
}
|
||||||
pushLeft(nextAtom());
|
pushLeft(nextAtom());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#include "math_parser.h"
|
#include "math_parser.h"
|
||||||
#include "math_binominset.h"
|
#include "math_binominset.h"
|
||||||
//#include "math_boxinset.h"
|
#include "math_boxinset.h"
|
||||||
#include "math_decorationinset.h"
|
#include "math_decorationinset.h"
|
||||||
#include "math_dotsinset.h"
|
#include "math_dotsinset.h"
|
||||||
#include "math_funcinset.h"
|
#include "math_funcinset.h"
|
||||||
@ -63,8 +63,8 @@ MathAtom createMathInset(latexkeys const * l)
|
|||||||
return MathAtom(new MathSpaceInset(l->id));
|
return MathAtom(new MathSpaceInset(l->id));
|
||||||
case LM_TK_DOTS:
|
case LM_TK_DOTS:
|
||||||
return MathAtom(new MathDotsInset(l->name));
|
return MathAtom(new MathDotsInset(l->name));
|
||||||
//case LM_TK_BOX:
|
case LM_TK_BOX:
|
||||||
// return MathAtom(new MathBoxInset(l->name));
|
return MathAtom(new MathBoxInset(l->name));
|
||||||
}
|
}
|
||||||
return MathAtom(new MathFuncInset(l->name));
|
return MathAtom(new MathFuncInset(l->name));
|
||||||
}
|
}
|
||||||
|
@ -56,28 +56,28 @@ MathXArray dummyCell;
|
|||||||
|
|
||||||
MathXArray & MathInset::xcell(idx_type)
|
MathXArray & MathInset::xcell(idx_type)
|
||||||
{
|
{
|
||||||
lyxerr << "I don't have a cell\n";
|
lyxerr << "I don't have a cell 1\n";
|
||||||
return dummyCell;
|
return dummyCell;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MathXArray const & MathInset::xcell(idx_type) const
|
MathXArray const & MathInset::xcell(idx_type) const
|
||||||
{
|
{
|
||||||
lyxerr << "I don't have a cell\n";
|
lyxerr << "I don't have a cell 2\n";
|
||||||
return dummyCell;
|
return dummyCell;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MathArray & MathInset::cell(idx_type)
|
MathArray & MathInset::cell(idx_type)
|
||||||
{
|
{
|
||||||
lyxerr << "I don't have a cell\n";
|
lyxerr << "I don't have a cell 3\n";
|
||||||
return dummyCell.data_;
|
return dummyCell.data_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MathArray const & MathInset::cell(idx_type) const
|
MathArray const & MathInset::cell(idx_type) const
|
||||||
{
|
{
|
||||||
lyxerr << "I don't have a cell\n";
|
lyxerr << "I don't have a cell 4\n";
|
||||||
return dummyCell.data_;
|
return dummyCell.data_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,6 +222,8 @@ public:
|
|||||||
virtual bool isScriptable() const { return false; }
|
virtual bool isScriptable() const { return false; }
|
||||||
///
|
///
|
||||||
virtual bool isActive() const { return nargs() > 0; }
|
virtual bool isActive() const { return nargs() > 0; }
|
||||||
|
/// identifies insets from the outer world
|
||||||
|
virtual bool isHyperActive() const { return 0; }
|
||||||
///
|
///
|
||||||
virtual bool isRelOp() const { return false; }
|
virtual bool isRelOp() const { return false; }
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user