## 28.8 Tags And Marks

The following table lists the widgets that do not accept actions:

Class | Example | Reference
--- | --- | ---
`Tk.canvasTag` | Section 6.3 of ``Window Programming in Mozart'' | `canvas`
`Tk.textTag` | Section 7.2 of ``Window Programming in Mozart'' | `text`
`Tk.textMark` | Section 7.2 of ``Window Programming in Mozart'' | `text`

The above mentioned classes provide the following methods:

`tkInit`

  > > `tkInit(parent:``+WidgetO``...)`

  Initializes the widget object and creates the widget.

  The field `WidgetO` for the special feature `parent` must be a tickle object. If `self` is an instance of `Tk.canvasTag`, `WidgetO` must be an instance of `Tk.canvas`. Otherwise, `WidgetO` must be an instance of `Tk.text`. `self` becomes a slave of `WidgetO`.

`tk`

  > > `tk(...)`

  Sends a command for `self` to the graphics engine.

`tkReturn`

  > > `tkReturn(...` `?S``)
  > > tkReturnString(...` `?S``)
  > > tkReturnAtom(...` `?A``)
  > > tkReturnInt(...` `?IB``)
  > > tkReturnFloat(...` `?FB``)
  > > tkReturnList(...` `?Ss``)
  > > tkReturnListString(...` `?Ss``)
  > > tkReturnListAtom(...` `?As``)
  > > tkReturnListInt(...` `?IBs``)
  > > tkReturnListFloat(...` `?FBs``)`

  Sends a command for `self` to the graphics engine and returns the result in the field with the highest integer feature.

`tkBind`

  > > `tkBind(event:` `EventV``
  > > action:` `Action``<= _
  > > args:` `Args``<= nil
  > > append:` `AppendB``<= false
  > > break:` `BreakB``<= false)`

  Defines an event binding for `self`. Events are described in Section 5.5 of ``Window Programming in Mozart'', Section 6.3 of ``Window Programming in Mozart'', Section 7.3 of ``Window Programming in Mozart'', and Section 28.2.3.

`tkClose`

  > > `tkClose()`

  Closes the object and performs a `delete` command on all entities that are currently referred to by `self`.