module GI.Gtk.Interfaces.Scrollable
(
Scrollable(..) ,
noScrollable ,
ScrollableK ,
toScrollable ,
scrollableGetBorder ,
scrollableGetHadjustment ,
scrollableGetHscrollPolicy ,
scrollableGetVadjustment ,
scrollableGetVscrollPolicy ,
scrollableSetHadjustment ,
scrollableSetHscrollPolicy ,
scrollableSetVadjustment ,
scrollableSetVscrollPolicy ,
ScrollableHadjustmentPropertyInfo ,
constructScrollableHadjustment ,
getScrollableHadjustment ,
setScrollableHadjustment ,
ScrollableHscrollPolicyPropertyInfo ,
constructScrollableHscrollPolicy ,
getScrollableHscrollPolicy ,
setScrollableHscrollPolicy ,
ScrollableVadjustmentPropertyInfo ,
constructScrollableVadjustment ,
getScrollableVadjustment ,
setScrollableVadjustment ,
ScrollableVscrollPolicyPropertyInfo ,
constructScrollableVscrollPolicy ,
getScrollableVscrollPolicy ,
setScrollableVscrollPolicy ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.GObject as GObject
newtype Scrollable = Scrollable (ForeignPtr Scrollable)
noScrollable :: Maybe Scrollable
noScrollable = Nothing
getScrollableHadjustment :: (MonadIO m, ScrollableK o) => o -> m Adjustment
getScrollableHadjustment obj = liftIO $ getObjectPropertyObject obj "hadjustment" Adjustment
setScrollableHadjustment :: (MonadIO m, ScrollableK o, AdjustmentK a) => o -> a -> m ()
setScrollableHadjustment obj val = liftIO $ setObjectPropertyObject obj "hadjustment" val
constructScrollableHadjustment :: (AdjustmentK a) => a -> IO ([Char], GValue)
constructScrollableHadjustment val = constructObjectPropertyObject "hadjustment" val
data ScrollableHadjustmentPropertyInfo
instance AttrInfo ScrollableHadjustmentPropertyInfo where
type AttrAllowedOps ScrollableHadjustmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ScrollableHadjustmentPropertyInfo = AdjustmentK
type AttrBaseTypeConstraint ScrollableHadjustmentPropertyInfo = ScrollableK
type AttrGetType ScrollableHadjustmentPropertyInfo = Adjustment
type AttrLabel ScrollableHadjustmentPropertyInfo = "Scrollable::hadjustment"
attrGet _ = getScrollableHadjustment
attrSet _ = setScrollableHadjustment
attrConstruct _ = constructScrollableHadjustment
getScrollableHscrollPolicy :: (MonadIO m, ScrollableK o) => o -> m ScrollablePolicy
getScrollableHscrollPolicy obj = liftIO $ getObjectPropertyEnum obj "hscroll-policy"
setScrollableHscrollPolicy :: (MonadIO m, ScrollableK o) => o -> ScrollablePolicy -> m ()
setScrollableHscrollPolicy obj val = liftIO $ setObjectPropertyEnum obj "hscroll-policy" val
constructScrollableHscrollPolicy :: ScrollablePolicy -> IO ([Char], GValue)
constructScrollableHscrollPolicy val = constructObjectPropertyEnum "hscroll-policy" val
data ScrollableHscrollPolicyPropertyInfo
instance AttrInfo ScrollableHscrollPolicyPropertyInfo where
type AttrAllowedOps ScrollableHscrollPolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ScrollableHscrollPolicyPropertyInfo = (~) ScrollablePolicy
type AttrBaseTypeConstraint ScrollableHscrollPolicyPropertyInfo = ScrollableK
type AttrGetType ScrollableHscrollPolicyPropertyInfo = ScrollablePolicy
type AttrLabel ScrollableHscrollPolicyPropertyInfo = "Scrollable::hscroll-policy"
attrGet _ = getScrollableHscrollPolicy
attrSet _ = setScrollableHscrollPolicy
attrConstruct _ = constructScrollableHscrollPolicy
getScrollableVadjustment :: (MonadIO m, ScrollableK o) => o -> m Adjustment
getScrollableVadjustment obj = liftIO $ getObjectPropertyObject obj "vadjustment" Adjustment
setScrollableVadjustment :: (MonadIO m, ScrollableK o, AdjustmentK a) => o -> a -> m ()
setScrollableVadjustment obj val = liftIO $ setObjectPropertyObject obj "vadjustment" val
constructScrollableVadjustment :: (AdjustmentK a) => a -> IO ([Char], GValue)
constructScrollableVadjustment val = constructObjectPropertyObject "vadjustment" val
data ScrollableVadjustmentPropertyInfo
instance AttrInfo ScrollableVadjustmentPropertyInfo where
type AttrAllowedOps ScrollableVadjustmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ScrollableVadjustmentPropertyInfo = AdjustmentK
type AttrBaseTypeConstraint ScrollableVadjustmentPropertyInfo = ScrollableK
type AttrGetType ScrollableVadjustmentPropertyInfo = Adjustment
type AttrLabel ScrollableVadjustmentPropertyInfo = "Scrollable::vadjustment"
attrGet _ = getScrollableVadjustment
attrSet _ = setScrollableVadjustment
attrConstruct _ = constructScrollableVadjustment
getScrollableVscrollPolicy :: (MonadIO m, ScrollableK o) => o -> m ScrollablePolicy
getScrollableVscrollPolicy obj = liftIO $ getObjectPropertyEnum obj "vscroll-policy"
setScrollableVscrollPolicy :: (MonadIO m, ScrollableK o) => o -> ScrollablePolicy -> m ()
setScrollableVscrollPolicy obj val = liftIO $ setObjectPropertyEnum obj "vscroll-policy" val
constructScrollableVscrollPolicy :: ScrollablePolicy -> IO ([Char], GValue)
constructScrollableVscrollPolicy val = constructObjectPropertyEnum "vscroll-policy" val
data ScrollableVscrollPolicyPropertyInfo
instance AttrInfo ScrollableVscrollPolicyPropertyInfo where
type AttrAllowedOps ScrollableVscrollPolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ScrollableVscrollPolicyPropertyInfo = (~) ScrollablePolicy
type AttrBaseTypeConstraint ScrollableVscrollPolicyPropertyInfo = ScrollableK
type AttrGetType ScrollableVscrollPolicyPropertyInfo = ScrollablePolicy
type AttrLabel ScrollableVscrollPolicyPropertyInfo = "Scrollable::vscroll-policy"
attrGet _ = getScrollableVscrollPolicy
attrSet _ = setScrollableVscrollPolicy
attrConstruct _ = constructScrollableVscrollPolicy
type instance AttributeList Scrollable = ScrollableAttributeList
type ScrollableAttributeList = ('[ '("hadjustment", ScrollableHadjustmentPropertyInfo), '("hscroll-policy", ScrollableHscrollPolicyPropertyInfo), '("vadjustment", ScrollableVadjustmentPropertyInfo), '("vscroll-policy", ScrollableVscrollPolicyPropertyInfo)] :: [(Symbol, *)])
type instance SignalList Scrollable = ScrollableSignalList
type ScrollableSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "gtk_scrollable_get_type"
c_gtk_scrollable_get_type :: IO GType
type instance ParentTypes Scrollable = ScrollableParentTypes
type ScrollableParentTypes = '[GObject.Object]
instance GObject Scrollable where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_scrollable_get_type
class GObject o => ScrollableK o
instance (GObject o, IsDescendantOf Scrollable o) => ScrollableK o
toScrollable :: ScrollableK o => o -> IO Scrollable
toScrollable = unsafeCastTo Scrollable
foreign import ccall "gtk_scrollable_get_border" gtk_scrollable_get_border ::
Ptr Scrollable ->
Ptr Border ->
IO CInt
scrollableGetBorder ::
(MonadIO m, ScrollableK a) =>
a ->
Border ->
m Bool
scrollableGetBorder _obj border = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let border' = unsafeManagedPtrGetPtr border
result <- gtk_scrollable_get_border _obj' border'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr border
return result'
foreign import ccall "gtk_scrollable_get_hadjustment" gtk_scrollable_get_hadjustment ::
Ptr Scrollable ->
IO (Ptr Adjustment)
scrollableGetHadjustment ::
(MonadIO m, ScrollableK a) =>
a ->
m Adjustment
scrollableGetHadjustment _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_scrollable_get_hadjustment _obj'
checkUnexpectedReturnNULL "gtk_scrollable_get_hadjustment" result
result' <- (newObject Adjustment) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_scrollable_get_hscroll_policy" gtk_scrollable_get_hscroll_policy ::
Ptr Scrollable ->
IO CUInt
scrollableGetHscrollPolicy ::
(MonadIO m, ScrollableK a) =>
a ->
m ScrollablePolicy
scrollableGetHscrollPolicy _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_scrollable_get_hscroll_policy _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_scrollable_get_vadjustment" gtk_scrollable_get_vadjustment ::
Ptr Scrollable ->
IO (Ptr Adjustment)
scrollableGetVadjustment ::
(MonadIO m, ScrollableK a) =>
a ->
m Adjustment
scrollableGetVadjustment _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_scrollable_get_vadjustment _obj'
checkUnexpectedReturnNULL "gtk_scrollable_get_vadjustment" result
result' <- (newObject Adjustment) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_scrollable_get_vscroll_policy" gtk_scrollable_get_vscroll_policy ::
Ptr Scrollable ->
IO CUInt
scrollableGetVscrollPolicy ::
(MonadIO m, ScrollableK a) =>
a ->
m ScrollablePolicy
scrollableGetVscrollPolicy _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_scrollable_get_vscroll_policy _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_scrollable_set_hadjustment" gtk_scrollable_set_hadjustment ::
Ptr Scrollable ->
Ptr Adjustment ->
IO ()
scrollableSetHadjustment ::
(MonadIO m, ScrollableK a, AdjustmentK b) =>
a ->
Maybe (b) ->
m ()
scrollableSetHadjustment _obj hadjustment = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeHadjustment <- case hadjustment of
Nothing -> return nullPtr
Just jHadjustment -> do
let jHadjustment' = unsafeManagedPtrCastPtr jHadjustment
return jHadjustment'
gtk_scrollable_set_hadjustment _obj' maybeHadjustment
touchManagedPtr _obj
whenJust hadjustment touchManagedPtr
return ()
foreign import ccall "gtk_scrollable_set_hscroll_policy" gtk_scrollable_set_hscroll_policy ::
Ptr Scrollable ->
CUInt ->
IO ()
scrollableSetHscrollPolicy ::
(MonadIO m, ScrollableK a) =>
a ->
ScrollablePolicy ->
m ()
scrollableSetHscrollPolicy _obj policy = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let policy' = (fromIntegral . fromEnum) policy
gtk_scrollable_set_hscroll_policy _obj' policy'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_scrollable_set_vadjustment" gtk_scrollable_set_vadjustment ::
Ptr Scrollable ->
Ptr Adjustment ->
IO ()
scrollableSetVadjustment ::
(MonadIO m, ScrollableK a, AdjustmentK b) =>
a ->
Maybe (b) ->
m ()
scrollableSetVadjustment _obj vadjustment = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeVadjustment <- case vadjustment of
Nothing -> return nullPtr
Just jVadjustment -> do
let jVadjustment' = unsafeManagedPtrCastPtr jVadjustment
return jVadjustment'
gtk_scrollable_set_vadjustment _obj' maybeVadjustment
touchManagedPtr _obj
whenJust vadjustment touchManagedPtr
return ()
foreign import ccall "gtk_scrollable_set_vscroll_policy" gtk_scrollable_set_vscroll_policy ::
Ptr Scrollable ->
CUInt ->
IO ()
scrollableSetVscrollPolicy ::
(MonadIO m, ScrollableK a) =>
a ->
ScrollablePolicy ->
m ()
scrollableSetVscrollPolicy _obj policy = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let policy' = (fromIntegral . fromEnum) policy
gtk_scrollable_set_vscroll_policy _obj' policy'
touchManagedPtr _obj
return ()