State

CactusGUI element for representing the game state. (Although this is useful for more than just games!) This serves as the foundation for how CactusGUI works. All elements other than states need to be "owned" by other elements. CactusGUI's renderer starts with a top-level state element and then loops through the elements that the state owns and draws them on the screen, if any of those elements own elements then those are looped though too after their owners.

Example Code:


gui.makeState('main')

gui.enterState('main')

Attributes:

State elements do not have any attributes specific to them, but they do have access to the "Primary" attributes available/required for all elements.
GUI Primary Attributes:
Attribute Datatype Comments
name string Identifies the element inside the GUI
owner string Name of the element that "owns" the current element
type string The specific kind of element - ex: Textbox, Button, Image, State, etc.
z_order int Determines the layering order of the element when GUI elements with the same owner are rendered. The element with the highest z-order is layered on top. Can use both positive and negative numbers.
visible bool If visible is True then the element is displayed, if False then the element will not display. Child-elements that the element owns will still be rendered. Defaults to True.
show bool If False then the element's child-elements will not be rendered to the screen. Defaults to True.
use_hover bool Defaults to True for some elements. Tells the GUI's listener object to listen for events from the current element:
onHover, onUnhover
use_click bool Defaults to True for some elements. Tells the GUI's listener object to listen for events from the current element:
onMousedown, onRightMousedown, onAnyMousedown, onMouseup, onRightMouseup, onAnyMouseup, onClick, onRightClick, onAnyClick, onBlur, onDeactivate

onActivate requires both use_click and use_active
onFocus requires both use_click and use_focus
use_scroll bool Defaults to True for some elements. Tells the GUI's listener object to listen for events from the current element:
onCenterMousedown, onCenterMouseup, onScrollUp, onScrollDown
use_active bool Defaults to True for some elements.
onActivate requires both use_click and use_active
use_focus bool Defaults to True for some elements.
onFocus requires both use_click and use_focus