ImGui.Core:checkbox

From GiderosMobile
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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