#### 15.3.3.17 Uipushtool Properties

The `uipushtool` properties are:

`beingdeleted`: {`"off"`} | `"on"`
`busyaction`: `"cancel"` | {`"queue"`}

  Define how Octave handles the execution of this object’s callback properties when it is unable to interrupt another object’s executing callback. This is only relevant when the currently executing callback object has its `interruptible` property set to `"off"`. The `busyaction` property of the interrupting callback object indicates whether the interrupting callback is queued (`"queue"` (default)) or discarded (`"cancel"`). See Callbacks section.

`buttondownfcn`: string | function handle, def. `[](0x0)`

  `buttondownfcn` is unused.

`cdata`: def. `[](0x0)`
`children` (read-only): vector of graphics handles, def. `[](0x1)`

  Graphics handles of the uipushtool’s children.

`clickedcallback`: def. `[](0x0)`
`clipping`: `"off"` | {`"on"`}

  If `clipping` is `"on"`, the uipushtool is clipped in its parent axes limits.

`createfcn`: string | function handle, def. `[](0x0)`

  Callback function executed immediately after uipushtool has been created. Function is set by using default property on root object, e.g., `set (groot, "defaultuipushtoolcreatefcn", 'disp ("uipushtool created!")')`.

  For information on how to write graphics listener functions see Callbacks section.

`deletefcn`: string | function handle, def. `[](0x0)`

  Callback function executed immediately before uipushtool is deleted.

  For information on how to write graphics listener functions see Callbacks section.

`enable`: `"off"` | {`"on"`}
`handlevisibility`: `"callback"` | `"off"` | {`"on"`}

  If `handlevisibility` is `"off"`, the uipushtool’s handle is not visible in its parent’s "children" property.

`hittest`: `"off"` | {`"on"`}

  Specify whether uipushtool processes mouse events or passes them to ancestors of the object. When enabled, the object may respond to mouse clicks by evaluating the `"buttondownfcn"`, showing the uicontextmenu, and eventually becoming the root `"currentobject"`. This property is only relevant when the object can accept mouse clicks which is determined by the `"pickableparts"` property. See pickableparts property.

`interruptible`: `"off"` | {`"on"`}

  Specify whether this object’s callback functions may be interrupted by other callbacks. By default `interruptible` is `"on"` and callbacks that make use of `drawnow`, `figure`, `waitfor`, `getframe` or `pause` functions are eventually interrupted. See Callbacks section.

`parent`: graphics handle

  Handle of the parent graphics object.

`pickableparts`: `"all"` | `"none"` | {`"visible"`}

  Specify whether uipushtool will accept mouse clicks. By default, `pickableparts` is `"visible"` and only visible parts of the uipushtool or its children may react to mouse clicks. When `pickableparts` is `"all"` both visible and invisible parts (or children) may react to mouse clicks. When `pickableparts` is `"none"` mouse clicks on the object are ignored and transmitted to any objects underneath this one. When an object is configured to accept mouse clicks the `"hittest"` property will determine how they are processed. See hittest property.

`selected`: {`"off"`} | `"on"`
`selectionhighlight`: `"off"` | {`"on"`}
`separator`: {`"off"`} | `"on"`
`tag`: string, def. `""`

  A user-defined string to label the graphics object.

`tooltipstring`: def. `""`
`type` (read-only): string

  Class name of the graphics object. `type` is always `"uipushtool"`

`uicontextmenu`: graphics handle, def. `[](0x0)`

  Graphics handle of the uicontextmenu object that is currently associated to this uipushtool object.

`userdata`: Any Octave data, def. `[](0x0)`

  User-defined data to associate with the graphics object.

`visible`: `"off"` | {`"on"`}

  If `visible` is `"off"`, the uipushtool is not rendered on screen.