|
Graphics.UI.Gtk.Abstract.Box | Portability | portable (depends on GHC) | Stability | provisional | Maintainer | gtk2hs-users@lists.sourceforge.net |
|
|
|
|
|
Description |
Base class for box containers
|
|
Synopsis |
|
|
|
|
Detail
|
|
Box is an abstract widget which encapsulates functionallity for a
particular kind of container, one that organizes a variable number of
widgets into a rectangular area. Box currently has two derived classes,
HBox and VBox.
The rectangular area of a Box is organized into either a single row or
a single column of child widgets depending upon whether the box is of type
HBox or VBox, respectively. Thus, all children of a Box are allocated
one dimension in common, which is the height of a row, or the width of a
column.
Box uses a notion of packing. Packing refers to adding widgets with
reference to a particular position in a Container. For a Box, there are
two reference positions: the start and the end of the box. For a VBox,
the start is defined as the top of the box and the end is defined as the
bottom. For a HBox the start is defined as the left side and the end is
defined as the right side.
Use repeated calls to boxPackStart to pack widgets into a Box from
start to end. Use boxPackEnd to add widgets from end to start. You may
intersperse these calls and add widgets from both ends of the same Box.
Use boxPackStartDefaults or boxPackEndDefaults to pack widgets into a
Box if you do not need to specify the expand, fill, or padding attributes
of the child to be added.
Because Box is a Container, you may also use containerAdd to insert
widgets into the box, and they will be packed as if with
boxPackStartDefaults. Use containerRemove to remove widgets from the
Box.
Use boxSetHomogeneous to specify whether or not all children of the
Box are forced to get the same amount of space.
Use boxSetSpacing to determine how much space will be minimally placed
between all children in the Box.
Use boxReorderChild to move a Box child to a different place in the
box.
Use boxSetChildPacking to reset the expand, fill, and padding
attributes of any Box child. Use boxQueryChildPacking to query these
fields.
|
|
Class Hierarchy
|
|
| GObject
| +----Object
| +----Widget
| +----Container
| +----Box
| +----ButtonBox
| +----VBox
| +----HBox
|
|
Types
|
|
data Box |
Instances | |
|
|
class ContainerClass o => BoxClass o |
| Instances | |
|
|
castToBox :: GObjectClass obj => obj -> Box |
|
data Packing |
Packing parameters of a widget
| Constructors | PackRepel | | PackGrow | | PackNatural | |
| Instances | |
|
|
Methods
|
|
boxPackStart |
:: (BoxClass self, WidgetClass child) | | => self | | -> child | child - the Widget to be added to the box.
| -> Packing | | -> Int | padding - extra space in pixels to put between this child and
its neighbors, over and above the global amount specified by
spacing boxSetSpacing. If child
is a widget at one of the reference ends of box, then padding
pixels are also put between child and the reference edge of
box.
| -> IO () | | Adds the child widget to the box, packed with reference to the start of
the box. The
child is packed after any other child packed with reference to the start
of the box.
The Packing parameter determines how the child behaves in the horizontal
or vertical way in an HBox or VBox, respectively. PackNatural means the
child is as big as it reqests. It will move to the left in an HBox or to
the top in an VBox if there is more space availble.
All children packed with PackRepel will be padded on both sides with
additional space. PackGrow will increase the size of the so that is
covers the available space.
|
|
|
boxPackEnd |
:: (BoxClass self, WidgetClass child) | | => self | | -> child | child - the Widget to be added to the box.
| -> Packing | | -> Int | padding - extra space in pixels to put between this child and
its neighbors, over and above the global amount specified by
spacing boxSetSpacing. If child
is a widget at one of the reference ends of box, then padding
pixels are also put between child and the reference edge of
box.
| -> IO () | | Adds the child widget to the box, packed with reference to the end of
the box. The
child is packed after (away from end of) any other child packed with
reference to the end of the box.
See boxPackStart for a description of the Packing parameter. Of course
for boxPackEnd the PackNatural option will move a child to the right in
an HBox or to the bottom in an VBox if there is more space availble.
|
|
|
boxPackStartDefaults |
|
|
boxPackEndDefaults |
|
|
boxGetHomogeneous |
:: BoxClass self | | => self | | -> IO Bool | returns True if the box is homogeneous.
| Returns whether the box is homogeneous (all children are the same size).
See boxSetHomogeneous.
|
|
|
boxSetHomogeneous |
:: BoxClass self | | => self | | -> Bool | homogeneous - a boolean value, True to create equal
allotments, False for variable allotments.
| -> IO () | | Sets the homogeneous property,
controlling whether or not all children of the box are given equal space
|
|
|
boxGetSpacing |
:: BoxClass self | | => self | | -> IO Int | returns spacing between children
| Retrieves the standard spacing between widgets.
|
|
|
boxSetSpacing |
:: BoxClass self | | => self | | -> Int | spacing - the number of pixels to put between children.
| -> IO () | | Set the standard spacing between two children.
This space is in addition to the padding parameter that is given for each
child.
|
|
|
boxReorderChild |
:: (BoxClass self, WidgetClass child) | | => self | | -> child | child - the Widget to move.
| -> Int | position - the new position for child in the children list
starting from 0. If negative, indicates the end of the list.
| -> IO () | | Moves child to a new position in the list of box children. The list
contains both widgets packed PackStart as well as widgets packed
PackEnd, in the order that these widgets were added to the box.
A widget's position in the box children list determines where the
widget is packed into the box. A child widget at some position in the list
will be packed just after all other widgets of the same packing type that
appear earlier in the list.
|
|
|
boxQueryChildPacking |
:: (BoxClass self, WidgetClass child) | | => self | | -> child | child - the Widget of the child to query.
| -> IO (Packing, Int, PackType) | (packing, padding, packType) | Returns information about how child is packed into the box.
Returns information on the behaviour if free space is available
(in Packing), the additional padding for this widget and if the widget
was inserted at the start or end of the container (PackType).
|
|
|
boxSetChildPacking |
|
|
Attributes
|
|
boxSpacing :: BoxClass self => Attr self Int |
The amount of space between children.
Allowed values: >= 0
Default value: 0
|
|
boxHomogeneous :: BoxClass self => Attr self Bool |
Whether the children should all be the same size.
Default value: False
|
|
Produced by Haddock version 0.7 |