module Graphics.UI.Gtk.SourceView.SourceCompletion (
SourceCompletion,
SourceCompletionClass,
sourceCompletionAddProvider,
sourceCompletionRemoveProvider,
sourceCompletionGetProviders,
sourceCompletionShow,
sourceCompletionHide,
sourceCompletionGetInfoWindow,
sourceCompletionCreateContext,
sourceCompletionMoveWindow,
sourceCompletionBlockInteractive,
sourceCompletionUnblockInteractive,
sourceCompletionAccelerators,
sourceCompletionAutoCompleteDelay,
sourceCompletionProposalPageSize,
sourceCompletionProviderPageSize,
sourceCompletionRememberInfoVisibility,
sourceCompletionSelectOnShow,
sourceCompletionShowHeaders,
sourceCompletionShowIcons,
sourceCompletionView,
sourceCompletionActivateProposal,
sourceCompletionHideSignal,
sourceCompletionMoveCursor,
sourceCompletionMovePage,
sourceCompletionPopulateContext,
sourceCompletionShowSignal,
) where
import Control.Monad (liftM)
import Data.Maybe (fromMaybe)
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.General.Enums (ScrollStep (..))
import Graphics.UI.Gtk.Multiline.TextView (TextWindowType (..))
import System.Glib.Attributes
import System.Glib.FFI
import System.Glib.GError
import System.Glib.GList (fromGList, withGList)
import System.Glib.GObject (makeNewGObject)
import System.Glib.Properties
import System.Glib.UTFString
import Graphics.UI.Gtk.SourceView.Signals
import Graphics.UI.Gtk.SourceView.Types
sourceCompletionAddProvider :: SourceCompletionClass sc => sc
-> SourceCompletionProvider
-> IO Bool
sourceCompletionAddProvider sc provider =
liftM toBool $
propagateGError $ \gErrorPtr ->
(\(SourceCompletion arg1) (SourceCompletionProvider arg2) arg3 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_completion_add_provider argPtr1 argPtr2 arg3)
(toSourceCompletion sc)
provider
gErrorPtr
sourceCompletionRemoveProvider :: SourceCompletionClass sc => sc
-> SourceCompletionProvider
-> IO Bool
sourceCompletionRemoveProvider sc provider =
liftM toBool $
propagateGError $ \gErrorPtr ->
(\(SourceCompletion arg1) (SourceCompletionProvider arg2) arg3 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_completion_remove_provider argPtr1 argPtr2 arg3)
(toSourceCompletion sc)
provider
gErrorPtr
sourceCompletionGetProviders :: SourceCompletionClass sc => sc -> IO [SourceCompletionProvider]
sourceCompletionGetProviders sc = do
glist <- (\(SourceCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_completion_get_providers argPtr1) (toSourceCompletion sc)
glistPtrs <- fromGList glist
mapM (makeNewGObject mkSourceCompletionProvider . return) glistPtrs
sourceCompletionShow :: SourceCompletionClass sc => sc
-> [SourceCompletionProvider]
-> SourceCompletionContext
-> IO Bool
sourceCompletionShow sc providers context =
liftM toBool $
withForeignPtrs (map unSourceCompletionProvider providers) $ \providersPtr ->
withGList providersPtr $ \glist ->
(\(SourceCompletion arg1) arg2 (SourceCompletionContext arg3) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg3 $ \argPtr3 ->gtk_source_completion_show argPtr1 arg2 argPtr3)
(toSourceCompletion sc)
glist
context
sourceCompletionHide :: SourceCompletionClass sc => sc -> IO ()
sourceCompletionHide sc =
(\(SourceCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_completion_hide argPtr1) (toSourceCompletion sc)
sourceCompletionGetInfoWindow :: SourceCompletionClass sc => sc -> IO SourceCompletionInfo
sourceCompletionGetInfoWindow sc =
makeNewObject mkSourceCompletionInfo $
(\(SourceCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_completion_get_info_window argPtr1)
(toSourceCompletion sc)
sourceCompletionCreateContext :: SourceCompletionClass sc => sc
-> Maybe TextIter
-> IO SourceCompletionContext
sourceCompletionCreateContext sc iter =
makeNewGObject mkSourceCompletionContext $
(\(SourceCompletion arg1) (TextIter arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_completion_create_context argPtr1 argPtr2)
(toSourceCompletion sc)
(fromMaybe (TextIter nullForeignPtr) iter)
sourceCompletionMoveWindow :: SourceCompletionClass sc => sc
-> TextIter
-> IO ()
sourceCompletionMoveWindow sc iter =
(\(SourceCompletion arg1) (TextIter arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_source_completion_move_window argPtr1 argPtr2)
(toSourceCompletion sc)
iter
sourceCompletionBlockInteractive :: SourceCompletionClass sc => sc -> IO ()
sourceCompletionBlockInteractive sc =
(\(SourceCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_completion_block_interactive argPtr1)
(toSourceCompletion sc)
sourceCompletionUnblockInteractive :: SourceCompletionClass sc => sc -> IO ()
sourceCompletionUnblockInteractive sc =
(\(SourceCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_source_completion_unblock_interactive argPtr1)
(toSourceCompletion sc)
sourceCompletionAccelerators :: SourceCompletionClass sc => Attr sc Int
sourceCompletionAccelerators = newAttrFromIntProperty "accelerators"
sourceCompletionAutoCompleteDelay :: SourceCompletionClass sc => Attr sc Int
sourceCompletionAutoCompleteDelay = newAttrFromIntProperty "auto-complete-delay"
sourceCompletionProposalPageSize :: SourceCompletionClass sc => Attr sc Int
sourceCompletionProposalPageSize = newAttrFromIntProperty "proposal-page-size"
sourceCompletionProviderPageSize :: SourceCompletionClass sc => Attr sc Int
sourceCompletionProviderPageSize = newAttrFromIntProperty "provider-page-size"
sourceCompletionRememberInfoVisibility :: SourceCompletionClass sc => Attr sc Bool
sourceCompletionRememberInfoVisibility = newAttrFromBoolProperty "remember-info-visibility"
sourceCompletionSelectOnShow :: SourceCompletionClass sc => Attr sc Bool
sourceCompletionSelectOnShow = newAttrFromBoolProperty "select-on-show"
sourceCompletionShowHeaders :: SourceCompletionClass sc => Attr sc Bool
sourceCompletionShowHeaders = newAttrFromBoolProperty "show-headers"
sourceCompletionShowIcons :: SourceCompletionClass sc => Attr sc Bool
sourceCompletionShowIcons = newAttrFromBoolProperty "show-icons"
sourceCompletionView :: SourceCompletionClass sc => Attr sc SourceView
sourceCompletionView = newAttrFromObjectProperty "view"
gtk_source_view_get_type
sourceCompletionActivateProposal :: SourceCompletionClass sc => Signal sc (IO ())
sourceCompletionActivateProposal =
Signal $ connect_NONE__NONE "activate-proposal"
sourceCompletionHideSignal :: SourceCompletionClass sc => Signal sc (IO ())
sourceCompletionHideSignal =
Signal $ connect_NONE__NONE "hide"
sourceCompletionMoveCursor :: SourceCompletionClass sc => Signal sc (ScrollStep -> Int -> IO ())
sourceCompletionMoveCursor =
Signal $ connect_ENUM_INT__NONE "move-cursor"
sourceCompletionMovePage :: SourceCompletionClass sc => Signal sc (ScrollStep -> Int -> IO ())
sourceCompletionMovePage =
Signal $ connect_ENUM_INT__NONE "move-page"
sourceCompletionPopulateContext :: SourceCompletionClass sc => Signal sc (SourceCompletionContext -> IO ())
sourceCompletionPopulateContext = Signal $ connect_OBJECT__NONE "populate-context"
sourceCompletionShowSignal :: SourceCompletionClass sc => Signal sc (IO ())
sourceCompletionShowSignal =
Signal $ connect_NONE__NONE "show"
foreign import ccall safe "gtk_source_completion_add_provider"
gtk_source_completion_add_provider :: ((Ptr SourceCompletion) -> ((Ptr SourceCompletionProvider) -> ((Ptr (Ptr ())) -> (IO CInt))))
foreign import ccall safe "gtk_source_completion_remove_provider"
gtk_source_completion_remove_provider :: ((Ptr SourceCompletion) -> ((Ptr SourceCompletionProvider) -> ((Ptr (Ptr ())) -> (IO CInt))))
foreign import ccall safe "gtk_source_completion_get_providers"
gtk_source_completion_get_providers :: ((Ptr SourceCompletion) -> (IO (Ptr ())))
foreign import ccall safe "gtk_source_completion_show"
gtk_source_completion_show :: ((Ptr SourceCompletion) -> ((Ptr ()) -> ((Ptr SourceCompletionContext) -> (IO CInt))))
foreign import ccall safe "gtk_source_completion_hide"
gtk_source_completion_hide :: ((Ptr SourceCompletion) -> (IO ()))
foreign import ccall safe "gtk_source_completion_get_info_window"
gtk_source_completion_get_info_window :: ((Ptr SourceCompletion) -> (IO (Ptr SourceCompletionInfo)))
foreign import ccall safe "gtk_source_completion_create_context"
gtk_source_completion_create_context :: ((Ptr SourceCompletion) -> ((Ptr TextIter) -> (IO (Ptr SourceCompletionContext))))
foreign import ccall safe "gtk_source_completion_move_window"
gtk_source_completion_move_window :: ((Ptr SourceCompletion) -> ((Ptr TextIter) -> (IO ())))
foreign import ccall safe "gtk_source_completion_block_interactive"
gtk_source_completion_block_interactive :: ((Ptr SourceCompletion) -> (IO ()))
foreign import ccall safe "gtk_source_completion_unblock_interactive"
gtk_source_completion_unblock_interactive :: ((Ptr SourceCompletion) -> (IO ()))
foreign import ccall unsafe "gtk_source_view_get_type"
gtk_source_view_get_type :: CULong