[IPython-dev] twisted process pool...
ellisonbg.net at gmail.com
Thu May 15 18:46:22 EDT 2008
> I think attempting to create our own UI event system (as
> InputStateManager is doing) is the wrong path. Matplotlib's multiple
> backends are a necessary evil (perhaps), but keeping them all in sync
> appears to be a huge (and somewhat unsuccesful) effort. Why not let
> frontend developers exploit the native event system.
I completely agree with this - especially because different UIs have
somewhat different models and capabilities. I think this is a case
where less abstraction is better as the native event systems are
typically very well thought out. You just don't get much by putting
another layer of abstraction in.
> I think it's more
> useful for us to provide handlers for the actions the frontend might
> want to take (e.g. executing a block of code) rather than translate
> native events into our own event system. I've started this approach in
> the ipython1-cocoa branch in the frontend.frontendbase module.
> frontendbase provides common actions (e.g. check if a block is
> complete, execute a block, etc.) and provides hooks for implementers
> to override to e.g. display the result of an executed block.
This is the way I have been thinking of the model. The
core+fontendbase provide the classes+methods that the various UIs will
need to call to "make things happen".
More information about the IPython-dev