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
orright
(can be shortened tol
,c
,r
); default isleft
.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
orbottom
(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@divinf.it
).