Gridarta Editor
net.sf.gridarta.gui.utils.DirectionLayout Class Reference

This class implements a layout that is similar to java.awt.BorderLayout but implements those directions used in Daimonin. More...

+ Inheritance diagram for net.sf.gridarta.gui.utils.DirectionLayout:
+ Collaboration diagram for net.sf.gridarta.gui.utils.DirectionLayout:

Public Member Functions

void addLayoutComponent (@NotNull final Component comp, @Nullable final Object constraints)
 
void addLayoutComponent (@NotNull final String name, @NotNull final Component comp)
 
 DirectionLayout ()
 Creates a DirectionLayout with zero gaps. More...
 
float getLayoutAlignmentX (@NotNull final Container target)
 
float getLayoutAlignmentY (@NotNull final Container target)
 
void invalidateLayout (@NotNull final Container target)
 
void layoutContainer (@NotNull final Container parent)
 
Dimension maximumLayoutSize (@NotNull final Container target)
 
Dimension minimumLayoutSize (@NotNull final Container parent)
 
Dimension preferredLayoutSize (final Container parent)
 
void removeLayoutComponent (@NotNull final Component comp)
 
String toString ()
 

Private Member Functions

 DirectionLayout (final int hGap, final int vGap)
 Creates a DirectionLayout with specified gaps. More...
 

Static Private Member Functions

static void addDirection (@NotNull final Direction direction)
 Adds an entry to DAIMONIN_TO_DIRECTION_MAP. More...
 
static Direction getDirectionFromDaimonin (final int daimoninDirection)
 Returns the Direction for a Daimonin direction. More...
 
static Dimension getMinimumSize (@Nullable final Component component)
 Returns the minimum size of a component or EMPTY for. More...
 
static Dimension getPreferredSize (@Nullable final Component component)
 Returns the preferred size of a component or EMPTY for. More...
 
static int max (@NotNull final int... numbers)
 Helper method for returning the maximum of an unspecified number of arguments. More...
 

Private Attributes

Component cC
 Center Component. More...
 
Component cD
 Down Component. More...
 
Component cE
 East Component. More...
 
Component cN
 North Component. More...
 
Component cNE
 NorthEast Component. More...
 
Component cNW
 NorthWest Component. More...
 
Component cS
 South Component. More...
 
Component cSE
 SouthEast Component. More...
 
Component cSW
 SouthWest Component. More...
 
Component cU
 Up Component. More...
 
Component cW
 West Component. More...
 
final int hGap
 Horizontal Gap. More...
 
final int vGap
 Vertical Gap. More...
 

Static Private Attributes

static final Direction [] DAIMONIN_TO_DIRECTION_MAP = new Direction[10]
 The array to quickly find the direction enum constants for a daimonin direction. More...
 
static final Dimension EMPTY = new Dimension(0, 0)
 Empty dimension as fallback for. More...
 
static final long serialVersionUID = 1L
 Serial Version. More...
 

Detailed Description

This class implements a layout that is similar to java.awt.BorderLayout but implements those directions used in Daimonin.

It provides eight directions. This LayoutManager respects the components preferred size for suggesting a preferred size to the container. This LayoutManager does not respect the components individual sizes when doing the overall layout. The overall layout is solely determined by the container's width and height.

Author
Christian Hujer

Definition at line 42 of file DirectionLayout.java.

Constructor & Destructor Documentation

◆ DirectionLayout() [1/2]

net.sf.gridarta.gui.utils.DirectionLayout.DirectionLayout ( )

Creates a DirectionLayout with zero gaps.

Definition at line 178 of file DirectionLayout.java.

◆ DirectionLayout() [2/2]

net.sf.gridarta.gui.utils.DirectionLayout.DirectionLayout ( final int  hGap,
final int  vGap 
)
private

Creates a DirectionLayout with specified gaps.

Parameters
hGaphorizontal gap between components
vGapvertical gap between components

Definition at line 187 of file DirectionLayout.java.

References net.sf.gridarta.gui.utils.DirectionLayout.hGap, and net.sf.gridarta.gui.utils.DirectionLayout.vGap.

Member Function Documentation

◆ addDirection()

static void net.sf.gridarta.gui.utils.DirectionLayout.addDirection ( @NotNull final Direction  direction)
staticprivate

Adds an entry to DAIMONIN_TO_DIRECTION_MAP.

Parameters
directionthe entry to add

Definition at line 82 of file DirectionLayout.java.

◆ addLayoutComponent() [1/2]

void net.sf.gridarta.gui.utils.DirectionLayout.addLayoutComponent ( @NotNull final Component  comp,
@Nullable final Object  constraints 
)

Definition at line 194 of file DirectionLayout.java.

References net.sf.gridarta.gui.utils.DirectionLayout.getDirectionFromDaimonin().

+ Here is the call graph for this function:

◆ addLayoutComponent() [2/2]

void net.sf.gridarta.gui.utils.DirectionLayout.addLayoutComponent ( @NotNull final String  name,
@NotNull final Component  comp 
)

Definition at line 247 of file DirectionLayout.java.

◆ getDirectionFromDaimonin()

static Direction net.sf.gridarta.gui.utils.DirectionLayout.getDirectionFromDaimonin ( final int  daimoninDirection)
staticprivate

Returns the Direction for a Daimonin direction.

Parameters
daimoninDirectiondirection from Daimonin
Returns
the direction enum for
daimoninDirection

Definition at line 489 of file DirectionLayout.java.

References net.sf.gridarta.gui.utils.DirectionLayout.DAIMONIN_TO_DIRECTION_MAP.

Referenced by net.sf.gridarta.gui.utils.DirectionLayout.addLayoutComponent().

+ Here is the caller graph for this function:

◆ getLayoutAlignmentX()

float net.sf.gridarta.gui.utils.DirectionLayout.getLayoutAlignmentX ( @NotNull final Container  target)

Definition at line 360 of file DirectionLayout.java.

◆ getLayoutAlignmentY()

float net.sf.gridarta.gui.utils.DirectionLayout.getLayoutAlignmentY ( @NotNull final Container  target)

Definition at line 365 of file DirectionLayout.java.

◆ getMinimumSize()

static Dimension net.sf.gridarta.gui.utils.DirectionLayout.getMinimumSize ( @Nullable final Component  component)
staticprivate

Returns the minimum size of a component or EMPTY for.

null

.

Parameters
componentthe component or
null
Returns
the minimum size; must not be modified

Definition at line 313 of file DirectionLayout.java.

References net.sf.gridarta.gui.utils.DirectionLayout.EMPTY.

Referenced by net.sf.gridarta.gui.utils.DirectionLayout.minimumLayoutSize(), and net.sf.gridarta.gui.utils.DirectionLayout.preferredLayoutSize().

+ Here is the caller graph for this function:

◆ getPreferredSize()

static Dimension net.sf.gridarta.gui.utils.DirectionLayout.getPreferredSize ( @Nullable final Component  component)
staticprivate

Returns the preferred size of a component or EMPTY for.

null

.

Parameters
componentthe component or
null
Returns
the preferred size; must not be modified

Definition at line 349 of file DirectionLayout.java.

References net.sf.gridarta.gui.utils.DirectionLayout.EMPTY.

Referenced by net.sf.gridarta.gui.utils.DirectionLayout.preferredLayoutSize().

+ Here is the caller graph for this function:

◆ invalidateLayout()

void net.sf.gridarta.gui.utils.DirectionLayout.invalidateLayout ( @NotNull final Container  target)

Definition at line 370 of file DirectionLayout.java.

◆ layoutContainer()

◆ max()

static int net.sf.gridarta.gui.utils.DirectionLayout.max ( @NotNull final int...  numbers)
staticprivate

Helper method for returning the maximum of an unspecified number of arguments.

(The class Math only provides max methods for 2 arguments.

Parameters
numbersthe numbers to get maximum of
Returns
the maximum of numbers, which is Integer#MIN_VALUE in case no number was supplied.

Definition at line 473 of file DirectionLayout.java.

Referenced by net.sf.gridarta.gui.utils.DirectionLayout.minimumLayoutSize(), and net.sf.gridarta.gui.utils.DirectionLayout.preferredLayoutSize().

+ Here is the caller graph for this function:

◆ maximumLayoutSize()

Dimension net.sf.gridarta.gui.utils.DirectionLayout.maximumLayoutSize ( @NotNull final Container  target)

Definition at line 355 of file DirectionLayout.java.

◆ minimumLayoutSize()

◆ preferredLayoutSize()

◆ removeLayoutComponent()

void net.sf.gridarta.gui.utils.DirectionLayout.removeLayoutComponent ( @NotNull final Component  comp)

Definition at line 253 of file DirectionLayout.java.

◆ toString()

String net.sf.gridarta.gui.utils.DirectionLayout.toString ( )

Member Data Documentation

◆ cC

Component net.sf.gridarta.gui.utils.DirectionLayout.cC
private

◆ cD

Component net.sf.gridarta.gui.utils.DirectionLayout.cD
private

◆ cE

Component net.sf.gridarta.gui.utils.DirectionLayout.cE
private

◆ cN

Component net.sf.gridarta.gui.utils.DirectionLayout.cN
private

◆ cNE

Component net.sf.gridarta.gui.utils.DirectionLayout.cNE
private

◆ cNW

Component net.sf.gridarta.gui.utils.DirectionLayout.cNW
private

◆ cS

Component net.sf.gridarta.gui.utils.DirectionLayout.cS
private

◆ cSE

Component net.sf.gridarta.gui.utils.DirectionLayout.cSE
private

◆ cSW

Component net.sf.gridarta.gui.utils.DirectionLayout.cSW
private

◆ cU

Component net.sf.gridarta.gui.utils.DirectionLayout.cU
private

◆ cW

Component net.sf.gridarta.gui.utils.DirectionLayout.cW
private

◆ DAIMONIN_TO_DIRECTION_MAP

final Direction [] net.sf.gridarta.gui.utils.DirectionLayout.DAIMONIN_TO_DIRECTION_MAP = new Direction[10]
staticprivate

The array to quickly find the direction enum constants for a daimonin direction.

This must be outside the enum because enum instances are static itself, so referencing this from an enum constructor would be illegal if this were declared inside the enum.

Definition at line 56 of file DirectionLayout.java.

Referenced by net.sf.gridarta.gui.utils.DirectionLayout.getDirectionFromDaimonin().

◆ EMPTY

final Dimension net.sf.gridarta.gui.utils.DirectionLayout.EMPTY = new Dimension(0, 0)
staticprivate

Empty dimension as fallback for.

null

components. Will never be modified.

Definition at line 76 of file DirectionLayout.java.

Referenced by net.sf.gridarta.gui.utils.DirectionLayout.getMinimumSize(), and net.sf.gridarta.gui.utils.DirectionLayout.getPreferredSize().

◆ hGap

◆ serialVersionUID

final long net.sf.gridarta.gui.utils.DirectionLayout.serialVersionUID = 1L
staticprivate

Serial Version.

Definition at line 47 of file DirectionLayout.java.

◆ vGap


The documentation for this class was generated from the following file: