Difference between revisions of "LGUI2:Item Lists"
Jump to navigation
Jump to search
(4 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
! itemViewGenerators | ! itemViewGenerators | ||
| A JSON Object specifying [[LGUI2:Item View Generators|Item View Generators]]. Each Key in the JSON Object is used as the Item Type for the generator. | | A JSON Object specifying [[LGUI2:Item View Generators|Item View Generators]]. Each Key in the JSON Object is used as the Item Type for the generator. | ||
+ | |- | ||
+ | ! defaultItemViewTemplate | ||
+ | | A string specifying a custom [[LGUI2:Template|Template]] to use for the default item view, when not using a custom [[LGUI2:Item View Generator|Item View Generator]] | ||
+ | |- | ||
+ | ! itemsBinding | ||
+ | | A [[LGUI2:Data Binding|Data Binding]] definition to use for the Item list, meant for use in initializing from new data sources. If automatic pull is enabled, it will be restricted to \"once\" behavior. The Data Binding should resolve to a JSON Array, as would be used for the '''items''' property | ||
+ | |- | ||
+ | ! selectedItemBinding | ||
+ | | A [[LGUI2:Data Binding|Data Binding]] definition to use for the selected Item, corresponding to the item's Index. If a '''selectedItemBindingProperty''' is provided, the '''selectedItemBinding''' corresponds instead to the item Data's value for the specified property; for Pull, a search is performed for an item with this value. | ||
+ | |- | ||
+ | ! selectedItemBindingProperty | ||
+ | | A property to use for the '''selectedItemBinding'''. If provided, the '''selectedItemBinding''' will correspond to the item Data's value for the specified property; Otheriwise, the '''selectedItemBinding''' is expected to correspond to the item's Index in the list. | ||
|} | |} | ||
+ | |||
+ | {| border="1" style="border-collapse:collapse" cellpadding="5" | ||
+ | !colspan="2"|Item List events | ||
+ | |- | ||
+ | !colspan="2"|Define these [[LGUI2:Event Handlers|Event Handlers]] within an "eventHandlers" Object | ||
+ | |- | ||
+ | ! onItemSelected | ||
+ | | | ||
+ | |- | ||
+ | ! onItemDeselected | ||
+ | | | ||
+ | |- | ||
+ | ! onSelectionChanged | ||
+ | | The set of selected Items has changed | ||
+ | |} | ||
== Examples == | == Examples == | ||
+ | {{LGUI2:Topic}} | ||
{{LGUI2:Element}} | {{LGUI2:Element}} | ||
− | |||
[[Category:LavishGUI 2 Bordered Elements]] | [[Category:LavishGUI 2 Bordered Elements]] | ||
[[Category:LavishGUI 2 Content Container Elements]] | [[Category:LavishGUI 2 Content Container Elements]] | ||
[[Category:LavishGUI 2 Items]] | [[Category:LavishGUI 2 Items]] |
Latest revision as of 14:03, 24 September 2019
An Item List in LavishGUI 2 represents an ordered list of Items (i.e. models). A listbox is a common example of an Item List.
Defining an Item List
An Item List is a Content Container, with added properties for viewing items.
Item List properties | |
---|---|
items | A JSON Array specifying a list of Items to begin with |
itemViewGenerators | A JSON Object specifying Item View Generators. Each Key in the JSON Object is used as the Item Type for the generator. |
defaultItemViewTemplate | A string specifying a custom Template to use for the default item view, when not using a custom Item View Generator |
itemsBinding | A Data Binding definition to use for the Item list, meant for use in initializing from new data sources. If automatic pull is enabled, it will be restricted to \"once\" behavior. The Data Binding should resolve to a JSON Array, as would be used for the items property |
selectedItemBinding | A Data Binding definition to use for the selected Item, corresponding to the item's Index. If a selectedItemBindingProperty is provided, the selectedItemBinding corresponds instead to the item Data's value for the specified property; for Pull, a search is performed for an item with this value. |
selectedItemBindingProperty | A property to use for the selectedItemBinding. If provided, the selectedItemBinding will correspond to the item Data's value for the specified property; Otheriwise, the selectedItemBinding is expected to correspond to the item's Index in the list. |
Item List events | |
---|---|
Define these Event Handlers within an "eventHandlers" Object | |
onItemSelected | |
onItemDeselected | |
onSelectionChanged | The set of selected Items has changed |
Examples
LavishGUI 2 Topics
LavishGUI 2 Element Types
- Base Element Types: Element - Content Container - Headered Content Container - Item List
- Layout: anchor - border - dockpanel - dragger - expander - hud - map - page - pagecontrol -panel - popup - radialpanel - screen - scrollviewer - stackpanel - tab - tabcontrol - table - treepanel - window - wrappanel
- Display: canvas - imagebox - progressbar - radialgauge - textblock
- Interaction: button - checkbox - combobox - contextmenu - dragin - filepicker - itemview - knob - listbox - mapitemview - objectview - propertyview - scrollbar - sensitivebutton - slider - textbox
LavishGUI 2 LavishScript Object Types
- Core API (see Using LavishGUI 2 from LavishScript)
- lgui2 - lgui2animateargs - lgui2animationtype - lgui2elementref - lgui2eventargs - lgui2eventhandler - lgui2elementtype - lgui2itemviewgeneratorargs - lgui2inputbinding - lgui2layer - lgui2skin - lgui2trigger
- Enums
- elgui2animationframestate - elgui2dpad - elgui2edge - elgui2fontflags - elgui2horizontalalignment - elgui2imageorientation - elgui2progresstext - elgui2scrollbar - elgui2sizetocontent - elgui2verticalignment - elgui2visibility
- Element Components
- lgui2animation - lgui2brush - lgui2fontstyle - lgui2margins - lgui2item - lgui2property - lgui2radialitem - lgui2radialgaugeneedle
- Element Base Types
- lgui2element - lgui2bordered - lgui2contentbase - lgui2headeredcontentbase - lgui2itemlist
- Elements
- Layout: lgui2anchor - lgui2border - lgui2dockpanel - lgui2dragger - lgui2expander - lgui2hud - lgui2map - lgui2page - lgui2pagecontrol - lgui2panel - lgui2popup - lgui2radialpanel - lgui2screen - lgui2scrollviewer - lgui2stackpanel - lgui2tab - lgui2tabcontrol - lgui2table - lgui2treepanel - lgui2window - lgui2wrappanel
- Display: lgui2canvas - lgui2imagebox - lgui2progressbar - lgui2radialgauge - lgui2textblock
- Interaction: lgui2button - lgui2checkbox - lgui2combobox - lgui2contextmenu - lgui2dragin - lgui2filepicker - lgui2itemview - lgui2knob - lgui2listbox - lgui2mapitemview - lgui2objectview - lgui2propertyview - lgui2scrollbar - lgui2sensitivebutton - lgui2slider - lgui2textbox