Gtk2HsContentsIndex
Graphics.UI.Gtk.Layout.Layout
Portabilityportable (depends on GHC)
Stabilityprovisional
Maintainergtk2hs-users@lists.sourceforge.net
Contents
Detail
Class Hierarchy
Types
Constructors
Methods
Attributes
Child Attributes
Signals
Description
Infinite scrollable area containing child widgets and/or custom drawing
Synopsis
data Layout
class ContainerClass o => LayoutClass o
castToLayout :: GObjectClass obj => obj -> Layout
toLayout :: LayoutClass o => o -> Layout
layoutNew :: Maybe Adjustment -> Maybe Adjustment -> IO Layout
layoutPut :: (LayoutClass self, WidgetClass childWidget) => self -> childWidget -> Int -> Int -> IO ()
layoutMove :: (LayoutClass self, WidgetClass childWidget) => self -> childWidget -> Int -> Int -> IO ()
layoutSetSize :: LayoutClass self => self -> Int -> Int -> IO ()
layoutGetSize :: LayoutClass self => self -> IO (Int, Int)
layoutGetHAdjustment :: LayoutClass self => self -> IO Adjustment
layoutGetVAdjustment :: LayoutClass self => self -> IO Adjustment
layoutSetHAdjustment :: LayoutClass self => self -> Adjustment -> IO ()
layoutSetVAdjustment :: LayoutClass self => self -> Adjustment -> IO ()
layoutGetDrawWindow :: Layout -> IO DrawWindow
layoutHAdjustment :: LayoutClass self => Attr self Adjustment
layoutVAdjustment :: LayoutClass self => Attr self Adjustment
layoutWidth :: LayoutClass self => Attr self Int
layoutHeight :: LayoutClass self => Attr self Int
layoutChildX :: (LayoutClass self, WidgetClass child) => child -> Attr self Int
layoutChildY :: (LayoutClass self, WidgetClass child) => child -> Attr self Int
onSetScrollAdjustments :: LayoutClass self => self -> (Adjustment -> Adjustment -> IO ()) -> IO (ConnectId self)
afterSetScrollAdjustments :: LayoutClass self => self -> (Adjustment -> Adjustment -> IO ()) -> IO (ConnectId self)
Detail
Layout is similar to DrawingArea in that it's a "blank slate" and doesn't do anything but paint a blank background by default. It's different in that it supports scrolling natively (you can add it to a ScrolledWindow), and it can contain child widgets, since it's a Container. However if you're just going to draw, a DrawingArea is a better choice since it has lower overhead.
Class Hierarchy
 |  GObject
 |   +----Object
 |         +----Widget
 |               +----Container
 |                     +----Layout
 
Types
data Layout
show/hide Instances
class ContainerClass o => LayoutClass o
show/hide Instances
castToLayout :: GObjectClass obj => obj -> Layout
toLayout :: LayoutClass o => o -> Layout
Constructors
layoutNew
:: Maybe Adjustmenthadjustment - horizontal scroll adjustment, or Nothing
-> Maybe Adjustmentvadjustment - vertical scroll adjustment, or Nothing
-> IO Layout
Creates a new Layout. Unless you have a specific adjustment you'd like the layout to use for scrolling, pass Nothing for hadjustment and vadjustment.
Methods
layoutPut
:: (LayoutClass self, WidgetClass childWidget)
=> self
-> childWidgetchildWidget - child widget
-> Intx - X position of child widget
-> Inty - Y position of child widget
-> IO ()
Adds childWidget to layout, at position (x,y). layout becomes the new parent container of childWidget.
layoutMove
:: (LayoutClass self, WidgetClass childWidget)
=> self
-> childWidgetchildWidget - a current child of layout
-> Intx - X position to move to
-> Inty - Y position to move to
-> IO ()
Moves a current child of layout to a new position.
layoutSetSize
:: LayoutClass self
=> self
-> Intwidth - width of entire scrollable area
-> Intheight - height of entire scrollable area
-> IO ()
Sets the size of the scrollable area of the layout.
layoutGetSize
:: LayoutClass self
=> self
-> IO (Int, Int)
(width, height)
Gets the size that has been set on the layout, and that determines the total extents of the layout's scrollbar area. See layoutSetSize.
layoutGetHAdjustment
:: LayoutClass self
=> self
-> IO Adjustmentreturns horizontal scroll adjustment

This function should only be called after the layout has been placed in a ScrolledWindow or otherwise configured for scrolling. It returns the Adjustment used for communication between the horizontal scrollbar and layout.

See ScrolledWindow, Scrollbar, Adjustment for details.

layoutGetVAdjustment
:: LayoutClass self
=> self
-> IO Adjustmentreturns vertical scroll adjustment

This function should only be called after the layout has been placed in a ScrolledWindow or otherwise configured for scrolling. It returns the Adjustment used for communication between the vertical scrollbar and layout.

See ScrolledWindow, Scrollbar, Adjustment for details.

layoutSetHAdjustment
:: LayoutClass self
=> self
-> Adjustmentadjustment - new scroll adjustment
-> IO ()

Sets the horizontal scroll adjustment for the layout.

See ScrolledWindow, Scrollbar, Adjustment for details.

layoutSetVAdjustment
:: LayoutClass self
=> self
-> Adjustmentadjustment - new scroll adjustment
-> IO ()

Sets the vertical scroll adjustment for the layout.

See ScrolledWindow, Scrollbar, Adjustment for details.

layoutGetDrawWindow :: Layout -> IO DrawWindow
Retrieves the Drawable part.
Attributes
layoutHAdjustment :: LayoutClass self => Attr self Adjustment
The Adjustment for the horizontal position.
layoutVAdjustment :: LayoutClass self => Attr self Adjustment
The Adjustment for the vertical position.
layoutWidth :: LayoutClass self => Attr self Int

The width of the layout.

Allowed values: <= (maxBound :: Int)

Default value: 100

layoutHeight :: LayoutClass self => Attr self Int

The height of the layout.

Allowed values: <= (maxBound :: Int)

Default value: 100

Child Attributes
layoutChildX :: (LayoutClass self, WidgetClass child) => child -> Attr self Int

X position of child widget.

Default value: 0

layoutChildY :: (LayoutClass self, WidgetClass child) => child -> Attr self Int

Y position of child widget.

Default value: 0

Signals
onSetScrollAdjustments :: LayoutClass self => self -> (Adjustment -> Adjustment -> IO ()) -> IO (ConnectId self)
In case the adjustments are replaced, this signal is emitted.
afterSetScrollAdjustments :: LayoutClass self => self -> (Adjustment -> Adjustment -> IO ()) -> IO (ConnectId self)
Produced by Haddock version 0.8