{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Class.TKey.Implementation where import HROOT.TypeCast import HROOT.Class.TKey.RawType import HROOT.Class.TKey.FFI import HROOT.Class.TKey.Interface import HROOT.Class.TKey.Cast import HROOT.Class.TClass.RawType import HROOT.Class.TClass.Cast import HROOT.Class.TClass.Interface import HROOT.Class.TNamed.RawType import HROOT.Class.TNamed.Cast import HROOT.Class.TNamed.Interface import HROOT.Class.TObject.RawType import HROOT.Class.TObject.Cast import HROOT.Class.TObject.Interface import HROOT.Class.Deletable.RawType import HROOT.Class.Deletable.Cast import HROOT.Class.Deletable.Interface import Data.Word -- import Foreign.C -- import Foreign.Ptr import Foreign.ForeignPtr import System.IO.Unsafe instance ITKey TKey where instance ITNamed TKey where setName = xform1 c_tkey_setname setNameTitle = xform2 c_tkey_setnametitle setTitle = xform1 c_tkey_settitle instance ITObject TKey where draw = xform1 c_tkey_draw findObject = xform1 c_tkey_findobject getName = xform0 c_tkey_getname isA = xform0 c_tkey_isa isFolder = xform0 c_tkey_isfolder isEqual = xform1 c_tkey_isequal isSortable = xform0 c_tkey_issortable paint = xform1 c_tkey_paint printObj = xform1 c_tkey_printobj recursiveRemove = xform1 c_tkey_recursiveremove saveAs = xform2 c_tkey_saveas useCurrentStyle = xform0 c_tkey_usecurrentstyle write = xform3 c_tkey_write instance IDeletable TKey where delete = xform0 c_tkey_delete instance ITKey (Exist TKey) where instance ITNamed (Exist TKey) where setName (ETKey x) = setName x setNameTitle (ETKey x) = setNameTitle x setTitle (ETKey x) = setTitle x instance ITObject (Exist TKey) where draw (ETKey x) = draw x findObject (ETKey x) = findObject x getName (ETKey x) = getName x isA (ETKey x) = isA x isFolder (ETKey x) = isFolder x isEqual (ETKey x) = isEqual x isSortable (ETKey x) = isSortable x paint (ETKey x) = paint x printObj (ETKey x) = printObj x recursiveRemove (ETKey x) = recursiveRemove x saveAs (ETKey x) = saveAs x useCurrentStyle (ETKey x) = useCurrentStyle x write (ETKey x) = write x instance IDeletable (Exist TKey) where delete (ETKey x) = delete x instance FPtr (Exist TKey) where type Raw (Exist TKey) = RawTKey get_fptr (ETKey obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETKey (cast_fptr_to_obj (fptr :: ForeignPtr RawTKey) :: TKey)