Andre Poenitz wrote:
> But that does not solve my current problem of having to call a base class'
> handlers manually in a derived class as far as I can see. Or does it?

I don't understand your problems, but maybe they are local to mathed
and it's therefore I don't understand them. Normal insets just do this
(included matheds base inset!):

Excute all functions you really think doesn't interest the
insets (we still don't do that!)

LyXFunc calls theLockingInset->localDispatch()

theLockingInset() has another locking inset so it would have to
call its_locking_inset->localDispatch(), but before doing this
it has to handle all lfuns it really want's to dispatch itself
(have a look at the localDispatch function of InsetTabular)

[iterate until you have locking inset iside]

The most internal inset now decides if it likes the lfun or not
if yes it just executes it and returns a "done" (it is called
different but we all know that) or it isn't intererested in it
and it returns "I have no interest in this lfun", now the chain
goes down again.

The lfun wasn't handled by the inset inside and so I have a look
if I really want to handle doing the same as above.

[iteraterate until I return to lyxfunc]

We returned to the mainswitch and know if we handled the event or
not. If yes we can just return happily if not we look if we want
to handle the event anyway.

Done!

Now I have to implement the lfuns inside the Insets which are of
interest to the inset and I just don't have to do anything if I'm
not interested in it. I really don't see a problem here that some
"event" is not passed down the chain.

Would you care to explain inside which step you have a problem?

         Jug

-- 
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen Vigna        E-Mail:  [EMAIL PROTECTED]
Mitterstrich 151/A      Tel/Fax: +39-0471-450260 / +39-0471-450253
I-39050 Steinegg        Web:     http://www.lyx.org/~jug
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._

Reply via email to