Gtk2HsContentsIndex
Graphics.UI.Gtk.Misc.HandleBox
Description

Add a handle to some other widget so that it can be detached and reattached from the main application.

  • The GtkHandleBox widget allows a portion of a window to be "torn off". It is a bin widget which displays its child and a handle that the user can drag to tear off a separate window (the float window) containing the child widget. A thin ghost is drawn in the original location of the handlebox. By dragging the separate window back to its original location, it can be reattached. When reattaching, the ghost and float window, must be aligned along one of the edges, the snap edge. This either can be specified by the application programmer explicitely, or GTK+ will pick a reasonable default based on the handle position. To make detaching and reattaching the handlebox as minimally confusing as possible to the user, it is important to set the snap edge so that the snap edge does not move when the handlebox is deattached. For instance, if the handlebox is packed at the bottom of a VBox, then when the handlebox is detached, the bottom edge of the handlebox's allocation will remain fixed as the height of the handlebox shrinks, so the snap edge should be set to PosBottom.
Synopsis
data HandleBox
class BinClass o => HandleBoxClass o
castToHandleBox :: GObjectClass obj => obj -> HandleBox
handleBoxNew :: IO HandleBox
data ShadowType
= ShadowNone
| ShadowIn
| ShadowOut
| ShadowEtchedIn
| ShadowEtchedOut
handleBoxSetShadowType :: HandleBoxClass hb => hb -> ShadowType -> IO ()
handleBoxGetShadowType :: HandleBoxClass hb => hb -> IO ShadowType
data PositionType
= PosLeft
| PosRight
| PosTop
| PosBottom
handleBoxSetHandlePosition :: HandleBoxClass hb => hb -> PositionType -> IO ()
handleBoxGetHandlePosition :: HandleBoxClass hb => hb -> IO PositionType
handleBoxSetSnapEdge :: HandleBoxClass hb => hb -> PositionType -> IO ()
handleBoxGetSnapEdge :: HandleBoxClass hb => hb -> IO PositionType
onChildAttached :: HandleBoxClass hb => hb -> IO () -> IO (ConnectId hb)
afterChildAttached :: HandleBoxClass hb => hb -> IO () -> IO (ConnectId hb)
onChildDetached :: HandleBoxClass hb => hb -> IO () -> IO (ConnectId hb)
afterChildDetached :: HandleBoxClass hb => hb -> IO () -> IO (ConnectId hb)
Documentation
data HandleBox
Instances
HandleBoxClass HandleBox
BinClass HandleBox
ContainerClass HandleBox
WidgetClass HandleBox
ObjectClass HandleBox
GObjectClass HandleBox
class BinClass o => HandleBoxClass o
Instances
HandleBoxClass HandleBox
castToHandleBox :: GObjectClass obj => obj -> HandleBox
handleBoxNew :: IO HandleBox
Create a new handle box.
data ShadowType
Shadow types
Constructors
ShadowNone
ShadowIn
ShadowOut
ShadowEtchedIn
ShadowEtchedOut
Instances
Enum ShadowType
handleBoxSetShadowType :: HandleBoxClass hb => hb -> ShadowType -> IO ()
Set the shadow type of the detached box.
handleBoxGetShadowType :: HandleBoxClass hb => hb -> IO ShadowType
Get the shadow type of the detached box.
data PositionType
Position a scale's value is drawn relative to the trough
Constructors
PosLeft
PosRight
PosTop
PosBottom
Instances
Enum PositionType
handleBoxSetHandlePosition :: HandleBoxClass hb => hb -> PositionType -> IO ()
Set the position of the handle.
handleBoxGetHandlePosition :: HandleBoxClass hb => hb -> IO PositionType
Get the position of the handle.
handleBoxSetSnapEdge :: HandleBoxClass hb => hb -> PositionType -> IO ()

Set the snap edge of the HandleBox.

  • The snap edge is the edge of the detached child that must be aligned with the corresponding edge of the "ghost" left behind when the child was detached to reattach the torn-off window. Usually, the snap edge should be chosen so that it stays in the same place on the screen when the handlebox is torn off. If the snap edge is not set, then an appropriate value will be guessed from the handle position. If the handle position is PosRight or PosLeft, then the snap edge will be PosTop, otherwise it will be PosLeft.
handleBoxGetSnapEdge :: HandleBoxClass hb => hb -> IO PositionType
Gets the edge used for determining reattachment of the handle box. See handleBoxSetSnapEdge.
onChildAttached :: HandleBoxClass hb => hb -> IO () -> IO (ConnectId hb)

Emitted when the contents of the handlebox are reattached to the main window.

  • (INTERNAL) We ignore the given Widget.
afterChildAttached :: HandleBoxClass hb => hb -> IO () -> IO (ConnectId hb)
onChildDetached :: HandleBoxClass hb => hb -> IO () -> IO (ConnectId hb)
Emitted when the HandleBox is detached form the main window.
afterChildDetached :: HandleBoxClass hb => hb -> IO () -> IO (ConnectId hb)
Produced by Haddock version 0.6