Difference between revisions of "LGUI2:LS1:lgui2element"
Jump to navigation
Jump to search
Line 3: | Line 3: | ||
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) | 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 == | == Members == | ||
Line 12: | Line 13: | ||
* [[ObjectType:float|float]] '''X''': X offset for this element | * [[ObjectType:float|float]] '''X''': X offset for this element | ||
* [[ObjectType:float|float]] '''Y''': Y offset for this element | * [[ObjectType:float|float]] '''Y''': Y offset for this element | ||
+ | * [[ObjectType:float|float]] '''XFactor''': X factor for this element | ||
+ | * [[ObjectType:float|float]] '''YFactor''': Y factor for this element | ||
* [[ObjectType:float|float]] '''Width''': Width for this element (does not include Margins) | * [[ObjectType:float|float]] '''Width''': Width for this element (does not include Margins) | ||
* [[ObjectType:float|float]] '''Height''': Height for this element (does not include Margins) | * [[ObjectType:float|float]] '''Height''': Height for this element (does not include Margins) | ||
+ | * [[ObjectType:float|float]] '''WidthFactor''': Width factor for this element (does not include Margins) | ||
+ | * [[ObjectType:float|float]] '''HeightFactor''': Height factor for this element (does not include Margins) | ||
* [[ObjectType:float|float]] '''ActualX''': Actual X position for this element | * [[ObjectType:float|float]] '''ActualX''': Actual X position for this element | ||
* [[ObjectType:float|float]] '''ActualY''': Actual Y position for this element | * [[ObjectType:float|float]] '''ActualY''': Actual Y position for this element | ||
Line 42: | Line 47: | ||
== Methods == | == Methods == | ||
* '''SetName['''value''']''': Assigns a new value to the Name | * '''SetName['''value''']''': Assigns a new value to the Name | ||
+ | * '''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 | ||
* '''Detach''': Detaches this element from its parent (typically for "unloading") | * '''Detach''': Detaches this element from its parent (typically for "unloading") | ||
Line 59: | Line 65: | ||
* '''ReleaseMouse''': Releases the Captured mouse input, restoring the previous 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 | * '''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 | * '''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 | * '''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['''name''']''': Applies a [[LGUI2:Style|Style]] by name | ||
Line 67: | Line 75: | ||
* '''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 | ||
+ | |||
+ | |||
+ | == Remarks == | ||
+ | * To unload an element, use '''lgui2element:Clear:Detach''', such as <tt>LGUI2.Element[myElement]:Clear:Detach</tt> | ||
+ | |||
{{LGUI2:ObjectType}} | {{LGUI2:ObjectType}} |
Revision as of 01:42, 17 November 2018
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
- 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:Clear:Detach, such as LGUI2.Element[myElement]:Clear:Detach
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