> * Conceptually what is an anchor in a Cursor?

The anchor is the starting point of a selection. If you have selected
the word "hello" starting from the 'h' to the 'o', the anchor is
positioned at 'h' and the cursor at 'o'.

> * What does it mean for an inset to be "locked" ?

I've no idea, but according to the comment: "/// returns whether
changing mode during latex export is forbidden".

> * What is "dispatching" in context of Cursors? Can you explain the concept
> of FuncRequests please?

If the frontend wants to execute some function, it dispatches an LFUN
to the core. A FuncRequest is nothing more than an encapsulation of an
LFUN together with some argument (and some other stuff). In a lot of
places in the code, there are ::dispatch methods that will handle
those FuncRequests.

> * What is a macro mode for a Cursor? Does it relate to a latex macro or some
> other kind of macro?

It relates to math macros. If you're in math, you can enter
"\nameofsomemacro". If you are finished it will close the macro and
replace it by the definition of the macro.

> * What exactly is a MathAtom. Not sure I understand how InsetMath and
> MathAtom work together... if you could give a short
> conceptual description that would be very useful

I don't think I can explain you any better than the comment in MathAtom.h:

"Wrapper for InsetMath * with copy-semantics

The MathAtom owns the InsetMath * and is responsible for proper cloning and
destruction. Every InsetMath * should be put into a MathAtom after its
creation as soon as possible."

As you can see in the code, the MathAtom class doesn't do an awful
lot. It only clones the InsetMath* inset whenever the MathAtom is
copied. I guess it is just a mere wrapper .. :S

Vincent

Reply via email to