Class LinearLayout
java.lang.Object
xyz.gmitch215.socketmc.screen.layout.LinearLayout
- All Implemented Interfaces:
Serializable
,Layout
,LayoutElement
Represents a layout in a straight line, internally wrapped around a
GridLayout
.- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Represents the orientation for a LinearLayout. -
Constructor Summary
ConstructorDescriptionLinearLayout
(int width, int height, @NotNull LinearLayout.Orientation orientation) Creates a new LinearLayout with the specified orientation. -
Method Summary
Modifier and TypeMethodDescription<T extends LayoutElement>
TaddElement
(T element, @NotNull LayoutSettings settings) Adds an element to this layout.void
Arranges the elements inside this Layout.Generates the default layout settings for this layout.int
Gets the height of this object.int
getWidth()
Gets the width of this object.int
getX()
Gets the x-coordinate of this object.int
getY()
Gets the y-coordinate of this object.static @NotNull LinearLayout
Creates a horizontal layout.boolean
Gets whether this layout is fullscreen.void
setFullscreen
(boolean fullscreen) Sets whether this layout is fullscreen.void
setHeight
(int height) Sets the height of this object.void
setWidth
(int width) Sets the width of this object.void
setX
(int x) Sets the x-coordinate of this object.void
setY
(int y) Sets the y-coordinate of this object.spacing
(int spacing) Sets the spacing for this layout.static @NotNull LinearLayout
vertical()
Creates a vertical layout.void
visitChildren
(@NotNull Consumer<LayoutElement> visitor) Visits this layout and all of its children.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface xyz.gmitch215.socketmc.screen.layout.Layout
addElement, addElement, addElement, visitWidgets
Methods inherited from interface xyz.gmitch215.socketmc.screen.layout.LayoutElement
setPosition, setSize, setSize, setSize
-
Constructor Details
-
LinearLayout
public LinearLayout(int width, int height, @NotNull @NotNull LinearLayout.Orientation orientation) throws IllegalArgumentException Creates a new LinearLayout with the specified orientation.- Parameters:
width
- The width of the layoutheight
- The height of the layoutorientation
- The orientation of the layout- Throws:
IllegalArgumentException
-
-
Method Details
-
spacing
Sets the spacing for this layout.- Parameters:
spacing
- The spacing to set- Returns:
- this class, for chaining
-
isFullscreen
public boolean isFullscreen()Description copied from interface:Layout
Gets whether this layout is fullscreen. If true, this layout will automatically have its witdh and height set to the screen's width and height.- Specified by:
isFullscreen
in interfaceLayout
- Returns:
- true if this layout is fullscreen
-
setFullscreen
public void setFullscreen(boolean fullscreen) Description copied from interface:Layout
Sets whether this layout is fullscreen. If true, this layout will automatically have its witdh and height set to the screen's width and height.- Specified by:
setFullscreen
in interfaceLayout
- Parameters:
fullscreen
- true if this layout is fullscreen
-
getX
public int getX()Description copied from interface:LayoutElement
Gets the x-coordinate of this object.- Specified by:
getX
in interfaceLayoutElement
- Returns:
- the x-coordinate
-
setX
public void setX(int x) Description copied from interface:LayoutElement
Sets the x-coordinate of this object.- Specified by:
setX
in interfaceLayoutElement
- Parameters:
x
- the x-coordinate
-
getY
public int getY()Description copied from interface:LayoutElement
Gets the y-coordinate of this object.- Specified by:
getY
in interfaceLayoutElement
- Returns:
- the y-coordinate
-
setY
public void setY(int y) Description copied from interface:LayoutElement
Sets the y-coordinate of this object.- Specified by:
setY
in interfaceLayoutElement
- Parameters:
y
- the y-coordinate
-
getWidth
public int getWidth()Description copied from interface:LayoutElement
Gets the width of this object.- Specified by:
getWidth
in interfaceLayoutElement
- Returns:
- the width
-
setWidth
public void setWidth(int width) Description copied from interface:LayoutElement
Sets the width of this object.- Specified by:
setWidth
in interfaceLayoutElement
- Parameters:
width
- the width
-
getHeight
public int getHeight()Description copied from interface:LayoutElement
Gets the height of this object.- Specified by:
getHeight
in interfaceLayoutElement
- Returns:
- the height
-
setHeight
public void setHeight(int height) Description copied from interface:LayoutElement
Sets the height of this object.- Specified by:
setHeight
in interfaceLayoutElement
- Parameters:
height
- the height
-
addElement
public <T extends LayoutElement> T addElement(@NotNull T element, @NotNull @NotNull LayoutSettings settings) throws IllegalArgumentException Description copied from interface:Layout
Adds an element to this layout.- Specified by:
addElement
in interfaceLayout
- Type Parameters:
T
- the type of the element- Parameters:
element
- the element to addsettings
- the settings for the element- Returns:
- the added element
- Throws:
IllegalArgumentException
- if the element or settings are null
-
createDefaultSettings
Description copied from interface:Layout
Generates the default layout settings for this layout.- Specified by:
createDefaultSettings
in interfaceLayout
- Returns:
- Default Layout Settings
-
visitChildren
Description copied from interface:Layout
Visits this layout and all of its children.- Specified by:
visitChildren
in interfaceLayout
- Parameters:
visitor
- Element Visitor
-
arrangeElements
public void arrangeElements()Description copied from interface:Layout
Arranges the elements inside this Layout.- Specified by:
arrangeElements
in interfaceLayout
-
horizontal
Creates a horizontal layout.- Returns:
- A Horizontal LinearLayout
-
vertical
Creates a vertical layout.- Returns:
- A Vertical LinearLayout
-