| gtk-0.11.2: Binding to the Gtk+ graphical user interface library. | Contents | Index
Graphics.UI.Gtk.Scrolling.ScrolledWindow |
Portability | portable (depends on GHC)
Stability | provisional
Maintainer | gtk2hs-users@lists.sourceforge.net
Contents
Detail Class Hierarchy Types Constructors Methods Attributes
Description
Adds scrollbars to its child widget
Synopsis
data ScrolledWindow
class BinClass o => ScrolledWindowClass o
castToScrolledWindow :: GObjectClass obj => obj -> ScrolledWindow
gTypeScrolledWindow :: GType
toScrolledWindow :: ScrolledWindowClass o => o -> ScrolledWindow
scrolledWindowNew :: Maybe Adjustment -> Maybe Adjustment -> IO ScrolledWindow
scrolledWindowGetHAdjustment :: ScrolledWindowClass self => self -> IO Adjustment
scrolledWindowGetVAdjustment :: ScrolledWindowClass self => self -> IO Adjustment
data PolicyType
= PolicyAlways
| PolicyAutomatic
| PolicyNever
scrolledWindowSetPolicy :: ScrolledWindowClass self => self -> PolicyType -> PolicyType -> IO ()
scrolledWindowGetPolicy :: ScrolledWindowClass self => self -> IO (PolicyType, PolicyType)
scrolledWindowAddWithViewport :: (ScrolledWindowClass self, WidgetClass child) => self -> child -> IO ()
data CornerType
= CornerTopLeft
| CornerBottomLeft
| CornerTopRight
| CornerBottomRight
scrolledWindowSetPlacement :: ScrolledWindowClass self => self -> CornerType -> IO ()
scrolledWindowGetPlacement :: ScrolledWindowClass self => self -> IO CornerType
data ShadowType
= ShadowNone
| ShadowIn
| ShadowOut
| ShadowEtchedIn
| ShadowEtchedOut
scrolledWindowSetShadowType :: ScrolledWindowClass self => self -> ShadowType -> IO ()
scrolledWindowGetShadowType :: ScrolledWindowClass self => self -> IO ShadowType
scrolledWindowSetHAdjustment :: ScrolledWindowClass self => self -> Adjustment -> IO ()
scrolledWindowSetVAdjustment :: ScrolledWindowClass self => self -> Adjustment -> IO ()
scrolledWindowGetHScrollbar :: ScrolledWindowClass self => self -> IO (Maybe HScrollbar)
scrolledWindowGetVScrollbar :: ScrolledWindowClass self => self -> IO (Maybe VScrollbar)
scrolledWindowHAdjustment :: ScrolledWindowClass self => Attr self Adjustment
scrolledWindowVAdjustment :: ScrolledWindowClass self => Attr self Adjustment
scrolledWindowHscrollbarPolicy :: ScrolledWindowClass self => Attr self PolicyType
scrolledWindowVscrollbarPolicy :: ScrolledWindowClass self => Attr self PolicyType
scrolledWindowWindowPlacement :: ScrolledWindowClass self => Attr self CornerType
scrolledWindowShadowType :: ScrolledWindowClass self => Attr self ShadowType
scrolledWindowPlacement :: ScrolledWindowClass self => Attr self CornerType
Detail
`ScrolledWindow` is a `Bin` subclass: it's a container the accepts a single child widget. `ScrolledWindow` adds scrollbars to the child widget and optionally draws a beveled frame around the child widget. The scrolled window can work in two ways. Some widgets have native scrolling support; these widgets have "slots" for `Adjustment` objects. Widgets with native scroll support include `TreeView`, `TextView`, and `Layout`. For widgets that lack native scrolling support, the `Viewport` widget acts as an adaptor class, implementing scrollability for child widgets that lack their own scrolling capabilities. Use `Viewport` to scroll child widgets such as `Table`, `Box`, and so on. If a widget has native scrolling abilities, it can be added to the `ScrolledWindow` with Graphics.UI.Gtk.Abstract.Container.containerAdd. If a widget does not, you must first add the widget to a `Viewport`, then add the `Viewport` to the scrolled window. The convenience function `scrolledWindowAddWithViewport` does exactly this, so you can ignore the presence of the viewport. The position of the scrollbars is controlled by the scroll adjustments. See `Adjustment` for the fields in an adjustment - for `Scrollbar`, used by `ScrolledWindow`, the "value" field represents the position of the scrollbar, which must be between the "lower" field and "upper - page_size." The "page_size" field represents the size of the visible scrollable area. The "step_increment" and "page_increment" fields are used when the user asks to step down (using the small stepper arrows) or page down (using for example the PageDown key). If a `ScrolledWindow` doesn't behave quite as you would like, or doesn't have exactly the right layout, it's very possible to set up your own scrolling with `Scrollbar` and for example a `Table`.
Class Hierarchy
     | GObject
     | +----Object
     | +----Widget
     | +----Container
     | +----Bin
     | +----ScrolledWindow
Types
data ScrolledWindow
Instances
Eq ScrolledWindow |
Ord ScrolledWindow |
GObjectClass ScrolledWindow |
ScrolledWindowClass ScrolledWindow |
BinClass ScrolledWindow |
ContainerClass ScrolledWindow |
WidgetClass ScrolledWindow |
ObjectClass ScrolledWindow |
class BinClass o => ScrolledWindowClass o
Instances
ScrolledWindowClass ScrolledWindow |
castToScrolledWindow :: GObjectClass obj => obj -> ScrolledWindow
gTypeScrolledWindow :: GType
toScrolledWindow :: ScrolledWindowClass o => o -> ScrolledWindow
Constructors
scrolledWindowNew
:: Maybe Adjustment | `hadjustment` - Horizontal adjustment.
-> Maybe Adjustment | `vadjustment` - Vertical adjustment.
-> IO ScrolledWindow |
Creates a new scrolled window. The two arguments are the scrolled window's adjustments; these will be shared with the scrollbars and the child widget to keep the bars in sync with the child. Usually you want to pass `Nothing` for the adjustments, which will cause the scrolled window to create them for you.
Methods
scrolledWindowGetHAdjustment :: ScrolledWindowClass self => self -> IO Adjustment
Returns the horizontal scrollbar's adjustment, used to connect the horizontal scrollbar to the child widget's horizontal scroll functionality.
scrolledWindowGetVAdjustment :: ScrolledWindowClass self => self -> IO Adjustment
Returns the vertical scrollbar's adjustment, used to connect the vertical scrollbar to the child widget's vertical scroll functionality.
data PolicyType
Constructors
PolicyAlways |
PolicyAutomatic |
PolicyNever |
Instances
Enum PolicyType |
Eq PolicyType |
Show PolicyType |
scrolledWindowSetPolicy
:: ScrolledWindowClass self |
=> self |
-> PolicyType | `hscrollbarPolicy` - Policy for horizontal bar.
-> PolicyType | `vscrollbarPolicy` - Policy for vertical bar.
-> IO () |
Sets the scrollbar policy for the horizontal and vertical scrollbars. The policy determines when the scrollbar should appear; it is a value from the `PolicyType` enumeration. If `PolicyAlways`, the scrollbar is always present; if `PolicyNever`, the scrollbar is never present; if `PolicyAutomatic`, the scrollbar is present only if needed (that is, if the slider part of the bar would be smaller than the trough - the display is larger than the page size).
scrolledWindowGetPolicy
:: ScrolledWindowClass self |
=> self |
-> IO (PolicyType, PolicyType) |
    (hscrollbarPolicy, vscrollbarPolicy)
Retrieves the current policy values for the horizontal and vertical scrollbars. See `scrolledWindowSetPolicy`.
scrolledWindowAddWithViewport
:: (ScrolledWindowClass self, WidgetClass child) |
=> self |
-> child | `child` - Widget you want to scroll.
-> IO () |
Used to add children without native scrolling capabilities. This is simply a convenience function; it is equivalent to adding the unscrollable child to a viewport, then adding the viewport to the scrolled window. If a child has native scrolling, use Graphics.UI.Gtk.Abstract.Container.containerAdd instead of this function. The viewport scrolls the child by moving its `DrawWindow`, and takes the size of the child to be the size of its toplevel `DrawWindow`. This will be very wrong for most widgets that support native scrolling; for example, if you add a widget such as `TreeView` with a viewport, the whole widget will scroll, including the column headings. Thus, widgets with native scrolling support should not be used with the `Viewport` proxy.
data CornerType
Specifies in which corner a child widget should be placed
Constructors
CornerTopLeft |
CornerBottomLeft |
CornerTopRight |
CornerBottomRight |
Instances
Enum CornerType |
Eq CornerType |
Show CornerType |
scrolledWindowSetPlacement
:: ScrolledWindowClass self |
=> self |
-> CornerType | `windowPlacement` - Position of the child window.
-> IO () |
Determines the location of the child widget with respect to the scrollbars. The default is `CornerTopLeft`, meaning the child is in the top left, with the scrollbars underneath and to the right. Other values in `CornerType` are `CornerTopRight`, `CornerBottomLeft`, and `CornerBottomRight`.
scrolledWindowGetPlacement :: ScrolledWindowClass self => self -> IO CornerType
Gets the placement of the scrollbars for the scrolled window. See `scrolledWindowSetPlacement`.
data ShadowType
Shadow types
Constructors
ShadowNone |
ShadowIn |
ShadowOut |
ShadowEtchedIn |
ShadowEtchedOut |
Instances
Enum ShadowType |
Eq ShadowType |
Show ShadowType |
scrolledWindowSetShadowType :: ScrolledWindowClass self => self -> ShadowType -> IO ()
Changes the type of shadow drawn around the contents of `scrolledWindow`.
scrolledWindowGetShadowType :: ScrolledWindowClass self => self -> IO ShadowType
Gets the shadow type of the scrolled window. See `scrolledWindowSetShadowType`.
scrolledWindowSetHAdjustment :: ScrolledWindowClass self => self -> Adjustment -> IO ()
Sets the `Adjustment` for the horizontal scrollbar.
scrolledWindowSetVAdjustment
:: ScrolledWindowClass self |
=> self |
-> Adjustment | `vadjustment` - Vertical scroll adjustment.
-> IO () |
Sets the `Adjustment` for the vertical scrollbar.
scrolledWindowGetHScrollbar
:: ScrolledWindowClass self |
=> self |
-> IO (Maybe HScrollbar) | returns the horizontal scrollbar of the scrolled window, or `Nothing` if it does not have one.
Returns the horizontal scrollbar of `scrolledWindow`. Available since Gtk+ version 2.8
scrolledWindowGetVScrollbar
:: ScrolledWindowClass self |
=> self |
-> IO (Maybe VScrollbar) | returns the vertical scrollbar of the scrolled window, or `Nothing` if it does not have one.
Returns the vertical scrollbar of `scrolledWindow`. Available since Gtk+ version 2.8
Attributes
scrolledWindowHAdjustment :: ScrolledWindowClass self => Attr self Adjustment
The `Adjustment` for the horizontal position.
scrolledWindowVAdjustment :: ScrolledWindowClass self => Attr self Adjustment
The `Adjustment` for the vertical position.
scrolledWindowHscrollbarPolicy :: ScrolledWindowClass self => Attr self PolicyType
When the horizontal scrollbar is displayed. Default value: `PolicyAlways`
scrolledWindowVscrollbarPolicy :: ScrolledWindowClass self => Attr self PolicyType
When the vertical scrollbar is displayed. Default value: `PolicyAlways`
scrolledWindowWindowPlacement :: ScrolledWindowClass self => Attr self CornerType
Where the contents are located with respect to the scrollbars. Default value: `CornerTopLeft`
scrolledWindowShadowType :: ScrolledWindowClass self => Attr self ShadowType
Style of bevel around the contents. Default value: `ShadowNone`
scrolledWindowPlacement :: ScrolledWindowClass self => Attr self CornerType
'placement' property. See `scrolledWindowGetPlacement` and `scrolledWindowSetPlacement`
Produced by Haddock version 2.7.2