{-# OPTIONS_HADDOCK hide #-} -- -*-haskell-*- -- -------------------- automatically generated file - do not edit ---------- -- Object hierarchy for the GIMP Toolkit (GTK) Binding for Haskell -- -- Author : Axel Simon -- -- Copyright (C) 2001-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. -- -- #hide -- | -- Maintainer : gtk2hs-users@lists.sourceforge.net -- Stability : provisional -- Portability : portable (depends on GHC) -- -- This file reflects the Gtk+ object hierarchy in terms of Haskell classes. -- -- Note: the mk... functions were originally meant to simply be an alias -- for the constructor. However, in order to communicate the destructor -- of an object to objectNew, the mk... functions are now a tuple containing -- Haskell constructor and the destructor function pointer. This hack avoids -- changing all modules that simply pass mk... to objectNew. -- module Graphics.UI.Gtk.ImageView.Types ( module Graphics.UI.GtkInternals, ImageToolDragger(ImageToolDragger), ImageToolDraggerClass, toImageToolDragger, mkImageToolDragger, unImageToolDragger, castToImageToolDragger, gTypeImageToolDragger, ImageToolSelector(ImageToolSelector), ImageToolSelectorClass, toImageToolSelector, mkImageToolSelector, unImageToolSelector, castToImageToolSelector, gTypeImageToolSelector, ImageView(ImageView), ImageViewClass, toImageView, mkImageView, unImageView, castToImageView, gTypeImageView, AnimView(AnimView), AnimViewClass, toAnimView, mkAnimView, unAnimView, castToAnimView, gTypeAnimView, ImageNav(ImageNav), ImageNavClass, toImageNav, mkImageNav, unImageNav, castToImageNav, gTypeImageNav, ImageScrollWin(ImageScrollWin), ImageScrollWinClass, toImageScrollWin, mkImageScrollWin, unImageScrollWin, castToImageScrollWin, gTypeImageScrollWin, IImageTool(IImageTool), IImageToolClass, toIImageTool, mkIImageTool, unIImageTool, castToIImageTool, gTypeIImageTool ) where import Foreign.ForeignPtr (ForeignPtr, castForeignPtr, unsafeForeignPtrToPtr) import Foreign.C.Types (CULong, CUInt) import System.Glib.GType (GType, typeInstanceIsA) {#import Graphics.UI.GtkInternals#} {# context lib="gtk" prefix="gtk" #} -- The usage of foreignPtrToPtr should be safe as the evaluation will only be -- forced if the object is used afterwards -- castTo :: (GObjectClass obj, GObjectClass obj') => GType -> String -> (obj -> obj') castTo gtype objTypeName obj = case toGObject obj of gobj@(GObject objFPtr) | typeInstanceIsA ((unsafeForeignPtrToPtr.castForeignPtr) objFPtr) gtype -> unsafeCastGObject gobj | otherwise -> error $ "Cannot cast object to " ++ objTypeName -- *********************************************************** ImageToolDragger {#pointer *ImageToolDragger foreign newtype #} deriving (Eq,Ord) mkImageToolDragger = (ImageToolDragger, objectUnrefFromMainloop) unImageToolDragger (ImageToolDragger o) = o class GObjectClass o => ImageToolDraggerClass o toImageToolDragger :: ImageToolDraggerClass o => o -> ImageToolDragger toImageToolDragger = unsafeCastGObject . toGObject instance ImageToolDraggerClass ImageToolDragger instance GObjectClass ImageToolDragger where toGObject = GObject . castForeignPtr . unImageToolDragger unsafeCastGObject = ImageToolDragger . castForeignPtr . unGObject castToImageToolDragger :: GObjectClass obj => obj -> ImageToolDragger castToImageToolDragger = castTo gTypeImageToolDragger "ImageToolDragger" gTypeImageToolDragger :: GType gTypeImageToolDragger = {# call fun unsafe gtk_image_tool_dragger_get_type #} -- ********************************************************** ImageToolSelector {#pointer *ImageToolSelector foreign newtype #} deriving (Eq,Ord) mkImageToolSelector = (ImageToolSelector, objectUnrefFromMainloop) unImageToolSelector (ImageToolSelector o) = o class GObjectClass o => ImageToolSelectorClass o toImageToolSelector :: ImageToolSelectorClass o => o -> ImageToolSelector toImageToolSelector = unsafeCastGObject . toGObject instance ImageToolSelectorClass ImageToolSelector instance GObjectClass ImageToolSelector where toGObject = GObject . castForeignPtr . unImageToolSelector unsafeCastGObject = ImageToolSelector . castForeignPtr . unGObject castToImageToolSelector :: GObjectClass obj => obj -> ImageToolSelector castToImageToolSelector = castTo gTypeImageToolSelector "ImageToolSelector" gTypeImageToolSelector :: GType gTypeImageToolSelector = {# call fun unsafe gtk_image_tool_selector_get_type #} -- ****************************************************************** ImageView {#pointer *ImageView foreign newtype #} deriving (Eq,Ord) mkImageView = (ImageView, objectUnrefFromMainloop) unImageView (ImageView o) = o class WidgetClass o => ImageViewClass o toImageView :: ImageViewClass o => o -> ImageView toImageView = unsafeCastGObject . toGObject instance ImageViewClass ImageView instance WidgetClass ImageView instance ObjectClass ImageView instance GObjectClass ImageView where toGObject = GObject . castForeignPtr . unImageView unsafeCastGObject = ImageView . castForeignPtr . unGObject castToImageView :: GObjectClass obj => obj -> ImageView castToImageView = castTo gTypeImageView "ImageView" gTypeImageView :: GType gTypeImageView = {# call fun unsafe gtk_image_view_get_type #} -- ******************************************************************* AnimView {#pointer *AnimView foreign newtype #} deriving (Eq,Ord) mkAnimView = (AnimView, objectUnrefFromMainloop) unAnimView (AnimView o) = o class ImageViewClass o => AnimViewClass o toAnimView :: AnimViewClass o => o -> AnimView toAnimView = unsafeCastGObject . toGObject instance AnimViewClass AnimView instance ImageViewClass AnimView instance WidgetClass AnimView instance ObjectClass AnimView instance GObjectClass AnimView where toGObject = GObject . castForeignPtr . unAnimView unsafeCastGObject = AnimView . castForeignPtr . unGObject castToAnimView :: GObjectClass obj => obj -> AnimView castToAnimView = castTo gTypeAnimView "AnimView" gTypeAnimView :: GType gTypeAnimView = {# call fun unsafe gtk_anim_view_get_type #} -- ******************************************************************* ImageNav {#pointer *ImageNav foreign newtype #} deriving (Eq,Ord) mkImageNav = (ImageNav, objectUnrefFromMainloop) unImageNav (ImageNav o) = o class WindowClass o => ImageNavClass o toImageNav :: ImageNavClass o => o -> ImageNav toImageNav = unsafeCastGObject . toGObject instance ImageNavClass ImageNav instance WindowClass ImageNav instance BinClass ImageNav instance ContainerClass ImageNav instance WidgetClass ImageNav instance ObjectClass ImageNav instance GObjectClass ImageNav where toGObject = GObject . castForeignPtr . unImageNav unsafeCastGObject = ImageNav . castForeignPtr . unGObject castToImageNav :: GObjectClass obj => obj -> ImageNav castToImageNav = castTo gTypeImageNav "ImageNav" gTypeImageNav :: GType gTypeImageNav = {# call fun unsafe gtk_image_nav_get_type #} -- ************************************************************* ImageScrollWin {#pointer *ImageScrollWin foreign newtype #} deriving (Eq,Ord) mkImageScrollWin = (ImageScrollWin, objectUnrefFromMainloop) unImageScrollWin (ImageScrollWin o) = o class TableClass o => ImageScrollWinClass o toImageScrollWin :: ImageScrollWinClass o => o -> ImageScrollWin toImageScrollWin = unsafeCastGObject . toGObject instance ImageScrollWinClass ImageScrollWin instance TableClass ImageScrollWin instance ContainerClass ImageScrollWin instance WidgetClass ImageScrollWin instance ObjectClass ImageScrollWin instance GObjectClass ImageScrollWin where toGObject = GObject . castForeignPtr . unImageScrollWin unsafeCastGObject = ImageScrollWin . castForeignPtr . unGObject castToImageScrollWin :: GObjectClass obj => obj -> ImageScrollWin castToImageScrollWin = castTo gTypeImageScrollWin "ImageScrollWin" gTypeImageScrollWin :: GType gTypeImageScrollWin = {# call fun unsafe gtk_image_scroll_win_get_type #} -- ***************************************************************** IImageTool {#pointer *IImageTool foreign newtype #} deriving (Eq,Ord) mkIImageTool = (IImageTool, objectUnrefFromMainloop) unIImageTool (IImageTool o) = o class GObjectClass o => IImageToolClass o toIImageTool :: IImageToolClass o => o -> IImageTool toIImageTool = unsafeCastGObject . toGObject instance IImageToolClass IImageTool instance GObjectClass IImageTool where toGObject = GObject . castForeignPtr . unIImageTool unsafeCastGObject = IImageTool . castForeignPtr . unGObject castToIImageTool :: GObjectClass obj => obj -> IImageTool castToIImageTool = castTo gTypeIImageTool "IImageTool" gTypeIImageTool :: GType gTypeIImageTool = {# call fun unsafe gtk_iimage_tool_get_type #}