Difference between revisions of "LGUI2:filepicker"
Jump to navigation
Jump to search
(Created page with "A LavishGUI 2 filepicker element operates an Item List containing files and folders, allowing a user to navigate and select existing files or create a...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 34: | Line 34: | ||
| An array of JSON objects specifying the list of available files (e.g. when autoRefreshFileList is disabled) | | An array of JSON objects specifying the list of available files (e.g. when autoRefreshFileList is disabled) | ||
|} | |} | ||
+ | |||
+ | === Events === | ||
+ | {| border="1" style="border-collapse:collapse" cellpadding="5" | ||
+ | !colspan="2"|filepicker events | ||
+ | |- | ||
+ | !colspan="2"|Define these [[LGUI2:Event Handlers|Event Handlers]] within an "eventHandlers" Object | ||
+ | |- | ||
+ | ! onFileListUpdated | ||
+ | | Fires when the file list has been updated (refreshed) | ||
+ | |- | ||
+ | ! onRefreshFileList | ||
+ | | Fires when the file list must be refreshed (only when "autoRefreshFileList" is disabled) | ||
+ | |- | ||
+ | ! onFinalized | ||
+ | | Fires when the user has finalized their selection, which has been validated (in the case of "requireExisting") | ||
+ | |} | ||
+ | |||
== Examples == | == Examples == |
Latest revision as of 12:50, 7 October 2022
A LavishGUI 2 filepicker element operates an Item List containing files and folders, allowing a user to navigate and select existing files or create a new one.
Defining a filepicker element
A filepicker element is a Content Container, with additional properties for file picking.
filepicker properties | |
---|---|
folderMode | A boolean (true/false) value specifying whether the filepicker is selecting for folders (or files). Defaults to false (file mode). |
multiselect | A boolean (true/false) value specifying whether to allow multiple selections. The filepicker will work with JSON arrays for multiple selections. Defaults to false. |
autoRefreshFileList | A boolean (true/false) value specifying whether to automatically refresh the file list, e.g. when the wildcard or path is changed. Defaults to true. |
requireExisting | A boolean (true/false) value specifying whether the final selection is required to exist. Defaults to false. |
value | A string value specifying the initial path and filename; or, in multiselect mode, an array of strings specifying the initially selected filenames |
valueBinding | A Data Binding definition to use for value |
wildcard | A string value specifying a wildcard to search the within path for. Defaults to * (all files) |
path | A string value specifying the path to begin searching from. Defaults to . (current folder) |
fileList | An array of JSON objects specifying the list of available files (e.g. when autoRefreshFileList is disabled) |
Events
filepicker events | |
---|---|
Define these Event Handlers within an "eventHandlers" Object | |
onFileListUpdated | Fires when the file list has been updated (refreshed) |
onRefreshFileList | Fires when the file list must be refreshed (only when "autoRefreshFileList" is disabled) |
onFinalized | Fires when the user has finalized their selection, which has been validated (in the case of "requireExisting") |
Examples
- From LERN (LavishScript Example Repository Node), LGUI2/filepicker-1
{ "type": "window", "title": "FilePicker Example", "name": "filepicker-1.window", "width":600, "height":400, "content": { "type": "filepicker", "name":"filepicker-1.filepicker", "margin": [ 1, 1, 1, 1 ], "horizontalAlignment": "stretch", "verticalAlignment": "stretch", "requireExisting":true, "multiselect":false, "path": ".", "wildcard":"*.iss", "eventHandlers": { "onFinalized":{ "type":"method", "object": "filepicker1Controller", "method": "OnFinalized" } } } }
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