@brief The action interface for user-available actions
*/
-#include "widget.hh"
#include "otk/point.hh"
#include "otk/rect.hh"
#include "otk/eventhandler.hh"
};
struct ButtonPressAction {
+ Window win;
unsigned int button;
otk::Point pos;
otk::Rect clientarea;
};
#endif // SWIG
private:
- // milliseconds XXX: config option
- static const int BUTTONS = 5;
-
- //! The mouse button currently being watched from a press for a CLICK
- unsigned int _button;
//! The last button release processed for CLICKs
ButtonReleaseAction _release;
- //! The point where the mouse was when each mouse button was pressed
- /*!
- Used for motion events as the starting position.
- */
- ButtonPressAction *_posqueue[BUTTONS];
-
-
- void insertPress(const XButtonEvent &e);
- void removePress(const XButtonEvent &e);
+ //! The last button press processed for CLICKs
+ ButtonPressAction _press;
+ //! This is set to true once a drag has started and false when done to make
+ //! sure the threshold isnt checked anymore once a drag is underway
+ bool _dragging;
public:
//! Constructs an Actions object
virtual void leaveHandler(const XCrossingEvent &e);
virtual void keyPressHandler(const XKeyEvent &e);
+ virtual void keyReleaseHandler(const XKeyEvent &e);
virtual void motionHandler(const XMotionEvent &e);
- virtual void mapRequestHandler(const XMapRequestEvent &e);
- virtual void unmapHandler(const XUnmapEvent &e);
- virtual void destroyHandler(const XDestroyWindowEvent &e);
-
#ifdef XKB
virtual void xkbHandler(const XkbEvent &e);
#endif // XKB