| Maintainer | gtk2hs-users@lists.sourceforge.net |
|---|---|
| Stability | provisional |
| Portability | portable (depends on GHC) |
| Safe Haskell | None |
| Language | Haskell98 |
Graphics.UI.Gtk.Abstract.Box
Description
Base class for box containers
Synopsis
- data Box
- class ContainerClass o => BoxClass o
- castToBox :: GObjectClass obj => obj -> Box
- gTypeBox :: GType
- toBox :: BoxClass o => o -> Box
- data Packing
- boxPackStart :: (BoxClass self, WidgetClass child) => self -> child -> Packing -> Int -> IO ()
- boxPackEnd :: (BoxClass self, WidgetClass child) => self -> child -> Packing -> Int -> IO ()
- boxGetHomogeneous :: BoxClass self => self -> IO Bool
- boxSetHomogeneous :: BoxClass self => self -> Bool -> IO ()
- boxGetSpacing :: BoxClass self => self -> IO Int
- boxSetSpacing :: BoxClass self => self -> Int -> IO ()
- boxReorderChild :: (BoxClass self, WidgetClass child) => self -> child -> Int -> IO ()
- boxQueryChildPacking :: (BoxClass self, WidgetClass child) => self -> child -> IO (Packing, Int, PackType)
- boxSetChildPacking :: (BoxClass self, WidgetClass child) => self -> child -> Packing -> Int -> PackType -> IO ()
- boxGetBaselinePosition :: BoxClass self => self -> IO BaselinePosition
- boxSetBaselinePosition :: BoxClass self => self -> BaselinePosition -> IO ()
- boxGetCenterWidget :: BoxClass self => self -> IO Widget
- boxSetCenterWidget :: (BoxClass self, WidgetClass widget) => self -> widget -> IO ()
- boxSpacing :: BoxClass self => Attr self Int
- boxHomogeneous :: BoxClass self => Attr self Bool
- boxBaselinePosition :: BoxClass self => Attr self BaselinePosition
- boxCenterWidget :: (BoxClass self, WidgetClass widget) => ReadWriteAttr self Widget widget
- boxChildPacking :: (BoxClass self, WidgetClass child) => child -> Attr self Packing
- boxChildPadding :: (BoxClass self, WidgetClass child) => child -> Attr self Int
- boxChildPackType :: (BoxClass self, WidgetClass child) => child -> Attr self PackType
- boxChildPosition :: (BoxClass self, WidgetClass child) => child -> Attr self Int
Detail
Box is an abstract widget which encapsulates functionality 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.
Besides adding widgets at the start or the end of a box, you can also
specify the padding around each widget (in pixels) and a Packing
parameter that denotes how to fill up unused space.
While the right amount of padding around each widget is a matter of
appearance, the Packing paramter specifies the way the widgets in
the container behave when the window is resized and thereby affect
the usability. Hence, once you have created a window, you should resize
it and see if the widgets behave as expected. The Packing parameter of
each child widget determines how excess space is used by that particular
widget. See the description of Packing for a detailed explanaition.
Because Box is a Container, you may also use
containerAdd to insert widgets into
the box, and they will be packed as if with boxPackStart with PackRepel
and 0 padding. 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. Note that the
Packing options PackNatural and PackRepel coincide if space is
allotted homogeneously.
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
Instances
| Eq Box Source # | |
| Ord Box Source # | |
| GObjectClass Box Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass Box Source # | |
Defined in Graphics.UI.Gtk.Types | |
| ContainerClass Box Source # | |
Defined in Graphics.UI.Gtk.Types | |
| WidgetClass Box Source # | |
Defined in Graphics.UI.Gtk.Types | |
class ContainerClass o => BoxClass o Source #
Instances
| BoxClass Statusbar Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass FileChooserButton Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass InfoBar Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass HBox Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass FileChooserWidget Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass FontSelection Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass ColorSelection Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass RecentChooserWidget Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass VBox Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass VButtonBox Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass HButtonBox Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass ButtonBox Source # | |
Defined in Graphics.UI.Gtk.Types | |
| BoxClass Box Source # | |
Defined in Graphics.UI.Gtk.Types | |
castToBox :: GObjectClass obj => obj -> Box Source #
Packing parameters of a widget
- The
Packingparameter determines how the child behaves in the horizontal or vertical way in anHBoxorVBox, respectively.PackNaturalmeans the child is as big as it requests. It will stay at the start or end of aBoxif there is more space available. All children packed withPackRepelwill be padded on both sides with additional space.PackGrowwill increase the size of a widget so that it covers the available space. A menu bar, for instance, should always stay at the top of a window and should only occupy as little space as possible. Hence it should be packed at the start of aVBoxwith the packing optionPackNatural. The working area of a window (e.g. the text area in an editor) should expand when the window is resized. Here the packing optionPackGrowis the right choice and it is irrelevant whether the main area is inserted at the start or the end of a box. FinallyPackRepelis most useful in a window where no widget can make use of excess space. Examples include a dialog box without list boxes or text fields.
Constructors
| PackRepel | |
| PackGrow | |
| PackNatural |
Instances
| Enum Packing Source # | |
| Eq Packing Source # | |
| Show Packing Source # | |
Source ## # # Eq Eq Eq Packing -> Stri-Eq.html#t:Eq" title="Data.Eq">Eq Eq Packing -> Eq Eq Eq Eq Eq td cl/librabraries/base-4.11.1.0/#line-314" cl: cl: cl: cl: cl: cl: cl: cl: cl: cl: cl: cl: cl: cl: cl: cl: cl: cltrol details+Ods">