Class WidgetGroup
- Direct Known Subclasses:
Container
,HorizontalGroup
,ScrollPane
,SplitPane
,Stack
,Table
,TextField
,Tree
,VerticalGroup
Group
that participates in layout and provides a minimum, preferred, and maximum size.
The default preferred size of a widget group is 0 and this is almost always overridden by a subclass. The default minimum size returns the preferred size, so a subclass may choose to return 0 for minimum size if it wants to allow itself to be sized smaller than the preferred size. The default maximum size is 0, which means no maximum size.
See Layout
for details on how a widget group should participate in layout. A widget group's mutator methods should call
invalidate()
or invalidateHierarchy()
as needed. By default, invalidateHierarchy is called when child widgets
are added and removed.
- Author:
- Nathan Sweet
-
Constructor Summary
ConstructorDescriptionWidgetGroup
(Actor... actors) Creates a new widget group containing the specified actors. -
Method Summary
Modifier and TypeMethodDescriptionvoid
If this method is overridden, the super method orvalidate()
should be called to ensure the widget group is laid out.float
Zero indicates no max height.float
Zero indicates no max width.float
float
float
float
hit
(float x, float y, boolean touchable) If this method is overridden, the super method orvalidate()
should be called to ensure the widget group is laid out.void
Invalidates this actor's layout, causingLayout.layout()
to happen the next timeLayout.validate()
is called.void
Invalidates this actor and its ascendants, callingLayout.invalidate()
on each.void
layout()
Computes and caches any information needed for drawing and, if this actor has children, positions and sizes each child, callsLayout.invalidate()
on any each child whose width or height has changed, and callsLayout.validate()
on each child.boolean
Returns true if the widget's layout has beeninvalidated
.void
pack()
Sizes this actor to its preferred width and height, then callsLayout.validate()
.void
setFillParent
(boolean fillParent) If true, this actor will be sized to the parent inLayout.validate()
.void
setLayoutEnabled
(boolean enabled) Enables or disables the layout for this actor and all child actors, recursively.void
setMaxHeight
(float v) void
void
setMaxWidth
(float v) void
setMaxWidth
(Value v) void
setMinHeight
(float v) void
void
setMinWidth
(float v) void
setMinWidth
(Value v) void
setPrefHeight
(float v) void
void
setPrefWidth
(float v) void
void
setWidth
(float v) void
validate()
Ensures the actor has been laid out.Methods inherited from class com.prineside.tdi2.scene2d.Group
act, addActor, addActorAfter, addActorAt, addActorBefore, clear, clear, clearChildren, clearChildren, debugAll, drawDebug, findActor, getChild, getChildren, getCullingArea, hasChildren, isTransform, localToDescendantCoordinates, removeActor, removeActor, removeActorAt, setCullingArea, setDebug, setTransform, swapActor, swapActor, toString
Methods inherited from class com.prineside.tdi2.scene2d.Actor
addAction, addCaptureListener, addListener, ancestorsVisible, ascendantsVisible, clearActions, clearListeners, clipBegin, clipBegin, clipEnd, debug, fire, firstAscendant, getActions, getCaptureListeners, getColor, getDebug, getHeight, getListeners, getName, getOriginX, getOriginY, getParent, getRight, getRotation, getScaleX, getScaleY, getStage, getTop, getTouchable, getUserObject, getWidth, getX, getX, getY, getY, getZIndex, hasActions, hasKeyboardFocus, hasParent, hasScrollFocus, isAscendantOf, isDescendantOf, isTouchable, isTouchFocusListener, isTouchFocusTarget, isVisible, localToActorCoordinates, localToAscendantCoordinates, localToParentCoordinates, localToScreenCoordinates, localToStageCoordinates, moveBy, notify, parentToLocalCoordinates, remove, removeAction, removeCaptureListener, removeListener, rotateBy, scaleBy, scaleBy, screenToLocalCoordinates, setBounds, setColor, setColor, setDebug, setHeight, setName, setOrigin, setOrigin, setOriginX, setOriginY, setPosition, setPosition, setRotation, setScale, setScale, setScaleX, setScaleY, setSize, setTouchable, setUserObject, setVisible, setX, setX, setY, setY, setZIndex, sizeBy, sizeBy, stageToLocalCoordinates, toBack, toFront
-
Constructor Details
-
WidgetGroup
public WidgetGroup() -
WidgetGroup
Creates a new widget group containing the specified actors.
-
-
Method Details
-
getMinWidth
public float getMinWidth()- Specified by:
getMinWidth
in interfaceLayout
-
setMinWidth
public void setMinWidth(float v) -
setMinWidth
-
getMinWidthValue
-
getMinHeight
public float getMinHeight()- Specified by:
getMinHeight
in interfaceLayout
-
setMinHeight
-
setMinHeight
public void setMinHeight(float v) -
getMinHeightValue
-
getPrefWidth
public float getPrefWidth()- Specified by:
getPrefWidth
in interfaceLayout
-
setPrefWidth
-
setPrefWidth
public void setPrefWidth(float v) -
getPrefWidthValue
-
getPrefHeight
public float getPrefHeight()- Specified by:
getPrefHeight
in interfaceLayout
-
setPrefHeight
-
setPrefHeight
public void setPrefHeight(float v) -
getPrefHeightValue
-
getMaxWidth
public float getMaxWidth()Description copied from interface:Layout
Zero indicates no max width.- Specified by:
getMaxWidth
in interfaceLayout
-
setMaxWidth
-
setMaxWidth
public void setMaxWidth(float v) -
getMaxWidthValue
-
getMaxHeight
public float getMaxHeight()Description copied from interface:Layout
Zero indicates no max height.- Specified by:
getMaxHeight
in interfaceLayout
-
setMaxHeight
-
setMaxHeight
public void setMaxHeight(float v) -
getMaxHeightValue
-
setLayoutEnabled
public void setLayoutEnabled(boolean enabled) Description copied from interface:Layout
Enables or disables the layout for this actor and all child actors, recursively. When false,Layout.validate()
will not cause a layout to occur. This can be useful when an actor will be manipulated externally, such as with actions. Default is true.- Specified by:
setLayoutEnabled
in interfaceLayout
-
validate
public void validate()Description copied from interface:Layout
Ensures the actor has been laid out. CallsLayout.layout()
ifLayout.invalidate()
has been called since the last timeLayout.validate()
was called, or if the actor otherwise needs to be laid out. This method is usually called inActor.draw(Batch, float)
by the actor itself before drawing is performed. -
needsLayout
public boolean needsLayout()Returns true if the widget's layout has beeninvalidated
. -
invalidate
public void invalidate()Description copied from interface:Layout
Invalidates this actor's layout, causingLayout.layout()
to happen the next timeLayout.validate()
is called. This method should be called when state changes in the actor that requires a layout but does not change the minimum, preferred, maximum, or actual size of the actor (meaning it does not affect the parent actor's layout).- Specified by:
invalidate
in interfaceLayout
-
invalidateHierarchy
public void invalidateHierarchy()Description copied from interface:Layout
Invalidates this actor and its ascendants, callingLayout.invalidate()
on each. This method should be called when state changes in the actor that affects the minimum, preferred, maximum, or actual size of the actor (meaning it potentially affects the parent actor's layout).- Specified by:
invalidateHierarchy
in interfaceLayout
-
pack
public void pack()Description copied from interface:Layout
Sizes this actor to its preferred width and height, then callsLayout.validate()
.Generally this method should not be called in an actor's constructor because it calls
Layout.layout()
, which means a subclass would have layout() called before the subclass' constructor. Instead, in constructors simply set the actor's size toLayout.getPrefWidth()
andLayout.getPrefHeight()
. This allows the actor to have a size at construction time for more convenient use with groups that do not layout their children. -
setWidth
public void setWidth(float v) -
setFillParent
public void setFillParent(boolean fillParent) Description copied from interface:Layout
If true, this actor will be sized to the parent inLayout.validate()
. If the parent is the stage, the actor will be sized to the stage. This method is for convenience only when the widget's parent does not set the size of its children (such as the stage).- Specified by:
setFillParent
in interfaceLayout
-
layout
public void layout()Description copied from interface:Layout
Computes and caches any information needed for drawing and, if this actor has children, positions and sizes each child, callsLayout.invalidate()
on any each child whose width or height has changed, and callsLayout.validate()
on each child. This method should almost never be called directly, insteadLayout.validate()
should be used. -
hit
If this method is overridden, the super method orvalidate()
should be called to ensure the widget group is laid out.- Overrides:
hit
in classGroup
touchable
- If true, hit detection will respect thetouchability
.- See Also:
-
draw
If this method is overridden, the super method orvalidate()
should be called to ensure the widget group is laid out.
-