{-# LINE 2 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
-- -*-haskell-*-
-- GIMP Toolkit (GTK) Widget Paned
--
-- Author : Axel Simon
--
-- Created: 15 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)
--
-- Base class for widgets with two adjustable panes
--
module Graphics.UI.Gtk.Abstract.Paned (
-- * Detail
--
-- | 'Paned' is the base class for widgets with two panes, arranged either
-- horizontally ('HPaned') or vertically ('VPaned'). Child widgets are added to
-- the panes of the widget with 'panedPack1' and 'panedPack2'. The division
-- beween the two children is set by default from the size requests of the
-- children, but it can be adjusted by the user.
--
-- A paned widget draws a separator between the two child widgets and a
-- small handle that the user can drag to adjust the division. It does not draw
-- any relief around the children or around the separator. (The space in which
-- the separator is called the gutter.) Often, it is useful to put each child
-- inside a 'Frame' with the shadow type set to
-- 'Graphics.UI.Gtk.General.Enums.ShadowIn' so that the gutter appears as a
-- ridge.
--
-- Each child has two options that can be set, @resize@ and @shrink@. If
-- @resize@ is true, then when the 'Paned' is resized, that child will expand
-- or shrink along with the paned widget. If @shrink@ is true, then when that
-- child can be made smaller than its requisition by the user. Setting @shrink@
-- to @False@ allows the application to set a minimum size. If @resize@ is
-- false for both children, then this is treated as if @resize@ is true for
-- both children.
--
-- The application can set the position of the slider as if it were set by
-- the user, by calling 'panedSetPosition'.

-- * Class Hierarchy
-- |
-- @
-- | 'GObject'
-- | +----'Object'
-- | +----'Widget'
-- | +----'Container'
-- | +----Paned
-- | +----'HPaned'
-- | +----'VPaned'
-- @

-- * Types
  Paned,
  PanedClass,
  castToPaned, gTypePaned,
  toPaned,

-- * Methods
  panedAdd1,
  panedAdd2,
  panedPack1,
  panedPack2,
  panedSetPosition,
  panedGetPosition,

  panedGetChild1,
  panedGetChild2,


  panedGetHandleWindow,


-- * Attributes
  panedPosition,
  panedPositionSet,

  panedMinPosition,
  panedMaxPosition,


-- * Child Attributes

  panedChildResize,
  panedChildShrink,



-- * Deprecated Signals

  onCycleChildFocus,
  afterCycleChildFocus,
  onToggleHandleFocus,
  afterToggleHandleFocus,
  onMoveHandle,
  afterMoveHandle,
  onCycleHandleFocus,
  afterCycleHandleFocus,
  onAcceptPosition,
  afterAcceptPosition,
  onCancelPosition,
  afterCancelPosition,

  ) where

import Control.Monad (liftM)

import System.Glib.FFI
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 128 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}

import Graphics.UI.Gtk.Signals
{-# LINE 130 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
import Graphics.UI.Gtk.General.Enums (ScrollType)

import Graphics.UI.Gtk.Abstract.ContainerChildProperties


{-# LINE 135 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}

--------------------
-- Methods

-- | Adds a child to the top or left pane with default parameters. This is
-- equivalent to @'panedPack1' paned child False True@.
--
panedAdd1 :: (PanedClass self, WidgetClass child) => self
 -> child -- ^ @child@ - the child to add
 -> IO ()
panedAdd1 :: forall self child.
(PanedClass self, WidgetClass child) =>
self -> child -> IO ()
panedAdd1 self
self child
child =
  (\(Paned ForeignPtr Paned
arg1) (Widget ForeignPtr Widget
arg2) -> ForeignPtr Paned -> (Ptr Paned -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Paned
arg1 ((Ptr Paned -> IO ()) -> IO ()) -> (Ptr Paned -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Paned
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->Ptr Paned -> Ptr Widget -> IO ()
gtk_paned_add1 Ptr Paned
argPtr1 Ptr Widget
argPtr2)
{-# LINE 147 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
    (toPaned self)
    (child -> Widget
forall o. WidgetClass o => o -> Widget
toWidget child
child)

-- | Adds a child to the bottom or right pane with default parameters. This is
-- equivalent to @'panedPack2' paned child True True@.
--
panedAdd2 :: (PanedClass self, WidgetClass child) => self
 -> child -- ^ @child@ - the child to add
 -> IO ()
panedAdd2 :: forall self child.
(PanedClass self, WidgetClass child) =>
self -> child -> IO ()
panedAdd2 self
self child
child =
  (\(Paned ForeignPtr Paned
arg1) (Widget ForeignPtr Widget
arg2) -> ForeignPtr Paned -> (Ptr Paned -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Paned
arg1 ((Ptr Paned -> IO ()) -> IO ()) -> (Ptr Paned -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Paned
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->Ptr Paned -> Ptr Widget -> IO ()
gtk_paned_add2 Ptr Paned
argPtr1 Ptr Widget
argPtr2)
{-# LINE 158 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
    (toPaned self)
    (child -> Widget
forall o. WidgetClass o => o -> Widget
toWidget child
child)

-- | Adds a child to the top or left pane.
--
panedPack1 :: (PanedClass self, WidgetClass child) => self
 -> child -- ^ @child@ - the child to add
 -> Bool -- ^ @resize@ - should this child expand when the paned widget is
          -- resized.
 -> Bool -- ^ @shrink@ - can this child be made smaller than its requsition.
 -> IO ()
panedPack1 :: forall self child.
(PanedClass self, WidgetClass child) =>
self -> child -> Bool -> Bool -> IO ()
panedPack1 self
self child
child Bool
resize Bool
shrink =
  (\(Paned ForeignPtr Paned
arg1) (Widget ForeignPtr Widget
arg2) CInt
arg3 CInt
arg4 -> ForeignPtr Paned -> (Ptr Paned -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Paned
arg1 ((Ptr Paned -> IO ()) -> IO ()) -> (Ptr Paned -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Paned
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->Ptr Paned -> Ptr Widget -> CInt -> CInt -> IO ()
gtk_paned_pack1 Ptr Paned
argPtr1 Ptr Widget
argPtr2 CInt
arg3 CInt
arg4)
{-# LINE 171 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
    (toPaned self)
    (child -> Widget
forall o. WidgetClass o => o -> Widget
toWidget child
child)
    (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
resize)
    (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
shrink)

-- | Adds a child to the bottom or right pane.
--
panedPack2 :: (PanedClass self, WidgetClass child) => self
 -> child -- ^ @child@ - the child to add
 -> Bool -- ^ @resize@ - should this child expand when the paned widget is
          -- resized.
 -> Bool -- ^ @shrink@ - can this child be made smaller than its requsition.
 -> IO ()
panedPack2 :: forall self child.
(PanedClass self, WidgetClass child) =>
self -> child -> Bool -> Bool -> IO ()
panedPack2 self
self child
child Bool
resize Bool
shrink =
  (\(Paned ForeignPtr Paned
arg1) (Widget ForeignPtr Widget
arg2) CInt
arg3 CInt
arg4 -> ForeignPtr Paned -> (Ptr Paned -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Paned
arg1 ((Ptr Paned -> IO ()) -> IO ()) -> (Ptr Paned -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Paned
argPtr1 ->ForeignPtr Widget -> (Ptr Widget -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Widget
arg2 ((Ptr Widget -> IO ()) -> IO ()) -> (Ptr Widget -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Widget
argPtr2 ->Ptr Paned -> Ptr Widget -> CInt -> CInt -> IO ()
gtk_paned_pack2 Ptr Paned
argPtr1 Ptr Widget
argPtr2 CInt
arg3 CInt
arg4)
{-# LINE 186 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
    (toPaned self)
    (child -> Widget
forall o. WidgetClass o => o -> Widget
toWidget child
child)
    (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
resize)
    (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
shrink)

-- | Sets the position of the divider between the two panes.
--
panedSetPosition :: PanedClass self => self
 -> Int -- ^ @position@ - pixel position of divider, a negative value means
          -- that the position is unset.
 -> IO ()
panedSetPosition :: forall self. PanedClass self => self -> Int -> IO ()
panedSetPosition self
self Int
position =
  (\(Paned ForeignPtr Paned
arg1) CInt
arg2 -> ForeignPtr Paned -> (Ptr Paned -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Paned
arg1 ((Ptr Paned -> IO ()) -> IO ()) -> (Ptr Paned -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Paned
argPtr1 ->Ptr Paned -> CInt -> IO ()
gtk_paned_set_position Ptr Paned
argPtr1 CInt
arg2)
{-# LINE 199 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
    (toPaned self)
    (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
position)

-- | Obtains the position of the divider between the two panes.
--
panedGetPosition :: PanedClass self => self
 -> IO Int -- ^ returns position of the divider
panedGetPosition :: forall self. PanedClass self => self -> IO Int
panedGetPosition self
self =
  (CInt -> Int) -> IO CInt -> IO Int
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (IO CInt -> IO Int) -> IO CInt -> IO Int
forall a b. (a -> b) -> a -> b
$
  (\(Paned ForeignPtr Paned
arg1) -> ForeignPtr Paned -> (Ptr Paned -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Paned
arg1 ((Ptr Paned -> IO CInt) -> IO CInt)
-> (Ptr Paned -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr Paned
argPtr1 ->Ptr Paned -> IO CInt
gtk_paned_get_position Ptr Paned
argPtr1)
{-# LINE 209 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
    (toPaned self)


-- | Obtains the first child of the paned widget.
--
-- * Available since Gtk+ version 2.4
--
panedGetChild1 :: PanedClass self => self
 -> IO (Maybe Widget) -- ^ returns first child, or @Nothing@ if it is not set.
panedGetChild1 :: forall self. PanedClass self => self -> IO (Maybe Widget)
panedGetChild1 self
self =
  (IO (Ptr Widget) -> IO Widget)
-> IO (Ptr Widget) -> IO (Maybe Widget)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr Widget -> Widget, FinalizerPtr Widget)
-> IO (Ptr Widget) -> IO Widget
forall obj.
ObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Widget -> Widget, FinalizerPtr Widget)
forall {a}. (ForeignPtr Widget -> Widget, FinalizerPtr a)
mkWidget) (IO (Ptr Widget) -> IO (Maybe Widget))
-> IO (Ptr Widget) -> IO (Maybe Widget)
forall a b. (a -> b) -> a -> b
$
  (\(Paned ForeignPtr Paned
arg1) -> ForeignPtr Paned
-> (Ptr Paned -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Paned
arg1 ((Ptr Paned -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (Ptr Paned -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \Ptr Paned
argPtr1 ->Ptr Paned -> IO (Ptr Widget)
gtk_paned_get_child1 Ptr Paned
argPtr1)
{-# LINE 221 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
    (toPaned self)

-- | Obtains the second child of the paned widget.
--
-- * Available since Gtk+ version 2.4
--
panedGetChild2 :: PanedClass self => self
 -> IO (Maybe Widget) -- ^ returns second child, or @Nothing@ if it is not
                      -- set.
panedGetChild2 :: forall self. PanedClass self => self -> IO (Maybe Widget)
panedGetChild2 self
self =
  (IO (Ptr Widget) -> IO Widget)
-> IO (Ptr Widget) -> IO (Maybe Widget)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr Widget -> Widget, FinalizerPtr Widget)
-> IO (Ptr Widget) -> IO Widget
forall obj.
ObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Widget -> Widget, FinalizerPtr Widget)
forall {a}. (ForeignPtr Widget -> Widget, FinalizerPtr a)
mkWidget) (IO (Ptr Widget) -> IO (Maybe Widget))
-> IO (Ptr Widget) -> IO (Maybe Widget)
forall a b. (a -> b) -> a -> b
$
  (\(Paned ForeignPtr Paned
arg1) -> ForeignPtr Paned
-> (Ptr Paned -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Paned
arg1 ((Ptr Paned -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (Ptr Paned -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \Ptr Paned
argPtr1 ->Ptr Paned -> IO (Ptr Widget)
gtk_paned_get_child2 Ptr Paned
argPtr1)
{-# LINE 233 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
    (toPaned self)



-- | Returns the 'Window' of the handle. This function is useful when handling button or motion events
-- because it enables the callback to distinguish between the window of the paned, a child and the
-- handle.
panedGetHandleWindow :: PanedClass self => self
                     -> IO DrawWindow
panedGetHandleWindow :: forall self. PanedClass self => self -> IO DrawWindow
panedGetHandleWindow self
self =
    (ForeignPtr DrawWindow -> DrawWindow, FinalizerPtr DrawWindow)
-> IO (Ptr DrawWindow) -> IO DrawWindow
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewGObject (ForeignPtr DrawWindow -> DrawWindow, FinalizerPtr DrawWindow)
forall {a}. (ForeignPtr DrawWindow -> DrawWindow, FinalizerPtr a)
mkDrawWindow (IO (Ptr DrawWindow) -> IO DrawWindow)
-> IO (Ptr DrawWindow) -> IO DrawWindow
forall a b. (a -> b) -> a -> b
$
    (\(Paned ForeignPtr Paned
arg1) -> ForeignPtr Paned
-> (Ptr Paned -> IO (Ptr DrawWindow)) -> IO (Ptr DrawWindow)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Paned
arg1 ((Ptr Paned -> IO (Ptr DrawWindow)) -> IO (Ptr DrawWindow))
-> (Ptr Paned -> IO (Ptr DrawWindow)) -> IO (Ptr DrawWindow)
forall a b. (a -> b) -> a -> b
$ \Ptr Paned
argPtr1 ->Ptr Paned -> IO (Ptr DrawWindow)
gtk_paned_get_handle_window Ptr Paned
argPtr1)
{-# LINE 245 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
      (toPaned self)


--------------------
-- Attributes

-- | Position of paned separator in pixels (0 means all the way to the
-- left\/top).
--
-- Allowed values: >= 0
--
-- Default value: 0
--
panedPosition :: PanedClass self => Attr self Int
panedPosition :: forall self. PanedClass self => Attr self Int
panedPosition = (self -> IO Int)
-> (self -> Int -> IO ()) -> ReadWriteAttr self Int Int
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO Int
forall self. PanedClass self => self -> IO Int
panedGetPosition
  self -> Int -> IO ()
forall self. PanedClass self => self -> Int -> IO ()
panedSetPosition

-- | @True@ if the Position property should be used.
--
-- Default value: @False@
--
panedPositionSet :: PanedClass self => Attr self Bool
panedPositionSet :: forall self. PanedClass self => Attr self Bool
panedPositionSet = String -> Attr self Bool
forall gobj. GObjectClass gobj => String -> Attr gobj Bool
newAttrFromBoolProperty String
"position-set"


-- | The smallest possible value for the position property. This property is
-- derived from the size and shrinkability of the widget's children.
--
-- Allowed values: >= 0
--
-- Default value: 0
--
panedMinPosition :: PanedClass self => ReadAttr self Int
panedMinPosition :: forall self. PanedClass self => ReadAttr self Int
panedMinPosition = String -> ReadAttr self Int
forall gobj. GObjectClass gobj => String -> ReadAttr gobj Int
readAttrFromIntProperty String
"min-position"

-- | The largest possible value for the position property. This property is
-- derived from the size and shrinkability of the widget's children.
--
-- Allowed values: >= 0
--
-- Default value: 2147483647
--
panedMaxPosition :: PanedClass self => ReadAttr self Int
panedMaxPosition :: forall self. PanedClass self => ReadAttr self Int
panedMaxPosition = String -> ReadAttr self Int
forall gobj. GObjectClass gobj => String -> ReadAttr gobj Int
readAttrFromIntProperty String
"max-position"


--------------------
-- Child Attributes


-- | The \"resize\" child property determines whether the child expands and
-- shrinks along with the paned widget.
--
-- Default value: @True@
--
panedChildResize :: (PanedClass self, WidgetClass child) => child -> Attr self Bool
panedChildResize :: forall self child.
(PanedClass self, WidgetClass child) =>
child -> Attr self Bool
panedChildResize = String -> child -> Attr self Bool
forall container child.
(ContainerClass container, WidgetClass child) =>
String -> child -> Attr container Bool
newAttrFromContainerChildBoolProperty String
"resize"

-- | The \"shrink\" child property determines whether the child can be made
-- smaller than its requisition.
--
-- Default value: @True@
--
panedChildShrink :: (PanedClass self, WidgetClass child) => child -> Attr self Bool
panedChildShrink :: forall self child.
(PanedClass self, WidgetClass child) =>
child -> Attr self Bool
panedChildShrink = String -> child -> Attr self Bool
forall container child.
(ContainerClass container, WidgetClass child) =>
String -> child -> Attr container Bool
newAttrFromContainerChildBoolProperty String
"shrink"


--------------------
-- Deprecated Signals


-- |
--
onCycleChildFocus, afterCycleChildFocus :: PanedClass self => self
 -> (Bool -> IO Bool)
 -> IO (ConnectId self)
onCycleChildFocus :: forall self.
PanedClass self =>
self -> (Bool -> IO Bool) -> IO (ConnectId self)
onCycleChildFocus = String -> Bool -> self -> (Bool -> IO Bool) -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> (Bool -> IO Bool) -> IO (ConnectId obj)
connect_BOOL__BOOL String
"cycle_child_focus" Bool
False
afterCycleChildFocus :: forall self.
PanedClass self =>
self -> (Bool -> IO Bool) -> IO (ConnectId self)
afterCycleChildFocus = String -> Bool -> self -> (Bool -> IO Bool) -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> (Bool -> IO Bool) -> IO (ConnectId obj)
connect_BOOL__BOOL String
"cycle_child_focus" Bool
True

-- |
--
onToggleHandleFocus, afterToggleHandleFocus :: PanedClass self => self
 -> IO Bool
 -> IO (ConnectId self)
onToggleHandleFocus :: forall self.
PanedClass self =>
self -> IO Bool -> IO (ConnectId self)
onToggleHandleFocus = String -> Bool -> self -> IO Bool -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> IO Bool -> IO (ConnectId obj)
connect_NONE__BOOL String
"toggle_handle_focus" Bool
False
afterToggleHandleFocus :: forall self.
PanedClass self =>
self -> IO Bool -> IO (ConnectId self)
afterToggleHandleFocus = String -> Bool -> self -> IO Bool -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> IO Bool -> IO (ConnectId obj)
connect_NONE__BOOL String
"toggle_handle_focus" Bool
True

-- |
--
onMoveHandle, afterMoveHandle :: PanedClass self => self
 -> (ScrollType -> IO Bool)
 -> IO (ConnectId self)
onMoveHandle :: forall self.
PanedClass self =>
self -> (ScrollType -> IO Bool) -> IO (ConnectId self)
onMoveHandle = String
-> Bool -> self -> (ScrollType -> IO Bool) -> IO (ConnectId self)
forall a obj.
(Enum a, GObjectClass obj) =>
String -> Bool -> obj -> (a -> IO Bool) -> IO (ConnectId obj)
connect_ENUM__BOOL String
"move_handle" Bool
False
afterMoveHandle :: forall self.
PanedClass self =>
self -> (ScrollType -> IO Bool) -> IO (ConnectId self)
afterMoveHandle = String
-> Bool -> self -> (ScrollType -> IO Bool) -> IO (ConnectId self)
forall a obj.
(Enum a, GObjectClass obj) =>
String -> Bool -> obj -> (a -> IO Bool) -> IO (ConnectId obj)
connect_ENUM__BOOL String
"move_handle" Bool
True

-- |
--
onCycleHandleFocus, afterCycleHandleFocus :: PanedClass self => self
 -> (Bool -> IO Bool)
 -> IO (ConnectId self)
onCycleHandleFocus :: forall self.
PanedClass self =>
self -> (Bool -> IO Bool) -> IO (ConnectId self)
onCycleHandleFocus = String -> Bool -> self -> (Bool -> IO Bool) -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> (Bool -> IO Bool) -> IO (ConnectId obj)
connect_BOOL__BOOL String
"cycle_handle_focus" Bool
False
afterCycleHandleFocus :: forall self.
PanedClass self =>
self -> (Bool -> IO Bool) -> IO (ConnectId self)
afterCycleHandleFocus = String -> Bool -> self -> (Bool -> IO Bool) -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> (Bool -> IO Bool) -> IO (ConnectId obj)
connect_BOOL__BOOL String
"cycle_handle_focus" Bool
True

-- |
--
onAcceptPosition, afterAcceptPosition :: PanedClass self => self
 -> IO Bool
 -> IO (ConnectId self)
onAcceptPosition :: forall self.
PanedClass self =>
self -> IO Bool -> IO (ConnectId self)
onAcceptPosition = String -> Bool -> self -> IO Bool -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> IO Bool -> IO (ConnectId obj)
connect_NONE__BOOL String
"accept_position" Bool
False
afterAcceptPosition :: forall self.
PanedClass self =>
self -> IO Bool -> IO (ConnectId self)
afterAcceptPosition = String -> Bool -> self -> IO Bool -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> IO Bool -> IO (ConnectId obj)
connect_NONE__BOOL String
"accept_position" Bool
True

-- |
--
onCancelPosition, afterCancelPosition :: PanedClass self => self
 -> IO Bool
 -> IO (ConnectId self)
onCancelPosition :: forall self.
PanedClass self =>
self -> IO Bool -> IO (ConnectId self)
onCancelPosition = String -> Bool -> self -> IO Bool -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> IO Bool -> IO (ConnectId obj)
connect_NONE__BOOL String
"cancel_position" Bool
False
afterCancelPosition :: forall self.
PanedClass self =>
self -> IO Bool -> IO (ConnectId self)
afterCancelPosition = String -> Bool -> self -> IO Bool -> IO (ConnectId self)
forall obj.
GObjectClass obj =>
String -> Bool -> obj -> IO Bool -> IO (ConnectId obj)
connect_NONE__BOOL String
"cancel_position" Bool
True

foreign import ccall safe "gtk_paned_add1"
  gtk_paned_add1 :: ((Ptr Paned) -> ((Ptr Widget) -> (IO ())))

foreign import ccall safe "gtk_paned_add2"
  gtk_paned_add2 :: ((Ptr Paned) -> ((Ptr Widget) -> (IO ())))

foreign import ccall safe "gtk_paned_pack1"
  gtk_paned_pack1 :: ((Ptr Paned) -> ((Ptr Widget) -> (CInt -> (CInt -> (IO ())))))

foreign import ccall safe "gtk_paned_pack2"
  gtk_paned_pack2 :: ((Ptr Paned) -> ((Ptr Widget) -> (CInt -> (CInt -> (IO ())))))

foreign import ccall safe "gtk_paned_set_position"
  gtk_paned_set_position :: ((Ptr Paned) -> (CInt -> (IO ())))

foreign import ccall unsafe "gtk_paned_get_position"
  gtk_paned_get_position :: ((Ptr Paned) -> (IO CInt))

foreign import ccall unsafe "gtk_paned_get_child1"
  gtk_paned_get_child1 :: ((Ptr Paned) -> (IO (Ptr Widget)))

foreign import ccall unsafe "gtk_paned_get_child2"
  gtk_paned_get_child2 :: ((Ptr Paned) -> (IO (Ptr Widget)))

foreign import ccall safe "gtk_paned_get_handle_window"
  gtk_paned_get_handle_window :: ((Ptr Paned) -> (IO (Ptr DrawWindow)))