TabbedRepeatNode
A tabbed display where each tab is automatically generated by iterating over input data.
Combines the tab interface of TabbedGroup with the iteration logic of Repeat. Each iteration of the repeat-over data produces a new tab. Tab names are derived from the iteration variable.
The same iteration modes as Repeat are supported: numeric ranges, lists of values, and lists of dictionaries.
- Special Attributes
| Name | Type | Description |
|---|---|---|
| geometry | Rect | A rectangle describing the position and dimensions of the widget |
| children | List | A list of widgets to use as the template for each tab’s content |
| repeat-over | String | The name of a macro that will be provided within the input data file |
| variable | String | The name under which to provide the value of the loop index, ‘N’ by default |
| start-at | Number | An offset value to the loop index to provide children widgets |
| foreground | Color | The color of the text for each tab, defaults to $000000 |
| background | Color | The fill color for each display pane, defaults to transparent |
| tab-color | Color | The background color for each tab, defaults to $D2D2D2 |
| selected | Color | The background color for the currently selected tab, defaults to $A8A8A8 |
| border-color | Color | The color of the border that surrounds the display panes, defaults to $000000 |
| border-width | Number | The thickness of the group’s border in pixels, defaults to 0 |
| padding | Number | The number of pixels between each tab, defaults to 5 |
| inset | Number | The number of pixels to horizontally offset the tab bar from the display pane, defaults to 0 |
| offset | Number | The number of pixels to vertically offset the display pane from the tab bar, defaults to 0 |
| font | Font | The display font for the tabs, defaults to Liberation Sans 12 |
- Example
ChannelTabs: !TabbedRepeat
geometry: 400x300
repeat-over: "CHANNELS"
variable: "ch"
tab-color: *header_blue
foreground: *white
selected: $3970C4
border-color: *header_blue
font: -DejaVu Sans Mono -Bold -9
children:
- !VFlow
padding: 5
children:
- !TextMonitor { geometry: 120x20, pv: "$(P)$(R){ch}:Value_RBV" }
- !TextEntry { geometry: 120x20, pv: "$(P)$(R){ch}:Setpoint", background: *edit_blue }