Eiffel Media API
Overview Cluster Class Classes Index      Previous Next      Top Features

em.widget.input

Class EM_MOUSE_SENSITIVE


Known direct descendants

EM_INPUT_SENSITIVE

Features

Invariants

indexing

description

Mouse sensitive objects which dispatches mouse events.

Subscribe on an event-type you want to be notified.

In case of a mouse click the event order is:
mouse_button_down_event
mouse_button_up_event
mouse_clicked_event

In case of a mouse drag the event order is:
mouse_button_down_event
mouse_drag_start_event
mouse_dragged_event (as long as the mouse is moved)
mouse_button_up_event
mouse_drag_stop_event

Note: it is possible NOT to receive a mouse_drag_stop_event if the mouse exited during dragging.
You will then receive a mouse_exited_event instead. If the mouse is dragged outside the area and
back in, you will receive a mouse_exited_event and mouse_entered_event event in between
mouse_dragged_events.

date

$Date: 2005/10/23 11:21:01 $

revision

$Revision: 1.9 $

deferred class

EM_MOUSE_SENSITIVE

feature -- Events

mouse_button_down_event: EM_EVENT_TYPE [TUPLE[EM_MOUSEBUTTON_EVENT]]

-- Mouse button down event

mouse_button_up_event: EM_EVENT_TYPE [TUPLE[EM_MOUSEBUTTON_EVENT]]

-- Mouse button up event

mouse_clicked_event: EM_EVENT_TYPE [TUPLE[EM_MOUSEBUTTON_EVENT]]

-- Mouse clicked event

mouse_drag_start_event: EM_EVENT_TYPE [TUPLE[EM_MOUSE_EVENT]]

-- Mouse drag start event

mouse_drag_stop_event: EM_EVENT_TYPE [TUPLE[EM_MOUSE_EVENT]]

-- Mouse drag stop event

mouse_dragged_event: EM_EVENT_TYPE [TUPLE[EM_MOUSEMOTION_EVENT]]

-- Mouse dragged event

mouse_entered_event: EM_EVENT_TYPE [TUPLE []]

-- Mouse entered event

mouse_exited_event: EM_EVENT_TYPE [TUPLE []]

-- Mouse exited event

mouse_moved_event: EM_EVENT_TYPE [TUPLE[EM_MOUSEMOTION_EVENT]]

-- Mouse moved event

mouse_wheel_down_event: EM_EVENT_TYPE [TUPLE []]

-- Mouse wheel down event

mouse_wheel_up_event: EM_EVENT_TYPE [TUPLE []]

-- Mouse wheel up event

invariant

mouse_button_down_event_not_void: mouse_button_down_event /= Void
mouse_button_up_event_not_void: mouse_button_up_event /= Void
mouse_clicked_event_not_void: mouse_clicked_event /= Void
mouse_moved_event_not_void: mouse_moved_event /= Void
mouse_dragged_event_not_void: mouse_dragged_event /= Void
mouse_drag_start_event_not_void: mouse_drag_start_event /= Void
mouse_drag_stop_event_not_void: mouse_drag_stop_event /= Void
mouse_wheel_up_event_not_void: mouse_wheel_up_event /= Void
mouse_wheel_down_event_not_void: mouse_wheel_down_event /= Void
mouse_entered_event_not_void: mouse_entered_event /= Void
mouse_exited_event_not_void: mouse_exited_event /= Void

-- From ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)

end