Difference between revisions of "ImGui.Core:checkbox"

From GiderosMobile
(Created page with "__NOTOC__ '''Available since:''' Gideros 2020.9<br/> '''Class:''' ImGui<br/> === Description === Displays a checkbox. <source lang="lua"> ImGui:checkbox(text,flag) </sour...")
 
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(4 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
=== Description ===
 
=== Description ===
 
Displays a checkbox.
 
Displays a checkbox.
<source lang="lua">
+
<syntaxhighlight lang="lua">
ImGui:checkbox(text,flag)
+
(bool), (bool) = ImGui:checkbox(text,flag)
</source>
+
</syntaxhighlight>
  
 
=== Parameters ===
 
=== Parameters ===
Line 13: Line 13:
 
'''flag''': (bool) the checkbox status, true=checked, false=unchecked<br/>
 
'''flag''': (bool) the checkbox status, true=checked, false=unchecked<br/>
  
=== Example ===
+
=== Return values ===
<source lang="lua">
+
'''Returns''' (bool) the new current boolean value<br/>
 +
'''Returns''' (bool) whether a value has changed '''optional'''<br/>
 +
 
 +
=== Examples ===
 +
'''Using a flag'''
 +
<syntaxhighlight lang="lua">
 +
MyClass = Core.class(Sprite)
 +
 
 +
function MyClass:init()
 +
self.imgui = ImGui.new()
 +
-- we create a variable to hold our window status
 +
self.window01 = true -- window01 exists at start up
 +
self.isbold = false -- checkbox starting status
 +
-- order
 +
self:addChild(self.imgui)
 +
-- LISTENERS
 +
self:addEventListener("enterBegin", self.onTransitionInBegin, self)
 +
end
 +
 
 +
-- LOOP
 +
function MyClass:onEnterFrame(e)
 +
-- 1 we start ImGui
 +
self.imgui:newFrame(e.deltaTime)
 +
-- 2 we build our GUI
 +
if self.window01 then -- is window01 existant?
 +
local windowdrawn = false -- is window01 colapsed?
 +
local ischanged = false
 +
self.window01, windowdrawn = self.imgui:beginWindow(
 +
"Hello ImGui", -- window title
 +
self.window01 -- is window01 existant?
 +
)
 +
if windowdrawn then -- the variable is false when window01 is collapsed
 +
self.isbold, ischanged = self.imgui:checkbox("Bold", self.isbold)
 +
if ischanged then print(self.isbold) end
 +
end
 +
self.imgui:endWindow()
 +
end
 +
self.imgui:endFrame()
 +
self.imgui:render()
 +
end
 +
 
 +
-- EVENT LISTENERS
 +
function MyClass:onTransitionInBegin()
 +
self:addEventListener(Event.ENTER_FRAME, self.onEnterFrame, self)
 +
end
 +
</syntaxhighlight>
 +
 
 +
 
 +
'''Without using a flag'''
 +
<syntaxhighlight lang="lua">
 
MyClass = Core.class(Sprite)
 
MyClass = Core.class(Sprite)
  
Line 31: Line 80:
 
function MyClass:onEnterFrame(e)
 
function MyClass:onEnterFrame(e)
 
-- 1 we start ImGui
 
-- 1 we start ImGui
self.imgui:newFrame(e)
+
self.imgui:newFrame(e.deltaTime)
 
-- 2 we build our GUI
 
-- 2 we build our GUI
 
if self.window01 then -- is window01 existant?
 
if self.window01 then -- is window01 existant?
 
local windowdrawn = false -- is window01 colapsed?
 
local windowdrawn = false -- is window01 colapsed?
 +
local ischanged = false
 
self.window01, windowdrawn = self.imgui:beginWindow(
 
self.window01, windowdrawn = self.imgui:beginWindow(
 
"Hello ImGui", -- window title
 
"Hello ImGui", -- window title
Line 41: Line 91:
 
if windowdrawn then -- the variable is false when window01 is collapsed
 
if windowdrawn then -- the variable is false when window01 is collapsed
 
self.isbold = self.imgui:checkbox("Bold", self.isbold)
 
self.isbold = self.imgui:checkbox("Bold", self.isbold)
-- if self.isbold then ... end
 
 
end
 
end
 
self.imgui:endWindow()
 
self.imgui:endWindow()
Line 53: Line 102:
 
self:addEventListener(Event.ENTER_FRAME, self.onEnterFrame, self)
 
self:addEventListener(Event.ENTER_FRAME, self.onEnterFrame, self)
 
end
 
end
</source>
+
</syntaxhighlight>
  
 
{{ImGui}}
 
{{ImGui}}

Latest revision as of 15:29, 13 July 2023

Available since: Gideros 2020.9
Class: ImGui

Description

Displays a checkbox.

(bool), (bool) = ImGui:checkbox(text,flag)

Parameters

text: (string) the checkbox text
flag: (bool) the checkbox status, true=checked, false=unchecked

Return values

Returns (bool) the new current boolean value
Returns (bool) whether a value has changed optional

Examples

Using a flag

MyClass = Core.class(Sprite)

function MyClass:init()
	self.imgui = ImGui.new()
	-- we create a variable to hold our window status
	self.window01 = true -- window01 exists at start up
	self.isbold = false -- checkbox starting status
	-- order
	self:addChild(self.imgui)
	-- LISTENERS
	self:addEventListener("enterBegin", self.onTransitionInBegin, self)
end

-- LOOP
function MyClass:onEnterFrame(e)
	-- 1 we start ImGui
	self.imgui:newFrame(e.deltaTime)
	-- 2 we build our GUI
	if self.window01 then -- is window01 existant?
		local windowdrawn = false -- is window01 colapsed?
		local ischanged = false
		self.window01, windowdrawn = self.imgui:beginWindow(
			"Hello ImGui", -- window title
			self.window01 -- is window01 existant?
		)
		if windowdrawn then -- the variable is false when window01 is collapsed
			self.isbold, ischanged = self.imgui:checkbox("Bold", self.isbold)
			if ischanged then print(self.isbold) end
		end
		self.imgui:endWindow()
	end
	self.imgui:endFrame()
	self.imgui:render()
end

-- EVENT LISTENERS
function MyClass:onTransitionInBegin()
	self:addEventListener(Event.ENTER_FRAME, self.onEnterFrame, self)
end


Without using a flag

MyClass = Core.class(Sprite)

function MyClass:init()
	self.imgui = ImGui.new()
	-- we create a variable to hold our window status
	self.window01 = true -- window01 exists at start up
	self.isbold = false -- checkbox starting status
	-- order
	self:addChild(self.imgui)
	-- LISTENERS
	self:addEventListener("enterBegin", self.onTransitionInBegin, self)
end

-- LOOP
function MyClass:onEnterFrame(e)
	-- 1 we start ImGui
	self.imgui:newFrame(e.deltaTime)
	-- 2 we build our GUI
	if self.window01 then -- is window01 existant?
		local windowdrawn = false -- is window01 colapsed?
		local ischanged = false
		self.window01, windowdrawn = self.imgui:beginWindow(
			"Hello ImGui", -- window title
			self.window01 -- is window01 existant?
		)
		if windowdrawn then -- the variable is false when window01 is collapsed
			self.isbold = self.imgui:checkbox("Bold", self.isbold)
		end
		self.imgui:endWindow()
	end
	self.imgui:endFrame()
	self.imgui:render()
end

-- EVENT LISTENERS
function MyClass:onTransitionInBegin()
	self:addEventListener(Event.ENTER_FRAME, self.onEnterFrame, self)
end