#### 15.3.3.15 Uipanel Properties ¶

Properties of `uipanel` objects (see uipanel):

#### Categories: ¶

Appearance | Callback Execution | Creation/Deletion | Display | Mouse Interaction | Object Identification | Object Position | Parent/Children | Text Appearance

#### Appearance ¶

`backgroundcolor`: colorspec, def. `[0.9400 0.9400 0.9400]` ¶

  The color value of the background of this panel.

`bordertype`: `"beveledin"` | `"beveledout"` | {`"etchedin"`} | `"etchedout"` | `"line"` | `"none"` ¶

  Sets whether or not a line border will surround the panel.

`borderwidth`: whole number scalar, def. `1` ¶

  The width of the line border in pixels.

`foregroundcolor`: colorspec, def. `[0 0 0]` ¶

  The color value of the title text for this panel.

`highlightcolor`: colorspec, def. `[1 1 1]` ¶

  The color value of the line bordering this panel.

`shadowcolor`: colorspec, def. `[0.7000 0.7000 0.7000]` ¶

  The color value of the line surrounding the border line around this panel. See colorspec.

#### Callback Execution ¶

`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.

`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.

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

  `resizefcn` is deprecated. Use `sizechangedfcn` instead.

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

  Callback triggered when the panel size is changed.

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

#### Creation/Deletion ¶

`beingdeleted`: {`"off"`} | `"on"` ¶

  Property indicating that a function has initiated deletion of the object. `beingdeleted` is set to true until the object no longer exists.

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

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

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

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

  Callback function executed immediately before uipanel is deleted.

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

#### Display ¶

`clipping`: `"off"` | {`"on"`} ¶

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

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

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

#### Mouse Interaction ¶

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

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

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

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

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

  Specify whether uipanel 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.

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

  Specify whether uipanel will accept mouse clicks. By default, `pickableparts` is `"visible"` and only visible parts of the uipanel 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"` ¶

  Property indicates whether this uipanel is selected.

`selectionhighlight`: `"off"` | {`"on"`} ¶

  If `selectionhighlight` is `"on"`, then the uipanel’s selection state is visually highlighted.

#### Object Identification ¶

`tag`: string, def. `""` ¶

  A user-defined string to label the graphics object.

`type` (read-only): string ¶

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

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

  User-defined data to associate with the graphics object.

#### Object Position ¶

`position`: four-element vector, def. `[0 0 1 1]` ¶

  Size of the panel represented as the four-element vector [left, bottom, width, height].

`units`: `"centimeters"` | `"characters"` | `"inches"` | {`"normalized"`} | `"pixels"` | `"points"` ¶

  Unit of measurement used to interpret the `"position"` property.

#### Parent/Children ¶

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

  Graphics handles of the uipanel’s children.

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

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

`parent`: graphics handle ¶

  Handle of the parent graphics object.

#### Text Appearance ¶

`fontangle`: `"italic"` | {`"normal"`} ¶

  Control whether the font is italic or normal.

`fontname`: string, def. `"*"` ¶

  Name of font used for text rendering. When setting this property, the text rendering engine will search for a matching font in your system. If none is found then text is rendered using a default sans serif font (same as the default `"*"` value).

  Programming Note: On systems that don’t use FontConfig natively (all but Linux), the font cache is built when Octave is installed. You will need to run `system ("fc-cache -fv")` manually after installing new fonts.

`fontsize`: scalar, def. `10` ¶

  Size of the font used for text rendering. See fontunits property.

`fontunits`: `"centimeters"` | `"inches"` | `"normalized"` | `"pixels"` | {`"points"`} ¶

  Units used to interpret the `"fontsize"` property.

`fontweight`: `"bold"` | {`"normal"`} ¶

  Control the variant of the base font used for text rendering.

`title`: string, def. `""` ¶

  The text for the panel title.

`titleposition`: `"centerbottom"` | `"centertop"` | `"leftbottom"` | {`"lefttop"`} | `"rightbottom"` | `"righttop"` ¶

  Relative position of the title within the panel.