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
Nested ClassesModifier and TypeClassDescriptionstatic enumRepresents the orientation for a LinearLayout. -
Constructor Summary
ConstructorsConstructorDescriptionLinearLayout(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.voidArranges the elements inside this Layout.Generates the default layout settings for this layout.intGets the height of this object.intgetWidth()Gets the width of this object.intgetX()Gets the x-coordinate of this object.intgetY()Gets the y-coordinate of this object.static @NotNull LinearLayoutCreates a horizontal layout.booleanGets whether this layout is fullscreen.voidsetFullscreen(boolean fullscreen) Sets whether this layout is fullscreen.voidsetHeight(int height) Sets the height of this object.voidsetWidth(int width) Sets the width of this object.voidsetX(int x) Sets the x-coordinate of this object.voidsetY(int y) Sets the y-coordinate of this object.spacing(int spacing) Sets the spacing for this layout.static @NotNull LinearLayoutvertical()Creates a vertical layout.voidvisitChildren(@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, waitMethods inherited from interface xyz.gmitch215.socketmc.screen.layout.Layout
addElement, addElement, addElement, visitWidgetsMethods 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:LayoutGets 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:
isFullscreenin interfaceLayout- Returns:
- true if this layout is fullscreen
-
setFullscreen
public void setFullscreen(boolean fullscreen) Description copied from interface:LayoutSets 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:
setFullscreenin interfaceLayout- Parameters:
fullscreen- true if this layout is fullscreen
-
getX
public int getX()Description copied from interface:LayoutElementGets the x-coordinate of this object.- Specified by:
getXin interfaceLayoutElement- Returns:
- the x-coordinate
-
setX
public void setX(int x) Description copied from interface:LayoutElementSets the x-coordinate of this object.- Specified by:
setXin interfaceLayoutElement- Parameters:
x- the x-coordinate
-
getY
public int getY()Description copied from interface:LayoutElementGets the y-coordinate of this object.- Specified by:
getYin interfaceLayoutElement- Returns:
- the y-coordinate
-
setY
public void setY(int y) Description copied from interface:LayoutElementSets the y-coordinate of this object.- Specified by:
setYin interfaceLayoutElement- Parameters:
y- the y-coordinate
-
getWidth
public int getWidth()Description copied from interface:LayoutElementGets the width of this object.- Specified by:
getWidthin interfaceLayoutElement- Returns:
- the width
-
setWidth
public void setWidth(int width) Description copied from interface:LayoutElementSets the width of this object.- Specified by:
setWidthin interfaceLayoutElement- Parameters:
width- the width
-
getHeight
public int getHeight()Description copied from interface:LayoutElementGets the height of this object.- Specified by:
getHeightin interfaceLayoutElement- Returns:
- the height
-
setHeight
public void setHeight(int height) Description copied from interface:LayoutElementSets the height of this object.- Specified by:
setHeightin 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:LayoutAdds an element to this layout.- Specified by:
addElementin 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:LayoutGenerates the default layout settings for this layout.- Specified by:
createDefaultSettingsin interfaceLayout- Returns:
- Default Layout Settings
-
visitChildren
Description copied from interface:LayoutVisits this layout and all of its children.- Specified by:
visitChildrenin interfaceLayout- Parameters:
visitor- Element Visitor
-
arrangeElements
public void arrangeElements()Description copied from interface:LayoutArranges the elements inside this Layout.- Specified by:
arrangeElementsin interfaceLayout
-
horizontal
Creates a horizontal layout.- Returns:
- A Horizontal LinearLayout
-
vertical
Creates a vertical layout.- Returns:
- A Vertical LinearLayout
-