module GI.Gtk.Objects.RecentManager
(
RecentManager(..) ,
IsRecentManager ,
toRecentManager ,
noRecentManager ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerAddFullMethodInfo ,
#endif
recentManagerAddFull ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerAddItemMethodInfo ,
#endif
recentManagerAddItem ,
recentManagerGetDefault ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerGetItemsMethodInfo ,
#endif
recentManagerGetItems ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerHasItemMethodInfo ,
#endif
recentManagerHasItem ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerLookupItemMethodInfo ,
#endif
recentManagerLookupItem ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerMoveItemMethodInfo ,
#endif
recentManagerMoveItem ,
recentManagerNew ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerPurgeItemsMethodInfo ,
#endif
recentManagerPurgeItems ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerRemoveItemMethodInfo ,
#endif
recentManagerRemoveItem ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerFilenamePropertyInfo ,
#endif
constructRecentManagerFilename ,
getRecentManagerFilename ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
recentManagerFilename ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerSizePropertyInfo ,
#endif
getRecentManagerSize ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
recentManagerSize ,
#endif
C_RecentManagerChangedCallback ,
RecentManagerChangedCallback ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
RecentManagerChangedSignalInfo ,
#endif
afterRecentManagerChanged ,
genClosure_RecentManagerChanged ,
mk_RecentManagerChangedCallback ,
noRecentManagerChangedCallback ,
onRecentManagerChanged ,
wrap_RecentManagerChangedCallback ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Structs.RecentData as Gtk.RecentData
import qualified GI.Gtk.Structs.RecentInfo as Gtk.RecentInfo
newtype RecentManager = RecentManager (ManagedPtr RecentManager)
foreign import ccall "gtk_recent_manager_get_type"
c_gtk_recent_manager_get_type :: IO GType
instance GObject RecentManager where
gobjectType _ = c_gtk_recent_manager_get_type
class GObject o => IsRecentManager o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError RecentManager a) =>
IsRecentManager a
#endif
instance IsRecentManager RecentManager
instance GObject.Object.IsObject RecentManager
toRecentManager :: (MonadIO m, IsRecentManager o) => o -> m RecentManager
toRecentManager = liftIO . unsafeCastTo RecentManager
noRecentManager :: Maybe RecentManager
noRecentManager = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveRecentManagerMethod (t :: Symbol) (o :: *) :: * where
ResolveRecentManagerMethod "addFull" o = RecentManagerAddFullMethodInfo
ResolveRecentManagerMethod "addItem" o = RecentManagerAddItemMethodInfo
ResolveRecentManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveRecentManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveRecentManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveRecentManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveRecentManagerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveRecentManagerMethod "hasItem" o = RecentManagerHasItemMethodInfo
ResolveRecentManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveRecentManagerMethod "lookupItem" o = RecentManagerLookupItemMethodInfo
ResolveRecentManagerMethod "moveItem" o = RecentManagerMoveItemMethodInfo
ResolveRecentManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveRecentManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveRecentManagerMethod "purgeItems" o = RecentManagerPurgeItemsMethodInfo
ResolveRecentManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveRecentManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveRecentManagerMethod "removeItem" o = RecentManagerRemoveItemMethodInfo
ResolveRecentManagerMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveRecentManagerMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveRecentManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveRecentManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveRecentManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveRecentManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveRecentManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveRecentManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveRecentManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveRecentManagerMethod "getItems" o = RecentManagerGetItemsMethodInfo
ResolveRecentManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveRecentManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveRecentManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveRecentManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveRecentManagerMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRecentManagerMethod t RecentManager, O.MethodInfo info RecentManager p) => O.IsLabelProxy t (RecentManager -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveRecentManagerMethod t RecentManager, O.MethodInfo info RecentManager p) => O.IsLabel t (RecentManager -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif
type RecentManagerChangedCallback =
IO ()
noRecentManagerChangedCallback :: Maybe RecentManagerChangedCallback
noRecentManagerChangedCallback = Nothing
type C_RecentManagerChangedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_RecentManagerChangedCallback :: C_RecentManagerChangedCallback -> IO (FunPtr C_RecentManagerChangedCallback)
genClosure_RecentManagerChanged :: RecentManagerChangedCallback -> IO Closure
genClosure_RecentManagerChanged cb = do
let cb' = wrap_RecentManagerChangedCallback cb
mk_RecentManagerChangedCallback cb' >>= newCClosure
wrap_RecentManagerChangedCallback ::
RecentManagerChangedCallback ->
C_RecentManagerChangedCallback
wrap_RecentManagerChangedCallback _cb _ _ = do
_cb
onRecentManagerChanged :: (IsRecentManager a, MonadIO m) => a -> RecentManagerChangedCallback -> m SignalHandlerId
onRecentManagerChanged obj cb = liftIO $ do
let cb' = wrap_RecentManagerChangedCallback cb
cb'' <- mk_RecentManagerChangedCallback cb'
connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
afterRecentManagerChanged :: (IsRecentManager a, MonadIO m) => a -> RecentManagerChangedCallback -> m SignalHandlerId
afterRecentManagerChanged obj cb = liftIO $ do
let cb' = wrap_RecentManagerChangedCallback cb
cb'' <- mk_RecentManagerChangedCallback cb'
connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
getRecentManagerFilename :: (MonadIO m, IsRecentManager o) => o -> m (Maybe T.Text)
getRecentManagerFilename obj = liftIO $ getObjectPropertyString obj "filename"
constructRecentManagerFilename :: (IsRecentManager o) => T.Text -> IO (GValueConstruct o)
constructRecentManagerFilename val = constructObjectPropertyString "filename" (Just val)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerFilenamePropertyInfo
instance AttrInfo RecentManagerFilenamePropertyInfo where
type AttrAllowedOps RecentManagerFilenamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint RecentManagerFilenamePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint RecentManagerFilenamePropertyInfo = IsRecentManager
type AttrGetType RecentManagerFilenamePropertyInfo = (Maybe T.Text)
type AttrLabel RecentManagerFilenamePropertyInfo = "filename"
type AttrOrigin RecentManagerFilenamePropertyInfo = RecentManager
attrGet _ = getRecentManagerFilename
attrSet _ = undefined
attrConstruct _ = constructRecentManagerFilename
attrClear _ = undefined
#endif
getRecentManagerSize :: (MonadIO m, IsRecentManager o) => o -> m Int32
getRecentManagerSize obj = liftIO $ getObjectPropertyInt32 obj "size"
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerSizePropertyInfo
instance AttrInfo RecentManagerSizePropertyInfo where
type AttrAllowedOps RecentManagerSizePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint RecentManagerSizePropertyInfo = (~) ()
type AttrBaseTypeConstraint RecentManagerSizePropertyInfo = IsRecentManager
type AttrGetType RecentManagerSizePropertyInfo = Int32
type AttrLabel RecentManagerSizePropertyInfo = "size"
type AttrOrigin RecentManagerSizePropertyInfo = RecentManager
attrGet _ = getRecentManagerSize
attrSet _ = undefined
attrConstruct _ = undefined
attrClear _ = undefined
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList RecentManager
type instance O.AttributeList RecentManager = RecentManagerAttributeList
type RecentManagerAttributeList = ('[ '("filename", RecentManagerFilenamePropertyInfo), '("size", RecentManagerSizePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
recentManagerFilename :: AttrLabelProxy "filename"
recentManagerFilename = AttrLabelProxy
recentManagerSize :: AttrLabelProxy "size"
recentManagerSize = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerChangedSignalInfo
instance SignalInfo RecentManagerChangedSignalInfo where
type HaskellCallbackType RecentManagerChangedSignalInfo = RecentManagerChangedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_RecentManagerChangedCallback cb
cb'' <- mk_RecentManagerChangedCallback cb'
connectSignalFunPtr obj "changed" cb'' connectMode
type instance O.SignalList RecentManager = RecentManagerSignalList
type RecentManagerSignalList = ('[ '("changed", RecentManagerChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_recent_manager_new" gtk_recent_manager_new ::
IO (Ptr RecentManager)
recentManagerNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m RecentManager
recentManagerNew = liftIO $ do
result <- gtk_recent_manager_new
checkUnexpectedReturnNULL "recentManagerNew" result
result' <- (wrapObject RecentManager) result
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
foreign import ccall "gtk_recent_manager_add_full" gtk_recent_manager_add_full ::
Ptr RecentManager ->
CString ->
Ptr Gtk.RecentData.RecentData ->
IO CInt
recentManagerAddFull ::
(B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
a
-> T.Text
-> Gtk.RecentData.RecentData
-> m Bool
recentManagerAddFull manager uri recentData = liftIO $ do
manager' <- unsafeManagedPtrCastPtr manager
uri' <- textToCString uri
recentData' <- unsafeManagedPtrGetPtr recentData
result <- gtk_recent_manager_add_full manager' uri' recentData'
let result' = (/= 0) result
touchManagedPtr manager
touchManagedPtr recentData
freeMem uri'
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerAddFullMethodInfo
instance (signature ~ (T.Text -> Gtk.RecentData.RecentData -> m Bool), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerAddFullMethodInfo a signature where
overloadedMethod _ = recentManagerAddFull
#endif
foreign import ccall "gtk_recent_manager_add_item" gtk_recent_manager_add_item ::
Ptr RecentManager ->
CString ->
IO CInt
recentManagerAddItem ::
(B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
a
-> T.Text
-> m Bool
recentManagerAddItem manager uri = liftIO $ do
manager' <- unsafeManagedPtrCastPtr manager
uri' <- textToCString uri
result <- gtk_recent_manager_add_item manager' uri'
let result' = (/= 0) result
touchManagedPtr manager
freeMem uri'
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerAddItemMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerAddItemMethodInfo a signature where
overloadedMethod _ = recentManagerAddItem
#endif
foreign import ccall "gtk_recent_manager_get_items" gtk_recent_manager_get_items ::
Ptr RecentManager ->
IO (Ptr (GList (Ptr Gtk.RecentInfo.RecentInfo)))
recentManagerGetItems ::
(B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
a
-> m [Gtk.RecentInfo.RecentInfo]
recentManagerGetItems manager = liftIO $ do
manager' <- unsafeManagedPtrCastPtr manager
result <- gtk_recent_manager_get_items manager'
result' <- unpackGList result
result'' <- mapM (wrapBoxed Gtk.RecentInfo.RecentInfo) result'
g_list_free result
touchManagedPtr manager
return result''
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerGetItemsMethodInfo
instance (signature ~ (m [Gtk.RecentInfo.RecentInfo]), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerGetItemsMethodInfo a signature where
overloadedMethod _ = recentManagerGetItems
#endif
foreign import ccall "gtk_recent_manager_has_item" gtk_recent_manager_has_item ::
Ptr RecentManager ->
CString ->
IO CInt
recentManagerHasItem ::
(B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
a
-> T.Text
-> m Bool
recentManagerHasItem manager uri = liftIO $ do
manager' <- unsafeManagedPtrCastPtr manager
uri' <- textToCString uri
result <- gtk_recent_manager_has_item manager' uri'
let result' = (/= 0) result
touchManagedPtr manager
freeMem uri'
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerHasItemMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerHasItemMethodInfo a signature where
overloadedMethod _ = recentManagerHasItem
#endif
foreign import ccall "gtk_recent_manager_lookup_item" gtk_recent_manager_lookup_item ::
Ptr RecentManager ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr Gtk.RecentInfo.RecentInfo)
recentManagerLookupItem ::
(B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
a
-> T.Text
-> m (Maybe Gtk.RecentInfo.RecentInfo)
recentManagerLookupItem manager uri = liftIO $ do
manager' <- unsafeManagedPtrCastPtr manager
uri' <- textToCString uri
onException (do
result <- propagateGError $ gtk_recent_manager_lookup_item manager' uri'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapBoxed Gtk.RecentInfo.RecentInfo) result'
return result''
touchManagedPtr manager
freeMem uri'
return maybeResult
) (do
freeMem uri'
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerLookupItemMethodInfo
instance (signature ~ (T.Text -> m (Maybe Gtk.RecentInfo.RecentInfo)), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerLookupItemMethodInfo a signature where
overloadedMethod _ = recentManagerLookupItem
#endif
foreign import ccall "gtk_recent_manager_move_item" gtk_recent_manager_move_item ::
Ptr RecentManager ->
CString ->
CString ->
Ptr (Ptr GError) ->
IO CInt
recentManagerMoveItem ::
(B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
a
-> T.Text
-> Maybe (T.Text)
-> m ()
recentManagerMoveItem manager uri newUri = liftIO $ do
manager' <- unsafeManagedPtrCastPtr manager
uri' <- textToCString uri
maybeNewUri <- case newUri of
Nothing -> return nullPtr
Just jNewUri -> do
jNewUri' <- textToCString jNewUri
return jNewUri'
onException (do
_ <- propagateGError $ gtk_recent_manager_move_item manager' uri' maybeNewUri
touchManagedPtr manager
freeMem uri'
freeMem maybeNewUri
return ()
) (do
freeMem uri'
freeMem maybeNewUri
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerMoveItemMethodInfo
instance (signature ~ (T.Text -> Maybe (T.Text) -> m ()), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerMoveItemMethodInfo a signature where
overloadedMethod _ = recentManagerMoveItem
#endif
foreign import ccall "gtk_recent_manager_purge_items" gtk_recent_manager_purge_items ::
Ptr RecentManager ->
Ptr (Ptr GError) ->
IO Int32
recentManagerPurgeItems ::
(B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
a
-> m Int32
recentManagerPurgeItems manager = liftIO $ do
manager' <- unsafeManagedPtrCastPtr manager
onException (do
result <- propagateGError $ gtk_recent_manager_purge_items manager'
touchManagedPtr manager
return result
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerPurgeItemsMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerPurgeItemsMethodInfo a signature where
overloadedMethod _ = recentManagerPurgeItems
#endif
foreign import ccall "gtk_recent_manager_remove_item" gtk_recent_manager_remove_item ::
Ptr RecentManager ->
CString ->
Ptr (Ptr GError) ->
IO CInt
recentManagerRemoveItem ::
(B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
a
-> T.Text
-> m ()
recentManagerRemoveItem manager uri = liftIO $ do
manager' <- unsafeManagedPtrCastPtr manager
uri' <- textToCString uri
onException (do
_ <- propagateGError $ gtk_recent_manager_remove_item manager' uri'
touchManagedPtr manager
freeMem uri'
return ()
) (do
freeMem uri'
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data RecentManagerRemoveItemMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerRemoveItemMethodInfo a signature where
overloadedMethod _ = recentManagerRemoveItem
#endif
foreign import ccall "gtk_recent_manager_get_default" gtk_recent_manager_get_default ::
IO (Ptr RecentManager)
recentManagerGetDefault ::
(B.CallStack.HasCallStack, MonadIO m) =>
m RecentManager
recentManagerGetDefault = liftIO $ do
result <- gtk_recent_manager_get_default
checkUnexpectedReturnNULL "recentManagerGetDefault" result
result' <- (newObject RecentManager) result
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif