[Urwid] Mouse Handling

Ian Ward ian at excess.org
Wed Mar 15 21:18:05 EST 2006


James Mills wrote:

>inject mouse events into the get_input() buffer.
>Just as you've done with window events such as "window resize".
>You could very well do this with one single "event".
>eg:
>
>"mouse event b1 b2 b3 x y"
>
>where: b1, b2 and b3 are button states and x, y the mouse coordinates.
>  
>
That's part of it. I'll also need to pass the mouse events to the 
widgets to handle.

I'm thinking of adding an optional mouse_event( x, y, buttons ) method 
to the Widget interface definition.  Composite widgets (like ListBox, 
Columns, Padding etc..) will have to translate the coordinates and call 
the same method in the widgets they contain.

I've noticed alot of duplication in my composite widgets' code. I might 
make a new base class for them that implements the parts of the widget 
interface that just need to pass the call on to one of the contained 
widgets (get_cursor_coords, get_pref_col, move_cursor_to_coords, and now 
mouse_event)

Ian





More information about the Urwid mailing list