packages feed

gtksourceview2-0.11.0: Graphics/UI/Gtk/SourceView/Types.chs

{-# 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.SourceView.Types (

  module Graphics.UI.GtkInternals,
  SourceBuffer(SourceBuffer), SourceBufferClass,
  toSourceBuffer, 
  mkSourceBuffer, unSourceBuffer,
  castToSourceBuffer, gTypeSourceBuffer,
  SourceMark(SourceMark), SourceMarkClass,
  toSourceMark, 
  mkSourceMark, unSourceMark,
  castToSourceMark, gTypeSourceMark,
  SourceView(SourceView), SourceViewClass,
  toSourceView, 
  mkSourceView, unSourceView,
  castToSourceView, gTypeSourceView,
  SourceLanguage(SourceLanguage), SourceLanguageClass,
  toSourceLanguage, 
  mkSourceLanguage, unSourceLanguage,
  castToSourceLanguage, gTypeSourceLanguage,
  SourceLanguageManager(SourceLanguageManager), SourceLanguageManagerClass,
  toSourceLanguageManager, 
  mkSourceLanguageManager, unSourceLanguageManager,
  castToSourceLanguageManager, gTypeSourceLanguageManager,
  SourceStyleObject(SourceStyleObject), SourceStyleObjectClass,
  toSourceStyleObject, 
  mkSourceStyleObject, unSourceStyleObject,
  castToSourceStyleObject, gTypeSourceStyleObject,
  SourceStyleScheme(SourceStyleScheme), SourceStyleSchemeClass,
  toSourceStyleScheme, 
  mkSourceStyleScheme, unSourceStyleScheme,
  castToSourceStyleScheme, gTypeSourceStyleScheme,
  SourceStyleSchemeManager(SourceStyleSchemeManager), SourceStyleSchemeManagerClass,
  toSourceStyleSchemeManager, 
  mkSourceStyleSchemeManager, unSourceStyleSchemeManager,
  castToSourceStyleSchemeManager, gTypeSourceStyleSchemeManager
  ) 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


-- *************************************************************** SourceBuffer

{#pointer *SourceBuffer foreign newtype #} deriving (Eq,Ord)

mkSourceBuffer = (SourceBuffer, objectUnrefFromMainloop)
unSourceBuffer (SourceBuffer o) = o

class TextBufferClass o => SourceBufferClass o
toSourceBuffer :: SourceBufferClass o => o -> SourceBuffer
toSourceBuffer = unsafeCastGObject . toGObject

instance SourceBufferClass SourceBuffer
instance TextBufferClass SourceBuffer
instance GObjectClass SourceBuffer where
  toGObject = GObject . castForeignPtr . unSourceBuffer
  unsafeCastGObject = SourceBuffer . castForeignPtr . unGObject

castToSourceBuffer :: GObjectClass obj => obj -> SourceBuffer
castToSourceBuffer = castTo gTypeSourceBuffer "SourceBuffer"

gTypeSourceBuffer :: GType
gTypeSourceBuffer =
  {# call fun unsafe gtk_source_buffer_get_type #}

-- ***************************************************************** SourceMark

{#pointer *SourceMark foreign newtype #} deriving (Eq,Ord)

mkSourceMark = (SourceMark, objectUnrefFromMainloop)
unSourceMark (SourceMark o) = o

class TextMarkClass o => SourceMarkClass o
toSourceMark :: SourceMarkClass o => o -> SourceMark
toSourceMark = unsafeCastGObject . toGObject

instance SourceMarkClass SourceMark
instance TextMarkClass SourceMark
instance GObjectClass SourceMark where
  toGObject = GObject . castForeignPtr . unSourceMark
  unsafeCastGObject = SourceMark . castForeignPtr . unGObject

castToSourceMark :: GObjectClass obj => obj -> SourceMark
castToSourceMark = castTo gTypeSourceMark "SourceMark"

gTypeSourceMark :: GType
gTypeSourceMark =
  {# call fun unsafe gtk_source_mark_get_type #}

-- ***************************************************************** SourceView

{#pointer *SourceView foreign newtype #} deriving (Eq,Ord)

mkSourceView = (SourceView, objectUnrefFromMainloop)
unSourceView (SourceView o) = o

class TextViewClass o => SourceViewClass o
toSourceView :: SourceViewClass o => o -> SourceView
toSourceView = unsafeCastGObject . toGObject

instance SourceViewClass SourceView
instance TextViewClass SourceView
instance ContainerClass SourceView
instance WidgetClass SourceView
instance ObjectClass SourceView
instance GObjectClass SourceView where
  toGObject = GObject . castForeignPtr . unSourceView
  unsafeCastGObject = SourceView . castForeignPtr . unGObject

castToSourceView :: GObjectClass obj => obj -> SourceView
castToSourceView = castTo gTypeSourceView "SourceView"

gTypeSourceView :: GType
gTypeSourceView =
  {# call fun unsafe gtk_source_view_get_type #}

-- ************************************************************* SourceLanguage

{#pointer *SourceLanguage foreign newtype #} deriving (Eq,Ord)

mkSourceLanguage = (SourceLanguage, objectUnrefFromMainloop)
unSourceLanguage (SourceLanguage o) = o

class GObjectClass o => SourceLanguageClass o
toSourceLanguage :: SourceLanguageClass o => o -> SourceLanguage
toSourceLanguage = unsafeCastGObject . toGObject

instance SourceLanguageClass SourceLanguage
instance GObjectClass SourceLanguage where
  toGObject = GObject . castForeignPtr . unSourceLanguage
  unsafeCastGObject = SourceLanguage . castForeignPtr . unGObject

castToSourceLanguage :: GObjectClass obj => obj -> SourceLanguage
castToSourceLanguage = castTo gTypeSourceLanguage "SourceLanguage"

gTypeSourceLanguage :: GType
gTypeSourceLanguage =
  {# call fun unsafe gtk_source_language_get_type #}

-- ****************************************************** SourceLanguageManager

{#pointer *SourceLanguageManager foreign newtype #} deriving (Eq,Ord)

mkSourceLanguageManager = (SourceLanguageManager, objectUnrefFromMainloop)
unSourceLanguageManager (SourceLanguageManager o) = o

class GObjectClass o => SourceLanguageManagerClass o
toSourceLanguageManager :: SourceLanguageManagerClass o => o -> SourceLanguageManager
toSourceLanguageManager = unsafeCastGObject . toGObject

instance SourceLanguageManagerClass SourceLanguageManager
instance GObjectClass SourceLanguageManager where
  toGObject = GObject . castForeignPtr . unSourceLanguageManager
  unsafeCastGObject = SourceLanguageManager . castForeignPtr . unGObject

castToSourceLanguageManager :: GObjectClass obj => obj -> SourceLanguageManager
castToSourceLanguageManager = castTo gTypeSourceLanguageManager "SourceLanguageManager"

gTypeSourceLanguageManager :: GType
gTypeSourceLanguageManager =
  {# call fun unsafe gtk_source_language_manager_get_type #}

-- ********************************************************** SourceStyleObject

{#pointer *GtkSourceStyle as SourceStyleObject foreign newtype #} deriving (Eq,Ord)

mkSourceStyleObject = (SourceStyleObject, objectUnrefFromMainloop)
unSourceStyleObject (SourceStyleObject o) = o

class GObjectClass o => SourceStyleObjectClass o
toSourceStyleObject :: SourceStyleObjectClass o => o -> SourceStyleObject
toSourceStyleObject = unsafeCastGObject . toGObject

instance SourceStyleObjectClass SourceStyleObject
instance GObjectClass SourceStyleObject where
  toGObject = GObject . castForeignPtr . unSourceStyleObject
  unsafeCastGObject = SourceStyleObject . castForeignPtr . unGObject

castToSourceStyleObject :: GObjectClass obj => obj -> SourceStyleObject
castToSourceStyleObject = castTo gTypeSourceStyleObject "SourceStyleObject"

gTypeSourceStyleObject :: GType
gTypeSourceStyleObject =
  {# call fun unsafe gtk_source_style_get_type #}

-- ********************************************************** SourceStyleScheme

{#pointer *SourceStyleScheme foreign newtype #} deriving (Eq,Ord)

mkSourceStyleScheme = (SourceStyleScheme, objectUnrefFromMainloop)
unSourceStyleScheme (SourceStyleScheme o) = o

class GObjectClass o => SourceStyleSchemeClass o
toSourceStyleScheme :: SourceStyleSchemeClass o => o -> SourceStyleScheme
toSourceStyleScheme = unsafeCastGObject . toGObject

instance SourceStyleSchemeClass SourceStyleScheme
instance GObjectClass SourceStyleScheme where
  toGObject = GObject . castForeignPtr . unSourceStyleScheme
  unsafeCastGObject = SourceStyleScheme . castForeignPtr . unGObject

castToSourceStyleScheme :: GObjectClass obj => obj -> SourceStyleScheme
castToSourceStyleScheme = castTo gTypeSourceStyleScheme "SourceStyleScheme"

gTypeSourceStyleScheme :: GType
gTypeSourceStyleScheme =
  {# call fun unsafe gtk_source_style_scheme_get_type #}

-- *************************************************** SourceStyleSchemeManager

{#pointer *SourceStyleSchemeManager foreign newtype #} deriving (Eq,Ord)

mkSourceStyleSchemeManager = (SourceStyleSchemeManager, objectUnrefFromMainloop)
unSourceStyleSchemeManager (SourceStyleSchemeManager o) = o

class GObjectClass o => SourceStyleSchemeManagerClass o
toSourceStyleSchemeManager :: SourceStyleSchemeManagerClass o => o -> SourceStyleSchemeManager
toSourceStyleSchemeManager = unsafeCastGObject . toGObject

instance SourceStyleSchemeManagerClass SourceStyleSchemeManager
instance GObjectClass SourceStyleSchemeManager where
  toGObject = GObject . castForeignPtr . unSourceStyleSchemeManager
  unsafeCastGObject = SourceStyleSchemeManager . castForeignPtr . unGObject

castToSourceStyleSchemeManager :: GObjectClass obj => obj -> SourceStyleSchemeManager
castToSourceStyleSchemeManager = castTo gTypeSourceStyleSchemeManager "SourceStyleSchemeManager"

gTypeSourceStyleSchemeManager :: GType
gTypeSourceStyleSchemeManager =
  {# call fun unsafe gtk_source_style_scheme_manager_get_type #}