Difference between revisions of "LGUI2:LS1:lgui2element"

From Lavish Software Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
{{ObjectType-Vitals|lgui2element|[[LavishGUI 2]]|none|lgui2element|none|no|ILGUI2Element *}}
 
{{ObjectType-Vitals|lgui2element|[[LavishGUI 2]]|none|lgui2element|none|no|ILGUI2Element *}}
 
lgui2element provides LavishScript access to [[LGUI2:Elements|Elements]]
 
lgui2element provides LavishScript access to [[LGUI2:Elements|Elements]]
 +
  
 
== Members ==
 
== Members ==
 +
* [[ObjectType:uint|uint]] '''ID''': The unique ID number of this element
 
* [[ObjectType:unistring|unistring]] '''Name''': The specified Name (if any) of this element
 
* [[ObjectType:unistring|unistring]] '''Name''': The specified Name (if any) of this element
 
* [[ObjectType:jsonobject|jsonobject]] '''Metadata''': The JSON object containing any Metadata associated with this element
 
* [[ObjectType:jsonobject|jsonobject]] '''Metadata''': The JSON object containing any Metadata associated with this element
Line 22: Line 24:
 
* [[LGUI2:LS1:elgui2horizontalalignment|elgui2horizontalalignment]] '''HorizontalAlignment''':  
 
* [[LGUI2:LS1:elgui2horizontalalignment|elgui2horizontalalignment]] '''HorizontalAlignment''':  
 
* [[LGUI2:LS1:elgui2verticalalignment|elgui2verticalalignment]] '''VerticalAlignment''':  
 
* [[LGUI2:LS1:elgui2verticalalignment|elgui2verticalalignment]] '''VerticalAlignment''':  
 +
* [[LGUI2:LS1:lgui2element|lgui2element]] '''Parent''': The visual parent, if any, of this element
 +
* [[LGUI2:LS1:lgui2element|lgui2element]] '''FirstChild''': The first visual child, if any, of this element
 +
* [[LGUI2:LS1:lgui2element|lgui2element]] '''LastChild''': The last visual child, if any, of this element
 +
* [[LGUI2:LS1:lgui2element|lgui2element]] '''PreviousSibling''': The previous visual sibling, if any, from this element
 +
* [[LGUI2:LS1:lgui2element|lgui2element]] '''NextSibling''': The next visual sibling, if any, from this element
 +
* [[ObjectType:int|int]] '''Color''': The foreground color value for this element (for convenience, try using '''Color.Hex''')
 +
* [[LGUI2:LS1:lgui2fontstyle|lgui2fontstyle]] '''Font''': The [[LGUI2:Font|Font]] used for this element
 +
* [[ObjectType:bool|bool]] '''IsFocused''': TRUE if the element is Focused (relating to '''AcceptsKeyboardFocus''')
 +
* [[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: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
 +
  
 
== Methods ==
 
== Methods ==
Line 38: Line 53:
 
* '''AddHook['''eventName''','''json''']''':  
 
* '''AddHook['''eventName''','''json''']''':  
 
* '''SetContextMenu['''json''']''': Sets a new ContextMenu
 
* '''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
 +
* '''SetLocation['''#'''','''#'''']: Adjusts the requested location 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
 +
* '''ApplyStyle['''name''']''': Applies a [[LGUI2:Style|Style]] by name
 +
* '''ApplyStyle['''json''']''': Applies a [[LGUI2:Style|Style]] defined by the provided json
 +
* '''SetStyle['''name''','''json''']''': Adds a [[LGUI2:Style|Style]] with the provided name to the element
 +
* '''RemoveStyle['''name''']''': Removes a [[LGUI2:Style|Style]] by name
 +
* '''Animate['''json''']''': Applies a new [[LGUI2:Animation|Animation]] defined by the provided json
  
  
 
{{LGUI2:ObjectType}}
 
{{LGUI2:ObjectType}}

Revision as of 18:25, 14 November 2018

Object Type Vitals
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


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 Width: Width for this element (does not include Margins)
  • float Height: Height 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
  • 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)
  • lgui2fontstyle Font: The Font used for this element
  • bool IsFocused: TRUE if the element is Focused (relating to AcceptsKeyboardFocus)
  • 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


Methods

  • SetName[value]: Assigns a new value to the Name
  • 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
  • SetLocation[#',#']: Adjusts the requested location 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
  • 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


LavishGUI 2 Element Types

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