On 6/14/10 3:12 AM, Vincent van Ravesteijn wrote:
* 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".
I.e., whether we can switch between math mode and text mode. Confusing,
if it is FALSE, then we CAN switch.
* 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.
This is one of the initially confusing things about LyX's architecture.
In general, everything that happens in the LyX application happens via
the dispatch mechanism, which receives and acts upon requests to execute
a "LyX function", or "LFUN". As Vincent said, these LFUNs are
encapsulated in FuncRequests, together with their arguments and
associated other information. The entry point for the dispatch mechanism
is lyx::dispatch, defined in LyX.cpp, though it immediately forwards the
request to GuiApplication::dispatch(). That routine handles the request
itself in various cases and, otherwise, asks several other classes, in
turn, if they can handle it.
rh