| Gtk2Hs | Contents | Index

Graphics.UI.Gtk.Layout.Layout

Portability | portable (depends on GHC)
Stability | provisional
Maintainer | gtk2hs-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

Instances

GObjectClass Layout
LayoutClass Layout
ContainerClass Layout
WidgetClass Layout
ObjectClass Layout

class ContainerClass o => LayoutClass o

Instances

LayoutClass Layout

castToLayout :: GObjectClass obj => obj -> Layout
toLayout :: LayoutClass o => o -> Layout
Constructors
layoutNew

:: Maybe Adjustment | `hadjustment` - horizontal scroll adjustment, or `Nothing`
-> Maybe Adjustment | `vadjustment` - 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 |
-> childWidget | `childWidget` - child widget
-> Int | `x` - X position of child widget
-> Int | `y` - 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 |
-> childWidget | `childWidget` - a current child of `layout`
-> Int | `x` - X position to move to
-> Int | `y` - Y position to move to
-> IO () |
Moves a current child of `layout` to a new position.

layoutSetSize

:: LayoutClass self |
=> self |
-> Int | `width` - width of entire scrollable area
-> Int | `height` - 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 Adjustment | returns 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 Adjustment | returns 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 |
-> Adjustment | `adjustment` - new scroll adjustment
-> IO () |
Sets the horizontal scroll adjustment for the layout. See `ScrolledWindow`, `Scrollbar`, `Adjustment` for details.

layoutSetVAdjustment

:: LayoutClass self |
=> self |
-> Adjustment | `adjustment` - 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)
afterSetScrollAdjustments :: LayoutClass self => self -> (Adjustment -> Adjustment -> IO ()) -> IO (ConnectId self)
In case the adjustments are replaced, this signal is emitted.
Produced by Haddock version 2.4.2