## Array

Array widget is a container widget that could contain an array of other widgets. It can be used to display/write a PV with array data, for example, waveform or compress PV.

### Operations

In edit mode, dragging and dropping a widget to an empty array widget will create an array of this widget. Modifing the property of any child will apply to all other children. Array index can be changed by spinner and scrollbar.

### Special Properties

- Array Length (array_length). Length of the array. Only visible if PV name is empty, otherwise, it will be determined by the PV array length.
- Data Type (data_type). Data type of the array, which is the returned data type when calling `widget.getValue()` in script. Only visible if PV name is empty, otherwise, it will be determined by the PV data type.
- Horizontal (horizontal). Yes if children widgets should be arranged in horizontal direction. No for vertical direction.
- Show Spinner (show_spinner). Show the index spinner.
- Spinner Width (spinner_width). Width of the spinner in pixels.
- Show Scrollbar (show_scrollbar). Show the scrollbar.

### See Also

- Properties Common to All Container Widgets
- Properties Common to All PV Widgets
- Properties Common to All Widgets

### Special Methods

#### getIndex

    public int getIndex(AbstractBaseEditPart child)

  Get the array index on the child widget.

  Parameters:
    `child` - the child widget.
  Returns:
    the array index on the child widget. -1 if the child is not an array element or it is not a child of the array widget.