    {-# 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
    -- between 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
    {-# LINE 119 "./Graphics/UI/Gtk/Abstract/Paned.chs" #-}
      ) 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.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.
    GObjectClass 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.
    GObjectClass 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

    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)))