gtk-0.12.0: Binding to the Gtk+ graphical user interface library.

Portability | portable (depends on GHC)
Stability | provisional
Maintainer | gtk2hs-users@lists.sourceforge.net

Graphics.UI.Gtk.Layout.Layout

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
- gTypeLayout :: GType
- 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

Eq Layout |
Ord Layout |
GObjectClass Layout |
LayoutClass Layout |
ContainerClass Layout |
WidgetClass Layout |
ObjectClass Layout |

class ContainerClass o => LayoutClass o

Instances

LayoutClass Layout |

castToLayout :: GObjectClass obj => obj -> Layout

gTypeLayout :: GType

toLayout :: LayoutClass o => o -> Layout

# Constructors

layoutNew

Arguments

:: 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

Arguments

:: (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

Arguments

:: (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

Arguments

:: 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

Arguments

:: 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

Arguments

:: 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

Arguments

:: 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

Arguments

:: LayoutClass self |
=> self |
-> Adjustment | `adjustment` - new scroll adjustment
-> IO () |

Sets the horizontal scroll adjustment for the layout.

See `ScrolledWindow`, `Scrollbar`, `Adjustment` for details.

layoutSetVAdjustment

Arguments

:: 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.