Difference between revisions of "ImGui.Core:checkbox"

From GiderosMobile
(.deltaTime)
(modified the page a bit)
Line 6: Line 6:
 
Displays a checkbox.
 
Displays a checkbox.
 
<source lang="lua">
 
<source lang="lua">
ImGui:checkbox(text,flag)
+
(bool), (bool) = ImGui:checkbox(text,flag)
 
</source>
 
</source>
  
Line 12: Line 12:
 
'''text''': (string) the checkbox text<br/>
 
'''text''': (string) the checkbox text<br/>
 
'''flag''': (bool) the checkbox status, true=checked, false=unchecked<br/>
 
'''flag''': (bool) the checkbox status, true=checked, false=unchecked<br/>
 +
 +
=== Return values ===
 +
'''Returns''' (bool) the new current boolean value<br/>
 +
'''Returns''' (bool) whether a value has changed<br/>
  
 
=== Example ===
 
=== Example ===
Line 35: Line 39:
 
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 40: Line 45:
 
)
 
)
 
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, ischanged = self.imgui:checkbox("Bold", self.isbold)
-- if self.isbold then ... end
+
if ischanged then print(self.isbold) end
 
end
 
end
 
self.imgui:endWindow()
 
self.imgui:endWindow()

Revision as of 01:05, 1 December 2021

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

Example

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