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 |