Difference between revisions of "LGUI2:LS1:lgui2element"

From Lavish Software Wiki
Jump to navigation Jump to search
Line 47: Line 47:
 
== Methods ==
 
== Methods ==
 
* '''SetName['''value''']''': Assigns a new value to the Name
 
* '''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
 
* '''Clear''': Clears/frees element resources, and detaches all children from this element
 
* '''ClearChildren''': Detaches all children from this element
 
* '''ClearChildren''': Detaches all children from this element
Line 78: Line 79:
  
 
== Remarks ==
 
== Remarks ==
* To unload an element, use '''lgui2element:Clear:Detach''', such as <tt>LGUI2.Element[myElement]:Clear:Detach</tt>
+
* To unload an element, use '''lgui2element:Destroy''', such as <tt>LGUI2.Element[myElement]:Destroy</tt>
  
  
 
{{LGUI2:ObjectType}}
 
{{LGUI2:ObjectType}}

Revision as of 03:10, 26 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

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
  • 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 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
  • 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
  • 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


Remarks

  • To unload an element, use lgui2element:Destroy, such as LGUI2.Element[myElement]:Destroy


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