{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) /No description available in the introspection data./ -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.GtkSource.Interfaces.CompletionProvider ( -- * Exported types CompletionProvider(..) , noCompletionProvider , IsCompletionProvider , toCompletionProvider , -- * Methods -- ** activateProposal #method:activateProposal# #if ENABLE_OVERLOADING CompletionProviderActivateProposalMethodInfo, #endif completionProviderActivateProposal , -- ** getActivation #method:getActivation# #if ENABLE_OVERLOADING CompletionProviderGetActivationMethodInfo, #endif completionProviderGetActivation , -- ** getGicon #method:getGicon# #if ENABLE_OVERLOADING CompletionProviderGetGiconMethodInfo , #endif completionProviderGetGicon , -- ** getIcon #method:getIcon# #if ENABLE_OVERLOADING CompletionProviderGetIconMethodInfo , #endif completionProviderGetIcon , -- ** getIconName #method:getIconName# #if ENABLE_OVERLOADING CompletionProviderGetIconNameMethodInfo , #endif completionProviderGetIconName , -- ** getInfoWidget #method:getInfoWidget# #if ENABLE_OVERLOADING CompletionProviderGetInfoWidgetMethodInfo, #endif completionProviderGetInfoWidget , -- ** getInteractiveDelay #method:getInteractiveDelay# #if ENABLE_OVERLOADING CompletionProviderGetInteractiveDelayMethodInfo, #endif completionProviderGetInteractiveDelay , -- ** getName #method:getName# #if ENABLE_OVERLOADING CompletionProviderGetNameMethodInfo , #endif completionProviderGetName , -- ** getPriority #method:getPriority# #if ENABLE_OVERLOADING CompletionProviderGetPriorityMethodInfo , #endif completionProviderGetPriority , -- ** getStartIter #method:getStartIter# #if ENABLE_OVERLOADING CompletionProviderGetStartIterMethodInfo, #endif completionProviderGetStartIter , -- ** match #method:match# #if ENABLE_OVERLOADING CompletionProviderMatchMethodInfo , #endif completionProviderMatch , -- ** populate #method:populate# #if ENABLE_OVERLOADING CompletionProviderPopulateMethodInfo , #endif completionProviderPopulate , -- ** updateInfo #method:updateInfo# #if ENABLE_OVERLOADING CompletionProviderUpdateInfoMethodInfo , #endif completionProviderUpdateInfo , ) 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.GClosure as B.GClosure import qualified Data.GI.Base.GError as B.GError import qualified Data.GI.Base.GVariant as B.GVariant import qualified Data.GI.Base.GValue as B.GValue import qualified Data.GI.Base.GParamSpec as B.GParamSpec import qualified Data.GI.Base.CallStack as B.CallStack import qualified Data.GI.Base.Properties as B.Properties 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 GHC.OverloadedLabels as OL import qualified GI.GObject.Objects.Object as GObject.Object import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf import qualified GI.Gio.Interfaces.Icon as Gio.Icon import qualified GI.Gtk.Objects.Widget as Gtk.Widget import qualified GI.Gtk.Structs.TextIter as Gtk.TextIter import {-# SOURCE #-} qualified GI.GtkSource.Flags as GtkSource.Flags import {-# SOURCE #-} qualified GI.GtkSource.Interfaces.CompletionProposal as GtkSource.CompletionProposal import {-# SOURCE #-} qualified GI.GtkSource.Objects.CompletionContext as GtkSource.CompletionContext import {-# SOURCE #-} qualified GI.GtkSource.Objects.CompletionInfo as GtkSource.CompletionInfo -- interface CompletionProvider -- | Memory-managed wrapper type. newtype CompletionProvider = CompletionProvider (ManagedPtr CompletionProvider) -- | A convenience alias for `Nothing` :: `Maybe` `CompletionProvider`. noCompletionProvider :: Maybe CompletionProvider noCompletionProvider = Nothing #if ENABLE_OVERLOADING type instance O.SignalList CompletionProvider = CompletionProviderSignalList type CompletionProviderSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)]) #endif foreign import ccall "gtk_source_completion_provider_get_type" c_gtk_source_completion_provider_get_type :: IO GType instance GObject CompletionProvider where gobjectType = c_gtk_source_completion_provider_get_type -- | Type class for types which can be safely cast to `CompletionProvider`, for instance with `toCompletionProvider`. class (GObject o, O.IsDescendantOf CompletionProvider o) => IsCompletionProvider o instance (GObject o, O.IsDescendantOf CompletionProvider o) => IsCompletionProvider o instance O.HasParentTypes CompletionProvider type instance O.ParentTypes CompletionProvider = '[GObject.Object.Object] -- | Cast to `CompletionProvider`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toCompletionProvider :: (MonadIO m, IsCompletionProvider o) => o -> m CompletionProvider toCompletionProvider = liftIO . unsafeCastTo CompletionProvider #if ENABLE_OVERLOADING instance O.HasAttributeList CompletionProvider type instance O.AttributeList CompletionProvider = CompletionProviderAttributeList type CompletionProviderAttributeList = ('[ ] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING #endif #if ENABLE_OVERLOADING type family ResolveCompletionProviderMethod (t :: Symbol) (o :: *) :: * where ResolveCompletionProviderMethod "activateProposal" o = CompletionProviderActivateProposalMethodInfo ResolveCompletionProviderMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveCompletionProviderMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveCompletionProviderMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveCompletionProviderMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveCompletionProviderMethod "getv" o = GObject.Object.ObjectGetvMethodInfo ResolveCompletionProviderMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo ResolveCompletionProviderMethod "match" o = CompletionProviderMatchMethodInfo ResolveCompletionProviderMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo ResolveCompletionProviderMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo ResolveCompletionProviderMethod "populate" o = CompletionProviderPopulateMethodInfo ResolveCompletionProviderMethod "ref" o = GObject.Object.ObjectRefMethodInfo ResolveCompletionProviderMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo ResolveCompletionProviderMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo ResolveCompletionProviderMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo ResolveCompletionProviderMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo ResolveCompletionProviderMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo ResolveCompletionProviderMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo ResolveCompletionProviderMethod "updateInfo" o = CompletionProviderUpdateInfoMethodInfo ResolveCompletionProviderMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo ResolveCompletionProviderMethod "getActivation" o = CompletionProviderGetActivationMethodInfo ResolveCompletionProviderMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo ResolveCompletionProviderMethod "getGicon" o = CompletionProviderGetGiconMethodInfo ResolveCompletionProviderMethod "getIcon" o = CompletionProviderGetIconMethodInfo ResolveCompletionProviderMethod "getIconName" o = CompletionProviderGetIconNameMethodInfo ResolveCompletionProviderMethod "getInfoWidget" o = CompletionProviderGetInfoWidgetMethodInfo ResolveCompletionProviderMethod "getInteractiveDelay" o = CompletionProviderGetInteractiveDelayMethodInfo ResolveCompletionProviderMethod "getName" o = CompletionProviderGetNameMethodInfo ResolveCompletionProviderMethod "getPriority" o = CompletionProviderGetPriorityMethodInfo ResolveCompletionProviderMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo ResolveCompletionProviderMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo ResolveCompletionProviderMethod "getStartIter" o = CompletionProviderGetStartIterMethodInfo ResolveCompletionProviderMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo ResolveCompletionProviderMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo ResolveCompletionProviderMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveCompletionProviderMethod t CompletionProvider, O.MethodInfo info CompletionProvider p) => OL.IsLabel t (CompletionProvider -> 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 -- method CompletionProvider::activate_proposal -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProvider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proposal", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProposal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProposal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_activate_proposal" gtk_source_completion_provider_activate_proposal :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) Ptr GtkSource.CompletionProposal.CompletionProposal -> -- proposal : TInterface (Name {namespace = "GtkSource", name = "CompletionProposal"}) Ptr Gtk.TextIter.TextIter -> -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"}) IO CInt {- | Activate /@proposal@/ at /@iter@/. When this functions returns 'False', the default activation of /@proposal@/ will take place which replaces the word at /@iter@/ with the text of /@proposal@/ (see 'GI.GtkSource.Interfaces.CompletionProposal.completionProposalGetText'). Here is how the default activation selects the boundaries of the word to replace. The end of the word is /@iter@/. For the start of the word, it depends on whether a start iter is defined for /@proposal@/ (see 'GI.GtkSource.Interfaces.CompletionProvider.completionProviderGetStartIter'). If a start iter is defined, the start of the word is the start iter. Else, the word (as long as possible) will contain only alphanumerical and the \"_\" characters. -} completionProviderActivateProposal :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a, GtkSource.CompletionProposal.IsCompletionProposal b) => a {- ^ /@provider@/: a 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider'. -} -> b {- ^ /@proposal@/: a 'GI.GtkSource.Interfaces.CompletionProposal.CompletionProposal'. -} -> Gtk.TextIter.TextIter {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter'. -} -> m Bool {- ^ __Returns:__ 'True' to indicate that the proposal activation has been handled, 'False' otherwise. -} completionProviderActivateProposal provider proposal iter = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider proposal' <- unsafeManagedPtrCastPtr proposal iter' <- unsafeManagedPtrGetPtr iter result <- gtk_source_completion_provider_activate_proposal provider' proposal' iter' let result' = (/= 0) result touchManagedPtr provider touchManagedPtr proposal touchManagedPtr iter return result' #if ENABLE_OVERLOADING data CompletionProviderActivateProposalMethodInfo instance (signature ~ (b -> Gtk.TextIter.TextIter -> m Bool), MonadIO m, IsCompletionProvider a, GtkSource.CompletionProposal.IsCompletionProposal b) => O.MethodInfo CompletionProviderActivateProposalMethodInfo a signature where overloadedMethod _ = completionProviderActivateProposal #endif -- method CompletionProvider::get_activation -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProvider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "CompletionActivation"})) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_get_activation" gtk_source_completion_provider_get_activation :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) IO CUInt {- | Get with what kind of activation the provider should be activated. -} completionProviderGetActivation :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a) => a {- ^ /@provider@/: a 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider'. -} -> m [GtkSource.Flags.CompletionActivation] {- ^ __Returns:__ a combination of 'GI.GtkSource.Flags.CompletionActivation'. -} completionProviderGetActivation provider = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider result <- gtk_source_completion_provider_get_activation provider' let result' = wordToGFlags result touchManagedPtr provider return result' #if ENABLE_OVERLOADING data CompletionProviderGetActivationMethodInfo instance (signature ~ (m [GtkSource.Flags.CompletionActivation]), MonadIO m, IsCompletionProvider a) => O.MethodInfo CompletionProviderGetActivationMethodInfo a signature where overloadedMethod _ = completionProviderGetActivation #endif -- method CompletionProvider::get_gicon -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkSourceCompletionProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"})) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_get_gicon" gtk_source_completion_provider_get_gicon :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) IO (Ptr Gio.Icon.Icon) {- | Gets the 'GI.Gio.Interfaces.Icon.Icon' for the icon of /@provider@/. /Since: 3.18/ -} completionProviderGetGicon :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a) => a {- ^ /@provider@/: The 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider' -} -> m (Maybe Gio.Icon.Icon) {- ^ __Returns:__ The icon to be used for the provider, or 'Nothing' if the provider does not have a special icon. -} completionProviderGetGicon provider = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider result <- gtk_source_completion_provider_get_gicon provider' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newObject Gio.Icon.Icon) result' return result'' touchManagedPtr provider return maybeResult #if ENABLE_OVERLOADING data CompletionProviderGetGiconMethodInfo instance (signature ~ (m (Maybe Gio.Icon.Icon)), MonadIO m, IsCompletionProvider a) => O.MethodInfo CompletionProviderGetGiconMethodInfo a signature where overloadedMethod _ = completionProviderGetGicon #endif -- method CompletionProvider::get_icon -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkSourceCompletionProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_get_icon" gtk_source_completion_provider_get_icon :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) IO (Ptr GdkPixbuf.Pixbuf.Pixbuf) {- | Get the 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' for the icon of the /@provider@/. -} completionProviderGetIcon :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a) => a {- ^ /@provider@/: The 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider' -} -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf) {- ^ __Returns:__ The icon to be used for the provider, or 'Nothing' if the provider does not have a special icon. -} completionProviderGetIcon provider = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider result <- gtk_source_completion_provider_get_icon provider' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result' return result'' touchManagedPtr provider return maybeResult #if ENABLE_OVERLOADING data CompletionProviderGetIconMethodInfo instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsCompletionProvider a) => O.MethodInfo CompletionProviderGetIconMethodInfo a signature where overloadedMethod _ = completionProviderGetIcon #endif -- method CompletionProvider::get_icon_name -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkSourceCompletionProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_get_icon_name" gtk_source_completion_provider_get_icon_name :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) IO CString {- | Gets the icon name of /@provider@/. /Since: 3.18/ -} completionProviderGetIconName :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a) => a {- ^ /@provider@/: The 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider' -} -> m (Maybe T.Text) {- ^ __Returns:__ The icon name to be used for the provider, or 'Nothing' if the provider does not have a special icon. -} completionProviderGetIconName provider = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider result <- gtk_source_completion_provider_get_icon_name provider' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- cstringToText result' return result'' touchManagedPtr provider return maybeResult #if ENABLE_OVERLOADING data CompletionProviderGetIconNameMethodInfo instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsCompletionProvider a) => O.MethodInfo CompletionProviderGetIconNameMethodInfo a signature where overloadedMethod _ = completionProviderGetIconName #endif -- method CompletionProvider::get_info_widget -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProvider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proposal", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProposal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a currently selected #GtkSourceCompletionProposal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"})) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_get_info_widget" gtk_source_completion_provider_get_info_widget :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) Ptr GtkSource.CompletionProposal.CompletionProposal -> -- proposal : TInterface (Name {namespace = "GtkSource", name = "CompletionProposal"}) IO (Ptr Gtk.Widget.Widget) {- | Get a customized info widget to show extra information of a proposal. This allows for customized widgets on a proposal basis, although in general providers will have the same custom widget for all their proposals and /@proposal@/ can be ignored. The implementation of this function is optional. If this function is not implemented, the default widget is a 'GI.Gtk.Objects.Label.Label'. The return value of 'GI.GtkSource.Interfaces.CompletionProposal.completionProposalGetInfo' is used as the content of the 'GI.Gtk.Objects.Label.Label'. \ \ If implemented, 'GI.GtkSource.Interfaces.CompletionProvider.completionProviderUpdateInfo' \must\<\/emphasis> also be implemented. \<\/para> \<\/note> -} completionProviderGetInfoWidget :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a, GtkSource.CompletionProposal.IsCompletionProposal b) => a {- ^ /@provider@/: a 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider'. -} -> b {- ^ /@proposal@/: a currently selected 'GI.GtkSource.Interfaces.CompletionProposal.CompletionProposal'. -} -> m (Maybe Gtk.Widget.Widget) {- ^ __Returns:__ a custom 'GI.Gtk.Objects.Widget.Widget' to show extra information about /@proposal@/, or 'Nothing' if the provider does not have a special info widget. -} completionProviderGetInfoWidget provider proposal = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider proposal' <- unsafeManagedPtrCastPtr proposal result <- gtk_source_completion_provider_get_info_widget provider' proposal' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newObject Gtk.Widget.Widget) result' return result'' touchManagedPtr provider touchManagedPtr proposal return maybeResult #if ENABLE_OVERLOADING data CompletionProviderGetInfoWidgetMethodInfo instance (signature ~ (b -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsCompletionProvider a, GtkSource.CompletionProposal.IsCompletionProposal b) => O.MethodInfo CompletionProviderGetInfoWidgetMethodInfo a signature where overloadedMethod _ = completionProviderGetInfoWidget #endif -- method CompletionProvider::get_interactive_delay -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProvider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TInt) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_get_interactive_delay" gtk_source_completion_provider_get_interactive_delay :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) IO Int32 {- | Get the delay in milliseconds before starting interactive completion for this provider. A value of -1 indicates to use the default value as set by the 'GI.GtkSource.Objects.Completion.Completion':@/auto-complete-delay/@ property. -} completionProviderGetInteractiveDelay :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a) => a {- ^ /@provider@/: a 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider'. -} -> m Int32 {- ^ __Returns:__ the interactive delay in milliseconds. -} completionProviderGetInteractiveDelay provider = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider result <- gtk_source_completion_provider_get_interactive_delay provider' touchManagedPtr provider return result #if ENABLE_OVERLOADING data CompletionProviderGetInteractiveDelayMethodInfo instance (signature ~ (m Int32), MonadIO m, IsCompletionProvider a) => O.MethodInfo CompletionProviderGetInteractiveDelayMethodInfo a signature where overloadedMethod _ = completionProviderGetInteractiveDelay #endif -- method CompletionProvider::get_name -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProvider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_get_name" gtk_source_completion_provider_get_name :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) IO CString {- | Get the name of the provider. This should be a translatable name for display to the user. For example: _(\"Document word completion provider\"). The returned string must be freed with 'GI.GLib.Functions.free'. -} completionProviderGetName :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a) => a {- ^ /@provider@/: a 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider'. -} -> m T.Text {- ^ __Returns:__ a new string containing the name of the provider. -} completionProviderGetName provider = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider result <- gtk_source_completion_provider_get_name provider' checkUnexpectedReturnNULL "completionProviderGetName" result result' <- cstringToText result freeMem result touchManagedPtr provider return result' #if ENABLE_OVERLOADING data CompletionProviderGetNameMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsCompletionProvider a) => O.MethodInfo CompletionProviderGetNameMethodInfo a signature where overloadedMethod _ = completionProviderGetName #endif -- method CompletionProvider::get_priority -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProvider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TInt) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_get_priority" gtk_source_completion_provider_get_priority :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) IO Int32 {- | Get the provider priority. The priority determines the order in which proposals appear in the completion popup. Higher priorities are sorted before lower priorities. The default priority is 0. -} completionProviderGetPriority :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a) => a {- ^ /@provider@/: a 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider'. -} -> m Int32 {- ^ __Returns:__ the provider priority. -} completionProviderGetPriority provider = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider result <- gtk_source_completion_provider_get_priority provider' touchManagedPtr provider return result #if ENABLE_OVERLOADING data CompletionProviderGetPriorityMethodInfo instance (signature ~ (m Int32), MonadIO m, IsCompletionProvider a) => O.MethodInfo CompletionProviderGetPriorityMethodInfo a signature where overloadedMethod _ = completionProviderGetPriority #endif -- method CompletionProvider::get_start_iter -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProvider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionContext.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proposal", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProposal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProposal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_get_start_iter" gtk_source_completion_provider_get_start_iter :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) Ptr GtkSource.CompletionContext.CompletionContext -> -- context : TInterface (Name {namespace = "GtkSource", name = "CompletionContext"}) Ptr GtkSource.CompletionProposal.CompletionProposal -> -- proposal : TInterface (Name {namespace = "GtkSource", name = "CompletionProposal"}) Ptr Gtk.TextIter.TextIter -> -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"}) IO CInt {- | Get the 'GI.Gtk.Structs.TextIter.TextIter' at which the completion for /@proposal@/ starts. When implemented, this information is used to position the completion window accordingly when a proposal is selected in the completion window. The /@proposal@/ text inside the completion window is aligned on /@iter@/. If this function is not implemented, the word boundary is taken to position the completion window. See 'GI.GtkSource.Interfaces.CompletionProvider.completionProviderActivateProposal' for an explanation on the word boundaries. When the /@proposal@/ is activated, the default handler uses /@iter@/ as the start of the word to replace. See 'GI.GtkSource.Interfaces.CompletionProvider.completionProviderActivateProposal' for more information. -} completionProviderGetStartIter :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a, GtkSource.CompletionContext.IsCompletionContext b, GtkSource.CompletionProposal.IsCompletionProposal c) => a {- ^ /@provider@/: a 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider'. -} -> b {- ^ /@context@/: a 'GI.GtkSource.Objects.CompletionContext.CompletionContext'. -} -> c {- ^ /@proposal@/: a 'GI.GtkSource.Interfaces.CompletionProposal.CompletionProposal'. -} -> m ((Bool, Gtk.TextIter.TextIter)) {- ^ __Returns:__ 'True' if /@iter@/ was set for /@proposal@/, 'False' otherwise. -} completionProviderGetStartIter provider context proposal = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider context' <- unsafeManagedPtrCastPtr context proposal' <- unsafeManagedPtrCastPtr proposal iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter) result <- gtk_source_completion_provider_get_start_iter provider' context' proposal' iter let result' = (/= 0) result iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter touchManagedPtr provider touchManagedPtr context touchManagedPtr proposal return (result', iter') #if ENABLE_OVERLOADING data CompletionProviderGetStartIterMethodInfo instance (signature ~ (b -> c -> m ((Bool, Gtk.TextIter.TextIter))), MonadIO m, IsCompletionProvider a, GtkSource.CompletionContext.IsCompletionContext b, GtkSource.CompletionProposal.IsCompletionProposal c) => O.MethodInfo CompletionProviderGetStartIterMethodInfo a signature where overloadedMethod _ = completionProviderGetStartIter #endif -- method CompletionProvider::match -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProvider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionContext.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_match" gtk_source_completion_provider_match :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) Ptr GtkSource.CompletionContext.CompletionContext -> -- context : TInterface (Name {namespace = "GtkSource", name = "CompletionContext"}) IO CInt {- | Get whether the provider match the context of completion detailed in /@context@/. -} completionProviderMatch :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a, GtkSource.CompletionContext.IsCompletionContext b) => a {- ^ /@provider@/: a 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider'. -} -> b {- ^ /@context@/: a 'GI.GtkSource.Objects.CompletionContext.CompletionContext'. -} -> m Bool {- ^ __Returns:__ 'True' if /@provider@/ matches the completion context, 'False' otherwise. -} completionProviderMatch provider context = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider context' <- unsafeManagedPtrCastPtr context result <- gtk_source_completion_provider_match provider' context' let result' = (/= 0) result touchManagedPtr provider touchManagedPtr context return result' #if ENABLE_OVERLOADING data CompletionProviderMatchMethodInfo instance (signature ~ (b -> m Bool), MonadIO m, IsCompletionProvider a, GtkSource.CompletionContext.IsCompletionContext b) => O.MethodInfo CompletionProviderMatchMethodInfo a signature where overloadedMethod _ = completionProviderMatch #endif -- method CompletionProvider::populate -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProvider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionContext.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_populate" gtk_source_completion_provider_populate :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) Ptr GtkSource.CompletionContext.CompletionContext -> -- context : TInterface (Name {namespace = "GtkSource", name = "CompletionContext"}) IO () {- | Populate /@context@/ with proposals from /@provider@/ added with the 'GI.GtkSource.Objects.CompletionContext.completionContextAddProposals' function. -} completionProviderPopulate :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a, GtkSource.CompletionContext.IsCompletionContext b) => a {- ^ /@provider@/: a 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider'. -} -> b {- ^ /@context@/: a 'GI.GtkSource.Objects.CompletionContext.CompletionContext'. -} -> m () completionProviderPopulate provider context = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider context' <- unsafeManagedPtrCastPtr context gtk_source_completion_provider_populate provider' context' touchManagedPtr provider touchManagedPtr context return () #if ENABLE_OVERLOADING data CompletionProviderPopulateMethodInfo instance (signature ~ (b -> m ()), MonadIO m, IsCompletionProvider a, GtkSource.CompletionContext.IsCompletionContext b) => O.MethodInfo CompletionProviderPopulateMethodInfo a signature where overloadedMethod _ = completionProviderPopulate #endif -- method CompletionProvider::update_info -- method type : OrdinaryMethod -- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProvider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proposal", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionProposal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionProposal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GtkSource", name = "CompletionInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceCompletionInfo.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_source_completion_provider_update_info" gtk_source_completion_provider_update_info :: Ptr CompletionProvider -> -- provider : TInterface (Name {namespace = "GtkSource", name = "CompletionProvider"}) Ptr GtkSource.CompletionProposal.CompletionProposal -> -- proposal : TInterface (Name {namespace = "GtkSource", name = "CompletionProposal"}) Ptr GtkSource.CompletionInfo.CompletionInfo -> -- info : TInterface (Name {namespace = "GtkSource", name = "CompletionInfo"}) IO () {- | Update extra information shown in /@info@/ for /@proposal@/. \ \ This function \must\<\/emphasis> be implemented when 'GI.GtkSource.Interfaces.CompletionProvider.completionProviderGetInfoWidget' is implemented. \<\/para> \<\/note> -} completionProviderUpdateInfo :: (B.CallStack.HasCallStack, MonadIO m, IsCompletionProvider a, GtkSource.CompletionProposal.IsCompletionProposal b, GtkSource.CompletionInfo.IsCompletionInfo c) => a {- ^ /@provider@/: a 'GI.GtkSource.Interfaces.CompletionProvider.CompletionProvider'. -} -> b {- ^ /@proposal@/: a 'GI.GtkSource.Interfaces.CompletionProposal.CompletionProposal'. -} -> c {- ^ /@info@/: a 'GI.GtkSource.Objects.CompletionInfo.CompletionInfo'. -} -> m () completionProviderUpdateInfo provider proposal info = liftIO $ do provider' <- unsafeManagedPtrCastPtr provider proposal' <- unsafeManagedPtrCastPtr proposal info' <- unsafeManagedPtrCastPtr info gtk_source_completion_provider_update_info provider' proposal' info' touchManagedPtr provider touchManagedPtr proposal touchManagedPtr info return () #if ENABLE_OVERLOADING data CompletionProviderUpdateInfoMethodInfo instance (signature ~ (b -> c -> m ()), MonadIO m, IsCompletionProvider a, GtkSource.CompletionProposal.IsCompletionProposal b, GtkSource.CompletionInfo.IsCompletionInfo c) => O.MethodInfo CompletionProviderUpdateInfoMethodInfo a signature where overloadedMethod _ = completionProviderUpdateInfo #endif