com.badlogic.gdx.scenes.scene2d.ui
Class WidgetGroup

java.lang.Object
  extended by com.badlogic.gdx.scenes.scene2d.Actor
      extended by com.badlogic.gdx.scenes.scene2d.Group
          extended by com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup
All Implemented Interfaces:
Cullable, Layout
Direct Known Subclasses:
HorizontalGroup, ScrollPane, SplitPane, Stack, Table, Tree, VerticalGroup

public class WidgetGroup
extends Group
implements Layout

A 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
WidgetGroup()
           
 
Method Summary
 void draw(SpriteBatch batch, float parentAlpha)
          If this method is overridden, the super method or validate() should be called to ensure the widget group is laid out.
 float getMaxHeight()
           
 float getMaxWidth()
           
 float getMinHeight()
           
 float getMinWidth()
           
 float getPrefHeight()
           
 float getPrefWidth()
           
 void invalidate()
          Invalidates this actor's layout, causing Layout.layout() to happen the next time Layout.validate() is called.
 void invalidateHierarchy()
          Invalidates this actor and all its parents, calling Layout.invalidate() on all involved actors.
 void layout()
          Computes and caches any information needed for drawing and, if this actor has children, positions and sizes each child, calls Layout.invalidate() any each child whose width or height has changed, and calls Layout.validate() on each child.
 boolean needsLayout()
          Returns true if the widget's layout has been invalidated.
 void pack()
          Sizes this actor to its preferred width and height and, if this changed the size, causes the actor to be laid out by calling Layout.invalidate() then Layout.validate().
 void setFillParent(boolean fillParent)
          If true, this actor will be sized to the parent in Layout.validate().
 void setLayoutEnabled(boolean enabled)
          Enables or disables the layout for this actor and all child actors, recursively.
 void validate()
          Ensures the actor has been laid out.
 
Methods inherited from class com.badlogic.gdx.scenes.scene2d.Group
act, addActor, addActorAfter, addActorAt, addActorBefore, clear, clearChildren, findActor, getChildren, hasChildren, hit, isTransform, localToDescendantCoordinates, print, removeActor, setCullingArea, setTransform, swapActor, swapActor
 
Methods inherited from class com.badlogic.gdx.scenes.scene2d.Actor
addAction, addCaptureListener, addListener, clearActions, clearListeners, clipBegin, clipBegin, clipEnd, fire, getActions, getCaptureListeners, getColor, getHeight, getListeners, getName, getOriginX, getOriginY, getParent, getRight, getRotation, getScaleX, getScaleY, getStage, getTop, getTouchable, getWidth, getX, getY, getZIndex, hasParent, isAscendantOf, isDescendantOf, isVisible, localToAscendantCoordinates, localToParentCoordinates, localToStageCoordinates, notify, parentToLocalCoordinates, remove, removeAction, removeCaptureListener, removeListener, rotate, scale, scale, screenToLocalCoordinates, setBounds, setColor, setColor, setHeight, setName, setOrigin, setOriginX, setOriginY, setPosition, setRotation, setScale, setScale, setScaleX, setScaleY, setSize, setTouchable, setVisible, setWidth, setX, setY, setZIndex, size, size, stageToLocalCoordinates, toBack, toFront, toString, translate
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WidgetGroup

public WidgetGroup()
Method Detail

getMinWidth

public float getMinWidth()
Specified by:
getMinWidth in interface Layout

getMinHeight

public float getMinHeight()
Specified by:
getMinHeight in interface Layout

getPrefWidth

public float getPrefWidth()
Specified by:
getPrefWidth in interface Layout

getPrefHeight

public float getPrefHeight()
Specified by:
getPrefHeight in interface Layout

getMaxWidth

public float getMaxWidth()
Specified by:
getMaxWidth in interface Layout

getMaxHeight

public float getMaxHeight()
Specified by:
getMaxHeight in interface Layout

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 is useful when an actor will be manipulated externally, such as with actions. Default is true.

Specified by:
setLayoutEnabled in interface Layout

validate

public void validate()
Description copied from interface: Layout
Ensures the actor has been laid out. Calls Layout.layout() if Layout.invalidate() has called since the last time Layout.validate() was called, or if the actor otherwise needs to be laid out. This method is usually called in Actor.draw(SpriteBatch, float) before drawing is performed.

Specified by:
validate in interface Layout

needsLayout

public boolean needsLayout()
Returns true if the widget's layout has been invalidated.


invalidate

public void invalidate()
Description copied from interface: Layout
Invalidates this actor's layout, causing Layout.layout() to happen the next time Layout.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 interface Layout

invalidateHierarchy

public void invalidateHierarchy()
Description copied from interface: Layout
Invalidates this actor and all its parents, calling Layout.invalidate() on all involved actors. 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 it potentially affects the parent actor's layout).

Specified by:
invalidateHierarchy in interface Layout

pack

public void pack()
Description copied from interface: Layout
Sizes this actor to its preferred width and height and, if this changed the size, causes the actor to be laid out by calling Layout.invalidate() then Layout.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 actors width and height to Layout.getPrefWidth() and Layout.getPrefHeight(). This allows the actor to have a size at construction time for more convenient use outside of a Table.

Specified by:
pack in interface Layout

setFillParent

public void setFillParent(boolean fillParent)
Description copied from interface: Layout
If true, this actor will be sized to the parent in Layout.validate(). If the parent is the stage, the actor will be sized to the stage.

Specified by:
setFillParent in interface Layout

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, calls Layout.invalidate() any each child whose width or height has changed, and calls Layout.validate() on each child. This method should almost never be called directly, instead Layout.validate() should be used.

Specified by:
layout in interface Layout

draw

public void draw(SpriteBatch batch,
                 float parentAlpha)
If this method is overridden, the super method or validate() should be called to ensure the widget group is laid out.

Overrides:
draw in class Group
parentAlpha - Should be multiplied with the actor's alpha, allowing a parent's alpha to affect all children.


Copyright © 2013. All Rights Reserved.