From: Guillaume Munch Date: Tue, 13 Oct 2015 23:23:12 +0000 (+0100) Subject: Add a unique id to math insets X-Git-Tag: 2.2.0alpha1~216 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=e2d7a4534ae9dc66962771d17165e68b54f6044f;p=features.git 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. --- diff --git a/src/Cursor.cpp b/src/Cursor.cpp index fe90f98deb..828b0f56d2 100644 --- a/src/Cursor.cpp +++ b/src/Cursor.cpp @@ -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(); } diff --git a/src/TexRow.h b/src/TexRow.h index 254f446774..9b21d45a64 100644 --- a/src/TexRow.h +++ b/src/TexRow.h @@ -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 diff --git a/src/mathed/InsetMath.h b/src/mathed/InsetMath.h index 917011fbb3..bd72863c3a 100644 --- a/src/mathed/InsetMath.h +++ b/src/mathed/InsetMath.h @@ -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; } }; ///