Class PageLayout
java.lang.Object
xyz.gmitch215.socketmc.screen.layout.PageLayout
- All Implemented Interfaces:
Serializable
,Layout
,LayoutElement
Represents a layout with a header, footer, and content area. This layout is always at the top left of the screen, with isFullscreen()
always true.
This means that calling setWidth(int)
and setHeight(int)
will have no effect.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The top margin of the content area.static final int
The default height for the header and footer. -
Constructor Summary
ConstructorDescriptionCreates a new PageLayout using the default margin height.PageLayout
(int marginHeight) Creates a new PageLayout.PageLayout
(int headerHeight, int footerHeight) Creates a new PageLayout. -
Method Summary
Modifier and TypeMethodDescription<T extends LayoutElement>
TaddElement
(T element, @NotNull LayoutSettings settings) Adds an element to the contents of this PageLayout.<T extends LayoutElement>
TaddFooterElement
(T element) Adds an element to the footer of this PageLayout.<T extends LayoutElement>
TaddFooterElement
(T element, @NotNull Consumer<LayoutSettings> settings) Adds an element to the footer of this PageLayout.<T extends LayoutElement>
TaddFooterElement
(T element, @NotNull Supplier<LayoutSettings> settings) Adds an element to the footer of this PageLayout.<T extends LayoutElement>
TaddFooterElement
(T element, @NotNull LayoutSettings settings) Adds an element to the footer of this PageLayout.<T extends LayoutElement>
TaddHeaderElement
(T element) Adds an element to the header of this PageLayout.<T extends LayoutElement>
TaddHeaderElement
(T element, @NotNull Consumer<LayoutSettings> settings) Adds an element to the header of this PageLayout.<T extends LayoutElement>
TaddHeaderElement
(T element, @NotNull Supplier<LayoutSettings> settings) Adds an element to the header of this PageLayout.<T extends LayoutElement>
TaddHeaderElement
(T element, @NotNull LayoutSettings settings) Adds an element to the header of this PageLayout.void
Arranges the elements inside this Layout.Generates the default layout settings for this layout.int
Gets the height of the content area.int
Gets the height of the footer.int
Gets the height of the header.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.boolean
Gets whether this layout is fullscreen.void
setFooterHeight
(int footerHeight) Sets the height of the footer.void
setFullscreen
(boolean fullscreen) Sets whether this layout is fullscreen.void
setHeaderHeight
(int headerHeight) Sets the height of the header.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.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
-
Field Details
-
DEFAULT_MARGIN_HEIGHT
public static final int DEFAULT_MARGIN_HEIGHTThe default height for the header and footer.- See Also:
-
CONTENT_MARGIN_TOP
public static final int CONTENT_MARGIN_TOPThe top margin of the content area.- See Also:
-
-
Constructor Details
-
PageLayout
public PageLayout()Creates a new PageLayout using the default margin height. -
PageLayout
public PageLayout(int marginHeight) Creates a new PageLayout.- Parameters:
marginHeight
- The height of the header and footer.
-
PageLayout
public PageLayout(int headerHeight, int footerHeight) Creates a new PageLayout.- Parameters:
headerHeight
- The height of the header.footerHeight
- The height of the footer.
-
-
Method Details
-
getHeaderHeight
public int getHeaderHeight()Gets the height of the header.- Returns:
- Header Height
-
setHeaderHeight
public void setHeaderHeight(int headerHeight) Sets the height of the header.- Parameters:
headerHeight
- Header Height
-
getContentHeight
public int getContentHeight()Gets the height of the content area.- Returns:
- Content Height
-
addHeaderElement
@NotNull public <T extends LayoutElement> T addHeaderElement(@NotNull T element) throws IllegalArgumentException Adds an element to the header of this PageLayout.- Type Parameters:
T
- the type of element- Parameters:
element
- the element to add- Returns:
- the element that was added
- Throws:
IllegalArgumentException
- if the element or settings are null
-
addHeaderElement
@NotNull public <T extends LayoutElement> T addHeaderElement(@NotNull T element, @NotNull @NotNull LayoutSettings settings) throws IllegalArgumentException Adds an element to the header of this PageLayout.- Type Parameters:
T
- the type of element- Parameters:
element
- the element to addsettings
- the settings for the element- Returns:
- the element that was added
- Throws:
IllegalArgumentException
- if the element or settings are null
-
addHeaderElement
@NotNull public <T extends LayoutElement> T addHeaderElement(@NotNull T element, @NotNull @NotNull Supplier<LayoutSettings> settings) throws IllegalArgumentException Adds an element to the header of this PageLayout.- Type Parameters:
T
- the type of element- Parameters:
element
- the element to addsettings
- the generator for the element settings- Returns:
- the element that was added
- Throws:
IllegalArgumentException
- if the element or settings are null
-
addHeaderElement
@NotNull public <T extends LayoutElement> T addHeaderElement(@NotNull T element, @NotNull @NotNull Consumer<LayoutSettings> settings) throws IllegalArgumentException Adds an element to the header of this PageLayout.- Type Parameters:
T
- the type of element- Parameters:
element
- the element to addsettings
- the function for settings applied oncreateDefaultSettings()
- Returns:
- the element that was added
- Throws:
IllegalArgumentException
- if the element or settings are null
-
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
-
addElement
public <T extends LayoutElement> T addElement(@NotNull T element, @NotNull @NotNull LayoutSettings settings) throws IllegalArgumentException Adds an element to the contents of this PageLayout.- Specified by:
addElement
in interfaceLayout
- Type Parameters:
T
- the type of element- Parameters:
element
- the element to addsettings
- the settings for the element- Returns:
- the element that was added
- 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
-
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
-
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
-
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
-