Difference between revisions of "Application:get"
From GiderosMobile
(29 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | __NOTOC__ | ||
'''Available since:''' Gideros 2015.7<br/> | '''Available since:''' Gideros 2015.7<br/> | ||
− | + | '''Class:''' [[Application]]<br/> | |
− | '''Class:''' [[ | ||
=== Description === | === Description === | ||
Returns the state of the desktop setting provided as string parameter. | Returns the state of the desktop setting provided as string parameter. | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | varies = application:get(setting) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Parameters === | ||
+ | '''setting''' (string) the name of the desktop setting | ||
+ | |||
+ | === Return values === | ||
+ | '''Returns''' (varies) the value(s) of the setting | ||
+ | |||
+ | === '''Compatibility table''' === | ||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | !!!QT!!Win32!!UWP!!Android!!Apple MacOS!!Apple iOS!!Apple tvOS!!Linux!!HTML | ||
+ | |- | ||
+ | |batteryLevel||||||||X||||X|||||| | ||
+ | |- | ||
+ | |clipboard||X||X||||||||||||X|| | ||
+ | |- | ||
+ | |commandLine||X||X||||||||||||X|| | ||
+ | |- | ||
+ | |currentUrl||||||||||||||||||X | ||
+ | |- | ||
+ | |cursorPosition||X||X||||||||||||X|| | ||
+ | |- | ||
+ | |directory||X||X||||||||||||X|| | ||
+ | |- | ||
+ | |documentDirectory||X||X||||||||||||X|| | ||
+ | |- | ||
+ | |openDirectoryDialog||X||X||X||||X|||||||| | ||
+ | |- | ||
+ | |openFileDialog||X||X||X||||X|||||||| | ||
+ | |- | ||
+ | |pathfileexists||?||X||||||||||||X|| | ||
+ | |- | ||
+ | |saveFileDialog||X||X||X||||X|||||||| | ||
+ | |- | ||
+ | |screenSize||X||X||X||||||||||X||X | ||
+ | |- | ||
+ | |temporaryDirectory||X||X||||||||||||X|| | ||
+ | |- | ||
+ | |windowPosition||X||X||||||||||||X|| | ||
+ | |- | ||
+ | |windowSize||X||X||||||||||||X|| | ||
+ | |- | ||
+ | |windowTitle||X||X||||||||||||||X | ||
+ | |} | ||
− | < | + | === Examples === |
− | + | '''Prints a list of all available settings''' | |
+ | <syntaxhighlight lang="lua"> | ||
print(application:get("help")) | 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 | ||
+ | ]] | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''Retrieves the whole command line''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | -- myapp.exe -param1 -param2 | ||
+ | application:get("commandLine") | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''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! | ||
+ | myappleft, myapptop, myappright, myappbot = application:getLogicalBounds() | ||
+ | myappwidth, myappheight = myappright - myappleft, myappbot - myapptop | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''File dialog open directory''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | local path = application:get("openDirectoryDialog", "Title", "c:/tmp/") -- "title", "path" | ||
+ | local path = application:get("openDirectoryDialog", "Title", "c:\\tmp\\") -- "title", "path" win32 | ||
+ | print(path) -- on cancel, returns nil for win32 and "" for other systems | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''File dialog open file''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | local path = application:get("openFileDialog", "My Title", "c:\\", "Images (*.png *.jp*g);; 3D (*.obj *.fbx)") | ||
+ | print(path) -- on cancel, returns nil for win32 and "" for other systems | ||
+ | |||
+ | -- file dialogs on win32 should use a delay Timer.delayedCall or Core.asyncCall | ||
+ | self.tiled_ui.btnBrowse:addEventListener("clicked", function() | ||
+ | Core.asyncCall(self.browse, self) | ||
+ | end) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''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" | ||
+ | -- and we save some data to it | ||
+ | if path ~= "" then -- on cancel, returns nil for win32 and "" for other systems | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''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 | ||
+ | -- create it | ||
+ | application:set("mkDir", application:get("directory", "pictures").."\\Folder01") | ||
+ | end | ||
+ | </syntaxhighlight> | ||
{{Application}} | {{Application}} |
Latest revision as of 18:07, 4 November 2024
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
Compatibility table
QT | Win32 | UWP | Android | Apple MacOS | Apple iOS | Apple tvOS | Linux | HTML | |
---|---|---|---|---|---|---|---|---|---|
batteryLevel | X | X | |||||||
clipboard | X | X | X | ||||||
commandLine | X | X | X | ||||||
currentUrl | X | ||||||||
cursorPosition | X | X | X | ||||||
directory | X | X | X | ||||||
documentDirectory | X | X | X | ||||||
openDirectoryDialog | X | X | X | X | |||||
openFileDialog | X | X | X | X | |||||
pathfileexists | ? | X | X | ||||||
saveFileDialog | X | X | X | X | |||||
screenSize | X | X | X | X | X | ||||
temporaryDirectory | X | X | X | ||||||
windowPosition | X | X | X | ||||||
windowSize | X | X | X | ||||||
windowTitle | X | X | X |
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
]]
Retrieves the whole command line
-- myapp.exe -param1 -param2
application:get("commandLine")
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!
myappleft, myapptop, myappright, myappbot = application:getLogicalBounds()
myappwidth, myappheight = myappright - myappleft, myappbot - myapptop
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 open directory
local path = application:get("openDirectoryDialog", "Title", "c:/tmp/") -- "title", "path"
local path = application:get("openDirectoryDialog", "Title", "c:\\tmp\\") -- "title", "path" win32
print(path) -- on cancel, returns nil for win32 and "" for other systems
File dialog open file
local path = application:get("openFileDialog", "My Title", "c:\\", "Images (*.png *.jp*g);; 3D (*.obj *.fbx)")
print(path) -- on cancel, returns nil for win32 and "" for other systems
-- file dialogs on win32 should use a delay Timer.delayedCall or Core.asyncCall
self.tiled_ui.btnBrowse:addEventListener("clicked", function()
Core.asyncCall(self.browse, self)
end)
File dialog save file
-- first we choose the destination
local path = application:get("saveFileDialog", "Title", "c:/tmp/", "Text (*.txt);; Image (*.jpg)") -- "title", "path", "extensions"
-- and we save some data to it
if path ~= "" then -- on cancel, returns nil for win32 and "" for other systems
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
-- create 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