| gtk-0.11.0: 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 |
|
|
|
|
|
Description |
Adds scrollbars to its child widget
|
|
Synopsis |
|
|
|
|
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 | |
|
|
class BinClass o => ScrolledWindowClass o |
| Instances | |
|
|
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 | |
|
|
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 |
|
|
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 | |
|
|
scrolledWindowSetPlacement |
|
|
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 | |
|
|
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 |
|
|
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.4.2 |