Add a unique id to math insets

The id is just the memory address.

The status bar now spits out the math inset uid information when in a math cell
in DEVEL_VERSION, like it already does when in a paragraph.

This is preliminary work for extending the cursor<->row tracking to math.
This commit is contained in:
Guillaume Munch 2015-10-14 00:23:12 +01:00
parent 44e022ad74
commit e2d7a4534a
3 changed files with 14 additions and 3 deletions

View File

@ -1179,8 +1179,6 @@ void Cursor::info(odocstream & os) const
if (inset)
prevInset()->infoize2(os);
}
// overwite old message
os << " ";
}
@ -2106,6 +2104,13 @@ docstring Cursor::currentState() const
if (inMathed()) {
odocstringstream os;
info(os);
#ifdef DEVEL_VERSION
InsetMath * math = inset().asInsetMath();
if (math)
os << _(", Inset: ") << math->id();
os << _(", Cell: ") << idx();
os << _(", Position: ") << pos();
#endif
return os.str();
}

View File

@ -23,6 +23,8 @@ namespace lyx {
class LyXErr;
class DocIterator;
typedef void const * uid_type;
/// Represents the correspondence between paragraphs and the generated
/// LaTeX file

View File

@ -17,6 +17,8 @@
#include "insets/Inset.h"
#include "TexRow.h"
namespace lyx {
@ -44,7 +46,7 @@ Abstract base class for all math objects. A math insets is for use of the
math editor only, it isn't a general LyX inset. It's used to represent all
the math objects.
Math insets do not know there parents, a cursor position or things
Math insets do not know their parents, a cursor position or things
like that. They are dumb objects that are contained in other math insets
(InsetMathNests, in fact) thus forming a tree. The root of this tree is
always a InsetMathHull, which provides an interface to the Outer World by
@ -225,6 +227,8 @@ public:
bool isInToc() const { return true; }
///
InsetCode lyxCode() const { return MATH_CODE; }
///
uid_type id() const { return this; }
};
///