module Graphics.UI.Gtk.SourceView.SourceCompletionProvider (
SourceCompletionProvider,
SourceCompletionProviderClass,
sourceCompletionProviderGetName,
sourceCompletionProviderGetIcon,
sourceCompletionProviderGetInteractiveDelay,
sourceCompletionProviderGetPriority,
sourceCompletionProviderGetInfoWidget,
sourceCompletionProviderGetActivation,
sourceCompletionProviderGetStartIter,
sourceCompletionProviderMatch,
sourceCompletionProviderUpdateInfo,
sourceCompletionProviderPopulate,
sourceCompletionProviderActivateProposal,
) where
import Control.Monad (liftM)
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.SourceView.Enums
import System.Glib.Attributes
import System.Glib.FFI
import System.Glib.GObject (wrapNewGObject)
import System.Glib.Properties
import System.Glib.UTFString
import Graphics.UI.Gtk.SourceView.Signals
import Graphics.UI.Gtk.SourceView.Types
sourceCompletionProviderGetName :: (SourceCompletionProviderClass scp, GlibString string) => scp
-> IO string
sourceCompletionProviderGetName scp =
(\(SourceCompletionProvider arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_completion_provider_get_name argPtr1)
(toSourceCompletionProvider scp)
>>= peekUTFString
sourceCompletionProviderGetIcon :: SourceCompletionProviderClass scp => scp
-> IO (Maybe Pixbuf)
sourceCompletionProviderGetIcon scp =
maybeNull (wrapNewGObject mkPixbuf) $
(\(SourceCompletionProvider arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_completion_provider_get_icon argPtr1)
(toSourceCompletionProvider scp)
sourceCompletionProviderGetInteractiveDelay :: SourceCompletionProviderClass scp => scp
-> IO Int
sourceCompletionProviderGetInteractiveDelay scp =
liftM fromIntegral $
(\(SourceCompletionProvider arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_completion_provider_get_interactive_delay argPtr1)
(toSourceCompletionProvider scp)
sourceCompletionProviderGetPriority :: SourceCompletionProviderClass scp => scp
-> IO Int
sourceCompletionProviderGetPriority scp =
liftM fromIntegral $
(\(SourceCompletionProvider arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_completion_provider_get_priority argPtr1)
(toSourceCompletionProvider scp)
sourceCompletionProviderGetInfoWidget :: SourceCompletionProviderClass scp => scp
-> SourceCompletionProposal
-> IO Widget
sourceCompletionProviderGetInfoWidget scp proposal =
makeNewObject mkWidget $
(\(SourceCompletionProvider arg1) (SourceCompletionProposal arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_completion_provider_get_info_widget argPtr1 argPtr2)
(toSourceCompletionProvider scp)
proposal
sourceCompletionProviderGetActivation :: SourceCompletionProviderClass scp => scp
-> IO SourceCompletionActivation
sourceCompletionProviderGetActivation scp =
liftM (toEnum . fromIntegral) $
(\(SourceCompletionProvider arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_completion_provider_get_activation argPtr1)
(toSourceCompletionProvider scp)
sourceCompletionProviderGetStartIter :: SourceCompletionProviderClass scp => scp
-> SourceCompletionContext
-> SourceCompletionProposal
-> IO (Maybe TextIter)
sourceCompletionProviderGetStartIter scp context proposal = do
iter <- makeEmptyTextIter
success <- liftM toBool $ (\(SourceCompletionProvider arg1) (SourceCompletionContext arg2) (SourceCompletionProposal arg3) (TextIter arg4) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->withForeignPtr arg3 $ \argPtr3 ->withForeignPtr arg4 $ \argPtr4 ->gtk_source_completion_provider_get_start_iter argPtr1 argPtr2 argPtr3 argPtr4)
(toSourceCompletionProvider scp)
context
proposal
iter
if success
then return (Just iter)
else return Nothing
sourceCompletionProviderMatch :: SourceCompletionProviderClass scp => scp
-> SourceCompletionContext
-> IO Bool
sourceCompletionProviderMatch scp context =
liftM toBool $
(\(SourceCompletionProvider arg1) (SourceCompletionContext arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_completion_provider_match argPtr1 argPtr2)
(toSourceCompletionProvider scp)
context
sourceCompletionProviderUpdateInfo :: SourceCompletionProviderClass scp => scp
-> SourceCompletionProposal
-> SourceCompletionInfo
-> IO ()
sourceCompletionProviderUpdateInfo scp proposal info =
(\(SourceCompletionProvider arg1) (SourceCompletionProposal arg2) (SourceCompletionInfo arg3) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->withForeignPtr arg3 $ \argPtr3 ->gtk_source_completion_provider_update_info argPtr1 argPtr2 argPtr3)
(toSourceCompletionProvider scp)
proposal
info
sourceCompletionProviderPopulate :: SourceCompletionProviderClass scp => scp
-> SourceCompletionContext
-> IO ()
sourceCompletionProviderPopulate scp context =
(\(SourceCompletionProvider arg1) (SourceCompletionContext arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_completion_provider_populate argPtr1 argPtr2)
(toSourceCompletionProvider scp)
context
sourceCompletionProviderActivateProposal :: SourceCompletionProviderClass scp => scp
-> SourceCompletionProposal
-> TextIter
-> IO Bool
sourceCompletionProviderActivateProposal scp proposal iter =
liftM toBool $
(\(SourceCompletionProvider arg1) (SourceCompletionProposal arg2) (TextIter arg3) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->withForeignPtr arg3 $ \argPtr3 ->gtk_source_completion_provider_activate_proposal argPtr1 argPtr2 argPtr3)
(toSourceCompletionProvider scp)
proposal
iter
foreign import ccall safe "gtk_source_completion_provider_get_name"
gtk_source_completion_provider_get_name :: ((Ptr SourceCompletionProvider) -> (IO (Ptr CChar)))
foreign import ccall safe "gtk_source_completion_provider_get_icon"
gtk_source_completion_provider_get_icon :: ((Ptr SourceCompletionProvider) -> (IO (Ptr Pixbuf)))
foreign import ccall safe "gtk_source_completion_provider_get_interactive_delay"
gtk_source_completion_provider_get_interactive_delay :: ((Ptr SourceCompletionProvider) -> (IO CInt))
foreign import ccall safe "gtk_source_completion_provider_get_priority"
gtk_source_completion_provider_get_priority :: ((Ptr SourceCompletionProvider) -> (IO CInt))
foreign import ccall safe "gtk_source_completion_provider_get_info_widget"
gtk_source_completion_provider_get_info_widget :: ((Ptr SourceCompletionProvider) -> ((Ptr SourceCompletionProposal) -> (IO (Ptr Widget))))
foreign import ccall safe "gtk_source_completion_provider_get_activation"
gtk_source_completion_provider_get_activation :: ((Ptr SourceCompletionProvider) -> (IO CInt))
foreign import ccall safe "gtk_source_completion_provider_get_start_iter"
gtk_source_completion_provider_get_start_iter :: ((Ptr SourceCompletionProvider) -> ((Ptr SourceCompletionContext) -> ((Ptr SourceCompletionProposal) -> ((Ptr TextIter) -> (IO CInt)))))
foreign import ccall safe "gtk_source_completion_provider_match"
gtk_source_completion_provider_match :: ((Ptr SourceCompletionProvider) -> ((Ptr SourceCompletionContext) -> (IO CInt)))
foreign import ccall safe "gtk_source_completion_provider_update_info"
gtk_source_completion_provider_update_info :: ((Ptr SourceCompletionProvider) -> ((Ptr SourceCompletionProposal) -> ((Ptr SourceCompletionInfo) -> (IO ()))))
foreign import ccall safe "gtk_source_completion_provider_populate"
gtk_source_completion_provider_populate :: ((Ptr SourceCompletionProvider) -> ((Ptr SourceCompletionContext) -> (IO ())))
foreign import ccall safe "gtk_source_completion_provider_activate_proposal"
gtk_source_completion_provider_activate_proposal :: ((Ptr SourceCompletionProvider) -> ((Ptr SourceCompletionProposal) -> ((Ptr TextIter) -> (IO CInt))))