Difference between revisions of "Application:get"

From GiderosMobile
Line 30: Line 30:
  
 
-- get screen size
 
-- get screen size
screenwidth, screenheight = application:get("screenSize") -- the actual user's 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
 
-- get the user download folder path

Revision as of 12:01, 21 April 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

Various examples

print(application:get("windowTitle"))
print(application:get("documentDirectory"))
print(application:get("temporaryDirectory"))
print("\n")

-- 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

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
]]

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" WILL BE 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" WILL BE DEPRECATED IN 2022.10
	"saveFileDialog", "Title", "C:/tmp/", "Text (*.txt);; Image (*.jpg)") -- "title", "path", "extensions" NEW WAY
if path ~= 0 then -- and we save some data to it
	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

File dialog to open a directory

--local path = application:get("openDirectoryDialog", "Title|C:/tmp/") -- "title|path" WILL BE DEPRECATED IN 2022.10
local path = application:get("openDirectoryDialog", "Title", "C:/tmp/") -- "title", "path", "extensions" NEW WAY
print(path)

New File dialog open

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

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

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