
Public Types | |
| typedef functor< event::result, mouse > | mouse_event |
| typedef functor< event::result, keyboard > | keyboard_event |
| typedef functor< event::result, event > | system_event |
Public Member Functions | |
| engine (engine *parent, ncurses::panel *geometry) | |
| engine () | |
| ~engine () | |
| void | exec () |
| void | get () |
| void | in_focus (engine *) |
| void | switch_to (engine *item) |
| void | set_accept (bool) |
| bool | accept () const |
| void | quit () |
| void | emit (event::type) |
| void | rat (const mouse &) |
| event::result | kbd (const keyboard &) |
| event::result | system (const event &) |
| void | on_mouse (const mouse_event &, bool front=false) |
| void | on_keyboard (const keyboard_event &, bool front=false) |
| void | on_system (const system_event &, bool front=false) |
Protected Member Functions | |
| void | add_child (engine *item) |
| void | del_child (engine *item) |
| void | process (const keyboard &) |
| event::result | process_system (const event &) |
| void | big_switch (engine *item) |
| engine * | current () |
Protected Attributes | |
| engine * | parent_ |
Private Types | |
| typedef std::deque< engine * > | child_items |
| typedef std::deque< mouse_event > | ms_events |
| typedef std::deque< keyboard_event > | kbd_events |
| typedef std::deque< system_event > | sys_events |
Private Member Functions | |
| engine (const engine &) | |
| engine & | operator= (const engine &) |
| void | find_over (const mouse &ev, child_items *list) |
| void | find_leafs (child_items *list) |
| engine * | head () |
| void | little_switch (engine *item) |
| void | process (const mouse &) |
| void | leave_all () |
| void | enter_all () |
Private Attributes | |
| child_items | childs_ |
| ms_events | mouse_ |
| kbd_events | keyboard_ |
| sys_events | system_ |
| ncurses::panel * | geometry_ |
| engine * | in_focus_ |
| bool | loop_ |
| bool | accept_ |
Friends | |
| bool | higher (engine *lhs, engine *rhs) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
create parent-child tree structure |
|
|
empty contsructor to the head of object's tree |
|
|
|
|
|
|
|
|
this widget don't accept focus |
|
|
create Transports tree, add child |
|
|
big focus switching |
|
|
current self-focused subwidget |
|
|
update Transports tree, remove child from the list |
|
|
emit system event |
|
|
|
|
|
modal loop: get and process events |
|
|
|
|
||||||||||||
|
|
|
|
get next event from the user |
|
|
return head of the Transport event support tree |
|
|
|
|
|
|
|
|
|
|
|
simple switch focus to other widget |
|
||||||||||||
|
register keyboard event callback
|
|
||||||||||||
|
register mouse event callback |
|
||||||||||||
|
register system event callback |
|
|
|
|
|
default work of switching focus here |
|
|
default work of switching focus here |
|
|
default work of passing event between objects here |
|
|
exit modal loop |
|
|
|
|
|
|
|
|
delegate focus to other object |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
geometry for the mouse events |
|
|
are this widget in focus now |
|
|
keyboard event callback |
|
|
modal loop control |
|
|
mouse event callback |
|
|
parent object |
|
|
registered system event callbacks |
1.3.6