Script v1.7.1.0
- AI
- Animals
- Contracts
- Debug
- Economy
- Effects
- Events
- Farms
- GUI
- AnimalScreen
- AnimationElement
- BitmapElement
- BoxLayoutElement
- BreadcrumbsElement
- ButtonElement
- ButtonOverlay
- ChatWindow
- CheckedOptionElement
- ClearElement
- ContextActionDisplay
- DialogElement
- FieldInfoDisplay
- FillLevelsDisplay
- FlowLayoutElement
- FocusManager
- FrameElement
- FrameReferenceElement
- GameInfoDisplay
- GamePausedDisplay
- Gui
- GuiDataSource
- GuiElement
- GuiMixin
- GuiOverlay
- GuiProfile
- GuiSoundPlayer
- GuiTopDownCamera
- GuiUtils
- HUDDisplayElement
- HUDElement
- HUDFrameElement
- HUDPopupMessage
- HUDTextDisplay
- IndexChangeSubjectMixin
- IndexStateElement
- InGameIcon
- IngameMap
- IngameMapElement
- InputGlyphElement
- InputHelpDisplay
- ListElement
- ListItemElement
- MapHotspot
- MapOverlayGenerator
- MixerWagonHUDExtension
- MultiTextOptionElement
- MultiValueTween
- Overlay
- PagingElement
- PlaySampleMixin
- RenderElement
- RoundStatusBar
- ScreenElement
- SettingsModel
- SideNotification
- SliderElement
- SpeakerDisplay
- SpeedMeterDisplay
- StableListElement
- StatusBar
- TabbedMenu
- TabbedMenuFrameElement
- TabbedMenuWithDetails
- TableElement
- TableHeaderElement
- TextElement
- TextInputElement
- TimerElement
- ToggleButtonElement
- TopNotification
- Tween
- TweenSequence
- VehicleHUDExtension
- VehicleSchemaDisplay
- VideoElement
- Handtools
- I3d
- Materials
- Misc
- Objects
- Placeables
- Player
- Shop
- Sounds
- Specializations
- Triggers
- Utils
- Vehicles
- Weather
Engine v1.7.1.0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- Overlays
- Particle System
- Physics
- Rendering
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- XML
- general
Foundation Reference
ToggleButtonElement
DescriptionTODO: Refactor child display element retrieval Used layers: "image" for the background.Parent
BitmapElementXML Configuration Parameters
GuiElement#isChecked | bool [optional] If true, the button is initialized in checked state. |
GuiElement#onClick | callback [optional] onClick(element, isChecked) Called when the element is clicked. Receives this element and the current toggle state as a boolean (true for checked, false for unchecked). |
Functions
- addElement
- canReceiveFocus
- copyAttributes
- getFocusTarget
- loadFromXML
- loadProfile
- mouseEvent
- new
- onButtonClicked
- onFocusActivate
- onFocusEnter
- onFocusLeave
- setIsChecked
addElement
DescriptionDefinitionaddElement()Code
70 | function ToggleButtonElement:addElement(element) |
71 | ToggleButtonElement:superClass().addElement(self, element); |
72 | if table.getn(self.elements) <= 2 then |
73 | element.target = self; |
74 | element.onClickCallback = ToggleButtonElement.onButtonClicked; |
75 | self:setIsChecked(self.isChecked); |
76 | self:setDisabled(self.disabled); |
77 | end; |
78 | end |
canReceiveFocus
DescriptionFocus methodsDefinition
canReceiveFocus()Code
112 | function ToggleButtonElement:canReceiveFocus() |
113 | return not (self.disabled or not self:getIsVisible()); |
114 | end |
copyAttributes
DescriptionDefinitioncopyAttributes()Code
50 | function ToggleButtonElement:copyAttributes(src) |
51 | ToggleButtonElement:superClass().copyAttributes(self, src); |
52 | self.isChecked = src.isChecked; |
53 | self.onClickCallback = src.onClickCallback; |
54 | end |
getFocusTarget
DescriptionGet the actual focus target of this element.Definition
getFocusTarget()Code
119 | function ToggleButtonElement:getFocusTarget() |
120 | -- shadow parent behavior, always focus self |
121 | return self |
122 | end |
loadFromXML
DescriptionDefinitionloadFromXML()Code
33 | function ToggleButtonElement:loadFromXML(xmlFile, key) |
34 | ToggleButtonElement:superClass().loadFromXML(self, xmlFile, key); |
35 | |
36 | self:addCallback(xmlFile, key.."#onClick", "onClickCallback"); |
37 | self:setIsChecked(Utils.getNoNil(getXMLBool(xmlFile, key.."#isChecked"), self.isChecked)); |
38 | end |
loadProfile
DescriptionDefinitionloadProfile()Code
42 | function ToggleButtonElement:loadProfile(profile, applyProfile) |
43 | ToggleButtonElement:superClass().loadProfile(self, profile, applyProfile); |
44 | |
45 | self:setIsChecked(profile:getBool("isChecked", self.isChecked)); |
46 | end |
mouseEvent
DescriptionDefinitionmouseEvent()Code
82 | function ToggleButtonElement:mouseEvent(posX, posY, isDown, isUp, button, eventUsed) |
83 | if self:getIsActive() then |
84 | -- check if button is highlighted |
85 | if not eventUsed and GuiUtils.checkOverlayOverlap(posX, posY, self.absPosition[1], self.absPosition[2], self.size[1], self.size[2]) then |
86 | FocusManager:setHighlight(self); |
87 | else |
88 | FocusManager:unsetHighlight(self); |
89 | end; |
90 | -- check for other mouse actions |
91 | return ToggleButtonElement:superClass().mouseEvent(self, posX, posY, isDown, isUp, button, eventUsed); |
92 | end; |
93 | return false; |
94 | end |
new
DescriptionDefinitionnew()Code
20 | function ToggleButtonElement:new(target, custom_mt) |
21 | if custom_mt == nil then |
22 | custom_mt = ToggleButtonElement_mt; |
23 | end; |
24 | local self = BitmapElement:new(target, custom_mt); |
25 | |
26 | self.isChecked = false; |
27 | |
28 | return self; |
29 | end |
onButtonClicked
DescriptionDefinitiononButtonClicked()Code
98 | function ToggleButtonElement:onButtonClicked() |
99 | self:setIsChecked(not self.isChecked); |
100 | if self.onClickCallback ~= nil then |
101 | if self.target ~= nil then |
102 | self.onClickCallback(self.target, self, self.isChecked); |
103 | else |
104 | self.onClickCallback(self, self.isChecked); |
105 | end; |
106 | end; |
107 | end |
onFocusActivate
DescriptionDefinitiononFocusActivate()Code
148 | function ToggleButtonElement:onFocusActivate() |
149 | self:onButtonClicked(); |
150 | end |
onFocusEnter
DescriptionDefinitiononFocusEnter()Code
137 | function ToggleButtonElement:onFocusEnter() |
138 | if self.elements[1] ~= nil then |
139 | self.elements[1]:onFocusEnter(); |
140 | end; |
141 | if self.elements[2] ~= nil then |
142 | self.elements[2]:onFocusEnter(); |
143 | end; |
144 | end |
onFocusLeave
DescriptionDefinitiononFocusLeave()Code
126 | function ToggleButtonElement:onFocusLeave() |
127 | if self.elements[1] ~= nil then |
128 | self.elements[1]:onFocusLeave(); |
129 | end; |
130 | if self.elements[2] ~= nil then |
131 | self.elements[2]:onFocusLeave(); |
132 | end; |
133 | end |
setIsChecked
DescriptionDefinitionsetIsChecked()Code
58 | function ToggleButtonElement:setIsChecked(isChecked) |
59 | self.isChecked = isChecked; |
60 | if self.elements[1] ~= nil then |
61 | self.elements[1]:setVisible(self.isChecked); |
62 | end; |
63 | if self.elements[2] ~= nil then |
64 | self.elements[2]:setVisible(not self.isChecked); |
65 | end; |
66 | end |