gestures should work for any widget (? how do we handle replaying
events if we decide it's not a gesture)


create gestures using a code (udlr)
gesture "" is 'unknown'

the watcher (singleton) connects a widget/gesture to an object/slot
so:
  watcher.connect(widget, gesture("lr"),  object, slot());

This adds the widget to the watchlist if it isn't there and installs
an eventListener for all children. This is done in GW.watch()

The eventListener looks at the object getting the event.
This can be a registered widget or some depth of child of a registered widget.
If it is a child then the WidgetInfo shortcuts to the registered parent and the
registeredGestures List.

start a path on mousedown (or first move)
store moves as they arrive
call recogniser on mouseup - just check gestures for current widget
once watching, all move events go to the current path


? once a gesture has started then should it take over app.events for a while?

widget = new QLabel();
gw =  getGestureWatcher();

gw.connect(widget, gesture("lr"), checkbox, QCheckbox::setChecked());



eventually add in gw.watch(widget, CHILDREN); (watches the heirarchy);

For a watch children, when the filter sees an event it looks for
widget in monitor list; if not found it looks up the heirarchy to see
which widget to store the path for.

[At some point it may be faster to intercept appEvents and use a
hashmap of widgets to filter each event - need to test.]


Gestures ::
Up		u_
UpRight		ur
Right		r_
DownRight	dr
Down		d_
DownLeft	dl
Left		l_
UpLeft		ul


thiago suggested:
gestures->find("r l r")->connect(SIGNAL(activated()), receiver, SLOT(...)));


but do nudge some key Nokia-Maemo people into giving you some more detailed information


but do bear in mind that I'm learning c++ .... OTOH I'm a senior telco OSS architect so I know design...




Qt FingerScrolling and Gestures

Implementation of QFingerScrollArea which simply replaces a QScrollArea and allows finger scrolling.

Also, GestureWatcher which allows a gesture to be connected to a SLOT.
eg:
#include "GestureWatcher.h"
		GestureWatcher* gw = GestureWatcher::getGestureWatcher();
		gw->connect(desc, Gesture("r l r "),  this, SLOT(desc_clicked()));

where desc is a QWidget (QLabel in this case). The watcher watches any children too so you should be able to apply the gesture to a frame.



Qt Gestures FingerScroll Nokia N800 N810

should the gesture list include any parents of the widget - so the top
window gets gestures initiated on a gesture enabled child
