.so sli-item
\c{
The $item$ class
The canvas widget allows the programmer to
create a number of built-in graphic items.
Items are given a numerical index when created and,
in addition, they may be given a (string) tag.
Tags allow items to be manipulated in a group-wise fashion.
To deal with items in a C++ context, the hush library
contains a class item of which the functionality
is shown in slide [class-item].
}
\c{
Instances of item may not be created directly by
the user, but instead are created by the canvas
widget.
For an item, its index may be obtained by casting
the item to int.
If the index does not identify an existing item,
it will be zero.
Existing items may be moved, in a relative way,
by the move function.
}
\c{
In a similar way as for widgets,
items may be associated with events,
either explicitly by using
, or
implicitly by using .
The default bindings for items are
identical to the default bindings
for the canvas widget, but these may be overridden
by descendant classes.
Similar to the widget class, the item class
is derived from the handler class.
This allows the user to define possibly compound
shapes defining their own handler.
}