Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## superwaba.ext.xplat.ui
Class GridContainer

    java.lang.Object
      |
      +--waba.ui.Control
            |
            +--waba.ui.Container
                  |
                  +--superwaba.ext.xplat.ui.GridContainer

public class GridContainer
extends Container

A container that lays it's component controls out in a grid. Here's an example.

       GridContainer gc=new GridContainer(2,2);
       gc.add(new Button("One"));
       gc.add(new Button("Two"));
       gc.add(new Button("Three"));
       gc.add(new Button("Four"));
       gc.setRect(getClientRect());
       add(gc);

which should give you something like:

      _____________________
     |          |          |
     |   One    |   Two    |
     |__________|__________|
     |          |          |
     |  Three   |   Four   |
     |__________|__________|

Field Summary
`protected Control[][]` | `layout` the layout of controls
`protected int` | `xgap`
`protected int` | `ygap`

Fields inherited from class waba.ui.Container
`BORDER_LOWERED, BORDER_NONE, BORDER_RAISED, BORDER_SIMPLE, children, lastH, lastW, lastX, lastY, parentWindow, tail`

Fields inherited from class waba.ui.Control
`AFTER, appId, asContainer, asWindow, backColor, backDis, BEFORE, BOTTOM, CENTER, enabled, FILL, FIT, fm, fmH, focusLess, font, foreColor, foreDis, height, LEFT, parent, PREFERRED, RANGE, RIGHT, SAME, TOP, visible, width, x, x2, y, y2`

Constructor Summary
`GridContainer(int gridx, int gridy)` Construct a new container with the specified grid width and height.

Method Summary
`void` | `add(Control c)` Adds a control at the grid position to the left of the last one added or (0,0) if this is the first.
`void` | `add(Control c, int x, int y)` Adds a control at the specified grid position
`Control` | `get(int x, int y)` Gets the control at the given grid position
`void` | `layout()` Layout all the controls in this container.
`void` | `remove(Control c)` Removes a control from this layout.
`void` | `remove(int x, int y)` Removes a control at the given grid position.
`void` | `setGaps(int x, int y)` Sets the gap between controls.
`void` | `setRect(int x, int y, int width, int height)` Sets the rect for this container.

Methods inherited from class waba.ui.Container
`add, broadcastEvent, findChild, getChildren, getClientRect, onColorsChanged, onPaint, onStart, paintChildren, setBorderStyle, setEnabled`

Methods inherited from class waba.ui.Control
`addTimer, contains, createGraphics, getAbsoluteRect, getBackColor, getFont, getFontMetrics, getForeColor, getNext, getParent, getParentWindow, getPos, getPreferredHeight, getPreferredWidth, getRect, getSize, isDisplayed, isEnabled, isVisible, onBoundsChanged, onEvent, onFontChanged, onWindowPaintFinished, postEvent, removeTimer, repaint, repaintNow, requestFocus, setBackColor, setBackForeColors, setFocusLess, setFont, setForeColor, setRect, setRect, setVisible`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, toString, wait, wait`

Field Detail

### layout

    protected Control[][] layout

  the layout of controls

### xgap

    protected int xgap

### ygap

    protected int ygap

Constructor Detail

### GridContainer

    public GridContainer(int gridx,
                         int gridy)

  Construct a new container with the specified grid width and height.
  Parameters:
    `gridx` - the number of columns in the grid.
    `gridy` - the number of rows in the grid.

Method Detail

### setGaps

    public void setGaps(int x,
                        int y)

  Sets the gap between controls.
  Parameters:
    `x` - the x gap in pixels
    `y` - the y gap in pixels

### get

    public Control get(int x,
                       int y)

  Gets the control at the given grid position
  Parameters:
    `x` - the x grid coord
    `y` - the y grid coord
  Returns:
    a control, or null if none at that position

### add

    public void add(Control c)

  Adds a control at the grid position to the left of the last one added or (0,0) if this is the first. If the last added was at the maximum x position, this one is added at an x pos of 0 on the next y pos down.
  Overrides:
    add in class Container
  Parameters:
    `c` - the control to add

### add

    public void add(Control c,
                    int x,
                    int y)

  Adds a control at the specified grid position
  Overrides:
    add in class Container
  Parameters:
    `x` - the x grid coord
    `y` - the y grid coord

### remove

    public void remove(Control c)

  Removes a control from this layout.
  Overrides:
    remove in class Container
  Parameters:
    `c` - the control to remove

### remove

    public void remove(int x,
                       int y)

  Removes a control at the given grid position.
  Parameters:
    `x` - the x grid coord
    `y` - the y grid coord

### setRect

    public void setRect(int x,
                        int y,
                        int width,
                        int height)

  Sets the rect for this container. Redoes the layout.
  Overrides:
    setRect in class Control

### layout

    public void layout()

  Layout all the controls in this container.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD