RasterTreeEvent
Object passed to a tree event handler containing information about the event in progress. The object has the following properties:event The associated DOM event object. type Indicates the type of event. tree The tree control that issued the event. item The tree item that was clicked. dragValue The value being dragged/dropped over the control. position Indicates where dragged value is about to be dropped.Not all object properties apply to all event types. When a property is not relevant to a given event type, its value is set to
null
(Tip: do an alert()
on the event object to see which properties are set for any particular event type).
The
type
property indicates what the event does. The following table
lists its possible values:
Event Type Description
collapseA tree item was collapsed. The
item
property
points to the tree item being collapsed. Cancelling this event
will prevent the tree item from collapsing.
expandA tree item was expanded. The
item
property
points to the tree item being expanded. Cancelling this event
will prevent the tree item from expanding.
clickA tree item was clicked. The
item
property
points to the tree item being clicked. Cancelling this event
will prevent the tree current selection from changing.
dblclickA tree item was double-clicked. The
item
property
points to the tree item being clicked. Note the "click" event
will fire twice before "dblclick" fires. This is normal.
contextA tree item was right-clicked. The
item
property
points to the tree item being clicked. This might be used to
open a context menu at the mouse position.
beforedragOne or more tree items are about to be dragged. The
item
property points to the tree item about to be
dragged. In case of a multiple selections, use the RasterTree.getSelectedItems()
method to know which items are being dragged. Cancelling this event
will prevent the drag operation from occurring.
overA value is being dragged over a tree item. The
item
property points to the tree item currently
under the mouse pointer. The dragValue
property contains the value
being dragged over the item. The position
property indicates where the
dragged value is about to be dropped in relation to the tree item
.
If the event handler wishes to accept the
dragValue
at the current position,
it must invoke RasterEvent.accept()
to signal the control to
highlight the item
as a potential drop target (i.e. draw insertion line
or shaded box at the item's location).
The event handler may overwrite the current
position
by passing a
new position
to the accept()
method.
If the event handler does not invoke accept()
, the item
will not be highlighted as a potential drop target, nor the "drop"
event will fire on the item
if the mouse button is released over the item.
dropA value was dropped over an item. The
item
property
points to the tree item receiving the drop. The dragValue
property
contains the value dropped over the item
. The position
property indicates where the dragValue
was dropped in relation
to the item
.
Moving Local Items
When dragging and dropping items inside the same control, the drag operation is said to be "local". In such case, the control's default behavior is to reorganize the dropped items automatically after the event handler returns from a "drop" event. If the event handler wishes to prevent the default "reorganize" behavior, it must invoke
RasterEvent.cancel()
before it returns.
Example: Hooking up a tree event handler
var tree = new RasterTree("myDiv", ICONS16.COMPUTER, "My Computer"); tree.setEventHandler( myHandler ); //assign event handler ... function myHandler( evt ) { switch ( evt.type ) { case "click" : alert ( evt.item.text + " was clicked" ); break; } }