LibSimpleWidgets is a library which provides a set of simple widgets not provided by the official Rift API. It integrates into the UI.CreateFrame function, adding several new frame types:
- SimpleCheckbox (checkbox with a label)
- SimpleGrid (grid of widgets)
- SimpleList (list of selectable items, single/multi-select)
- SimpleScrollList (same as above, scrollable, handles very large lists, recommended as replacement for SimpleList+SimpleScrollView)
- SimpleRadioButton (radio button with a label)
- SimpleScrollView (wraps any fixed-height frame)
- SimpleSelect (dropdown list)
- SimpleSlider (slider with the current value displayed next to it)
- SimpleTabView (tabbed frames)
- SimpleTextArea (multi-line textfield in scrollview)
- SimpleTooltip (mouseover popup frame with text)
- SimpleWindow (draggable RiftWindow)
The new frame types inherit all of Frame's functions and add a few more functions specific to each widget.
SimpleRadioButton has a companion function called RadioButtonGroup, which returns a controller object that manages a group of radio buttons to ensure that only one is selected at a time and to generate an event when the selected radio button changes.
The Layout function, given a table describing a widget layout, will create frames and lay them out accordingly. If you've ever used AceConfig and AceGUI, then you'll find this familiar. You can call Layout with the same parent frame and config table to refresh the widgets without creating new frames.
Documentation can be found here.