LGUI2:filepicker

From Lavish Software Wiki
Revision as of 12:50, 7 October 2022 by Lax (talk | contribs)
Jump to navigation Jump to search

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

checkbox 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

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