Application:get

From GiderosMobile
Revision as of 17:59, 12 July 2023 by Hgy29 (talk | contribs) (Text replacement - "<source" to "<syntaxhighlight")

Available since: Gideros 2015.7
Class: Application

Description

Returns the state of the desktop setting provided as string parameter. <syntaxhighlight lang="lua"> varies = application:get(setting) </source>

Parameters

setting (string) the name of the desktop setting

Return values

Returns (varies) the value(s) of the setting

Android

Added in Gideros 2020.4: <syntaxhighlight lang="lua"> application:get("batteryLevel") </source>

Examples

Prints a list of all available settings <syntaxhighlight lang="lua"> print(application:get("help")) --[[ Accepted value for Desktop's application:get() - [x,y] windowPosition - [w,h] windowSize - [w,h] screenSize - [x,y] cursorPosition - [text] clipboard - [text] windowTitle - [path] directory(where//help) - [path] openDirectoryDialog(title|path//help) - [path] openFileDialog(title|path|extensions//help) - [path] saveFileDialog(title|path|extensions//help) - [path] documentDirectory - [path] temporaryDirectory 0 ]] print("\n")

print(application:get("directory", "help")) --[[ Accepted value for directory : - executable - document - desktop - temporary - data - music - movies - pictures - cache - download - home 0 ]] </source>

Various examples <syntaxhighlight lang="lua"> print(application:get("windowTitle")) print(application:get("documentDirectory")) print(application:get("temporaryDirectory"))

-- get screen size screenwidth, screenheight = application:get("screenSize") -- the actual user screen size! application:set("windowPosition", (screenwidth - myappwidth)/2, (screenheight - myappheight)/2) -- center the app application:set("windowTitle", "MY TITLE")

-- get the user download folder path print(application:get("directory", "download")) -- prints C:/Users/xxx/Downloads </source>

File dialog open directory <syntaxhighlight lang="lua"> --local path = application:get("openDirectoryDialog", "Title|C:/tmp/") -- "title|path" DEPRECATED IN 2022.10 local path = application:get("openDirectoryDialog", "Title", "C:/tmp/") -- "title", "path" NEW WAY -- win32 local path = application:get("openDirectoryDialog", "Title", "C:\\tmp\\") -- "title", "path" win32 NEW WAY print(path) </source>

File dialog open file <syntaxhighlight lang="lua"> print(application:get("openFileDialog","Choisissez un liquide","I:\\","Bidon (*.bdn *.bid);;Fût et Tonneau (*.fut)")) path = application:get("openFileDialog", "My Title", "c:\\", "Images (*.png *.jpg *.jpeg);;3D (*.obj *.glb *.fbx)")) print(path) -- on cancel, returns nil for win32 and "" for other systems

-- file dialog to open a file of type .txt or .png local path = application:get( -- "openFileDialog", "Title|C:/tmp/|Text (*.txt);; Image (*.png)") -- "title|path|extensions" DEPRECATED IN 2022.10 "openFileDialog", "Title", "C:/tmp/", "Text (*.txt);; Image (*.png)") -- "title", "path", "extensions" NEW WAY print(path)

-- file dialogs on win32 should use a delay Timer.delayedCall or Core.asyncCall --self.tiled_ui.btnBrowse:addEventListener("clicked", self.browse, self) -- instead of this self.tiled_ui.btnBrowse:addEventListener("clicked", function() Core.asyncCall(TheStage.browse, self) -- this end) </source>

File dialog save file <syntaxhighlight lang="lua"> -- first we choose the destination local path = application:get( -- "saveFileDialog", "Title|C:/tmp/|Text (*.txt);; Image (*.jpg)") -- "title|path|extensions" DEPRECATED IN 2022.10 "saveFileDialog", "Title", "C:/tmp/", "Text (*.txt);; Image (*.jpg)") -- "title", "path", "extensions" NEW WAY -- and we save some data to it if path ~= 0 then --if path ~= nil then -- for win32 local srcf = io.open("mytext.txt", "rb") local dstf = io.open(path, "wb") local size = 2^13 -- good buffer size (8K) while true do local block = srcf:read(size) if not block then break end dstf:write(block) end srcf:close() dstf:close() end </source>

Path File Exists <syntaxhighlight lang="lua"> -- Path File Exists for Windows 64 -- tests folder path (nil=doesn't exist, 1=exists) if application:get("pathfileexists", application:get("directory", "pictures").."/Folder01") == nil then application:set("mkDir", application:get("directory", "pictures"), "Folder01") application:set("mkDir", application:get("directory", "pictures").."/Folder01", "subfolder01") application:set("mkDir", application:get("directory", "pictures").."/Folder01", "subfolder02") end

-- Path File Exists for win32 -- tests folder path (nil=doesn't exist, 1=exists) if application:get("pathfileexists", application:get("directory", "pictures").."\\Folder01") == nil then -- creates it application:set("mkDir", application:get("directory", "pictures").."\\Folder01") end </source>