Difference between revisions of "LGUI2:LS1:lgui2element"
Jump to navigation
Jump to search
Line 26: | Line 26: | ||
* [[LGUI2:LS1:lgui2margins|lgui2margins]] '''Padding''': Padding surrounding this element's contents (inside its bounds, and border if applicable) | * [[LGUI2:LS1:lgui2margins|lgui2margins]] '''Padding''': Padding surrounding this element's contents (inside its bounds, and border if applicable) | ||
* [[ObjectType:bool|bool]] '''AcceptsKeyboardFocus''': TRUE if the element accepts keyboard focus, allowing non-mouse input events to route to this element | * [[ObjectType:bool|bool]] '''AcceptsKeyboardFocus''': TRUE if the element accepts keyboard focus, allowing non-mouse input events to route to this element | ||
+ | * [[ObjectType:bool|bool]] '''AcceptsMouseFocus''': TRUE if the element accepts mouse focus | ||
* [[LGUI2:LS1:lgui2layer|lgui2layer]] '''Layer''': [[LGUI2:Layer|Layer]] containing the element | * [[LGUI2:LS1:lgui2layer|lgui2layer]] '''Layer''': [[LGUI2:Layer|Layer]] containing the element | ||
* [[LGUI2:LS1:lgui2element|lgui2element]] '''ContextMenu''': The [[LGUI2:contextmenu|contextmenu]] (if any) for this element | * [[LGUI2:LS1:lgui2element|lgui2element]] '''ContextMenu''': The [[LGUI2:contextmenu|contextmenu]] (if any) for this element | ||
Line 38: | Line 39: | ||
* [[ObjectType:float|float]] '''Opacity''': Opacity value for the element (usually between 0.0 and 1.0, with 1.0 being 100% opaque and 0.0 being fully transparent) | * [[ObjectType:float|float]] '''Opacity''': Opacity value for the element (usually between 0.0 and 1.0, with 1.0 being 100% opaque and 0.0 being fully transparent) | ||
* [[LGUI2:LS1:lgui2fontstyle|lgui2fontstyle]] '''Font''': The [[LGUI2:Font|Font]] used for this element | * [[LGUI2:LS1:lgui2fontstyle|lgui2fontstyle]] '''Font''': The [[LGUI2:Font|Font]] used for this element | ||
− | * [[ObjectType:bool|bool]] ''' | + | * [[ObjectType:bool|bool]] '''IsKeyboardFocused''': TRUE if the element is Keyboard Focused (relating to '''AcceptsKeyboardFocus''') |
+ | * [[ObjectType:bool|bool]] '''IsMouseFocused''': TRUE if the element is the current Mouse Focus element for the '''Layer''' | ||
* [[ObjectType:bool|bool]] '''IsMouseOver''': TRUE if the element is the current MouseOver element for the '''Layer''' | * [[ObjectType:bool|bool]] '''IsMouseOver''': TRUE if the element is the current MouseOver element for the '''Layer''' | ||
* [[ObjectType:bool|bool]] '''IsMouseCaptured''': TRUE if the element has captured mouse input, allowing mouse input events to route to this element regardless of MouseOver state | * [[ObjectType:bool|bool]] '''IsMouseCaptured''': TRUE if the element has captured mouse input, allowing mouse input events to route to this element regardless of MouseOver state | ||
* [[ObjectType:jsonvalue|jsonvalue]] '''Style['''name''']''': Retrieves a [[LGUI2:Style|Style]] by name | * [[ObjectType:jsonvalue|jsonvalue]] '''Style['''name''']''': Retrieves a [[LGUI2:Style|Style]] by name | ||
* [[LGUI2:LS1:lgui2animation|lgui2animation]] '''Animation['''name''']''': Retrieves a loaded [[LGUI2:Animation|Animation]] by name | * [[LGUI2:LS1:lgui2animation|lgui2animation]] '''Animation['''name''']''': Retrieves a loaded [[LGUI2:Animation|Animation]] by name | ||
− | + | * [[ObjectType:float|float]] '''Strata''': A value essentially indicating the visual "priority" of the element, which affects the order of placement and rendering of the element within its parent. In most cases, this affects element Z-Order. 0.0 is considered the normal "bottom" and 1.0 is considered the normal "top", but the range is not specifically limited. | |
== Methods == | == Methods == | ||
Line 70: | Line 72: | ||
* '''SetLocationFactor['''#'''','''#'''']: Adjusts the requested location factor of the element to the provided X and Y | * '''SetLocationFactor['''#'''','''#'''']: Adjusts the requested location factor of the element to the provided X and Y | ||
* '''SetAcceptsKeyboardFocus['''bool''']''': Sets whether the element accepts keyboard focus, allowing non-mouse input events to route to this element | * '''SetAcceptsKeyboardFocus['''bool''']''': Sets whether the element accepts keyboard focus, allowing non-mouse input events to route to this element | ||
+ | * '''SetAcceptsMouseFocus['''bool''']''': Sets whether the element accepts mouse focus | ||
* '''ApplyStyle['''name''']''': Applies a [[LGUI2:Style|Style]] by name | * '''ApplyStyle['''name''']''': Applies a [[LGUI2:Style|Style]] by name | ||
* '''ApplyStyle['''json''']''': Applies a [[LGUI2:Style|Style]] defined by the provided json | * '''ApplyStyle['''json''']''': Applies a [[LGUI2:Style|Style]] defined by the provided json | ||
Line 76: | Line 79: | ||
* '''Animate['''json''']''': Applies a new [[LGUI2:Animation|Animation]] defined by the provided json | * '''Animate['''json''']''': Applies a new [[LGUI2:Animation|Animation]] defined by the provided json | ||
* '''SetOpacity['''#''']''': Sets the Opacity value for the element, with 1.0 being opaque and 0.0 being transparent | * '''SetOpacity['''#''']''': Sets the Opacity value for the element, with 1.0 being opaque and 0.0 being transparent | ||
− | + | * '''SetStrata['''#''']''': Sets the Strata value for the element | |
== Remarks == | == Remarks == |
Revision as of 16:18, 6 January 2019
lgui2element | |
Defined By | LavishGUI 2 |
Inherits | none |
Reduces To | lgui2element |
Variable Object Type | none |
Uses Sub-Types | no |
C/C++ Type | ILGUI2Element * |
lgui2element provides LavishScript access to Elements
In most cases, Members listed as returning a lgui2element actually return the Object Type that is specific to the Element Type (e.g. the ElementType Member)
Members
- uint ID: The unique ID number of this element
- unistring Name: The specified Name (if any) of this element
- jsonobject Metadata: The JSON object containing any Metadata associated with this element
- lgui2element Locate[elementName,elementType,flags]:
- lgui2elementtype ElementType: The type of Element (e.g. "window")
- float X: X offset for this element
- float Y: Y offset for this element
- float XFactor: X factor for this element
- float YFactor: Y factor for this element
- float Width: Width for this element (does not include Margins)
- float Height: Height for this element (does not include Margins)
- float WidthFactor: Width factor for this element (does not include Margins)
- float HeightFactor: Height factor for this element (does not include Margins)
- float ActualX: Actual X position for this element
- float ActualY: Actual Y position for this element
- float ActualWidth: Actual width of this element (does not include Margins)
- float ActualHeight: Actual height of this element (does not include Margins)
- lgui2margins Margins: Margins surrounding this element (outside its bounds)
- lgui2margins Padding: Padding surrounding this element's contents (inside its bounds, and border if applicable)
- bool AcceptsKeyboardFocus: TRUE if the element accepts keyboard focus, allowing non-mouse input events to route to this element
- bool AcceptsMouseFocus: TRUE if the element accepts mouse focus
- lgui2layer Layer: Layer containing the element
- lgui2element ContextMenu: The contextmenu (if any) for this element
- elgui2horizontalalignment HorizontalAlignment:
- elgui2verticalalignment VerticalAlignment:
- lgui2element Parent: The visual parent, if any, of this element
- lgui2element FirstChild: The first visual child, if any, of this element
- lgui2element LastChild: The last visual child, if any, of this element
- lgui2element PreviousSibling: The previous visual sibling, if any, from this element
- lgui2element NextSibling: The next visual sibling, if any, from this element
- int Color: The foreground color value for this element (for convenience, try using Color.Hex)
- float Opacity: Opacity value for the element (usually between 0.0 and 1.0, with 1.0 being 100% opaque and 0.0 being fully transparent)
- lgui2fontstyle Font: The Font used for this element
- bool IsKeyboardFocused: TRUE if the element is Keyboard Focused (relating to AcceptsKeyboardFocus)
- bool IsMouseFocused: TRUE if the element is the current Mouse Focus element for the Layer
- bool IsMouseOver: TRUE if the element is the current MouseOver element for the Layer
- bool IsMouseCaptured: TRUE if the element has captured mouse input, allowing mouse input events to route to this element regardless of MouseOver state
- jsonvalue Style[name]: Retrieves a Style by name
- lgui2animation Animation[name]: Retrieves a loaded Animation by name
- float Strata: A value essentially indicating the visual "priority" of the element, which affects the order of placement and rendering of the element within its parent. In most cases, this affects element Z-Order. 0.0 is considered the normal "bottom" and 1.0 is considered the normal "top", but the range is not specifically limited.
Methods
- SetName[value]: Assigns a new value to the Name
- Destroy: A shortcut for :Clear followed by :Detach
- Clear: Clears/frees element resources, and detaches all children from this element
- ClearChildren: Detaches all children from this element
- Detach: Detaches this element from its parent (typically for "unloading")
- SetMargins[#]: Sets all of this element's margin values to this #
- SetMargins[#,#]: Sets Left/Right and Top/Bottom margin values to these #'s (in that order)
- SetMargins[#,#,#,#]: Sets Left, Top, Right, Bottom margin values to these #'s (in that order)
- SetPadding[#]: Sets all of this element's padding values to this #
- SetPadding[#,#]: Sets Left/Right and Top/Bottom padding values to these #'s (in that order)
- SetPadding[#,#,#,#]: Sets Left, Top, Right, Bottom padding values to these #'s (in that order)
- SetHorizontalAlignment[elgui2horizontalalignment]:
- SetVerticalAlignment[elgui2verticalalignment]:
- SetEventHandler[eventName,json]:
- AddHook[eventName,json]:
- SetContextMenu[json]: Sets a new ContextMenu
- Focus: Attempts to set Focus to this element (relating to AcceptsKeyboardFocus)
- CaptureMouse: Attempts to Capture mouse input, allowing mouse input events to route to this element regardless of MouseOver state
- ReleaseMouse: Releases the Captured mouse input, restoring the previous state
- SetSize[#',#']: Adjusts the requested size of the element (does not include Margins) to the provided Width and Height
- SetSizeFactor[#',#']: Adjusts the requested size factor of the element (does not include Margins) to the provided Width and Height
- SetLocation[#',#']: Adjusts the requested location of the element to the provided X and Y
- SetLocationFactor[#',#']: Adjusts the requested location factor of the element to the provided X and Y
- SetAcceptsKeyboardFocus[bool]: Sets whether the element accepts keyboard focus, allowing non-mouse input events to route to this element
- SetAcceptsMouseFocus[bool]: Sets whether the element accepts mouse focus
- ApplyStyle[name]: Applies a Style by name
- ApplyStyle[json]: Applies a Style defined by the provided json
- SetStyle[name,json]: Adds a Style with the provided name to the element
- RemoveStyle[name]: Removes a Style by name
- Animate[json]: Applies a new Animation defined by the provided json
- SetOpacity[#]: Sets the Opacity value for the element, with 1.0 being opaque and 0.0 being transparent
- SetStrata[#]: Sets the Strata value for the element
Remarks
- To unload an element, use lgui2element:Destroy, such as LGUI2.Element[myElement]:Destroy
LavishGUI 2 Element Types
- Base Element Types: Element - Content Container - Headered Content Container - Item List
- Layout: anchor - border - dockpanel - dragger - expander - hud - map - page - pagecontrol -panel - popup - radialpanel - screen - scrollviewer - stackpanel - tab - tabcontrol - table - treepanel - window - wrappanel
- Display: canvas - imagebox - progressbar - radialgauge - textblock
- Interaction: button - checkbox - combobox - contextmenu - dragin - filepicker - itemview - knob - listbox - mapitemview - objectview - propertyview - scrollbar - sensitivebutton - slider - textbox
LavishGUI 2 LavishScript Object Types
- Core API (see Using LavishGUI 2 from LavishScript)
- lgui2 - lgui2animateargs - lgui2animationtype - lgui2elementref - lgui2eventargs - lgui2eventhandler - lgui2elementtype - lgui2itemviewgeneratorargs - lgui2inputbinding - lgui2layer - lgui2skin - lgui2trigger
- Enums
- elgui2animationframestate - elgui2dpad - elgui2edge - elgui2fontflags - elgui2horizontalalignment - elgui2imageorientation - elgui2progresstext - elgui2scrollbar - elgui2sizetocontent - elgui2verticalignment - elgui2visibility
- Element Components
- lgui2animation - lgui2brush - lgui2fontstyle - lgui2margins - lgui2item - lgui2property - lgui2radialitem - lgui2radialgaugeneedle
- Element Base Types
- lgui2element - lgui2bordered - lgui2contentbase - lgui2headeredcontentbase - lgui2itemlist
- Elements
- Layout: lgui2anchor - lgui2border - lgui2dockpanel - lgui2dragger - lgui2expander - lgui2hud - lgui2map - lgui2page - lgui2pagecontrol - lgui2panel - lgui2popup - lgui2radialpanel - lgui2screen - lgui2scrollviewer - lgui2stackpanel - lgui2tab - lgui2tabcontrol - lgui2table - lgui2treepanel - lgui2window - lgui2wrappanel
- Display: lgui2canvas - lgui2imagebox - lgui2progressbar - lgui2radialgauge - lgui2textblock
- Interaction: lgui2button - lgui2checkbox - lgui2combobox - lgui2contextmenu - lgui2dragin - lgui2filepicker - lgui2itemview - lgui2knob - lgui2listbox - lgui2mapitemview - lgui2objectview - lgui2propertyview - lgui2scrollbar - lgui2sensitivebutton - lgui2slider - lgui2textbox