module GI.Gtk.Objects.IMMulticontext
(
IMMulticontext(..) ,
IMMulticontextK ,
toIMMulticontext ,
noIMMulticontext ,
iMMulticontextAppendMenuitems ,
iMMulticontextGetContextId ,
iMMulticontextNew ,
iMMulticontextSetContextId ,
) 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 IMMulticontext = IMMulticontext (ForeignPtr IMMulticontext)
foreign import ccall "gtk_im_multicontext_get_type"
c_gtk_im_multicontext_get_type :: IO GType
type instance ParentTypes IMMulticontext = IMMulticontextParentTypes
type IMMulticontextParentTypes = '[IMContext, GObject.Object]
instance GObject IMMulticontext where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_im_multicontext_get_type
class GObject o => IMMulticontextK o
instance (GObject o, IsDescendantOf IMMulticontext o) => IMMulticontextK o
toIMMulticontext :: IMMulticontextK o => o -> IO IMMulticontext
toIMMulticontext = unsafeCastTo IMMulticontext
noIMMulticontext :: Maybe IMMulticontext
noIMMulticontext = Nothing
type instance AttributeList IMMulticontext = IMMulticontextAttributeList
type IMMulticontextAttributeList = ('[ '("input-hints", IMContextInputHintsPropertyInfo), '("input-purpose", IMContextInputPurposePropertyInfo)] :: [(Symbol, *)])
type instance SignalList IMMulticontext = IMMulticontextSignalList
type IMMulticontextSignalList = ('[ '("commit", IMContextCommitSignalInfo), '("delete-surrounding", IMContextDeleteSurroundingSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("preedit-changed", IMContextPreeditChangedSignalInfo), '("preedit-end", IMContextPreeditEndSignalInfo), '("preedit-start", IMContextPreeditStartSignalInfo), '("retrieve-surrounding", IMContextRetrieveSurroundingSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "gtk_im_multicontext_new" gtk_im_multicontext_new ::
IO (Ptr IMMulticontext)
iMMulticontextNew ::
(MonadIO m) =>
m IMMulticontext
iMMulticontextNew = liftIO $ do
result <- gtk_im_multicontext_new
checkUnexpectedReturnNULL "gtk_im_multicontext_new" result
result' <- (wrapObject IMMulticontext) result
return result'
foreign import ccall "gtk_im_multicontext_append_menuitems" gtk_im_multicontext_append_menuitems ::
Ptr IMMulticontext ->
Ptr MenuShell ->
IO ()
iMMulticontextAppendMenuitems ::
(MonadIO m, IMMulticontextK a, MenuShellK b) =>
a ->
b ->
m ()
iMMulticontextAppendMenuitems _obj menushell = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let menushell' = unsafeManagedPtrCastPtr menushell
gtk_im_multicontext_append_menuitems _obj' menushell'
touchManagedPtr _obj
touchManagedPtr menushell
return ()
foreign import ccall "gtk_im_multicontext_get_context_id" gtk_im_multicontext_get_context_id ::
Ptr IMMulticontext ->
IO CString
iMMulticontextGetContextId ::
(MonadIO m, IMMulticontextK a) =>
a ->
m T.Text
iMMulticontextGetContextId _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_im_multicontext_get_context_id _obj'
checkUnexpectedReturnNULL "gtk_im_multicontext_get_context_id" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "gtk_im_multicontext_set_context_id" gtk_im_multicontext_set_context_id ::
Ptr IMMulticontext ->
CString ->
IO ()
iMMulticontextSetContextId ::
(MonadIO m, IMMulticontextK a) =>
a ->
T.Text ->
m ()
iMMulticontextSetContextId _obj context_id = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
context_id' <- textToCString context_id
gtk_im_multicontext_set_context_id _obj' context_id'
touchManagedPtr _obj
freeMem context_id'
return ()