{-# LINE 2 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}-- -*-haskell-*--- GIMP Toolkit (GTK) Widget HandleBox---- Author : Axel Simon---- Created: 23 May 2001---- Copyright (C) 1999-2005 Axel Simon---- This library is free software; you can redistribute it and/or-- modify it under the terms of the GNU Lesser General Public-- License as published by the Free Software Foundation; either-- version 2.1 of the License, or (at your option) any later version.---- This library is distributed in the hope that it will be useful,-- but WITHOUT ANY WARRANTY; without even the implied warranty of-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU-- Lesser General Public License for more details.---- |-- Maintainer : gtk2hs-users@lists.sourceforge.net-- Stability : provisional-- Portability : portable (depends on GHC)---- a widget for detachable window portions--moduleGraphics.UI.Gtk.Misc.HandleBox(-- * Detail---- | The 'HandleBox' 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'.-- * Class Hierarchy-- |-- @-- | 'GObject'-- | +----'Object'-- | +----'Widget'-- | +----'Container'-- | +----'Bin'-- | +----HandleBox-- @-- * TypesHandleBox,HandleBoxClass,castToHandleBox,gTypeHandleBox,toHandleBox,-- * ConstructorshandleBoxNew,-- * MethodsShadowType(..),handleBoxSetShadowType,handleBoxGetShadowType,PositionType(..),handleBoxSetHandlePosition,handleBoxGetHandlePosition,handleBoxSetSnapEdge,handleBoxGetSnapEdge,-- * AttributeshandleBoxShadowType,handleBoxHandlePosition,handleBoxSnapEdge,handleBoxSnapEdgeSet,-- * SignalsonChildAttached,afterChildAttached,onChildDetached,afterChildDetached,)whereimportControl.Monad(liftM)importSystem.Glib.FFIimportSystem.Glib.AttributesimportSystem.Glib.PropertiesimportGraphics.UI.Gtk.Abstract.Object(makeNewObject)importGraphics.UI.Gtk.Types{-# LINE 101 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}importGraphics.UI.Gtk.Signals{-# LINE 102 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}importGraphics.UI.Gtk.General.Enums(ShadowType(..),PositionType(..)){-# LINE 105 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}---------------------- Constructors-- | Create a new handle box.--handleBoxNew::IOHandleBoxhandleBoxNew=makeNewObjectmkHandleBox$liftM(castPtr::PtrWidget->PtrHandleBox)$gtk_handle_box_new{-# LINE 116 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}---------------------- Methods-- | Sets the type of shadow to be drawn around the border of the handle box.--handleBoxSetShadowType::HandleBoxClassself=>self->ShadowType->IO()handleBoxSetShadowTypeselftype_=(\(HandleBoxarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_handle_box_set_shadow_typeargPtr1arg2){-# LINE 125 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}(toHandleBoxself)((fromIntegral.fromEnum)type_)-- | Gets the type of shadow drawn around the handle box. See-- 'handleBoxSetShadowType'.--handleBoxGetShadowType::HandleBoxClassself=>self->IOShadowType-- ^ returns the type of shadow currently drawn around the-- handle box.handleBoxGetShadowTypeself=liftM(toEnum.fromIntegral)$(\(HandleBoxarg1)->withForeignPtrarg1$\argPtr1->gtk_handle_box_get_shadow_typeargPtr1){-# LINE 137 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}(toHandleBoxself)-- | Sets the side of the handlebox where the handle is drawn.--handleBoxSetHandlePosition::HandleBoxClassself=>self->PositionType-- ^ @position@ - the side of the handlebox where the handle-- should be drawn.->IO()handleBoxSetHandlePositionselfposition=(\(HandleBoxarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_handle_box_set_handle_positionargPtr1arg2){-# LINE 147 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}(toHandleBoxself)((fromIntegral.fromEnum)position)-- | Gets the handle position of the handle box. See-- 'handleBoxSetHandlePosition'.--handleBoxGetHandlePosition::HandleBoxClassself=>self->IOPositionType-- ^ returns the current handle position.handleBoxGetHandlePositionself=liftM(toEnum.fromIntegral)$(\(HandleBoxarg1)->withForeignPtrarg1$\argPtr1->gtk_handle_box_get_handle_positionargPtr1){-# LINE 158 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}(toHandleBoxself)-- | Sets 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'.--handleBoxSetSnapEdge::HandleBoxClassself=>self->PositionType->IO()handleBoxSetSnapEdgeselfedge=(\(HandleBoxarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_handle_box_set_snap_edgeargPtr1arg2){-# LINE 175 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}(toHandleBoxself)((fromIntegral.fromEnum)edge)-- | Gets the edge used for determining reattachment of the handle box. See-- 'handleBoxSetSnapEdge'.--handleBoxGetSnapEdge::HandleBoxClassself=>self->IOPositionTypehandleBoxGetSnapEdgeself=liftM(toEnum.fromIntegral)$(\(HandleBoxarg1)->withForeignPtrarg1$\argPtr1->gtk_handle_box_get_snap_edgeargPtr1){-# LINE 186 "./Graphics/UI/Gtk/Misc/HandleBox.chs" #-}(toHandleBoxself)---------------------- Attributes-- | Appearance of the shadow that surrounds the container.---- Default value: 'ShadowEtchedOut'--handleBoxShadowType::HandleBoxClassself=>AttrselfShadowTypehandleBoxShadowType=newAttrhandleBoxGetShadowTypehandleBoxSetShadowType-- | Position of the handle relative to the child widget.---- Default value: 'PosLeft'--handleBoxHandlePosition::HandleBoxClassself=>AttrselfPositionTypehandleBoxHandlePosition=newAttrhandleBoxGetHandlePositionhandleBoxSetHandlePosition-- | Side of the handlebox that's lined up with the docking point to dock the-- handlebox.---- Default value: 'PosTop'--handleBoxSnapEdge::HandleBoxClassself=>AttrselfPositionTypehandleBoxSnapEdge=newAttrhandleBoxGetSnapEdgehandleBoxSetSnapEdge-- | Whether to use the value from the snap_edge property or a value derived-- from handle_position.---- Default value: @False@--handleBoxSnapEdgeSet::HandleBoxClassself=>AttrselfBoolhandleBoxSnapEdgeSet=newAttrFromBoolProperty"snap-edge-set"---------------------- Signals-- Note: for these two signales we ignore the given Widget in the handler.-- | This signal is emitted when the contents of the handlebox are reattached-- to the main window.--onChildAttached,afterChildAttached::HandleBoxClassself=>self->IO()->IO(ConnectIdself)onChildAttached=connect_NONE__NONE"child-attached"FalseafterChildAttached=connect_NONE__NONE"child-attached"True-- | This signal is emitted when the contents of the handlebox are detached-- from the main window.--onChildDetached,afterChildDetached::HandleBoxClassself=>self->IO()->IO(ConnectIdself)onChildDetached=connect_NONE__NONE"child-detached"FalseafterChildDetached=connect_NONE__NONE"child-detached"Trueforeignimportccallunsafe"gtk_handle_box_new"gtk_handle_box_new::(IO(PtrWidget))foreignimportccallsafe"gtk_handle_box_set_shadow_type"gtk_handle_box_set_shadow_type::((PtrHandleBox)->(CInt->(IO())))foreignimportccallunsafe"gtk_handle_box_get_shadow_type"gtk_handle_box_get_shadow_type::((PtrHandleBox)->(IOCInt))foreignimportccallsafe"gtk_handle_box_set_handle_position"gtk_handle_box_set_handle_position::((PtrHandleBox)->(CInt->(IO())))foreignimportccallunsafe"gtk_handle_box_get_handle_position"gtk_handle_box_get_handle_position::((PtrHandleBox)->(IOCInt))foreignimportccallsafe"gtk_handle_box_set_snap_edge"gtk_handle_box_set_snap_edge::((PtrHandleBox)->(CInt->(IO())))foreignimportccallunsafe"gtk_handle_box_get_snap_edge"gtk_handle_box_get_snap_edge::((PtrHandleBox)->(IOCInt))