Andre Poenitz wrote:

>> And I am trying to get rid of the big switch.
> 
> How should that work?
> 
> [Note that individual LFUN handler functions are a pain in the ass. I
> had this once working in mathed and it required much more typing,
> recompilation time and general hand holding than the big switch.  Most
> notably, adding a new LFUN specific to a single inset or two meant
> recompilation of the whole tree. The big switch is certainly not
> 'Nice', but works and is easily maintained once there is nothing more
> than the big switch in dispatch(). But I guess you won't accept that
> until you tried that by yourself...]

Wouldn't you have a base class
class LFun {
        virtual void dispatch(string const & arg) const = 0;
};

and thereafter have
class LFunCitation {
        virtual void dispatch(string const & arg) const;
};

I have no idea how you'd find the correct inset though...

-- 
Angus

Reply via email to