GUI::GridLayout(3)

NAME
Win32::GUI::GridLayout - Grid layout support for Win32::GUI

SYNOPSIS
    use Win32::GUI::
    use Win32::GUI::GridLayout;

    # 1. make a "static" grid
    $grid = new Win32::GUI::GridLayout(400, 300, 3, 3, 0, 0);

    $win = new Win32::GUI::Window(

    $win->AddLabel(
        -name => "label1",
        -text => "Label 1",
        -width  => $grid->width(35),
        -height => $grid->height(11),
        -left   => $grid->col(1, "left"),
        -top    => $grid->row(1, "top"),
    );

    # 2. make a "dynamic" grid
    $grid = apply Win32::GUI::GridLayout($win, 3, 3, 0, 0);

    $win->AddLabel(
        -name => "label1",
        -text => "Label 1",
    );
    $grid->add($win->label1, 1, 1, "left top");

    $grid->recalc();

DESCRIPTION

  Constructors

new Win32::GUI::GridLayout(WIDTH, HEIGHT, COLS, ROWS, XPAD, YPAD)
apply Win32::GUI::GridLayout(WINDOW, COLS, ROWS, XPAD, YPAD)

  Methods

add(CONTROL, COL, ROW, ALIGN)
    Adds CONTROL to the grid at (COL, ROW). ALIGN can specify both horizontal and vertical alignment (see the col() and row() methods), separated by at least one blank and/or a comma.

    Example:

        $grid->add($win->label1, 1, 1, "left top");

col(N, ALIGN)
    Positions the control at the Nth column in the grid, optionally with an ALIGN; this can be feed to a "-left" option when creating a control.

    ALIGN can be "left", "center" or "right" (can be shortened to "l", "c", "r"); default is "left".

    Note that for alignment to work properly, the width() and height() methods must have been previously called.

    Example:

        $win->AddLabel(
            -name => "label1",
            -text => "Label 1",
            -width  => $grid->width(35),
            -height => $grid->height(11),
            -left   => $grid->col(1, "left"),
            -top    => $grid->row(1, "top"),
        );

draw()
    Draws the GridLayout in the associated window (may be useful for debugging); is only meaningful if the GridLayout was created with the apply() constructor.

height(N)
    Sets the height of the control for subsequent alignment; this can be feed to a "-height" option when creating a control.

    Example: see col().

recalc()
    Recalculates the grid and repositions all the add()ed controls, taking into account the actual window and controls sizes; is only meaningful if the GridLayout was created with the apply() constructor.

    Example:

        sub Window_Resize {
            $grid->recalc();
        }

row(N, ALIGN)
    Positions the control at the Nth row in the grid, optionally with an ALIGN; this can be feed to a "-top" option when creating a control.

    ALIGN can be "top", "center" or "bottom" (can be shortened to t, c, b); default is top.

    Note that for alignment to work properly, the width() and height() methods must have been previously called.

    Example: see col().

width(N)
    Sets the width of the control for subsequent alignment; this can be feed to a "-width" option when creating a control.

    Example: see col().

VERSION
Win32::GUI::GridLayout version 0.03, 13 April 1999.

AUTHOR
Mike Kangas ( "kangas@anlon.com" ); additional coding by Aldo Calpini ( "dada@perl.it" ).