Difference between revisions of "Application:get"
From GiderosMobile
Line 22: | Line 22: | ||
=== Examples === | === Examples === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Prints a list of all available settings''' | '''Prints a list of all available settings''' | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 77: | Line 61: | ||
</source> | </source> | ||
− | '''File dialog to open a | + | '''Various examples''' |
+ | <source 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 to open a directory''' | ||
<source lang="lua"> | <source 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 there is a bug you need to add a 3rd parameter for it to work | ||
+ | local path = application:get("openDirectoryDialog", "Title", "C:/tmp/", "bug") -- "title", "path" win32 NEW WAY | ||
+ | print(path) | ||
+ | </source> | ||
+ | |||
+ | '''File dialog to open a file''' | ||
+ | <source 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( | local path = application:get( | ||
− | -- "openFileDialog", "Title|C:/tmp/|Text (*.txt);; Image (*.png)") -- "title|path|extensions" | + | -- "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 | "openFileDialog", "Title", "C:/tmp/", "Text (*.txt);; Image (*.png)") -- "title", "path", "extensions" NEW WAY | ||
print(path) | 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", self.browse, self) -- instead of this | + | self.tiled_ui.btnBrowse:addEventListener("clicked", function() |
− | + | Core.asyncCall(TheStage.browse, self) -- this | |
− | + | end) | |
− | |||
</source> | </source> | ||
Line 97: | Line 108: | ||
-- first we choose the destination | -- first we choose the destination | ||
local path = application:get( | local path = application:get( | ||
− | -- "saveFileDialog", "Title|C:/tmp/|Text (*.txt);; Image (*.jpg)") -- "title|path|extensions" | + | -- "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 | "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 srcf = io.open("mytext.txt", "rb") | ||
local dstf = io.open(path, "wb") | local dstf = io.open(path, "wb") | ||
Line 109: | Line 122: | ||
</source> | </source> | ||
− | '''File | + | '''Path File Exists''' |
<source lang="lua"> | <source 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) | -- tests folder path (nil=doesn't exist, 1=exists) | ||
if application:get("pathfileexists", application:get("directory", "pictures").."\\Folder01") == nil then | if application:get("pathfileexists", application:get("directory", "pictures").."\\Folder01") == nil then | ||
-- creates it | -- creates it | ||
application:set("mkDir", application:get("directory", "pictures").."\\Folder01") | application:set("mkDir", application:get("directory", "pictures").."\\Folder01") | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
end | end | ||
</source> | </source> | ||
{{Application}} | {{Application}} |
Revision as of 02:52, 12 June 2023
Available since: Gideros 2015.7
Class: Application
Description
Returns the state of the desktop setting provided as string parameter.
varies = application:get(setting)
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:
application:get("batteryLevel")
Examples
Prints a list of all available settings
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
]]
Various examples
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
File dialog to open a directory
--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 there is a bug you need to add a 3rd parameter for it to work
local path = application:get("openDirectoryDialog", "Title", "C:/tmp/", "bug") -- "title", "path" win32 NEW WAY
print(path)
File dialog to open a file
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)
File dialog to save a file as .txt or .jpg
-- 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
Path File Exists
-- 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
- Application:applyStyles
- Application:canOpenUrl
- Application:checkPermission
- Application:configureFrustum
- Application:enableDrawInfo
- Application:enableOnDemandDraw
- Application:exit
- Application:get
- Application:getApiVersion
- Application:getAppId
- Application:getBackgroundColor
- Application:getClipboard
- Application:getContentHeight
- Application:getContentWidth
- Application:getDeviceHeight
- Application:getDeviceInfo
- Application:getDeviceName
- Application:getDeviceOrientation
- Application:getDeviceSafeArea
- Application:getDeviceWidth
- Application:getFps
- Application:getKeyboardModifiers
- Application:getLanguage
- Application:getLocale
- Application:getLogicalBounds
- Application:getLogicalHeight
- Application:getLogicalScaleX
- Application:getLogicalScaleY
- Application:getLogicalTranslateX
- Application:getLogicalTranslateY
- Application:getLogicalWidth
- Application:getNativePath
- Application:getOrientation
- Application:getProjectProperties
- Application:getScaleMode
- Application:getScreenDensity
- Application:getTextureMemoryUsage
- Application:isPlayerMode
- Application:openUrl
- Application:requestPermissions
- Application:set
- Application:setBackgroundColor
- Application:setClipboard
- Application:setEventMerging
- Application:setFps
- Application:setFullScreen
- Application:setKeepAwake
- Application:setKeyboardVisibility
- Application:setLogicalDimensions
- Application:setOrientation
- Application:setScaleMode
- Application:setTextInput
- Application:setWindowSize
- Application:vibrate