module GI.Gtk.Interfaces.Editable
(
Editable(..) ,
noEditable ,
IsEditable ,
toEditable ,
EditableCopyClipboardMethodInfo ,
editableCopyClipboard ,
EditableCutClipboardMethodInfo ,
editableCutClipboard ,
EditableDeleteSelectionMethodInfo ,
editableDeleteSelection ,
EditableDeleteTextMethodInfo ,
editableDeleteText ,
EditableGetCharsMethodInfo ,
editableGetChars ,
EditableGetEditableMethodInfo ,
editableGetEditable ,
EditableGetPositionMethodInfo ,
editableGetPosition ,
EditableGetSelectionBoundsMethodInfo ,
editableGetSelectionBounds ,
EditableInsertTextMethodInfo ,
editableInsertText ,
EditablePasteClipboardMethodInfo ,
editablePasteClipboard ,
EditableSelectRegionMethodInfo ,
editableSelectRegion ,
EditableSetEditableMethodInfo ,
editableSetEditable ,
EditableSetPositionMethodInfo ,
editableSetPosition ,
C_EditableChangedCallback ,
EditableChangedCallback ,
EditableChangedSignalInfo ,
afterEditableChanged ,
genClosure_EditableChanged ,
mk_EditableChangedCallback ,
noEditableChangedCallback ,
onEditableChanged ,
wrap_EditableChangedCallback ,
C_EditableDeleteTextCallback ,
EditableDeleteTextCallback ,
EditableDeleteTextSignalInfo ,
afterEditableDeleteText ,
genClosure_EditableDeleteText ,
mk_EditableDeleteTextCallback ,
noEditableDeleteTextCallback ,
onEditableDeleteText ,
wrap_EditableDeleteTextCallback ,
C_EditableInsertTextCallback ,
EditableInsertTextCallback ,
EditableInsertTextSignalInfo ,
afterEditableInsertText ,
genClosure_EditableInsertText ,
mk_EditableInsertTextCallback ,
noEditableInsertTextCallback ,
onEditableInsertText ,
wrap_EditableInsertTextCallback ,
) 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
newtype Editable = Editable (ManagedPtr Editable)
noEditable :: Maybe Editable
noEditable = Nothing
type EditableChangedCallback =
IO ()
noEditableChangedCallback :: Maybe EditableChangedCallback
noEditableChangedCallback = Nothing
type C_EditableChangedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_EditableChangedCallback :: C_EditableChangedCallback -> IO (FunPtr C_EditableChangedCallback)
genClosure_EditableChanged :: EditableChangedCallback -> IO Closure
genClosure_EditableChanged cb = do
let cb' = wrap_EditableChangedCallback cb
mk_EditableChangedCallback cb' >>= newCClosure
wrap_EditableChangedCallback ::
EditableChangedCallback ->
Ptr () ->
Ptr () ->
IO ()
wrap_EditableChangedCallback _cb _ _ = do
_cb
onEditableChanged :: (IsEditable a, MonadIO m) => a -> EditableChangedCallback -> m SignalHandlerId
onEditableChanged obj cb = liftIO $ do
let cb' = wrap_EditableChangedCallback cb
cb'' <- mk_EditableChangedCallback cb'
connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
afterEditableChanged :: (IsEditable a, MonadIO m) => a -> EditableChangedCallback -> m SignalHandlerId
afterEditableChanged obj cb = liftIO $ do
let cb' = wrap_EditableChangedCallback cb
cb'' <- mk_EditableChangedCallback cb'
connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
type EditableDeleteTextCallback =
Int32 ->
Int32 ->
IO ()
noEditableDeleteTextCallback :: Maybe EditableDeleteTextCallback
noEditableDeleteTextCallback = Nothing
type C_EditableDeleteTextCallback =
Ptr () ->
Int32 ->
Int32 ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_EditableDeleteTextCallback :: C_EditableDeleteTextCallback -> IO (FunPtr C_EditableDeleteTextCallback)
genClosure_EditableDeleteText :: EditableDeleteTextCallback -> IO Closure
genClosure_EditableDeleteText cb = do
let cb' = wrap_EditableDeleteTextCallback cb
mk_EditableDeleteTextCallback cb' >>= newCClosure
wrap_EditableDeleteTextCallback ::
EditableDeleteTextCallback ->
Ptr () ->
Int32 ->
Int32 ->
Ptr () ->
IO ()
wrap_EditableDeleteTextCallback _cb _ startPos endPos _ = do
_cb startPos endPos
onEditableDeleteText :: (IsEditable a, MonadIO m) => a -> EditableDeleteTextCallback -> m SignalHandlerId
onEditableDeleteText obj cb = liftIO $ do
let cb' = wrap_EditableDeleteTextCallback cb
cb'' <- mk_EditableDeleteTextCallback cb'
connectSignalFunPtr obj "delete-text" cb'' SignalConnectBefore
afterEditableDeleteText :: (IsEditable a, MonadIO m) => a -> EditableDeleteTextCallback -> m SignalHandlerId
afterEditableDeleteText obj cb = liftIO $ do
let cb' = wrap_EditableDeleteTextCallback cb
cb'' <- mk_EditableDeleteTextCallback cb'
connectSignalFunPtr obj "delete-text" cb'' SignalConnectAfter
type EditableInsertTextCallback =
T.Text ->
Int32 ->
Int32 ->
IO (Int32)
noEditableInsertTextCallback :: Maybe EditableInsertTextCallback
noEditableInsertTextCallback = Nothing
type C_EditableInsertTextCallback =
Ptr () ->
CString ->
Int32 ->
Ptr Int32 ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_EditableInsertTextCallback :: C_EditableInsertTextCallback -> IO (FunPtr C_EditableInsertTextCallback)
genClosure_EditableInsertText :: EditableInsertTextCallback -> IO Closure
genClosure_EditableInsertText cb = do
let cb' = wrap_EditableInsertTextCallback cb
mk_EditableInsertTextCallback cb' >>= newCClosure
wrap_EditableInsertTextCallback ::
EditableInsertTextCallback ->
Ptr () ->
CString ->
Int32 ->
Ptr Int32 ->
Ptr () ->
IO ()
wrap_EditableInsertTextCallback _cb _ newText newTextLength position _ = do
newText' <- cstringToText newText
position' <- peek position
outposition <- _cb newText' newTextLength position'
poke position outposition
onEditableInsertText :: (IsEditable a, MonadIO m) => a -> EditableInsertTextCallback -> m SignalHandlerId
onEditableInsertText obj cb = liftIO $ do
let cb' = wrap_EditableInsertTextCallback cb
cb'' <- mk_EditableInsertTextCallback cb'
connectSignalFunPtr obj "insert-text" cb'' SignalConnectBefore
afterEditableInsertText :: (IsEditable a, MonadIO m) => a -> EditableInsertTextCallback -> m SignalHandlerId
afterEditableInsertText obj cb = liftIO $ do
let cb' = wrap_EditableInsertTextCallback cb
cb'' <- mk_EditableInsertTextCallback cb'
connectSignalFunPtr obj "insert-text" cb'' SignalConnectAfter
data EditableChangedSignalInfo
instance SignalInfo EditableChangedSignalInfo where
type HaskellCallbackType EditableChangedSignalInfo = EditableChangedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_EditableChangedCallback cb
cb'' <- mk_EditableChangedCallback cb'
connectSignalFunPtr obj "changed" cb'' connectMode
data EditableDeleteTextSignalInfo
instance SignalInfo EditableDeleteTextSignalInfo where
type HaskellCallbackType EditableDeleteTextSignalInfo = EditableDeleteTextCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_EditableDeleteTextCallback cb
cb'' <- mk_EditableDeleteTextCallback cb'
connectSignalFunPtr obj "delete-text" cb'' connectMode
data EditableInsertTextSignalInfo
instance SignalInfo EditableInsertTextSignalInfo where
type HaskellCallbackType EditableInsertTextSignalInfo = EditableInsertTextCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_EditableInsertTextCallback cb
cb'' <- mk_EditableInsertTextCallback cb'
connectSignalFunPtr obj "insert-text" cb'' connectMode
type instance O.SignalList Editable = EditableSignalList
type EditableSignalList = ('[ '("changed", EditableChangedSignalInfo), '("deleteText", EditableDeleteTextSignalInfo), '("insertText", EditableInsertTextSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "gtk_editable_get_type"
c_gtk_editable_get_type :: IO GType
instance GObject Editable where
gobjectType _ = c_gtk_editable_get_type
class GObject o => IsEditable o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError Editable a) =>
IsEditable a
#endif
instance IsEditable Editable
instance GObject.Object.IsObject Editable
toEditable :: IsEditable o => o -> IO Editable
toEditable = unsafeCastTo Editable
instance O.HasAttributeList Editable
type instance O.AttributeList Editable = EditableAttributeList
type EditableAttributeList = ('[ ] :: [(Symbol, *)])
type family ResolveEditableMethod (t :: Symbol) (o :: *) :: * where
ResolveEditableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveEditableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveEditableMethod "copyClipboard" o = EditableCopyClipboardMethodInfo
ResolveEditableMethod "cutClipboard" o = EditableCutClipboardMethodInfo
ResolveEditableMethod "deleteSelection" o = EditableDeleteSelectionMethodInfo
ResolveEditableMethod "deleteText" o = EditableDeleteTextMethodInfo
ResolveEditableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveEditableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveEditableMethod "insertText" o = EditableInsertTextMethodInfo
ResolveEditableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveEditableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveEditableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveEditableMethod "pasteClipboard" o = EditablePasteClipboardMethodInfo
ResolveEditableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveEditableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveEditableMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveEditableMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveEditableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveEditableMethod "selectRegion" o = EditableSelectRegionMethodInfo
ResolveEditableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveEditableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveEditableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveEditableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveEditableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveEditableMethod "getChars" o = EditableGetCharsMethodInfo
ResolveEditableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveEditableMethod "getEditable" o = EditableGetEditableMethodInfo
ResolveEditableMethod "getPosition" o = EditableGetPositionMethodInfo
ResolveEditableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveEditableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveEditableMethod "getSelectionBounds" o = EditableGetSelectionBoundsMethodInfo
ResolveEditableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveEditableMethod "setEditable" o = EditableSetEditableMethodInfo
ResolveEditableMethod "setPosition" o = EditableSetPositionMethodInfo
ResolveEditableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveEditableMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveEditableMethod t Editable, O.MethodInfo info Editable p) => O.IsLabelProxy t (Editable -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveEditableMethod t Editable, O.MethodInfo info Editable p) => O.IsLabel t (Editable -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
foreign import ccall "gtk_editable_copy_clipboard" gtk_editable_copy_clipboard ::
Ptr Editable ->
IO ()
editableCopyClipboard ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> m ()
editableCopyClipboard editable = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
gtk_editable_copy_clipboard editable'
touchManagedPtr editable
return ()
data EditableCopyClipboardMethodInfo
instance (signature ~ (m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableCopyClipboardMethodInfo a signature where
overloadedMethod _ = editableCopyClipboard
foreign import ccall "gtk_editable_cut_clipboard" gtk_editable_cut_clipboard ::
Ptr Editable ->
IO ()
editableCutClipboard ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> m ()
editableCutClipboard editable = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
gtk_editable_cut_clipboard editable'
touchManagedPtr editable
return ()
data EditableCutClipboardMethodInfo
instance (signature ~ (m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableCutClipboardMethodInfo a signature where
overloadedMethod _ = editableCutClipboard
foreign import ccall "gtk_editable_delete_selection" gtk_editable_delete_selection ::
Ptr Editable ->
IO ()
editableDeleteSelection ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> m ()
editableDeleteSelection editable = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
gtk_editable_delete_selection editable'
touchManagedPtr editable
return ()
data EditableDeleteSelectionMethodInfo
instance (signature ~ (m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableDeleteSelectionMethodInfo a signature where
overloadedMethod _ = editableDeleteSelection
foreign import ccall "gtk_editable_delete_text" gtk_editable_delete_text ::
Ptr Editable ->
Int32 ->
Int32 ->
IO ()
editableDeleteText ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> Int32
-> Int32
-> m ()
editableDeleteText editable startPos endPos = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
gtk_editable_delete_text editable' startPos endPos
touchManagedPtr editable
return ()
data EditableDeleteTextMethodInfo
instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableDeleteTextMethodInfo a signature where
overloadedMethod _ = editableDeleteText
foreign import ccall "gtk_editable_get_chars" gtk_editable_get_chars ::
Ptr Editable ->
Int32 ->
Int32 ->
IO CString
editableGetChars ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> Int32
-> Int32
-> m T.Text
editableGetChars editable startPos endPos = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
result <- gtk_editable_get_chars editable' startPos endPos
checkUnexpectedReturnNULL "editableGetChars" result
result' <- cstringToText result
freeMem result
touchManagedPtr editable
return result'
data EditableGetCharsMethodInfo
instance (signature ~ (Int32 -> Int32 -> m T.Text), MonadIO m, IsEditable a) => O.MethodInfo EditableGetCharsMethodInfo a signature where
overloadedMethod _ = editableGetChars
foreign import ccall "gtk_editable_get_editable" gtk_editable_get_editable ::
Ptr Editable ->
IO CInt
editableGetEditable ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> m Bool
editableGetEditable editable = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
result <- gtk_editable_get_editable editable'
let result' = (/= 0) result
touchManagedPtr editable
return result'
data EditableGetEditableMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsEditable a) => O.MethodInfo EditableGetEditableMethodInfo a signature where
overloadedMethod _ = editableGetEditable
foreign import ccall "gtk_editable_get_position" gtk_editable_get_position ::
Ptr Editable ->
IO Int32
editableGetPosition ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> m Int32
editableGetPosition editable = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
result <- gtk_editable_get_position editable'
touchManagedPtr editable
return result
data EditableGetPositionMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsEditable a) => O.MethodInfo EditableGetPositionMethodInfo a signature where
overloadedMethod _ = editableGetPosition
foreign import ccall "gtk_editable_get_selection_bounds" gtk_editable_get_selection_bounds ::
Ptr Editable ->
Ptr Int32 ->
Ptr Int32 ->
IO CInt
editableGetSelectionBounds ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> m (Bool,Int32,Int32)
editableGetSelectionBounds editable = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
startPos <- allocMem :: IO (Ptr Int32)
endPos <- allocMem :: IO (Ptr Int32)
result <- gtk_editable_get_selection_bounds editable' startPos endPos
let result' = (/= 0) result
startPos' <- peek startPos
endPos' <- peek endPos
touchManagedPtr editable
freeMem startPos
freeMem endPos
return (result', startPos', endPos')
data EditableGetSelectionBoundsMethodInfo
instance (signature ~ (m (Bool,Int32,Int32)), MonadIO m, IsEditable a) => O.MethodInfo EditableGetSelectionBoundsMethodInfo a signature where
overloadedMethod _ = editableGetSelectionBounds
foreign import ccall "gtk_editable_insert_text" gtk_editable_insert_text ::
Ptr Editable ->
CString ->
Int32 ->
Ptr Int32 ->
IO ()
editableInsertText ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> T.Text
-> Int32
-> Int32
-> m (Int32)
editableInsertText editable newText newTextLength position = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
newText' <- textToCString newText
position' <- allocMem :: IO (Ptr Int32)
poke position' position
gtk_editable_insert_text editable' newText' newTextLength position'
position'' <- peek position'
touchManagedPtr editable
freeMem newText'
freeMem position'
return position''
data EditableInsertTextMethodInfo
instance (signature ~ (T.Text -> Int32 -> Int32 -> m (Int32)), MonadIO m, IsEditable a) => O.MethodInfo EditableInsertTextMethodInfo a signature where
overloadedMethod _ = editableInsertText
foreign import ccall "gtk_editable_paste_clipboard" gtk_editable_paste_clipboard ::
Ptr Editable ->
IO ()
editablePasteClipboard ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> m ()
editablePasteClipboard editable = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
gtk_editable_paste_clipboard editable'
touchManagedPtr editable
return ()
data EditablePasteClipboardMethodInfo
instance (signature ~ (m ()), MonadIO m, IsEditable a) => O.MethodInfo EditablePasteClipboardMethodInfo a signature where
overloadedMethod _ = editablePasteClipboard
foreign import ccall "gtk_editable_select_region" gtk_editable_select_region ::
Ptr Editable ->
Int32 ->
Int32 ->
IO ()
editableSelectRegion ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> Int32
-> Int32
-> m ()
editableSelectRegion editable startPos endPos = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
gtk_editable_select_region editable' startPos endPos
touchManagedPtr editable
return ()
data EditableSelectRegionMethodInfo
instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableSelectRegionMethodInfo a signature where
overloadedMethod _ = editableSelectRegion
foreign import ccall "gtk_editable_set_editable" gtk_editable_set_editable ::
Ptr Editable ->
CInt ->
IO ()
editableSetEditable ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> Bool
-> m ()
editableSetEditable editable isEditable = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
let isEditable' = (fromIntegral . fromEnum) isEditable
gtk_editable_set_editable editable' isEditable'
touchManagedPtr editable
return ()
data EditableSetEditableMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableSetEditableMethodInfo a signature where
overloadedMethod _ = editableSetEditable
foreign import ccall "gtk_editable_set_position" gtk_editable_set_position ::
Ptr Editable ->
Int32 ->
IO ()
editableSetPosition ::
(B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
a
-> Int32
-> m ()
editableSetPosition editable position = liftIO $ do
editable' <- unsafeManagedPtrCastPtr editable
gtk_editable_set_position editable' position
touchManagedPtr editable
return ()
data EditableSetPositionMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableSetPositionMethodInfo a signature where
overloadedMethod _ = editableSetPosition