gi-atk 2.0.15 → 2.0.17
raw patch · 90 files changed
+27201/−10 lines, 90 filesdep ~haskell-gidep ~haskell-gi-basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: haskell-gi, haskell-gi-base
API changes (from Hackage documentation)
- GI.Atk.Interfaces.Component: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Interfaces.Component.Component a) => GI.Atk.Interfaces.Component.IsComponent a
- GI.Atk.Interfaces.Component: instance GI.Atk.Interfaces.Component.IsComponent GI.Atk.Interfaces.Component.Component
- GI.Atk.Interfaces.Component: instance GI.GObject.Objects.Object.IsObject GI.Atk.Interfaces.Component.Component
- GI.Atk.Interfaces.Document: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Interfaces.Document.Document a) => GI.Atk.Interfaces.Document.IsDocument a
- GI.Atk.Interfaces.Document: instance GI.Atk.Interfaces.Document.IsDocument GI.Atk.Interfaces.Document.Document
- GI.Atk.Interfaces.Document: instance GI.GObject.Objects.Object.IsObject GI.Atk.Interfaces.Document.Document
- GI.Atk.Interfaces.Hypertext: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Interfaces.Hypertext.Hypertext a) => GI.Atk.Interfaces.Hypertext.IsHypertext a
- GI.Atk.Interfaces.Hypertext: instance GI.Atk.Interfaces.Hypertext.IsHypertext GI.Atk.Interfaces.Hypertext.Hypertext
- GI.Atk.Interfaces.Hypertext: instance GI.GObject.Objects.Object.IsObject GI.Atk.Interfaces.Hypertext.Hypertext
- GI.Atk.Interfaces.Selection: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Interfaces.Selection.Selection a) => GI.Atk.Interfaces.Selection.IsSelection a
- GI.Atk.Interfaces.Selection: instance GI.Atk.Interfaces.Selection.IsSelection GI.Atk.Interfaces.Selection.Selection
- GI.Atk.Interfaces.Selection: instance GI.GObject.Objects.Object.IsObject GI.Atk.Interfaces.Selection.Selection
- GI.Atk.Interfaces.Table: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Interfaces.Table.Table a) => GI.Atk.Interfaces.Table.IsTable a
- GI.Atk.Interfaces.Table: instance GI.Atk.Interfaces.Table.IsTable GI.Atk.Interfaces.Table.Table
- GI.Atk.Interfaces.Table: instance GI.GObject.Objects.Object.IsObject GI.Atk.Interfaces.Table.Table
- GI.Atk.Interfaces.TableCell: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Interfaces.TableCell.TableCell a) => GI.Atk.Interfaces.TableCell.IsTableCell a
- GI.Atk.Interfaces.TableCell: instance GI.Atk.Interfaces.TableCell.IsTableCell GI.Atk.Interfaces.TableCell.TableCell
- GI.Atk.Interfaces.TableCell: instance GI.Atk.Objects.Object.IsObject GI.Atk.Interfaces.TableCell.TableCell
- GI.Atk.Interfaces.TableCell: instance GI.GObject.Objects.Object.IsObject GI.Atk.Interfaces.TableCell.TableCell
- GI.Atk.Interfaces.Text: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Interfaces.Text.Text a) => GI.Atk.Interfaces.Text.IsText a
- GI.Atk.Interfaces.Text: instance GI.Atk.Interfaces.Text.IsText GI.Atk.Interfaces.Text.Text
- GI.Atk.Interfaces.Text: instance GI.GObject.Objects.Object.IsObject GI.Atk.Interfaces.Text.Text
- GI.Atk.Interfaces.Value: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Interfaces.Value.Value a) => GI.Atk.Interfaces.Value.IsValue a
- GI.Atk.Interfaces.Value: instance GI.Atk.Interfaces.Value.IsValue GI.Atk.Interfaces.Value.Value
- GI.Atk.Interfaces.Value: instance GI.GObject.Objects.Object.IsObject GI.Atk.Interfaces.Value.Value
- GI.Atk.Interfaces.Window: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Interfaces.Window.Window a) => GI.Atk.Interfaces.Window.IsWindow a
- GI.Atk.Interfaces.Window: instance GI.Atk.Interfaces.Window.IsWindow GI.Atk.Interfaces.Window.Window
- GI.Atk.Interfaces.Window: instance GI.Atk.Objects.Object.IsObject GI.Atk.Interfaces.Window.Window
- GI.Atk.Interfaces.Window: instance GI.GObject.Objects.Object.IsObject GI.Atk.Interfaces.Window.Window
- GI.Atk.Objects.GObjectAccessible: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.GObjectAccessible.GObjectAccessible a) => GI.Atk.Objects.GObjectAccessible.IsGObjectAccessible a
- GI.Atk.Objects.GObjectAccessible: instance GI.Atk.Objects.GObjectAccessible.IsGObjectAccessible GI.Atk.Objects.GObjectAccessible.GObjectAccessible
- GI.Atk.Objects.GObjectAccessible: instance GI.Atk.Objects.Object.IsObject GI.Atk.Objects.GObjectAccessible.GObjectAccessible
- GI.Atk.Objects.GObjectAccessible: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.GObjectAccessible.GObjectAccessible
- GI.Atk.Objects.Hyperlink: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.Hyperlink.Hyperlink a) => GI.Atk.Objects.Hyperlink.IsHyperlink a
- GI.Atk.Objects.Hyperlink: instance GI.Atk.Interfaces.Action.IsAction GI.Atk.Objects.Hyperlink.Hyperlink
- GI.Atk.Objects.Hyperlink: instance GI.Atk.Objects.Hyperlink.IsHyperlink GI.Atk.Objects.Hyperlink.Hyperlink
- GI.Atk.Objects.Hyperlink: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.Hyperlink.Hyperlink
- GI.Atk.Objects.Misc: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.Misc.Misc a) => GI.Atk.Objects.Misc.IsMisc a
- GI.Atk.Objects.Misc: instance GI.Atk.Objects.Misc.IsMisc GI.Atk.Objects.Misc.Misc
- GI.Atk.Objects.Misc: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.Misc.Misc
- GI.Atk.Objects.NoOpObject: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.NoOpObject.NoOpObject a) => GI.Atk.Objects.NoOpObject.IsNoOpObject a
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.Action.IsAction GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.Component.IsComponent GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.Document.IsDocument GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.EditableText.IsEditableText GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.Hypertext.IsHypertext GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.Image.IsImage GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.Selection.IsSelection GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.Table.IsTable GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.TableCell.IsTableCell GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.Text.IsText GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.Value.IsValue GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Interfaces.Window.IsWindow GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Objects.NoOpObject.IsNoOpObject GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.Atk.Objects.Object.IsObject GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObject: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.NoOpObject.NoOpObject
- GI.Atk.Objects.NoOpObjectFactory: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.NoOpObjectFactory.NoOpObjectFactory a) => GI.Atk.Objects.NoOpObjectFactory.IsNoOpObjectFactory a
- GI.Atk.Objects.NoOpObjectFactory: instance GI.Atk.Objects.NoOpObjectFactory.IsNoOpObjectFactory GI.Atk.Objects.NoOpObjectFactory.NoOpObjectFactory
- GI.Atk.Objects.NoOpObjectFactory: instance GI.Atk.Objects.ObjectFactory.IsObjectFactory GI.Atk.Objects.NoOpObjectFactory.NoOpObjectFactory
- GI.Atk.Objects.NoOpObjectFactory: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.NoOpObjectFactory.NoOpObjectFactory
- GI.Atk.Objects.Object: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.Object.Object a) => GI.Atk.Objects.Object.IsObject a
- GI.Atk.Objects.Object: instance GI.Atk.Objects.Object.IsObject GI.Atk.Objects.Object.Object
- GI.Atk.Objects.Object: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.Object.Object
- GI.Atk.Objects.ObjectFactory: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.ObjectFactory.ObjectFactory a) => GI.Atk.Objects.ObjectFactory.IsObjectFactory a
- GI.Atk.Objects.ObjectFactory: instance GI.Atk.Objects.ObjectFactory.IsObjectFactory GI.Atk.Objects.ObjectFactory.ObjectFactory
- GI.Atk.Objects.ObjectFactory: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.ObjectFactory.ObjectFactory
- GI.Atk.Objects.Plug: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.Plug.Plug a) => GI.Atk.Objects.Plug.IsPlug a
- GI.Atk.Objects.Plug: instance GI.Atk.Interfaces.Component.IsComponent GI.Atk.Objects.Plug.Plug
- GI.Atk.Objects.Plug: instance GI.Atk.Objects.Object.IsObject GI.Atk.Objects.Plug.Plug
- GI.Atk.Objects.Plug: instance GI.Atk.Objects.Plug.IsPlug GI.Atk.Objects.Plug.Plug
- GI.Atk.Objects.Plug: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.Plug.Plug
- GI.Atk.Objects.Registry: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.Registry.Registry a) => GI.Atk.Objects.Registry.IsRegistry a
- GI.Atk.Objects.Registry: instance GI.Atk.Objects.Registry.IsRegistry GI.Atk.Objects.Registry.Registry
- GI.Atk.Objects.Registry: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.Registry.Registry
- GI.Atk.Objects.Relation: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.Relation.Relation a) => GI.Atk.Objects.Relation.IsRelation a
- GI.Atk.Objects.Relation: instance GI.Atk.Objects.Relation.IsRelation GI.Atk.Objects.Relation.Relation
- GI.Atk.Objects.Relation: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.Relation.Relation
- GI.Atk.Objects.RelationSet: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.RelationSet.RelationSet a) => GI.Atk.Objects.RelationSet.IsRelationSet a
- GI.Atk.Objects.RelationSet: instance GI.Atk.Objects.RelationSet.IsRelationSet GI.Atk.Objects.RelationSet.RelationSet
- GI.Atk.Objects.RelationSet: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.RelationSet.RelationSet
- GI.Atk.Objects.Socket: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.Socket.Socket a) => GI.Atk.Objects.Socket.IsSocket a
- GI.Atk.Objects.Socket: instance GI.Atk.Interfaces.Component.IsComponent GI.Atk.Objects.Socket.Socket
- GI.Atk.Objects.Socket: instance GI.Atk.Objects.Object.IsObject GI.Atk.Objects.Socket.Socket
- GI.Atk.Objects.Socket: instance GI.Atk.Objects.Socket.IsSocket GI.Atk.Objects.Socket.Socket
- GI.Atk.Objects.Socket: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.Socket.Socket
- GI.Atk.Objects.StateSet: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.StateSet.StateSet a) => GI.Atk.Objects.StateSet.IsStateSet a
- GI.Atk.Objects.StateSet: instance GI.Atk.Objects.StateSet.IsStateSet GI.Atk.Objects.StateSet.StateSet
- GI.Atk.Objects.StateSet: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.StateSet.StateSet
- GI.Atk.Objects.Util: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Atk.Objects.Util.Util a) => GI.Atk.Objects.Util.IsUtil a
- GI.Atk.Objects.Util: instance GI.Atk.Objects.Util.IsUtil GI.Atk.Objects.Util.Util
- GI.Atk.Objects.Util: instance GI.GObject.Objects.Object.IsObject GI.Atk.Objects.Util.Util
- GI.Atk.Structs.Attribute: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.Attribute.Attribute tag
- GI.Atk.Structs.KeyEventStruct: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.KeyEventStruct.KeyEventStruct tag
- GI.Atk.Structs.PropertyValues: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.PropertyValues.PropertyValues tag
- GI.Atk.Structs.Rectangle: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.Rectangle.Rectangle tag
- GI.Atk.Structs.TextRange: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.TextRange.TextRange tag
- GI.Atk.Structs.TextRectangle: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.TextRectangle.TextRectangle tag
+ GI.Atk.Enums: AnotherScrollType :: Int -> ScrollType
+ GI.Atk.Enums: CoordTypeParent :: CoordType
+ GI.Atk.Enums: ScrollTypeAnywhere :: ScrollType
+ GI.Atk.Enums: ScrollTypeBottomEdge :: ScrollType
+ GI.Atk.Enums: ScrollTypeBottomRight :: ScrollType
+ GI.Atk.Enums: ScrollTypeLeftEdge :: ScrollType
+ GI.Atk.Enums: ScrollTypeRightEdge :: ScrollType
+ GI.Atk.Enums: ScrollTypeTopEdge :: ScrollType
+ GI.Atk.Enums: ScrollTypeTopLeft :: ScrollType
+ GI.Atk.Enums: data ScrollType
+ GI.Atk.Enums: instance Data.GI.Base.BasicTypes.BoxedEnum GI.Atk.Enums.ScrollType
+ GI.Atk.Enums: instance GHC.Classes.Eq GI.Atk.Enums.ScrollType
+ GI.Atk.Enums: instance GHC.Classes.Ord GI.Atk.Enums.ScrollType
+ GI.Atk.Enums: instance GHC.Enum.Enum GI.Atk.Enums.ScrollType
+ GI.Atk.Enums: instance GHC.Show.Show GI.Atk.Enums.ScrollType
+ GI.Atk.Interfaces.Component: componentScrollTo :: (HasCallStack, MonadIO m, IsComponent a) => a -> ScrollType -> m Bool
+ GI.Atk.Interfaces.Component: componentScrollToPoint :: (HasCallStack, MonadIO m, IsComponent a) => a -> CoordType -> Int32 -> Int32 -> m Bool
+ GI.Atk.Interfaces.Component: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Interfaces.Component.Component o) => GI.Atk.Interfaces.Component.IsComponent o
+ GI.Atk.Interfaces.Component: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Interfaces.Component.Component
+ GI.Atk.Interfaces.Document: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Interfaces.Document.Document o) => GI.Atk.Interfaces.Document.IsDocument o
+ GI.Atk.Interfaces.Document: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Interfaces.Document.Document
+ GI.Atk.Interfaces.Hypertext: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Interfaces.Hypertext.Hypertext o) => GI.Atk.Interfaces.Hypertext.IsHypertext o
+ GI.Atk.Interfaces.Hypertext: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Interfaces.Hypertext.Hypertext
+ GI.Atk.Interfaces.Selection: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Interfaces.Selection.Selection o) => GI.Atk.Interfaces.Selection.IsSelection o
+ GI.Atk.Interfaces.Selection: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Interfaces.Selection.Selection
+ GI.Atk.Interfaces.Table: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Interfaces.Table.Table o) => GI.Atk.Interfaces.Table.IsTable o
+ GI.Atk.Interfaces.Table: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Interfaces.Table.Table
+ GI.Atk.Interfaces.TableCell: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Interfaces.TableCell.TableCell o) => GI.Atk.Interfaces.TableCell.IsTableCell o
+ GI.Atk.Interfaces.TableCell: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Interfaces.TableCell.TableCell
+ GI.Atk.Interfaces.Text: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Interfaces.Text.Text o) => GI.Atk.Interfaces.Text.IsText o
+ GI.Atk.Interfaces.Text: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Interfaces.Text.Text
+ GI.Atk.Interfaces.Text: textScrollSubstringTo :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> Int32 -> ScrollType -> m Bool
+ GI.Atk.Interfaces.Text: textScrollSubstringToPoint :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> Int32 -> CoordType -> Int32 -> Int32 -> m Bool
+ GI.Atk.Interfaces.Value: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Interfaces.Value.Value o) => GI.Atk.Interfaces.Value.IsValue o
+ GI.Atk.Interfaces.Value: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Interfaces.Value.Value
+ GI.Atk.Interfaces.Window: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Interfaces.Window.Window o) => GI.Atk.Interfaces.Window.IsWindow o
+ GI.Atk.Interfaces.Window: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Interfaces.Window.Window
+ GI.Atk.Objects.GObjectAccessible: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.GObjectAccessible.GObjectAccessible o) => GI.Atk.Objects.GObjectAccessible.IsGObjectAccessible o
+ GI.Atk.Objects.GObjectAccessible: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.GObjectAccessible.GObjectAccessible
+ GI.Atk.Objects.Hyperlink: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.Hyperlink.Hyperlink o) => GI.Atk.Objects.Hyperlink.IsHyperlink o
+ GI.Atk.Objects.Hyperlink: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.Hyperlink.Hyperlink
+ GI.Atk.Objects.Misc: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.Misc.Misc o) => GI.Atk.Objects.Misc.IsMisc o
+ GI.Atk.Objects.Misc: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.Misc.Misc
+ GI.Atk.Objects.NoOpObject: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.NoOpObject.NoOpObject o) => GI.Atk.Objects.NoOpObject.IsNoOpObject o
+ GI.Atk.Objects.NoOpObject: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.NoOpObject.NoOpObject
+ GI.Atk.Objects.NoOpObjectFactory: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.NoOpObjectFactory.NoOpObjectFactory o) => GI.Atk.Objects.NoOpObjectFactory.IsNoOpObjectFactory o
+ GI.Atk.Objects.NoOpObjectFactory: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.NoOpObjectFactory.NoOpObjectFactory
+ GI.Atk.Objects.Object: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.Object.Object o) => GI.Atk.Objects.Object.IsObject o
+ GI.Atk.Objects.Object: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.Object.Object
+ GI.Atk.Objects.ObjectFactory: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.ObjectFactory.ObjectFactory o) => GI.Atk.Objects.ObjectFactory.IsObjectFactory o
+ GI.Atk.Objects.ObjectFactory: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.ObjectFactory.ObjectFactory
+ GI.Atk.Objects.Plug: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.Plug.Plug o) => GI.Atk.Objects.Plug.IsPlug o
+ GI.Atk.Objects.Plug: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.Plug.Plug
+ GI.Atk.Objects.Registry: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.Registry.Registry o) => GI.Atk.Objects.Registry.IsRegistry o
+ GI.Atk.Objects.Registry: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.Registry.Registry
+ GI.Atk.Objects.Relation: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.Relation.Relation o) => GI.Atk.Objects.Relation.IsRelation o
+ GI.Atk.Objects.Relation: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.Relation.Relation
+ GI.Atk.Objects.RelationSet: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.RelationSet.RelationSet o) => GI.Atk.Objects.RelationSet.IsRelationSet o
+ GI.Atk.Objects.RelationSet: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.RelationSet.RelationSet
+ GI.Atk.Objects.Socket: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.Socket.Socket o) => GI.Atk.Objects.Socket.IsSocket o
+ GI.Atk.Objects.Socket: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.Socket.Socket
+ GI.Atk.Objects.StateSet: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.StateSet.StateSet o) => GI.Atk.Objects.StateSet.IsStateSet o
+ GI.Atk.Objects.StateSet: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.StateSet.StateSet
+ GI.Atk.Objects.Util: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Atk.Objects.Util.Util o) => GI.Atk.Objects.Util.IsUtil o
+ GI.Atk.Objects.Util: instance Data.GI.Base.Overloading.HasParentTypes GI.Atk.Objects.Util.Util
+ GI.Atk.Structs.Attribute: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.Attribute.Attribute tag
+ GI.Atk.Structs.KeyEventStruct: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.KeyEventStruct.KeyEventStruct tag
+ GI.Atk.Structs.PropertyValues: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.PropertyValues.PropertyValues tag
+ GI.Atk.Structs.Rectangle: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.Rectangle.Rectangle tag
+ GI.Atk.Structs.TextRange: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.TextRange.TextRange tag
+ GI.Atk.Structs.TextRectangle: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Atk.Structs.TextRectangle.TextRectangle tag
- GI.Atk.Callbacks: genClosure_EventListener :: EventListener -> IO Closure
+ GI.Atk.Callbacks: genClosure_EventListener :: MonadIO m => EventListener -> m (GClosure C_EventListener)
- GI.Atk.Callbacks: genClosure_EventListenerInit :: EventListenerInit -> IO Closure
+ GI.Atk.Callbacks: genClosure_EventListenerInit :: MonadIO m => EventListenerInit -> m (GClosure C_EventListenerInit)
- GI.Atk.Callbacks: genClosure_FocusHandler :: FocusHandler -> IO Closure
+ GI.Atk.Callbacks: genClosure_FocusHandler :: MonadIO m => FocusHandler -> m (GClosure C_FocusHandler)
- GI.Atk.Callbacks: genClosure_Function :: Function -> IO Closure
+ GI.Atk.Callbacks: genClosure_Function :: MonadIO m => Function -> m (GClosure C_Function)
- GI.Atk.Callbacks: genClosure_KeySnoopFunc :: KeySnoopFunc -> IO Closure
+ GI.Atk.Callbacks: genClosure_KeySnoopFunc :: MonadIO m => KeySnoopFunc -> m (GClosure C_KeySnoopFunc)
- GI.Atk.Callbacks: genClosure_PropertyChangeHandler :: PropertyChangeHandler -> IO Closure
+ GI.Atk.Callbacks: genClosure_PropertyChangeHandler :: MonadIO m => PropertyChangeHandler -> m (GClosure C_PropertyChangeHandler)
- GI.Atk.Callbacks: type EventListener = Object /@obj@/: An 'GI.Atk.Objects.Object.Object' instance for whom the callback will be called when the specified event (e.g. \'focus:\') takes place. -> IO ()
+ GI.Atk.Callbacks: type EventListener = Object " /@obj@/: An 'GI.Atk.Objects.Object.Object' instance for whom the callback will be called when the specified event (e.g. \'focus:\') takes place. " -> IO ()
- GI.Atk.Callbacks: type FocusHandler = Object /@object@/: the 'GI.Atk.Objects.Object.Object' that receives\/lose the focus -> Bool /@focusIn@/: TRUE if the object receives the focus -> IO ()
+ GI.Atk.Callbacks: type FocusHandler = Object " /@object@/: the 'GI.Atk.Objects.Object.Object' that receives\/lose the focus " -> Bool " /@focusIn@/: TRUE if the object receives the focus " -> IO ()
- GI.Atk.Callbacks: type Function = IO Bool __Returns:__ not used
+ GI.Atk.Callbacks: type Function = IO Bool " __Returns:__ not used "
- GI.Atk.Callbacks: type Function_WithClosures = Ptr () /@userData@/: custom data defined by the user -> IO Bool __Returns:__ not used
+ GI.Atk.Callbacks: type Function_WithClosures = Ptr () " /@userData@/: custom data defined by the user " -> IO Bool " __Returns:__ not used "
- GI.Atk.Callbacks: type KeySnoopFunc = KeyEventStruct /@event@/: an AtkKeyEventStruct containing information about the key event for which notification is being given. -> IO Int32 __Returns:__ TRUE (nonzero) if the event emission should be stopped and the event discarded without being passed to the normal GUI recipient; FALSE (zero) if the event dispatch to the client application should proceed as normal. see atk_add_key_event_listener.
+ GI.Atk.Callbacks: type KeySnoopFunc = KeyEventStruct " /@event@/: an AtkKeyEventStruct containing information about the key event for which notification is being given. " -> IO Int32 " __Returns:__ TRUE (nonzero) if the event emission should be stopped and the event discarded without being passed to the normal GUI recipient; FALSE (zero) if the event dispatch to the client application should proceed as normal. see atk_add_key_event_listener. "
- GI.Atk.Callbacks: type KeySnoopFunc_WithClosures = KeyEventStruct /@event@/: an AtkKeyEventStruct containing information about the key event for which notification is being given. -> Ptr () /@userData@/: a block of data which will be passed to the event listener, on notification. -> IO Int32 __Returns:__ TRUE (nonzero) if the event emission should be stopped and the event discarded without being passed to the normal GUI recipient; FALSE (zero) if the event dispatch to the client application should proceed as normal. see atk_add_key_event_listener.
+ GI.Atk.Callbacks: type KeySnoopFunc_WithClosures = KeyEventStruct " /@event@/: an AtkKeyEventStruct containing information about the key event for which notification is being given. " -> Ptr () " /@userData@/: a block of data which will be passed to the event listener, on notification. " -> IO Int32 " __Returns:__ TRUE (nonzero) if the event emission should be stopped and the event discarded without being passed to the normal GUI recipient; FALSE (zero) if the event dispatch to the client application should proceed as normal. see atk_add_key_event_listener. "
- GI.Atk.Callbacks: type PropertyChangeHandler = Object /@obj@/: atkobject which property changes -> PropertyValues /@vals@/: values changed -> IO ()
+ GI.Atk.Callbacks: type PropertyChangeHandler = Object " /@obj@/: atkobject which property changes " -> PropertyValues " /@vals@/: values changed " -> IO ()
- GI.Atk.Interfaces.Action: Action :: (ManagedPtr Action) -> Action
+ GI.Atk.Interfaces.Action: Action :: ManagedPtr Action -> Action
- GI.Atk.Interfaces.Component: Component :: (ManagedPtr Component) -> Component
+ GI.Atk.Interfaces.Component: Component :: ManagedPtr Component -> Component
- GI.Atk.Interfaces.Component: class GObject o => IsComponent o
+ GI.Atk.Interfaces.Component: class (GObject o, IsDescendantOf Component o) => IsComponent o
- GI.Atk.Interfaces.Component: componentGetExtents :: (HasCallStack, MonadIO m, IsComponent a) => a -> CoordType -> m ((Int32, Int32, Int32, Int32))
+ GI.Atk.Interfaces.Component: componentGetExtents :: (HasCallStack, MonadIO m, IsComponent a) => a -> CoordType -> m (Int32, Int32, Int32, Int32)
- GI.Atk.Interfaces.Component: componentGetPosition :: (HasCallStack, MonadIO m, IsComponent a) => a -> CoordType -> m ((Int32, Int32))
+ GI.Atk.Interfaces.Component: componentGetPosition :: (HasCallStack, MonadIO m, IsComponent a) => a -> CoordType -> m (Int32, Int32)
- GI.Atk.Interfaces.Component: componentGetSize :: (HasCallStack, MonadIO m, IsComponent a) => a -> m ((Int32, Int32))
+ GI.Atk.Interfaces.Component: componentGetSize :: (HasCallStack, MonadIO m, IsComponent a) => a -> m (Int32, Int32)
- GI.Atk.Interfaces.Component: genClosure_ComponentBoundsChanged :: ComponentBoundsChangedCallback -> IO Closure
+ GI.Atk.Interfaces.Component: genClosure_ComponentBoundsChanged :: MonadIO m => ComponentBoundsChangedCallback -> m (GClosure C_ComponentBoundsChangedCallback)
- GI.Atk.Interfaces.Component: type ComponentBoundsChangedCallback = Rectangle /@arg1@/: The AtkRectangle giving the new position and size. -> IO ()
+ GI.Atk.Interfaces.Component: type ComponentBoundsChangedCallback = Rectangle " /@arg1@/: The AtkRectangle giving the new position and size. " -> IO ()
- GI.Atk.Interfaces.Document: Document :: (ManagedPtr Document) -> Document
+ GI.Atk.Interfaces.Document: Document :: ManagedPtr Document -> Document
- GI.Atk.Interfaces.Document: class GObject o => IsDocument o
+ GI.Atk.Interfaces.Document: class (GObject o, IsDescendantOf Document o) => IsDocument o
- GI.Atk.Interfaces.Document: documentGetAttributes :: (HasCallStack, MonadIO m, IsDocument a) => a -> m ([Ptr ()])
+ GI.Atk.Interfaces.Document: documentGetAttributes :: (HasCallStack, MonadIO m, IsDocument a) => a -> m [Ptr ()]
- GI.Atk.Interfaces.Document: genClosure_DocumentLoadComplete :: DocumentLoadCompleteCallback -> IO Closure
+ GI.Atk.Interfaces.Document: genClosure_DocumentLoadComplete :: MonadIO m => DocumentLoadCompleteCallback -> m (GClosure C_DocumentLoadCompleteCallback)
- GI.Atk.Interfaces.Document: genClosure_DocumentLoadStopped :: DocumentLoadStoppedCallback -> IO Closure
+ GI.Atk.Interfaces.Document: genClosure_DocumentLoadStopped :: MonadIO m => DocumentLoadStoppedCallback -> m (GClosure C_DocumentLoadStoppedCallback)
- GI.Atk.Interfaces.Document: genClosure_DocumentPageChanged :: DocumentPageChangedCallback -> IO Closure
+ GI.Atk.Interfaces.Document: genClosure_DocumentPageChanged :: MonadIO m => DocumentPageChangedCallback -> m (GClosure C_DocumentPageChangedCallback)
- GI.Atk.Interfaces.Document: genClosure_DocumentReload :: DocumentReloadCallback -> IO Closure
+ GI.Atk.Interfaces.Document: genClosure_DocumentReload :: MonadIO m => DocumentReloadCallback -> m (GClosure C_DocumentReloadCallback)
- GI.Atk.Interfaces.Document: type DocumentPageChangedCallback = Int32 /@pageNumber@/: the new page number. If this value is unknown or not applicable, -1 should be provided. -> IO ()
+ GI.Atk.Interfaces.Document: type DocumentPageChangedCallback = Int32 " /@pageNumber@/: the new page number. If this value is unknown or not applicable, -1 should be provided. " -> IO ()
- GI.Atk.Interfaces.EditableText: EditableText :: (ManagedPtr EditableText) -> EditableText
+ GI.Atk.Interfaces.EditableText: EditableText :: ManagedPtr EditableText -> EditableText
- GI.Atk.Interfaces.HyperlinkImpl: HyperlinkImpl :: (ManagedPtr HyperlinkImpl) -> HyperlinkImpl
+ GI.Atk.Interfaces.HyperlinkImpl: HyperlinkImpl :: ManagedPtr HyperlinkImpl -> HyperlinkImpl
- GI.Atk.Interfaces.Hypertext: Hypertext :: (ManagedPtr Hypertext) -> Hypertext
+ GI.Atk.Interfaces.Hypertext: Hypertext :: ManagedPtr Hypertext -> Hypertext
- GI.Atk.Interfaces.Hypertext: class GObject o => IsHypertext o
+ GI.Atk.Interfaces.Hypertext: class (GObject o, IsDescendantOf Hypertext o) => IsHypertext o
- GI.Atk.Interfaces.Hypertext: genClosure_HypertextLinkSelected :: HypertextLinkSelectedCallback -> IO Closure
+ GI.Atk.Interfaces.Hypertext: genClosure_HypertextLinkSelected :: MonadIO m => HypertextLinkSelectedCallback -> m (GClosure C_HypertextLinkSelectedCallback)
- GI.Atk.Interfaces.Hypertext: type HypertextLinkSelectedCallback = Int32 /@arg1@/: the index of the hyperlink which is selected -> IO ()
+ GI.Atk.Interfaces.Hypertext: type HypertextLinkSelectedCallback = Int32 " /@arg1@/: the index of the hyperlink which is selected " -> IO ()
- GI.Atk.Interfaces.Image: Image :: (ManagedPtr Image) -> Image
+ GI.Atk.Interfaces.Image: Image :: ManagedPtr Image -> Image
- GI.Atk.Interfaces.Image: imageGetImagePosition :: (HasCallStack, MonadIO m, IsImage a) => a -> CoordType -> m ((Int32, Int32))
+ GI.Atk.Interfaces.Image: imageGetImagePosition :: (HasCallStack, MonadIO m, IsImage a) => a -> CoordType -> m (Int32, Int32)
- GI.Atk.Interfaces.Image: imageGetImageSize :: (HasCallStack, MonadIO m, IsImage a) => a -> m ((Int32, Int32))
+ GI.Atk.Interfaces.Image: imageGetImageSize :: (HasCallStack, MonadIO m, IsImage a) => a -> m (Int32, Int32)
- GI.Atk.Interfaces.ImplementorIface: ImplementorIface :: (ManagedPtr ImplementorIface) -> ImplementorIface
+ GI.Atk.Interfaces.ImplementorIface: ImplementorIface :: ManagedPtr ImplementorIface -> ImplementorIface
- GI.Atk.Interfaces.Selection: Selection :: (ManagedPtr Selection) -> Selection
+ GI.Atk.Interfaces.Selection: Selection :: ManagedPtr Selection -> Selection
- GI.Atk.Interfaces.Selection: class GObject o => IsSelection o
+ GI.Atk.Interfaces.Selection: class (GObject o, IsDescendantOf Selection o) => IsSelection o
- GI.Atk.Interfaces.Selection: genClosure_SelectionSelectionChanged :: SelectionSelectionChangedCallback -> IO Closure
+ GI.Atk.Interfaces.Selection: genClosure_SelectionSelectionChanged :: MonadIO m => SelectionSelectionChangedCallback -> m (GClosure C_SelectionSelectionChangedCallback)
- GI.Atk.Interfaces.StreamableContent: StreamableContent :: (ManagedPtr StreamableContent) -> StreamableContent
+ GI.Atk.Interfaces.StreamableContent: StreamableContent :: ManagedPtr StreamableContent -> StreamableContent
- GI.Atk.Interfaces.Table: Table :: (ManagedPtr Table) -> Table
+ GI.Atk.Interfaces.Table: Table :: ManagedPtr Table -> Table
- GI.Atk.Interfaces.Table: class GObject o => IsTable o
+ GI.Atk.Interfaces.Table: class (GObject o, IsDescendantOf Table o) => IsTable o
- GI.Atk.Interfaces.Table: genClosure_TableColumnDeleted :: TableColumnDeletedCallback -> IO Closure
+ GI.Atk.Interfaces.Table: genClosure_TableColumnDeleted :: MonadIO m => TableColumnDeletedCallback -> m (GClosure C_TableColumnDeletedCallback)
- GI.Atk.Interfaces.Table: genClosure_TableColumnInserted :: TableColumnInsertedCallback -> IO Closure
+ GI.Atk.Interfaces.Table: genClosure_TableColumnInserted :: MonadIO m => TableColumnInsertedCallback -> m (GClosure C_TableColumnInsertedCallback)
- GI.Atk.Interfaces.Table: genClosure_TableColumnReordered :: TableColumnReorderedCallback -> IO Closure
+ GI.Atk.Interfaces.Table: genClosure_TableColumnReordered :: MonadIO m => TableColumnReorderedCallback -> m (GClosure C_TableColumnReorderedCallback)
- GI.Atk.Interfaces.Table: genClosure_TableModelChanged :: TableModelChangedCallback -> IO Closure
+ GI.Atk.Interfaces.Table: genClosure_TableModelChanged :: MonadIO m => TableModelChangedCallback -> m (GClosure C_TableModelChangedCallback)
- GI.Atk.Interfaces.Table: genClosure_TableRowDeleted :: TableRowDeletedCallback -> IO Closure
+ GI.Atk.Interfaces.Table: genClosure_TableRowDeleted :: MonadIO m => TableRowDeletedCallback -> m (GClosure C_TableRowDeletedCallback)
- GI.Atk.Interfaces.Table: genClosure_TableRowInserted :: TableRowInsertedCallback -> IO Closure
+ GI.Atk.Interfaces.Table: genClosure_TableRowInserted :: MonadIO m => TableRowInsertedCallback -> m (GClosure C_TableRowInsertedCallback)
- GI.Atk.Interfaces.Table: genClosure_TableRowReordered :: TableRowReorderedCallback -> IO Closure
+ GI.Atk.Interfaces.Table: genClosure_TableRowReordered :: MonadIO m => TableRowReorderedCallback -> m (GClosure C_TableRowReorderedCallback)
- GI.Atk.Interfaces.Table: type TableColumnDeletedCallback = Int32 /@arg1@/: The index of the first column deleted. -> Int32 /@arg2@/: The number of columns deleted. -> IO ()
+ GI.Atk.Interfaces.Table: type TableColumnDeletedCallback = Int32 " /@arg1@/: The index of the first column deleted. " -> Int32 " /@arg2@/: The number of columns deleted. " -> IO ()
- GI.Atk.Interfaces.Table: type TableColumnInsertedCallback = Int32 /@arg1@/: The index of the column inserted. -> Int32 /@arg2@/: The number of colums inserted. -> IO ()
+ GI.Atk.Interfaces.Table: type TableColumnInsertedCallback = Int32 " /@arg1@/: The index of the column inserted. " -> Int32 " /@arg2@/: The number of colums inserted. " -> IO ()
- GI.Atk.Interfaces.Table: type TableRowDeletedCallback = Int32 /@arg1@/: The index of the first row deleted. -> Int32 /@arg2@/: The number of rows deleted. -> IO ()
+ GI.Atk.Interfaces.Table: type TableRowDeletedCallback = Int32 " /@arg1@/: The index of the first row deleted. " -> Int32 " /@arg2@/: The number of rows deleted. " -> IO ()
- GI.Atk.Interfaces.Table: type TableRowInsertedCallback = Int32 /@arg1@/: The index of the first row inserted. -> Int32 /@arg2@/: The number of rows inserted. -> IO ()
+ GI.Atk.Interfaces.Table: type TableRowInsertedCallback = Int32 " /@arg1@/: The index of the first row inserted. " -> Int32 " /@arg2@/: The number of rows inserted. " -> IO ()
- GI.Atk.Interfaces.TableCell: TableCell :: (ManagedPtr TableCell) -> TableCell
+ GI.Atk.Interfaces.TableCell: TableCell :: ManagedPtr TableCell -> TableCell
- GI.Atk.Interfaces.TableCell: class GObject o => IsTableCell o
+ GI.Atk.Interfaces.TableCell: class (GObject o, IsDescendantOf TableCell o) => IsTableCell o
- GI.Atk.Interfaces.TableCell: tableCellGetPosition :: (HasCallStack, MonadIO m, IsTableCell a) => a -> m ((Bool, Int32, Int32))
+ GI.Atk.Interfaces.TableCell: tableCellGetPosition :: (HasCallStack, MonadIO m, IsTableCell a) => a -> m (Bool, Int32, Int32)
- GI.Atk.Interfaces.TableCell: tableCellGetRowColumnSpan :: (HasCallStack, MonadIO m, IsTableCell a) => a -> m ((Bool, Int32, Int32, Int32, Int32))
+ GI.Atk.Interfaces.TableCell: tableCellGetRowColumnSpan :: (HasCallStack, MonadIO m, IsTableCell a) => a -> m (Bool, Int32, Int32, Int32, Int32)
- GI.Atk.Interfaces.Text: Text :: (ManagedPtr Text) -> Text
+ GI.Atk.Interfaces.Text: Text :: ManagedPtr Text -> Text
- GI.Atk.Interfaces.Text: class GObject o => IsText o
+ GI.Atk.Interfaces.Text: class (GObject o, IsDescendantOf Text o) => IsText o
- GI.Atk.Interfaces.Text: genClosure_TextTextAttributesChanged :: TextTextAttributesChangedCallback -> IO Closure
+ GI.Atk.Interfaces.Text: genClosure_TextTextAttributesChanged :: MonadIO m => TextTextAttributesChangedCallback -> m (GClosure C_TextTextAttributesChangedCallback)
- GI.Atk.Interfaces.Text: genClosure_TextTextCaretMoved :: TextTextCaretMovedCallback -> IO Closure
+ GI.Atk.Interfaces.Text: genClosure_TextTextCaretMoved :: MonadIO m => TextTextCaretMovedCallback -> m (GClosure C_TextTextCaretMovedCallback)
- GI.Atk.Interfaces.Text: genClosure_TextTextChanged :: TextTextChangedCallback -> IO Closure
+ GI.Atk.Interfaces.Text: genClosure_TextTextChanged :: MonadIO m => TextTextChangedCallback -> m (GClosure C_TextTextChangedCallback)
- GI.Atk.Interfaces.Text: genClosure_TextTextInsert :: TextTextInsertCallback -> IO Closure
+ GI.Atk.Interfaces.Text: genClosure_TextTextInsert :: MonadIO m => TextTextInsertCallback -> m (GClosure C_TextTextInsertCallback)
- GI.Atk.Interfaces.Text: genClosure_TextTextRemove :: TextTextRemoveCallback -> IO Closure
+ GI.Atk.Interfaces.Text: genClosure_TextTextRemove :: MonadIO m => TextTextRemoveCallback -> m (GClosure C_TextTextRemoveCallback)
- GI.Atk.Interfaces.Text: genClosure_TextTextSelectionChanged :: TextTextSelectionChangedCallback -> IO Closure
+ GI.Atk.Interfaces.Text: genClosure_TextTextSelectionChanged :: MonadIO m => TextTextSelectionChangedCallback -> m (GClosure C_TextTextSelectionChangedCallback)
- GI.Atk.Interfaces.Text: textGetCharacterExtents :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> CoordType -> m ((Int32, Int32, Int32, Int32))
+ GI.Atk.Interfaces.Text: textGetCharacterExtents :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> CoordType -> m (Int32, Int32, Int32, Int32)
- GI.Atk.Interfaces.Text: textGetDefaultAttributes :: (HasCallStack, MonadIO m, IsText a) => a -> m ([Ptr ()])
+ GI.Atk.Interfaces.Text: textGetDefaultAttributes :: (HasCallStack, MonadIO m, IsText a) => a -> m [Ptr ()]
- GI.Atk.Interfaces.Text: textGetRangeExtents :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> Int32 -> CoordType -> m (TextRectangle)
+ GI.Atk.Interfaces.Text: textGetRangeExtents :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> Int32 -> CoordType -> m TextRectangle
- GI.Atk.Interfaces.Text: textGetRunAttributes :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> m (([Ptr ()], Int32, Int32))
+ GI.Atk.Interfaces.Text: textGetRunAttributes :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> m ([Ptr ()], Int32, Int32)
- GI.Atk.Interfaces.Text: textGetSelection :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> m ((Text, Int32, Int32))
+ GI.Atk.Interfaces.Text: textGetSelection :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> m (Text, Int32, Int32)
- GI.Atk.Interfaces.Text: textGetStringAtOffset :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> TextGranularity -> m ((Maybe Text, Int32, Int32))
+ GI.Atk.Interfaces.Text: textGetStringAtOffset :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> TextGranularity -> m (Maybe Text, Int32, Int32)
- GI.Atk.Interfaces.Text: textGetTextAfterOffset :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> TextBoundary -> m ((Text, Int32, Int32))
+ GI.Atk.Interfaces.Text: textGetTextAfterOffset :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> TextBoundary -> m (Text, Int32, Int32)
- GI.Atk.Interfaces.Text: textGetTextAtOffset :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> TextBoundary -> m ((Text, Int32, Int32))
+ GI.Atk.Interfaces.Text: textGetTextAtOffset :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> TextBoundary -> m (Text, Int32, Int32)
- GI.Atk.Interfaces.Text: textGetTextBeforeOffset :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> TextBoundary -> m ((Text, Int32, Int32))
+ GI.Atk.Interfaces.Text: textGetTextBeforeOffset :: (HasCallStack, MonadIO m, IsText a) => a -> Int32 -> TextBoundary -> m (Text, Int32, Int32)
- GI.Atk.Interfaces.Text: type TextTextCaretMovedCallback = Int32 /@arg1@/: The new position of the text caret. -> IO ()
+ GI.Atk.Interfaces.Text: type TextTextCaretMovedCallback = Int32 " /@arg1@/: The new position of the text caret. " -> IO ()
- GI.Atk.Interfaces.Text: type TextTextChangedCallback = Int32 /@arg1@/: The position (character offset) of the insertion or deletion. -> Int32 /@arg2@/: The length (in characters) of text inserted or deleted. -> IO ()
+ GI.Atk.Interfaces.Text: type TextTextChangedCallback = Int32 " /@arg1@/: The position (character offset) of the insertion or deletion. " -> Int32 " /@arg2@/: The length (in characters) of text inserted or deleted. " -> IO ()
- GI.Atk.Interfaces.Text: type TextTextInsertCallback = Int32 /@arg1@/: The position (character offset) of the insertion. -> Int32 /@arg2@/: The length (in characters) of text inserted. -> Text /@arg3@/: The new text inserted -> IO ()
+ GI.Atk.Interfaces.Text: type TextTextInsertCallback = Int32 " /@arg1@/: The position (character offset) of the insertion. " -> Int32 " /@arg2@/: The length (in characters) of text inserted. " -> Text " /@arg3@/: The new text inserted " -> IO ()
- GI.Atk.Interfaces.Text: type TextTextRemoveCallback = Int32 /@arg1@/: The position (character offset) of the removal. -> Int32 /@arg2@/: The length (in characters) of text removed. -> Text /@arg3@/: The old text removed -> IO ()
+ GI.Atk.Interfaces.Text: type TextTextRemoveCallback = Int32 " /@arg1@/: The position (character offset) of the removal. " -> Int32 " /@arg2@/: The length (in characters) of text removed. " -> Text " /@arg3@/: The old text removed " -> IO ()
- GI.Atk.Interfaces.Value: Value :: (ManagedPtr Value) -> Value
+ GI.Atk.Interfaces.Value: Value :: ManagedPtr Value -> Value
- GI.Atk.Interfaces.Value: class GObject o => IsValue o
+ GI.Atk.Interfaces.Value: class (GObject o, IsDescendantOf Value o) => IsValue o
- GI.Atk.Interfaces.Value: genClosure_ValueValueChanged :: ValueValueChangedCallback -> IO Closure
+ GI.Atk.Interfaces.Value: genClosure_ValueValueChanged :: MonadIO m => ValueValueChangedCallback -> m (GClosure C_ValueValueChangedCallback)
- GI.Atk.Interfaces.Value: type ValueValueChangedCallback = Double /@value@/: the new value in a numerical form. -> Text /@text@/: human readable text alternative (also called description) of this object. NULL if not available. -> IO ()
+ GI.Atk.Interfaces.Value: type ValueValueChangedCallback = Double " /@value@/: the new value in a numerical form. " -> Text " /@text@/: human readable text alternative (also called description) of this object. NULL if not available. " -> IO ()
- GI.Atk.Interfaces.Value: valueGetCurrentValue :: (HasCallStack, MonadIO m, IsValue a) => a -> m (GValue)
+ GI.Atk.Interfaces.Value: valueGetCurrentValue :: (HasCallStack, MonadIO m, IsValue a) => a -> m GValue
- GI.Atk.Interfaces.Value: valueGetMaximumValue :: (HasCallStack, MonadIO m, IsValue a) => a -> m (GValue)
+ GI.Atk.Interfaces.Value: valueGetMaximumValue :: (HasCallStack, MonadIO m, IsValue a) => a -> m GValue
- GI.Atk.Interfaces.Value: valueGetMinimumIncrement :: (HasCallStack, MonadIO m, IsValue a) => a -> m (GValue)
+ GI.Atk.Interfaces.Value: valueGetMinimumIncrement :: (HasCallStack, MonadIO m, IsValue a) => a -> m GValue
- GI.Atk.Interfaces.Value: valueGetMinimumValue :: (HasCallStack, MonadIO m, IsValue a) => a -> m (GValue)
+ GI.Atk.Interfaces.Value: valueGetMinimumValue :: (HasCallStack, MonadIO m, IsValue a) => a -> m GValue
- GI.Atk.Interfaces.Value: valueGetValueAndText :: (HasCallStack, MonadIO m, IsValue a) => a -> m ((Double, Text))
+ GI.Atk.Interfaces.Value: valueGetValueAndText :: (HasCallStack, MonadIO m, IsValue a) => a -> m (Double, Text)
- GI.Atk.Interfaces.Window: Window :: (ManagedPtr Window) -> Window
+ GI.Atk.Interfaces.Window: Window :: ManagedPtr Window -> Window
- GI.Atk.Interfaces.Window: class GObject o => IsWindow o
+ GI.Atk.Interfaces.Window: class (GObject o, IsDescendantOf Window o) => IsWindow o
- GI.Atk.Interfaces.Window: genClosure_WindowActivate :: WindowActivateCallback -> IO Closure
+ GI.Atk.Interfaces.Window: genClosure_WindowActivate :: MonadIO m => WindowActivateCallback -> m (GClosure C_WindowActivateCallback)
- GI.Atk.Interfaces.Window: genClosure_WindowCreate :: WindowCreateCallback -> IO Closure
+ GI.Atk.Interfaces.Window: genClosure_WindowCreate :: MonadIO m => WindowCreateCallback -> m (GClosure C_WindowCreateCallback)
- GI.Atk.Interfaces.Window: genClosure_WindowDeactivate :: WindowDeactivateCallback -> IO Closure
+ GI.Atk.Interfaces.Window: genClosure_WindowDeactivate :: MonadIO m => WindowDeactivateCallback -> m (GClosure C_WindowDeactivateCallback)
- GI.Atk.Interfaces.Window: genClosure_WindowDestroy :: WindowDestroyCallback -> IO Closure
+ GI.Atk.Interfaces.Window: genClosure_WindowDestroy :: MonadIO m => WindowDestroyCallback -> m (GClosure C_WindowDestroyCallback)
- GI.Atk.Interfaces.Window: genClosure_WindowMaximize :: WindowMaximizeCallback -> IO Closure
+ GI.Atk.Interfaces.Window: genClosure_WindowMaximize :: MonadIO m => WindowMaximizeCallback -> m (GClosure C_WindowMaximizeCallback)
- GI.Atk.Interfaces.Window: genClosure_WindowMinimize :: WindowMinimizeCallback -> IO Closure
+ GI.Atk.Interfaces.Window: genClosure_WindowMinimize :: MonadIO m => WindowMinimizeCallback -> m (GClosure C_WindowMinimizeCallback)
- GI.Atk.Interfaces.Window: genClosure_WindowMove :: WindowMoveCallback -> IO Closure
+ GI.Atk.Interfaces.Window: genClosure_WindowMove :: MonadIO m => WindowMoveCallback -> m (GClosure C_WindowMoveCallback)
- GI.Atk.Interfaces.Window: genClosure_WindowResize :: WindowResizeCallback -> IO Closure
+ GI.Atk.Interfaces.Window: genClosure_WindowResize :: MonadIO m => WindowResizeCallback -> m (GClosure C_WindowResizeCallback)
- GI.Atk.Interfaces.Window: genClosure_WindowRestore :: WindowRestoreCallback -> IO Closure
+ GI.Atk.Interfaces.Window: genClosure_WindowRestore :: MonadIO m => WindowRestoreCallback -> m (GClosure C_WindowRestoreCallback)
- GI.Atk.Objects.GObjectAccessible: GObjectAccessible :: (ManagedPtr GObjectAccessible) -> GObjectAccessible
+ GI.Atk.Objects.GObjectAccessible: GObjectAccessible :: ManagedPtr GObjectAccessible -> GObjectAccessible
- GI.Atk.Objects.GObjectAccessible: class GObject o => IsGObjectAccessible o
+ GI.Atk.Objects.GObjectAccessible: class (GObject o, IsDescendantOf GObjectAccessible o) => IsGObjectAccessible o
- GI.Atk.Objects.Hyperlink: Hyperlink :: (ManagedPtr Hyperlink) -> Hyperlink
+ GI.Atk.Objects.Hyperlink: Hyperlink :: ManagedPtr Hyperlink -> Hyperlink
- GI.Atk.Objects.Hyperlink: class GObject o => IsHyperlink o
+ GI.Atk.Objects.Hyperlink: class (GObject o, IsDescendantOf Hyperlink o) => IsHyperlink o
- GI.Atk.Objects.Hyperlink: genClosure_HyperlinkLinkActivated :: HyperlinkLinkActivatedCallback -> IO Closure
+ GI.Atk.Objects.Hyperlink: genClosure_HyperlinkLinkActivated :: MonadIO m => HyperlinkLinkActivatedCallback -> m (GClosure C_HyperlinkLinkActivatedCallback)
- GI.Atk.Objects.Misc: Misc :: (ManagedPtr Misc) -> Misc
+ GI.Atk.Objects.Misc: Misc :: ManagedPtr Misc -> Misc
- GI.Atk.Objects.Misc: class GObject o => IsMisc o
+ GI.Atk.Objects.Misc: class (GObject o, IsDescendantOf Misc o) => IsMisc o
- GI.Atk.Objects.NoOpObject: NoOpObject :: (ManagedPtr NoOpObject) -> NoOpObject
+ GI.Atk.Objects.NoOpObject: NoOpObject :: ManagedPtr NoOpObject -> NoOpObject
- GI.Atk.Objects.NoOpObject: class GObject o => IsNoOpObject o
+ GI.Atk.Objects.NoOpObject: class (GObject o, IsDescendantOf NoOpObject o) => IsNoOpObject o
- GI.Atk.Objects.NoOpObjectFactory: NoOpObjectFactory :: (ManagedPtr NoOpObjectFactory) -> NoOpObjectFactory
+ GI.Atk.Objects.NoOpObjectFactory: NoOpObjectFactory :: ManagedPtr NoOpObjectFactory -> NoOpObjectFactory
- GI.Atk.Objects.NoOpObjectFactory: class GObject o => IsNoOpObjectFactory o
+ GI.Atk.Objects.NoOpObjectFactory: class (GObject o, IsDescendantOf NoOpObjectFactory o) => IsNoOpObjectFactory o
- GI.Atk.Objects.Object: Object :: (ManagedPtr Object) -> Object
+ GI.Atk.Objects.Object: Object :: ManagedPtr Object -> Object
- GI.Atk.Objects.Object: class GObject o => IsObject o
+ GI.Atk.Objects.Object: class (GObject o, IsDescendantOf Object o) => IsObject o
- GI.Atk.Objects.Object: constructObjectAccessibleDescription :: (IsObject o) => Text -> IO (GValueConstruct o)
+ GI.Atk.Objects.Object: constructObjectAccessibleDescription :: IsObject o => Text -> IO (GValueConstruct o)
- GI.Atk.Objects.Object: constructObjectAccessibleName :: (IsObject o) => Text -> IO (GValueConstruct o)
+ GI.Atk.Objects.Object: constructObjectAccessibleName :: IsObject o => Text -> IO (GValueConstruct o)
- GI.Atk.Objects.Object: constructObjectAccessibleRole :: (IsObject o) => Int32 -> IO (GValueConstruct o)
+ GI.Atk.Objects.Object: constructObjectAccessibleRole :: IsObject o => Role -> IO (GValueConstruct o)
- GI.Atk.Objects.Object: constructObjectAccessibleTableCaption :: (IsObject o) => Text -> IO (GValueConstruct o)
+ GI.Atk.Objects.Object: constructObjectAccessibleTableCaption :: IsObject o => Text -> IO (GValueConstruct o)
- GI.Atk.Objects.Object: constructObjectAccessibleTableColumnDescription :: (IsObject o) => Text -> IO (GValueConstruct o)
+ GI.Atk.Objects.Object: constructObjectAccessibleTableColumnDescription :: IsObject o => Text -> IO (GValueConstruct o)
- GI.Atk.Objects.Object: constructObjectAccessibleTableRowDescription :: (IsObject o) => Text -> IO (GValueConstruct o)
+ GI.Atk.Objects.Object: constructObjectAccessibleTableRowDescription :: IsObject o => Text -> IO (GValueConstruct o)
- GI.Atk.Objects.Object: constructObjectAccessibleValue :: (IsObject o) => Double -> IO (GValueConstruct o)
+ GI.Atk.Objects.Object: constructObjectAccessibleValue :: IsObject o => Double -> IO (GValueConstruct o)
- GI.Atk.Objects.Object: genClosure_ObjectActiveDescendantChanged :: ObjectActiveDescendantChangedCallback -> IO Closure
+ GI.Atk.Objects.Object: genClosure_ObjectActiveDescendantChanged :: MonadIO m => ObjectActiveDescendantChangedCallback -> m (GClosure C_ObjectActiveDescendantChangedCallback)
- GI.Atk.Objects.Object: genClosure_ObjectChildrenChanged :: ObjectChildrenChangedCallback -> IO Closure
+ GI.Atk.Objects.Object: genClosure_ObjectChildrenChanged :: MonadIO m => ObjectChildrenChangedCallback -> m (GClosure C_ObjectChildrenChangedCallback)
- GI.Atk.Objects.Object: genClosure_ObjectFocusEvent :: ObjectFocusEventCallback -> IO Closure
+ GI.Atk.Objects.Object: genClosure_ObjectFocusEvent :: MonadIO m => ObjectFocusEventCallback -> m (GClosure C_ObjectFocusEventCallback)
- GI.Atk.Objects.Object: genClosure_ObjectPropertyChange :: ObjectPropertyChangeCallback -> IO Closure
+ GI.Atk.Objects.Object: genClosure_ObjectPropertyChange :: MonadIO m => ObjectPropertyChangeCallback -> m (GClosure C_ObjectPropertyChangeCallback)
- GI.Atk.Objects.Object: genClosure_ObjectStateChange :: ObjectStateChangeCallback -> IO Closure
+ GI.Atk.Objects.Object: genClosure_ObjectStateChange :: MonadIO m => ObjectStateChangeCallback -> m (GClosure C_ObjectStateChangeCallback)
- GI.Atk.Objects.Object: genClosure_ObjectVisibleDataChanged :: ObjectVisibleDataChangedCallback -> IO Closure
+ GI.Atk.Objects.Object: genClosure_ObjectVisibleDataChanged :: MonadIO m => ObjectVisibleDataChangedCallback -> m (GClosure C_ObjectVisibleDataChangedCallback)
- GI.Atk.Objects.Object: getObjectAccessibleRole :: (MonadIO m, IsObject o) => o -> m Int32
+ GI.Atk.Objects.Object: getObjectAccessibleRole :: (MonadIO m, IsObject o) => o -> m Role
- GI.Atk.Objects.Object: objectGetAttributes :: (HasCallStack, MonadIO m, IsObject a) => a -> m ([Ptr ()])
+ GI.Atk.Objects.Object: objectGetAttributes :: (HasCallStack, MonadIO m, IsObject a) => a -> m [Ptr ()]
- GI.Atk.Objects.Object: setObjectAccessibleRole :: (MonadIO m, IsObject o) => o -> Int32 -> m ()
+ GI.Atk.Objects.Object: setObjectAccessibleRole :: (MonadIO m, IsObject o) => o -> Role -> m ()
- GI.Atk.Objects.Object: type C_ObjectActiveDescendantChangedCallback = Ptr () -> Ptr () -> Ptr () -> IO ()
+ GI.Atk.Objects.Object: type C_ObjectActiveDescendantChangedCallback = Ptr () -> Ptr Object -> Ptr () -> IO ()
- GI.Atk.Objects.Object: type C_ObjectChildrenChangedCallback = Ptr () -> Word32 -> Ptr () -> Ptr () -> IO ()
+ GI.Atk.Objects.Object: type C_ObjectChildrenChangedCallback = Ptr () -> Word32 -> Ptr Object -> Ptr () -> IO ()
- GI.Atk.Objects.Object: type C_ObjectPropertyChangeCallback = Ptr () -> Ptr () -> Ptr () -> IO ()
+ GI.Atk.Objects.Object: type C_ObjectPropertyChangeCallback = Ptr () -> Ptr PropertyValues -> Ptr () -> IO ()
- GI.Atk.Objects.Object: type ObjectActiveDescendantChangedCallback = Ptr () /@arg1@/: the newly focused object. -> IO ()
+ GI.Atk.Objects.Object: type ObjectActiveDescendantChangedCallback = Maybe Object " /@arg1@/: the newly focused object. " -> IO ()
- GI.Atk.Objects.Object: type ObjectChildrenChangedCallback = Word32 /@arg1@/: The index of the added or removed child. The value can be -1. This is used if the value is not known by the implementor when the child is added\/removed or irrelevant. -> Ptr () /@arg2@/: A gpointer to the child AtkObject which was added or removed. If the child was removed, it is possible that it is not available for the implementor. In that case this pointer can be NULL. -> IO ()
+ GI.Atk.Objects.Object: type ObjectChildrenChangedCallback = Word32 " /@arg1@/: The index of the added or removed child. The value can be -1. This is used if the value is not known by the implementor when the child is added\/removed or irrelevant. " -> Maybe Object " /@arg2@/: A gpointer to the child AtkObject which was added or removed. If the child was removed, it is possible that it is not available for the implementor. In that case this pointer can be NULL. " -> IO ()
- GI.Atk.Objects.Object: type ObjectFocusEventCallback = Bool /@arg1@/: a boolean value which indicates whether the object gained or lost focus. -> IO ()
+ GI.Atk.Objects.Object: type ObjectFocusEventCallback = Bool " /@arg1@/: a boolean value which indicates whether the object gained or lost focus. " -> IO ()
- GI.Atk.Objects.Object: type ObjectPropertyChangeCallback = Ptr () /@arg1@/: an 'GI.Atk.Structs.PropertyValues.PropertyValues' containing the new value of the property which changed. -> IO ()
+ GI.Atk.Objects.Object: type ObjectPropertyChangeCallback = Maybe PropertyValues " /@arg1@/: an 'GI.Atk.Structs.PropertyValues.PropertyValues' containing the new value of the property which changed. " -> IO ()
- GI.Atk.Objects.Object: type ObjectStateChangeCallback = Text /@arg1@/: The name of the state which has changed -> Bool /@arg2@/: A boolean which indicates whether the state has been set or unset. -> IO ()
+ GI.Atk.Objects.Object: type ObjectStateChangeCallback = Text " /@arg1@/: The name of the state which has changed " -> Bool " /@arg2@/: A boolean which indicates whether the state has been set or unset. " -> IO ()
- GI.Atk.Objects.ObjectFactory: ObjectFactory :: (ManagedPtr ObjectFactory) -> ObjectFactory
+ GI.Atk.Objects.ObjectFactory: ObjectFactory :: ManagedPtr ObjectFactory -> ObjectFactory
- GI.Atk.Objects.ObjectFactory: class GObject o => IsObjectFactory o
+ GI.Atk.Objects.ObjectFactory: class (GObject o, IsDescendantOf ObjectFactory o) => IsObjectFactory o
- GI.Atk.Objects.Plug: Plug :: (ManagedPtr Plug) -> Plug
+ GI.Atk.Objects.Plug: Plug :: ManagedPtr Plug -> Plug
- GI.Atk.Objects.Plug: class GObject o => IsPlug o
+ GI.Atk.Objects.Plug: class (GObject o, IsDescendantOf Plug o) => IsPlug o
- GI.Atk.Objects.Registry: Registry :: (ManagedPtr Registry) -> Registry
+ GI.Atk.Objects.Registry: Registry :: ManagedPtr Registry -> Registry
- GI.Atk.Objects.Registry: class GObject o => IsRegistry o
+ GI.Atk.Objects.Registry: class (GObject o, IsDescendantOf Registry o) => IsRegistry o
- GI.Atk.Objects.Relation: Relation :: (ManagedPtr Relation) -> Relation
+ GI.Atk.Objects.Relation: Relation :: ManagedPtr Relation -> Relation
- GI.Atk.Objects.Relation: class GObject o => IsRelation o
+ GI.Atk.Objects.Relation: class (GObject o, IsDescendantOf Relation o) => IsRelation o
- GI.Atk.Objects.Relation: constructRelationRelationType :: (IsRelation o) => RelationType -> IO (GValueConstruct o)
+ GI.Atk.Objects.Relation: constructRelationRelationType :: IsRelation o => RelationType -> IO (GValueConstruct o)
- GI.Atk.Objects.Relation: constructRelationTarget :: (IsRelation o) => ValueArray -> IO (GValueConstruct o)
+ GI.Atk.Objects.Relation: constructRelationTarget :: IsRelation o => ValueArray -> IO (GValueConstruct o)
- GI.Atk.Objects.RelationSet: RelationSet :: (ManagedPtr RelationSet) -> RelationSet
+ GI.Atk.Objects.RelationSet: RelationSet :: ManagedPtr RelationSet -> RelationSet
- GI.Atk.Objects.RelationSet: class GObject o => IsRelationSet o
+ GI.Atk.Objects.RelationSet: class (GObject o, IsDescendantOf RelationSet o) => IsRelationSet o
- GI.Atk.Objects.Socket: Socket :: (ManagedPtr Socket) -> Socket
+ GI.Atk.Objects.Socket: Socket :: ManagedPtr Socket -> Socket
- GI.Atk.Objects.Socket: class GObject o => IsSocket o
+ GI.Atk.Objects.Socket: class (GObject o, IsDescendantOf Socket o) => IsSocket o
- GI.Atk.Objects.StateSet: StateSet :: (ManagedPtr StateSet) -> StateSet
+ GI.Atk.Objects.StateSet: StateSet :: ManagedPtr StateSet -> StateSet
- GI.Atk.Objects.StateSet: class GObject o => IsStateSet o
+ GI.Atk.Objects.StateSet: class (GObject o, IsDescendantOf StateSet o) => IsStateSet o
- GI.Atk.Objects.Util: Util :: (ManagedPtr Util) -> Util
+ GI.Atk.Objects.Util: Util :: ManagedPtr Util -> Util
- GI.Atk.Objects.Util: class GObject o => IsUtil o
+ GI.Atk.Objects.Util: class (GObject o, IsDescendantOf Util o) => IsUtil o
- GI.Atk.Structs.Attribute: Attribute :: (ManagedPtr Attribute) -> Attribute
+ GI.Atk.Structs.Attribute: Attribute :: ManagedPtr Attribute -> Attribute
- GI.Atk.Structs.Implementor: Implementor :: (ManagedPtr Implementor) -> Implementor
+ GI.Atk.Structs.Implementor: Implementor :: ManagedPtr Implementor -> Implementor
- GI.Atk.Structs.KeyEventStruct: KeyEventStruct :: (ManagedPtr KeyEventStruct) -> KeyEventStruct
+ GI.Atk.Structs.KeyEventStruct: KeyEventStruct :: ManagedPtr KeyEventStruct -> KeyEventStruct
- GI.Atk.Structs.PropertyValues: PropertyValues :: (ManagedPtr PropertyValues) -> PropertyValues
+ GI.Atk.Structs.PropertyValues: PropertyValues :: ManagedPtr PropertyValues -> PropertyValues
- GI.Atk.Structs.Range: Range :: (ManagedPtr Range) -> Range
+ GI.Atk.Structs.Range: Range :: ManagedPtr Range -> Range
- GI.Atk.Structs.Rectangle: Rectangle :: (ManagedPtr Rectangle) -> Rectangle
+ GI.Atk.Structs.Rectangle: Rectangle :: ManagedPtr Rectangle -> Rectangle
- GI.Atk.Structs.TextRange: TextRange :: (ManagedPtr TextRange) -> TextRange
+ GI.Atk.Structs.TextRange: TextRange :: ManagedPtr TextRange -> TextRange
- GI.Atk.Structs.TextRectangle: TextRectangle :: (ManagedPtr TextRectangle) -> TextRectangle
+ GI.Atk.Structs.TextRectangle: TextRectangle :: ManagedPtr TextRectangle -> TextRectangle
Files
- ChangeLog.md +8/−0
- GI/Atk.hs +60/−0
- GI/Atk/Callbacks.hs +580/−0
- GI/Atk/Constants.hs +108/−0
- GI/Atk/Enums.hs +2197/−0
- GI/Atk/Enums.hs-boot +60/−0
- GI/Atk/Flags.hs +77/−0
- GI/Atk/Flags.hs-boot +28/−0
- GI/Atk/Functions.hs +529/−0
- GI/Atk/Interfaces.hs +69/−0
- GI/Atk/Interfaces/Action.hs +481/−0
- GI/Atk/Interfaces/Action.hs-boot +48/−0
- GI/Atk/Interfaces/Component.hs +1035/−0
- GI/Atk/Interfaces/Component.hs-boot +77/−0
- GI/Atk/Interfaces/Document.hs +911/−0
- GI/Atk/Interfaces/Document.hs-boot +65/−0
- GI/Atk/Interfaces/EditableText.hs +445/−0
- GI/Atk/Interfaces/EditableText.hs-boot +48/−0
- GI/Atk/Interfaces/HyperlinkImpl.hs +161/−0
- GI/Atk/Interfaces/HyperlinkImpl.hs-boot +30/−0
- GI/Atk/Interfaces/Hypertext.hs +370/−0
- GI/Atk/Interfaces/Hypertext.hs-boot +41/−0
- GI/Atk/Interfaces/Image.hs +351/−0
- GI/Atk/Interfaces/Image.hs-boot +42/−0
- GI/Atk/Interfaces/ImplementorIface.hs +84/−0
- GI/Atk/Interfaces/ImplementorIface.hs-boot +27/−0
- GI/Atk/Interfaces/Selection.hs +570/−0
- GI/Atk/Interfaces/Selection.hs-boot +53/−0
- GI/Atk/Interfaces/StreamableContent.hs +307/−0
- GI/Atk/Interfaces/StreamableContent.hs-boot +39/−0
- GI/Atk/Interfaces/Table.hs +2227/−0
- GI/Atk/Interfaces/Table.hs-boot +137/−0
- GI/Atk/Interfaces/TableCell.hs +512/−0
- GI/Atk/Interfaces/TableCell.hs-boot +50/−0
- GI/Atk/Interfaces/Text.hs +2062/−0
- GI/Atk/Interfaces/Text.hs-boot +113/−0
- GI/Atk/Interfaces/Value.hs +885/−0
- GI/Atk/Interfaces/Value.hs-boot +62/−0
- GI/Atk/Interfaces/Window.hs +970/−0
- GI/Atk/Interfaces/Window.hs-boot +56/−0
- GI/Atk/Objects.hs +67/−0
- GI/Atk/Objects/GObjectAccessible.hs +235/−0
- GI/Atk/Objects/GObjectAccessible.hs-boot +32/−0
- GI/Atk/Objects/Hyperlink.hs +791/−0
- GI/Atk/Objects/Hyperlink.hs-boot +68/−0
- GI/Atk/Objects/Misc.hs +261/−0
- GI/Atk/Objects/Misc.hs-boot +35/−0
- GI/Atk/Objects/NoOpObject.hs +312/−0
- GI/Atk/Objects/NoOpObject.hs-boot +29/−0
- GI/Atk/Objects/NoOpObjectFactory.hs +163/−0
- GI/Atk/Objects/NoOpObjectFactory.hs-boot +29/−0
- GI/Atk/Objects/Object.hs +2902/−0
- GI/Atk/Objects/Object.hs-boot +161/−0
- GI/Atk/Objects/ObjectFactory.hs +273/−0
- GI/Atk/Objects/ObjectFactory.hs-boot +38/−0
- GI/Atk/Objects/Plug.hs +248/−0
- GI/Atk/Objects/Plug.hs-boot +32/−0
- GI/Atk/Objects/Registry.hs +285/−0
- GI/Atk/Objects/Registry.hs-boot +38/−0
- GI/Atk/Objects/Relation.hs +512/−0
- GI/Atk/Objects/Relation.hs-boot +47/−0
- GI/Atk/Objects/RelationSet.hs +570/−0
- GI/Atk/Objects/RelationSet.hs-boot +53/−0
- GI/Atk/Objects/Socket.hs +318/−0
- GI/Atk/Objects/Socket.hs-boot +35/−0
- GI/Atk/Objects/StateSet.hs +665/−0
- GI/Atk/Objects/StateSet.hs-boot +59/−0
- GI/Atk/Objects/Util.hs +124/−0
- GI/Atk/Objects/Util.hs-boot +29/−0
- GI/Atk/Structs.hs +55/−0
- GI/Atk/Structs/Attribute.hs +281/−0
- GI/Atk/Structs/Attribute.hs-boot +26/−0
- GI/Atk/Structs/Implementor.hs +129/−0
- GI/Atk/Structs/Implementor.hs-boot +29/−0
- GI/Atk/Structs/KeyEventStruct.hs +501/−0
- GI/Atk/Structs/KeyEventStruct.hs-boot +26/−0
- GI/Atk/Structs/PropertyValues.hs +250/−0
- GI/Atk/Structs/PropertyValues.hs-boot +26/−0
- GI/Atk/Structs/Range.hs +361/−0
- GI/Atk/Structs/Range.hs-boot +41/−0
- GI/Atk/Structs/Rectangle.hs +313/−0
- GI/Atk/Structs/Rectangle.hs-boot +26/−0
- GI/Atk/Structs/TextRange.hs +317/−0
- GI/Atk/Structs/TextRange.hs-boot +26/−0
- GI/Atk/Structs/TextRectangle.hs +311/−0
- GI/Atk/Structs/TextRectangle.hs-boot +26/−0
- LICENSE +14/−0
- README.md +1/−1
- gi-atk.cabal +55/−8
- stack.yaml +1/−1
ChangeLog.md view
@@ -1,3 +1,11 @@+### 2.0.17+++ Update to haskell-gi(-base) 0.22++### 2.0.16+++ Update stack version to 12.10+ ### 2.0.15 + Remove enable-overloading flags, and use instead explicit CPP checks for 'haskell-gi-overloading-1.0', see [how to disable overloading](https://github.com/haskell-gi/haskell-gi/wiki/Overloading\#disabling-overloading).
+ GI/Atk.hs view
@@ -0,0 +1,60 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk+ ( module GI.Atk.Callbacks ,+ module GI.Atk.Constants ,+ module GI.Atk.Enums ,+ module GI.Atk.Flags ,+ module GI.Atk.Functions ,+ module GI.Atk.Interfaces ,+ module GI.Atk.Objects ,+ module GI.Atk.Structs ,++++ module Data.GI.Base ,+++ ) where++import GI.Atk.Callbacks+import GI.Atk.Constants+import GI.Atk.Enums+import GI.Atk.Flags+import GI.Atk.Functions+import GI.Atk.Interfaces+import GI.Atk.Objects+import GI.Atk.Structs++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 Data.GI.Base+
+ GI/Atk/Callbacks.hs view
@@ -0,0 +1,580 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Callbacks+ ( ++ -- * Signals+-- ** EventListener #signal:EventListener#++ C_EventListener ,+ EventListener ,+ dynamic_EventListener ,+ genClosure_EventListener ,+ mk_EventListener ,+ noEventListener ,+ wrap_EventListener ,+++-- ** EventListenerInit #signal:EventListenerInit#++ C_EventListenerInit ,+ EventListenerInit ,+ dynamic_EventListenerInit ,+ genClosure_EventListenerInit ,+ mk_EventListenerInit ,+ noEventListenerInit ,+ wrap_EventListenerInit ,+++-- ** FocusHandler #signal:FocusHandler#++ C_FocusHandler ,+ FocusHandler ,+ dynamic_FocusHandler ,+ genClosure_FocusHandler ,+ mk_FocusHandler ,+ noFocusHandler ,+ wrap_FocusHandler ,+++-- ** Function #signal:Function#++ C_Function ,+ Function ,+ Function_WithClosures ,+ drop_closures_Function ,+ dynamic_Function ,+ genClosure_Function ,+ mk_Function ,+ noFunction ,+ noFunction_WithClosures ,+ wrap_Function ,+++-- ** KeySnoopFunc #signal:KeySnoopFunc#++ C_KeySnoopFunc ,+ KeySnoopFunc ,+ KeySnoopFunc_WithClosures ,+ drop_closures_KeySnoopFunc ,+ dynamic_KeySnoopFunc ,+ genClosure_KeySnoopFunc ,+ mk_KeySnoopFunc ,+ noKeySnoopFunc ,+ noKeySnoopFunc_WithClosures ,+ wrap_KeySnoopFunc ,+++-- ** PropertyChangeHandler #signal:PropertyChangeHandler#++ C_PropertyChangeHandler ,+ PropertyChangeHandler ,+ dynamic_PropertyChangeHandler ,+ genClosure_PropertyChangeHandler ,+ mk_PropertyChangeHandler ,+ noPropertyChangeHandler ,+ wrap_PropertyChangeHandler ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import {-# SOURCE #-} qualified GI.Atk.Structs.KeyEventStruct as Atk.KeyEventStruct+import {-# SOURCE #-} qualified GI.Atk.Structs.PropertyValues as Atk.PropertyValues++-- callback PropertyChangeHandler+-- -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "atkobject which property changes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vals", argType = TInterface (Name {namespace = "Atk", name = "PropertyValues"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "values changed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Just (DeprecationInfo {deprecatedSinceVersion = Nothing, deprecationMessage = Just "Since 2.12."}), callableDocumentation = Documentation {rawDocText = Just "An AtkPropertyChangeHandler is a function which is executed when an\nAtkObject's property changes value. It is specified in a call to\natk_object_connect_property_change_handler().", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_PropertyChangeHandler =+ Ptr Atk.Object.Object ->+ Ptr Atk.PropertyValues.PropertyValues ->+ IO ()++-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "atkobject which property changes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vals", argType = TInterface (Name {namespace = "Atk", name = "PropertyValues"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "values changed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_PropertyChangeHandler :: FunPtr C_PropertyChangeHandler -> C_PropertyChangeHandler++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_PropertyChangeHandler ::+ (B.CallStack.HasCallStack, MonadIO m, Atk.Object.IsObject a) =>+ FunPtr C_PropertyChangeHandler+ -> a+ {- ^ /@obj@/: atkobject which property changes -}+ -> Atk.PropertyValues.PropertyValues+ {- ^ /@vals@/: values changed -}+ -> m ()+dynamic_PropertyChangeHandler __funPtr obj vals = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ vals' <- unsafeManagedPtrGetPtr vals+ (__dynamic_C_PropertyChangeHandler __funPtr) obj' vals'+ touchManagedPtr obj+ touchManagedPtr vals+ return ()++-- | Generate a function pointer callable from C code, from a `C_PropertyChangeHandler`.+foreign import ccall "wrapper"+ mk_PropertyChangeHandler :: C_PropertyChangeHandler -> IO (FunPtr C_PropertyChangeHandler)++{-# DEPRECATED PropertyChangeHandler ["Since 2.12."] #-}+{- |+An AtkPropertyChangeHandler is a function which is executed when an+AtkObject\'s property changes value. It is specified in a call to+@/atk_object_connect_property_change_handler()/@.+-}+type PropertyChangeHandler =+ Atk.Object.Object+ {- ^ /@obj@/: atkobject which property changes -}+ -> Atk.PropertyValues.PropertyValues+ {- ^ /@vals@/: values changed -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `PropertyChangeHandler`@.+noPropertyChangeHandler :: Maybe PropertyChangeHandler+noPropertyChangeHandler = Nothing++-- | Wrap the callback into a `GClosure`.+genClosure_PropertyChangeHandler :: MonadIO m => PropertyChangeHandler -> m (GClosure C_PropertyChangeHandler)+genClosure_PropertyChangeHandler cb = liftIO $ do+ let cb' = wrap_PropertyChangeHandler Nothing cb+ mk_PropertyChangeHandler cb' >>= B.GClosure.newGClosure+++-- | Wrap a `PropertyChangeHandler` into a `C_PropertyChangeHandler`.+wrap_PropertyChangeHandler ::+ Maybe (Ptr (FunPtr C_PropertyChangeHandler)) ->+ PropertyChangeHandler ->+ C_PropertyChangeHandler+wrap_PropertyChangeHandler funptrptr _cb obj vals = do+ obj' <- (newObject Atk.Object.Object) obj+ vals' <- (newPtr Atk.PropertyValues.PropertyValues) vals+ _cb obj' vals'+ maybeReleaseFunPtr funptrptr+++-- callback KeySnoopFunc+-- -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "TRUE (nonzero) if the event emission should be stopped and the event\ndiscarded without being passed to the normal GUI recipient; FALSE (zero) if the\nevent dispatch to the client application should proceed as normal.\n\nsee atk_add_key_event_listener.", sinceVersion = Nothing}, args = [Arg {argCName = "event", argType = TInterface (Name {namespace = "Atk", name = "KeyEventStruct"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an AtkKeyEventStruct containing information about the key event for which\nnotification is being given.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a block of data which will be passed to the event listener, on notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "An #AtkKeySnoopFunc is a type of callback which is called whenever a key event occurs,\nif registered via atk_add_key_event_listener. It allows for pre-emptive\ninterception of key events via the return code as described below.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_KeySnoopFunc =+ Ptr Atk.KeyEventStruct.KeyEventStruct ->+ Ptr () ->+ IO Int32++-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Atk", name = "KeyEventStruct"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an AtkKeyEventStruct containing information about the key event for which\nnotification is being given.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a block of data which will be passed to the event listener, on notification.", 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 "dynamic" __dynamic_C_KeySnoopFunc :: FunPtr C_KeySnoopFunc -> C_KeySnoopFunc++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_KeySnoopFunc ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ FunPtr C_KeySnoopFunc+ -> Atk.KeyEventStruct.KeyEventStruct+ {- ^ /@event@/: an AtkKeyEventStruct containing information about the key event for which+notification is being given. -}+ -> Ptr ()+ {- ^ /@userData@/: a block of data which will be passed to the event listener, on notification. -}+ -> m Int32+ {- ^ __Returns:__ TRUE (nonzero) if the event emission should be stopped and the event+discarded without being passed to the normal GUI recipient; FALSE (zero) if the+event dispatch to the client application should proceed as normal.++see atk_add_key_event_listener. -}+dynamic_KeySnoopFunc __funPtr event userData = liftIO $ do+ event' <- unsafeManagedPtrGetPtr event+ result <- (__dynamic_C_KeySnoopFunc __funPtr) event' userData+ touchManagedPtr event+ return result++-- | Generate a function pointer callable from C code, from a `C_KeySnoopFunc`.+foreign import ccall "wrapper"+ mk_KeySnoopFunc :: C_KeySnoopFunc -> IO (FunPtr C_KeySnoopFunc)++{- |+An 'GI.Atk.Callbacks.KeySnoopFunc' is a type of callback which is called whenever a key event occurs,+if registered via atk_add_key_event_listener. It allows for pre-emptive+interception of key events via the return code as described below.+-}+type KeySnoopFunc =+ Atk.KeyEventStruct.KeyEventStruct+ {- ^ /@event@/: an AtkKeyEventStruct containing information about the key event for which+notification is being given. -}+ -> IO Int32+ {- ^ __Returns:__ TRUE (nonzero) if the event emission should be stopped and the event+discarded without being passed to the normal GUI recipient; FALSE (zero) if the+event dispatch to the client application should proceed as normal.++see atk_add_key_event_listener. -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `KeySnoopFunc`@.+noKeySnoopFunc :: Maybe KeySnoopFunc+noKeySnoopFunc = Nothing++{- |+An 'GI.Atk.Callbacks.KeySnoopFunc' is a type of callback which is called whenever a key event occurs,+if registered via atk_add_key_event_listener. It allows for pre-emptive+interception of key events via the return code as described below.+-}+type KeySnoopFunc_WithClosures =+ Atk.KeyEventStruct.KeyEventStruct+ {- ^ /@event@/: an AtkKeyEventStruct containing information about the key event for which+notification is being given. -}+ -> Ptr ()+ {- ^ /@userData@/: a block of data which will be passed to the event listener, on notification. -}+ -> IO Int32+ {- ^ __Returns:__ TRUE (nonzero) if the event emission should be stopped and the event+discarded without being passed to the normal GUI recipient; FALSE (zero) if the+event dispatch to the client application should proceed as normal.++see atk_add_key_event_listener. -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `KeySnoopFunc_WithClosures`@.+noKeySnoopFunc_WithClosures :: Maybe KeySnoopFunc_WithClosures+noKeySnoopFunc_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_KeySnoopFunc :: KeySnoopFunc -> KeySnoopFunc_WithClosures+drop_closures_KeySnoopFunc _f event _ = _f event++-- | Wrap the callback into a `GClosure`.+genClosure_KeySnoopFunc :: MonadIO m => KeySnoopFunc -> m (GClosure C_KeySnoopFunc)+genClosure_KeySnoopFunc cb = liftIO $ do+ let cb' = drop_closures_KeySnoopFunc cb+ let cb'' = wrap_KeySnoopFunc Nothing cb'+ mk_KeySnoopFunc cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `KeySnoopFunc` into a `C_KeySnoopFunc`.+wrap_KeySnoopFunc ::+ Maybe (Ptr (FunPtr C_KeySnoopFunc)) ->+ KeySnoopFunc_WithClosures ->+ C_KeySnoopFunc+wrap_KeySnoopFunc funptrptr _cb event userData = do+ event' <- (newPtr Atk.KeyEventStruct.KeyEventStruct) event+ result <- _cb event' userData+ maybeReleaseFunPtr funptrptr+ return result+++-- callback Function+-- -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "not used", sinceVersion = Nothing}, args = [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "custom data defined by the user", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "An AtkFunction is a function definition used for padding which has\nbeen added to class and interface structures to allow for expansion\nin the future.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_Function =+ Ptr () ->+ IO CInt++-- Args : [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "custom data defined by the user", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_Function :: FunPtr C_Function -> C_Function++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_Function ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ FunPtr C_Function+ -> Ptr ()+ {- ^ /@userData@/: custom data defined by the user -}+ -> m Bool+ {- ^ __Returns:__ not used -}+dynamic_Function __funPtr userData = liftIO $ do+ result <- (__dynamic_C_Function __funPtr) userData+ let result' = (/= 0) result+ return result'++-- | Generate a function pointer callable from C code, from a `C_Function`.+foreign import ccall "wrapper"+ mk_Function :: C_Function -> IO (FunPtr C_Function)++{- |+An AtkFunction is a function definition used for padding which has+been added to class and interface structures to allow for expansion+in the future.+-}+type Function =+ IO Bool+ {- ^ __Returns:__ not used -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `Function`@.+noFunction :: Maybe Function+noFunction = Nothing++{- |+An AtkFunction is a function definition used for padding which has+been added to class and interface structures to allow for expansion+in the future.+-}+type Function_WithClosures =+ Ptr ()+ {- ^ /@userData@/: custom data defined by the user -}+ -> IO Bool+ {- ^ __Returns:__ not used -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `Function_WithClosures`@.+noFunction_WithClosures :: Maybe Function_WithClosures+noFunction_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_Function :: Function -> Function_WithClosures+drop_closures_Function _f _ = _f ++-- | Wrap the callback into a `GClosure`.+genClosure_Function :: MonadIO m => Function -> m (GClosure C_Function)+genClosure_Function cb = liftIO $ do+ let cb' = drop_closures_Function cb+ let cb'' = wrap_Function Nothing cb'+ mk_Function cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `Function` into a `C_Function`.+wrap_Function ::+ Maybe (Ptr (FunPtr C_Function)) ->+ Function_WithClosures ->+ C_Function+wrap_Function funptrptr _cb userData = do+ result <- _cb userData+ maybeReleaseFunPtr funptrptr+ let result' = (fromIntegral . fromEnum) result+ return result'+++-- callback FocusHandler+-- -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "object", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #AtkObject that receives/lose the focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus_in", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TRUE if the object receives the focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Just (DeprecationInfo {deprecatedSinceVersion = Just "2.9.4", deprecationMessage = Just "Deprecated with atk_component_add_focus_handler()\nand atk_component_remove_focus_handler(). See those\nmethods for more information."}), callableDocumentation = Documentation {rawDocText = Just "The type of callback function used for\natk_component_add_focus_handler() and\natk_component_remove_focus_handler()", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_FocusHandler =+ Ptr Atk.Object.Object ->+ CInt ->+ IO ()++-- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #AtkObject that receives/lose the focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus_in", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TRUE if the object receives the focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_FocusHandler :: FunPtr C_FocusHandler -> C_FocusHandler++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_FocusHandler ::+ (B.CallStack.HasCallStack, MonadIO m, Atk.Object.IsObject a) =>+ FunPtr C_FocusHandler+ -> a+ {- ^ /@object@/: the 'GI.Atk.Objects.Object.Object' that receives\/lose the focus -}+ -> Bool+ {- ^ /@focusIn@/: TRUE if the object receives the focus -}+ -> m ()+dynamic_FocusHandler __funPtr object focusIn = liftIO $ do+ object' <- unsafeManagedPtrCastPtr object+ let focusIn' = (fromIntegral . fromEnum) focusIn+ (__dynamic_C_FocusHandler __funPtr) object' focusIn'+ touchManagedPtr object+ return ()++-- | Generate a function pointer callable from C code, from a `C_FocusHandler`.+foreign import ccall "wrapper"+ mk_FocusHandler :: C_FocusHandler -> IO (FunPtr C_FocusHandler)++{-# DEPRECATED FocusHandler ["(Since version 2.9.4)","Deprecated with @/atk_component_add_focus_handler()/@","and 'GI.Atk.Interfaces.Component.componentRemoveFocusHandler'. See those","methods for more information."] #-}+{- |+The type of callback function used for+@/atk_component_add_focus_handler()/@ and+'GI.Atk.Interfaces.Component.componentRemoveFocusHandler'+-}+type FocusHandler =+ Atk.Object.Object+ {- ^ /@object@/: the 'GI.Atk.Objects.Object.Object' that receives\/lose the focus -}+ -> Bool+ {- ^ /@focusIn@/: TRUE if the object receives the focus -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `FocusHandler`@.+noFocusHandler :: Maybe FocusHandler+noFocusHandler = Nothing++-- | Wrap the callback into a `GClosure`.+genClosure_FocusHandler :: MonadIO m => FocusHandler -> m (GClosure C_FocusHandler)+genClosure_FocusHandler cb = liftIO $ do+ let cb' = wrap_FocusHandler Nothing cb+ mk_FocusHandler cb' >>= B.GClosure.newGClosure+++-- | Wrap a `FocusHandler` into a `C_FocusHandler`.+wrap_FocusHandler ::+ Maybe (Ptr (FunPtr C_FocusHandler)) ->+ FocusHandler ->+ C_FocusHandler+wrap_FocusHandler funptrptr _cb object focusIn = do+ object' <- (newObject Atk.Object.Object) object+ let focusIn' = (/= 0) focusIn+ _cb object' focusIn'+ maybeReleaseFunPtr funptrptr+++-- callback EventListenerInit+-- -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "An #AtkEventListenerInit function is a special function that is\ncalled in order to initialize the per-object event registration system\nused by #AtkEventListener, if any preparation is required.\n\nsee atk_focus_tracker_init.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_EventListenerInit =+ IO ()++-- Args : []+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_EventListenerInit :: FunPtr C_EventListenerInit -> C_EventListenerInit++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_EventListenerInit ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ FunPtr C_EventListenerInit+ -> m ()+dynamic_EventListenerInit __funPtr = liftIO $ do+ (__dynamic_C_EventListenerInit __funPtr)+ return ()++-- | Generate a function pointer callable from C code, from a `C_EventListenerInit`.+foreign import ccall "wrapper"+ mk_EventListenerInit :: C_EventListenerInit -> IO (FunPtr C_EventListenerInit)++{- |+An 'GI.Atk.Callbacks.EventListenerInit' function is a special function that is+called in order to initialize the per-object event registration system+used by 'GI.Atk.Callbacks.EventListener', if any preparation is required.++see atk_focus_tracker_init.+-}+type EventListenerInit =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `EventListenerInit`@.+noEventListenerInit :: Maybe EventListenerInit+noEventListenerInit = Nothing++-- | Wrap the callback into a `GClosure`.+genClosure_EventListenerInit :: MonadIO m => EventListenerInit -> m (GClosure C_EventListenerInit)+genClosure_EventListenerInit cb = liftIO $ do+ let cb' = wrap_EventListenerInit Nothing cb+ mk_EventListenerInit cb' >>= B.GClosure.newGClosure+++-- | Wrap a `EventListenerInit` into a `C_EventListenerInit`.+wrap_EventListenerInit ::+ Maybe (Ptr (FunPtr C_EventListenerInit)) ->+ EventListenerInit ->+ C_EventListenerInit+wrap_EventListenerInit funptrptr _cb = do+ _cb + maybeReleaseFunPtr funptrptr+++-- callback EventListener+-- -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #AtkObject instance for whom the callback will be called when\nthe specified event (e.g. 'focus:') takes place.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function which is called when an object emits a matching event,\nas used in #atk_add_focus_tracker.\nCurrently the only events for which object-specific handlers are\nsupported are events of type \"focus:\". Most clients of ATK will prefer to\nattach signal handlers for the various ATK signals instead.\n\nsee atk_add_focus_tracker.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_EventListener =+ Ptr Atk.Object.Object ->+ IO ()++-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #AtkObject instance for whom the callback will be called when\nthe specified event (e.g. 'focus:') takes place.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_EventListener :: FunPtr C_EventListener -> C_EventListener++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_EventListener ::+ (B.CallStack.HasCallStack, MonadIO m, Atk.Object.IsObject a) =>+ FunPtr C_EventListener+ -> a+ {- ^ /@obj@/: An 'GI.Atk.Objects.Object.Object' instance for whom the callback will be called when+the specified event (e.g. \'focus:\') takes place. -}+ -> m ()+dynamic_EventListener __funPtr obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ (__dynamic_C_EventListener __funPtr) obj'+ touchManagedPtr obj+ return ()++-- | Generate a function pointer callable from C code, from a `C_EventListener`.+foreign import ccall "wrapper"+ mk_EventListener :: C_EventListener -> IO (FunPtr C_EventListener)++{- |+A function which is called when an object emits a matching event,+as used in @/atk_add_focus_tracker/@.+Currently the only events for which object-specific handlers are+supported are events of type \"focus:\". Most clients of ATK will prefer to+attach signal handlers for the various ATK signals instead.++see atk_add_focus_tracker.+-}+type EventListener =+ Atk.Object.Object+ {- ^ /@obj@/: An 'GI.Atk.Objects.Object.Object' instance for whom the callback will be called when+the specified event (e.g. \'focus:\') takes place. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `EventListener`@.+noEventListener :: Maybe EventListener+noEventListener = Nothing++-- | Wrap the callback into a `GClosure`.+genClosure_EventListener :: MonadIO m => EventListener -> m (GClosure C_EventListener)+genClosure_EventListener cb = liftIO $ do+ let cb' = wrap_EventListener Nothing cb+ mk_EventListener cb' >>= B.GClosure.newGClosure+++-- | Wrap a `EventListener` into a `C_EventListener`.+wrap_EventListener ::+ Maybe (Ptr (FunPtr C_EventListener)) ->+ EventListener ->+ C_EventListener+wrap_EventListener funptrptr _cb obj = do+ obj' <- (newObject Atk.Object.Object) obj+ _cb obj'+ maybeReleaseFunPtr funptrptr+++
+ GI/Atk/Constants.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Constants+ ( + pattern VERSION_MIN_REQUIRED ,+ pattern MINOR_VERSION ,+ pattern MICRO_VERSION ,+ pattern MAJOR_VERSION ,+ pattern INTERFACE_AGE ,+ pattern BINARY_AGE ,++ ) 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+++{- |+A macro that should be defined by the user prior to including+the atk\/atk.h header.+The definition should be one of the predefined ATK version+macros: @/ATK_VERSION_2_12/@, @/ATK_VERSION_2_14/@,...++This macro defines the earliest version of ATK that the package is+required to be able to compile against.++If the compiler is configured to warn about the use of deprecated+functions, then using functions that were deprecated in version+'GI.Atk.Constants.VERSION_MIN_REQUIRED' or earlier will cause warnings (but+using functions deprecated in later releases will not).++/Since: 2.14/+-}+pattern VERSION_MIN_REQUIRED = 2 :: Int32++{- |+Like 'GI.Atk.Functions.getMinorVersion', but from the headers used at+application compile time, rather than from the library linked+against at application run time.++/Since: 2.7.4/+-}+pattern MINOR_VERSION = 32 :: Int32++{- |+Like 'GI.Atk.Functions.getMicroVersion', but from the headers used at+application compile time, rather than from the library linked+against at application run time.++/Since: 2.7.4/+-}+pattern MICRO_VERSION = 0 :: Int32++{- |+Like 'GI.Atk.Functions.getMajorVersion', but from the headers used at+application compile time, rather than from the library linked+against at application run time.++/Since: 2.7.4/+-}+pattern MAJOR_VERSION = 2 :: Int32++{- |+Like 'GI.Atk.Functions.getInterfaceAge', but from the headers used at+application compile time, rather than from the library linked+against at application run time.++/Since: 2.7.4/+-}+pattern INTERFACE_AGE = 1 :: Int32++{- |+Like 'GI.Atk.Functions.getBinaryAge', but from the headers used at+application compile time, rather than from the library linked+against at application run time.++/Since: 2.7.4/+-}+pattern BINARY_AGE = 23210 :: Int32++
+ GI/Atk/Enums.hs view
@@ -0,0 +1,2197 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Enums+ ( ++ -- * Enumerations+-- ** CoordType #enum:CoordType#++ CoordType(..) ,+++-- ** KeyEventType #enum:KeyEventType#++ KeyEventType(..) ,+++-- ** Layer #enum:Layer#++ Layer(..) ,+++-- ** RelationType #enum:RelationType#++ RelationType(..) ,+++-- ** Role #enum:Role#++ Role(..) ,+++-- ** ScrollType #enum:ScrollType#++ ScrollType(..) ,+++-- ** StateType #enum:StateType#++ StateType(..) ,+++-- ** TextAttribute #enum:TextAttribute#++ TextAttribute(..) ,+++-- ** TextBoundary #enum:TextBoundary#++ TextBoundary(..) ,+++-- ** TextClipType #enum:TextClipType#++ TextClipType(..) ,+++-- ** TextGranularity #enum:TextGranularity#++ TextGranularity(..) ,+++-- ** ValueType #enum:ValueType#++ ValueType(..) ,+++++ ) 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+++-- Enum ValueType+{- |+Default types for a given value. Those are defined in order to+easily get localized strings to describe a given value or a given+subrange, using 'GI.Atk.Functions.valueTypeGetLocalizedName'.+-}+data ValueType = + ValueTypeVeryWeak+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeWeak+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeAcceptable+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeStrong+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeVeryStrong+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeVeryLow+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeLow+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeMedium+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeHigh+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeVeryHigh+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeVeryBad+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeBad+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeGood+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeVeryGood+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeBest+ {- ^+ /No description available in the introspection data./+ -}+ | ValueTypeLastDefined+ {- ^+ /No description available in the introspection data./+ -}+ | AnotherValueType Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum ValueType where+ fromEnum ValueTypeVeryWeak = 0+ fromEnum ValueTypeWeak = 1+ fromEnum ValueTypeAcceptable = 2+ fromEnum ValueTypeStrong = 3+ fromEnum ValueTypeVeryStrong = 4+ fromEnum ValueTypeVeryLow = 5+ fromEnum ValueTypeLow = 6+ fromEnum ValueTypeMedium = 7+ fromEnum ValueTypeHigh = 8+ fromEnum ValueTypeVeryHigh = 9+ fromEnum ValueTypeVeryBad = 10+ fromEnum ValueTypeBad = 11+ fromEnum ValueTypeGood = 12+ fromEnum ValueTypeVeryGood = 13+ fromEnum ValueTypeBest = 14+ fromEnum ValueTypeLastDefined = 15+ fromEnum (AnotherValueType k) = k++ toEnum 0 = ValueTypeVeryWeak+ toEnum 1 = ValueTypeWeak+ toEnum 2 = ValueTypeAcceptable+ toEnum 3 = ValueTypeStrong+ toEnum 4 = ValueTypeVeryStrong+ toEnum 5 = ValueTypeVeryLow+ toEnum 6 = ValueTypeLow+ toEnum 7 = ValueTypeMedium+ toEnum 8 = ValueTypeHigh+ toEnum 9 = ValueTypeVeryHigh+ toEnum 10 = ValueTypeVeryBad+ toEnum 11 = ValueTypeBad+ toEnum 12 = ValueTypeGood+ toEnum 13 = ValueTypeVeryGood+ toEnum 14 = ValueTypeBest+ toEnum 15 = ValueTypeLastDefined+ toEnum k = AnotherValueType k++instance P.Ord ValueType where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_value_type_get_type" c_atk_value_type_get_type :: + IO GType++instance BoxedEnum ValueType where+ boxedEnumType _ = c_atk_value_type_get_type++-- Enum TextGranularity+{- |+Text granularity types used for specifying the granularity of the region of+text we are interested in.+-}+data TextGranularity = + TextGranularityChar+ {- ^+ Granularity is defined by the boundaries between characters+ (including non-printing characters)+ -}+ | TextGranularityWord+ {- ^+ Granularity is defined by the boundaries of a word,+ starting at the beginning of the current word and finishing at the beginning of+ the following one, if present.+ -}+ | TextGranularitySentence+ {- ^+ Granularity is defined by the boundaries of a sentence,+ starting at the beginning of the current sentence and finishing at the beginning of+ the following one, if present.+ -}+ | TextGranularityLine+ {- ^+ Granularity is defined by the boundaries of a line,+ starting at the beginning of the current line and finishing at the beginning of+ the following one, if present.+ -}+ | TextGranularityParagraph+ {- ^+ Granularity is defined by the boundaries of a paragraph,+ starting at the beginning of the current paragraph and finishing at the beginning of+ the following one, if present.+ -}+ | AnotherTextGranularity Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum TextGranularity where+ fromEnum TextGranularityChar = 0+ fromEnum TextGranularityWord = 1+ fromEnum TextGranularitySentence = 2+ fromEnum TextGranularityLine = 3+ fromEnum TextGranularityParagraph = 4+ fromEnum (AnotherTextGranularity k) = k++ toEnum 0 = TextGranularityChar+ toEnum 1 = TextGranularityWord+ toEnum 2 = TextGranularitySentence+ toEnum 3 = TextGranularityLine+ toEnum 4 = TextGranularityParagraph+ toEnum k = AnotherTextGranularity k++instance P.Ord TextGranularity where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_text_granularity_get_type" c_atk_text_granularity_get_type :: + IO GType++instance BoxedEnum TextGranularity where+ boxedEnumType _ = c_atk_text_granularity_get_type++-- Enum TextClipType+{- |+Describes the type of clipping required.+-}+data TextClipType = + TextClipTypeNone+ {- ^+ No clipping to be done+ -}+ | TextClipTypeMin+ {- ^+ Text clipped by min coordinate is omitted+ -}+ | TextClipTypeMax+ {- ^+ Text clipped by max coordinate is omitted+ -}+ | TextClipTypeBoth+ {- ^+ Only text fully within mix\/max bound is retained+ -}+ | AnotherTextClipType Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum TextClipType where+ fromEnum TextClipTypeNone = 0+ fromEnum TextClipTypeMin = 1+ fromEnum TextClipTypeMax = 2+ fromEnum TextClipTypeBoth = 3+ fromEnum (AnotherTextClipType k) = k++ toEnum 0 = TextClipTypeNone+ toEnum 1 = TextClipTypeMin+ toEnum 2 = TextClipTypeMax+ toEnum 3 = TextClipTypeBoth+ toEnum k = AnotherTextClipType k++instance P.Ord TextClipType where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_text_clip_type_get_type" c_atk_text_clip_type_get_type :: + IO GType++instance BoxedEnum TextClipType where+ boxedEnumType _ = c_atk_text_clip_type_get_type++-- Enum TextBoundary+{- |+Text boundary types used for specifying boundaries for regions of text.+This enumeration is deprecated since 2.9.4 and should not be used. Use+AtkTextGranularity with @/atk_text_get_string_at_offset/@ instead.+-}+data TextBoundary = + TextBoundaryChar+ {- ^+ Boundary is the boundary between characters+ (including non-printing characters)+ -}+ | TextBoundaryWordStart+ {- ^+ Boundary is the start (i.e. first character) of a word.+ -}+ | TextBoundaryWordEnd+ {- ^+ Boundary is the end (i.e. last+ character) of a word.+ -}+ | TextBoundarySentenceStart+ {- ^+ Boundary is the first character in a sentence.+ -}+ | TextBoundarySentenceEnd+ {- ^+ Boundary is the last (terminal)+ character in a sentence; in languages which use \"sentence stop\"+ punctuation such as English, the boundary is thus the \'.\', \'?\', or+ similar terminal punctuation character.+ -}+ | TextBoundaryLineStart+ {- ^+ Boundary is the initial character of the content or a+ character immediately following a newline, linefeed, or return character.+ -}+ | TextBoundaryLineEnd+ {- ^+ Boundary is the linefeed, or return+ character.+ -}+ | AnotherTextBoundary Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum TextBoundary where+ fromEnum TextBoundaryChar = 0+ fromEnum TextBoundaryWordStart = 1+ fromEnum TextBoundaryWordEnd = 2+ fromEnum TextBoundarySentenceStart = 3+ fromEnum TextBoundarySentenceEnd = 4+ fromEnum TextBoundaryLineStart = 5+ fromEnum TextBoundaryLineEnd = 6+ fromEnum (AnotherTextBoundary k) = k++ toEnum 0 = TextBoundaryChar+ toEnum 1 = TextBoundaryWordStart+ toEnum 2 = TextBoundaryWordEnd+ toEnum 3 = TextBoundarySentenceStart+ toEnum 4 = TextBoundarySentenceEnd+ toEnum 5 = TextBoundaryLineStart+ toEnum 6 = TextBoundaryLineEnd+ toEnum k = AnotherTextBoundary k++instance P.Ord TextBoundary where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_text_boundary_get_type" c_atk_text_boundary_get_type :: + IO GType++instance BoxedEnum TextBoundary where+ boxedEnumType _ = c_atk_text_boundary_get_type++-- Enum TextAttribute+{- |+Describes the text attributes supported+-}+data TextAttribute = + TextAttributeInvalid+ {- ^+ Invalid attribute, like bad spelling or grammar.+ -}+ | TextAttributeLeftMargin+ {- ^+ The pixel width of the left margin+ -}+ | TextAttributeRightMargin+ {- ^+ The pixel width of the right margin+ -}+ | TextAttributeIndent+ {- ^+ The number of pixels that the text is indented+ -}+ | TextAttributeInvisible+ {- ^+ Either \"true\" or \"false\" indicating whether text is visible or not+ -}+ | TextAttributeEditable+ {- ^+ Either \"true\" or \"false\" indicating whether text is editable or not+ -}+ | TextAttributePixelsAboveLines+ {- ^+ Pixels of blank space to leave above each newline-terminated line.+ -}+ | TextAttributePixelsBelowLines+ {- ^+ Pixels of blank space to leave below each newline-terminated line.+ -}+ | TextAttributePixelsInsideWrap+ {- ^+ Pixels of blank space to leave between wrapped lines inside the same newline-terminated line (paragraph).+ -}+ | TextAttributeBgFullHeight+ {- ^+ \"true\" or \"false\" whether to make the background color for each character the height of the highest font used on the current line, or the height of the font used for the current character.+ -}+ | TextAttributeRise+ {- ^+ Number of pixels that the characters are risen above the baseline+ -}+ | TextAttributeUnderline+ {- ^+ \"none\", \"single\", \"double\", \"low\", or \"error\"+ -}+ | TextAttributeStrikethrough+ {- ^+ \"true\" or \"false\" whether the text is strikethrough+ -}+ | TextAttributeSize+ {- ^+ The size of the characters in points. eg: 10+ -}+ | TextAttributeScale+ {- ^+ The scale of the characters. The value is a string representation of a double+ -}+ | TextAttributeWeight+ {- ^+ The weight of the characters.+ -}+ | TextAttributeLanguage+ {- ^+ The language used+ -}+ | TextAttributeFamilyName+ {- ^+ The font family name+ -}+ | TextAttributeBgColor+ {- ^+ The background color. The value is an RGB value of the format \"@/u/@,@/u/@,@/u/@\"+ -}+ | TextAttributeFgColor+ {- ^+ The foreground color. The value is an RGB value of the format \"@/u/@,@/u/@,@/u/@\"+ -}+ | TextAttributeBgStipple+ {- ^+ \"true\" if a @/GdkBitmap/@ is set for stippling the background color.+ -}+ | TextAttributeFgStipple+ {- ^+ \"true\" if a @/GdkBitmap/@ is set for stippling the foreground color.+ -}+ | TextAttributeWrapMode+ {- ^+ The wrap mode of the text, if any. Values are \"none\", \"char\", \"word\", or \"word_char\".+ -}+ | TextAttributeDirection+ {- ^+ The direction of the text, if set. Values are \"none\", \"ltr\" or \"rtl\"+ -}+ | TextAttributeJustification+ {- ^+ The justification of the text, if set. Values are \"left\", \"right\", \"center\" or \"fill\"+ -}+ | TextAttributeStretch+ {- ^+ The stretch of the text, if set. Values are \"ultra_condensed\", \"extra_condensed\", \"condensed\", \"semi_condensed\", \"normal\", \"semi_expanded\", \"expanded\", \"extra_expanded\" or \"ultra_expanded\"+ -}+ | TextAttributeVariant+ {- ^+ The capitalization variant of the text, if set. Values are \"normal\" or \"small_caps\"+ -}+ | TextAttributeStyle+ {- ^+ The slant style of the text, if set. Values are \"normal\", \"oblique\" or \"italic\"+ -}+ | TextAttributeLastDefined+ {- ^+ not a valid text attribute, used for finding end of enumeration+ -}+ | AnotherTextAttribute Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum TextAttribute where+ fromEnum TextAttributeInvalid = 0+ fromEnum TextAttributeLeftMargin = 1+ fromEnum TextAttributeRightMargin = 2+ fromEnum TextAttributeIndent = 3+ fromEnum TextAttributeInvisible = 4+ fromEnum TextAttributeEditable = 5+ fromEnum TextAttributePixelsAboveLines = 6+ fromEnum TextAttributePixelsBelowLines = 7+ fromEnum TextAttributePixelsInsideWrap = 8+ fromEnum TextAttributeBgFullHeight = 9+ fromEnum TextAttributeRise = 10+ fromEnum TextAttributeUnderline = 11+ fromEnum TextAttributeStrikethrough = 12+ fromEnum TextAttributeSize = 13+ fromEnum TextAttributeScale = 14+ fromEnum TextAttributeWeight = 15+ fromEnum TextAttributeLanguage = 16+ fromEnum TextAttributeFamilyName = 17+ fromEnum TextAttributeBgColor = 18+ fromEnum TextAttributeFgColor = 19+ fromEnum TextAttributeBgStipple = 20+ fromEnum TextAttributeFgStipple = 21+ fromEnum TextAttributeWrapMode = 22+ fromEnum TextAttributeDirection = 23+ fromEnum TextAttributeJustification = 24+ fromEnum TextAttributeStretch = 25+ fromEnum TextAttributeVariant = 26+ fromEnum TextAttributeStyle = 27+ fromEnum TextAttributeLastDefined = 28+ fromEnum (AnotherTextAttribute k) = k++ toEnum 0 = TextAttributeInvalid+ toEnum 1 = TextAttributeLeftMargin+ toEnum 2 = TextAttributeRightMargin+ toEnum 3 = TextAttributeIndent+ toEnum 4 = TextAttributeInvisible+ toEnum 5 = TextAttributeEditable+ toEnum 6 = TextAttributePixelsAboveLines+ toEnum 7 = TextAttributePixelsBelowLines+ toEnum 8 = TextAttributePixelsInsideWrap+ toEnum 9 = TextAttributeBgFullHeight+ toEnum 10 = TextAttributeRise+ toEnum 11 = TextAttributeUnderline+ toEnum 12 = TextAttributeStrikethrough+ toEnum 13 = TextAttributeSize+ toEnum 14 = TextAttributeScale+ toEnum 15 = TextAttributeWeight+ toEnum 16 = TextAttributeLanguage+ toEnum 17 = TextAttributeFamilyName+ toEnum 18 = TextAttributeBgColor+ toEnum 19 = TextAttributeFgColor+ toEnum 20 = TextAttributeBgStipple+ toEnum 21 = TextAttributeFgStipple+ toEnum 22 = TextAttributeWrapMode+ toEnum 23 = TextAttributeDirection+ toEnum 24 = TextAttributeJustification+ toEnum 25 = TextAttributeStretch+ toEnum 26 = TextAttributeVariant+ toEnum 27 = TextAttributeStyle+ toEnum 28 = TextAttributeLastDefined+ toEnum k = AnotherTextAttribute k++instance P.Ord TextAttribute where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_text_attribute_get_type" c_atk_text_attribute_get_type :: + IO GType++instance BoxedEnum TextAttribute where+ boxedEnumType _ = c_atk_text_attribute_get_type++-- Enum StateType+{- |+The possible types of states of an object+-}+data StateType = + StateTypeInvalid+ {- ^+ Indicates an invalid state - probably an error condition.+ -}+ | StateTypeActive+ {- ^+ Indicates a window is currently the active window, or an object is the active subelement within a container or table. ATK_STATE_ACTIVE should not be used for objects which have ATK_STATE_FOCUSABLE or ATK_STATE_SELECTABLE: Those objects should use ATK_STATE_FOCUSED and ATK_STATE_SELECTED respectively. ATK_STATE_ACTIVE is a means to indicate that an object which is not focusable and not selectable is the currently-active item within its parent container.+ -}+ | StateTypeArmed+ {- ^+ Indicates that the object is \'armed\', i.e. will be activated by if a pointer button-release event occurs within its bounds. Buttons often enter this state when a pointer click occurs within their bounds, as a precursor to activation. ATK_STATE_ARMED has been deprecated since ATK-2.16 and should not be used in newly-written code.+ -}+ | StateTypeBusy+ {- ^+ Indicates the current object is busy, i.e. onscreen representation is in the process of changing, or the object is temporarily unavailable for interaction due to activity already in progress. This state may be used by implementors of Document to indicate that content loading is underway. It also may indicate other \'pending\' conditions; clients may wish to interrogate this object when the ATK_STATE_BUSY flag is removed.+ -}+ | StateTypeChecked+ {- ^+ Indicates this object is currently checked, for instance a checkbox is \'non-empty\'.+ -}+ | StateTypeDefunct+ {- ^+ Indicates that this object no longer has a valid backing widget (for instance, if its peer object has been destroyed)+ -}+ | StateTypeEditable+ {- ^+ Indicates that this object can contain text, and that the+ user can change the textual contents of this object by editing those contents+ directly. For an object which is expected to be editable due to its type, but+ which cannot be edited due to the application or platform preventing the user+ from doing so, that object\'s 'GI.Atk.Objects.StateSet.StateSet' should lack ATK_STATE_EDITABLE and+ should contain ATK_STATE_READ_ONLY.+ -}+ | StateTypeEnabled+ {- ^+ Indicates that this object is enabled, i.e. that it currently reflects some application state. Objects that are \"greyed out\" may lack this state, and may lack the STATE_SENSITIVE if direct user interaction cannot cause them to acquire STATE_ENABLED. See also: ATK_STATE_SENSITIVE+ -}+ | StateTypeExpandable+ {- ^+ Indicates this object allows progressive disclosure of its children+ -}+ | StateTypeExpanded+ {- ^+ Indicates this object its expanded - see ATK_STATE_EXPANDABLE above+ -}+ | StateTypeFocusable+ {- ^+ Indicates this object can accept keyboard focus, which means all events resulting from typing on the keyboard will normally be passed to it when it has focus+ -}+ | StateTypeFocused+ {- ^+ Indicates this object currently has the keyboard focus+ -}+ | StateTypeHorizontal+ {- ^+ Indicates the orientation of this object is horizontal; used, for instance, by objects of ATK_ROLE_SCROLL_BAR. For objects where vertical\/horizontal orientation is especially meaningful.+ -}+ | StateTypeIconified+ {- ^+ Indicates this object is minimized and is represented only by an icon+ -}+ | StateTypeModal+ {- ^+ Indicates something must be done with this object before the user can interact with an object in a different window+ -}+ | StateTypeMultiLine+ {- ^+ Indicates this (text) object can contain multiple lines of text+ -}+ | StateTypeMultiselectable+ {- ^+ Indicates this object allows more than one of its children to be selected at the same time, or in the case of text objects, that the object supports non-contiguous text selections.+ -}+ | StateTypeOpaque+ {- ^+ Indicates this object paints every pixel within its rectangular region.+ -}+ | StateTypePressed+ {- ^+ Indicates this object is currently pressed.+ -}+ | StateTypeResizable+ {- ^+ Indicates the size of this object is not fixed+ -}+ | StateTypeSelectable+ {- ^+ Indicates this object is the child of an object that allows its children to be selected and that this child is one of those children that can be selected+ -}+ | StateTypeSelected+ {- ^+ Indicates this object is the child of an object that allows its children to be selected and that this child is one of those children that has been selected+ -}+ | StateTypeSensitive+ {- ^+ Indicates this object is sensitive, e.g. to user interaction.+ STATE_SENSITIVE usually accompanies STATE_ENABLED for user-actionable controls,+ but may be found in the absence of STATE_ENABLED if the current visible state of the+ control is \"disconnected\" from the application state. In such cases, direct user interaction+ can often result in the object gaining STATE_SENSITIVE, for instance if a user makes+ an explicit selection using an object whose current state is ambiguous or undefined.+ /@see@/ STATE_ENABLED, STATE_INDETERMINATE.+ -}+ | StateTypeShowing+ {- ^+ Indicates this object, the object\'s parent, the object\'s parent\'s parent, and so on,+ are all \'shown\' to the end-user, i.e. subject to \"exposure\" if blocking or obscuring objects do not interpose+ between this object and the top of the window stack.+ -}+ | StateTypeSingleLine+ {- ^+ Indicates this (text) object can contain only a single line of text+ -}+ | StateTypeStale+ {- ^+ Indicates that the information returned for this object may no longer be+ synchronized with the application state. This is implied if the object has STATE_TRANSIENT,+ and can also occur towards the end of the object peer\'s lifecycle. It can also be used to indicate that+ the index associated with this object has changed since the user accessed the object (in lieu of+ \"index-in-parent-changed\" events).+ -}+ | StateTypeTransient+ {- ^+ Indicates this object is transient, i.e. a snapshot which may not emit events when its+ state changes. Data from objects with ATK_STATE_TRANSIENT should not be cached, since there may be no+ notification given when the cached data becomes obsolete.+ -}+ | StateTypeVertical+ {- ^+ Indicates the orientation of this object is vertical+ -}+ | StateTypeVisible+ {- ^+ Indicates this object is visible, e.g. has been explicitly marked for exposure to the user.+ -}+ | StateTypeManagesDescendants+ {- ^+ Indicates that \"active-descendant-changed\" event+ is sent when children become \'active\' (i.e. are selected or navigated to onscreen).+ Used to prevent need to enumerate all children in very large containers, like tables.+ The presence of STATE_MANAGES_DESCENDANTS is an indication to the client.+ that the children should not, and need not, be enumerated by the client.+ Objects implementing this state are expected to provide relevant state+ notifications to listening clients, for instance notifications of visibility+ changes and activation of their contained child objects, without the client+ having previously requested references to those children.+ -}+ | StateTypeIndeterminate+ {- ^+ Indicates that the value, or some other quantifiable+ property, of this AtkObject cannot be fully determined. In the case of a large+ data set in which the total number of items in that set is unknown (e.g. 1 of+ 999+), implementors should expose the currently-known set size (999) along+ with this state. In the case of a check box, this state should be used to+ indicate that the check box is a tri-state check box which is currently+ neither checked nor unchecked.+ -}+ | StateTypeTruncated+ {- ^+ Indicates that an object is truncated, e.g. a text value in a speradsheet cell.+ -}+ | StateTypeRequired+ {- ^+ Indicates that explicit user interaction with an object is required by the user interface, e.g. a required field in a \"web-form\" interface.+ -}+ | StateTypeInvalidEntry+ {- ^+ Indicates that the object has encountered an error condition due to failure of input validation. For instance, a form control may acquire this state in response to invalid or malformed user input.+ -}+ | StateTypeSupportsAutocompletion+ {- ^+ Indicates that the object in question implements some form of ¨typeahead¨ or+ pre-selection behavior whereby entering the first character of one or more sub-elements+ causes those elements to scroll into view or become selected. Subsequent character input+ may narrow the selection further as long as one or more sub-elements match the string.+ This state is normally only useful and encountered on objects that implement Selection.+ In some cases the typeahead behavior may result in full or partial ¨completion¨ of+ the data in the input field, in which case these input events may trigger text-changed+ events from the AtkText interface. This state supplants /@aTKROLEAUTOCOMPLETE@/.+ -}+ | StateTypeSelectableText+ {- ^+ Indicates that the object in question supports text selection. It should only be exposed on objects which implement the Text interface, in order to distinguish this state from /@aTKSTATESELECTABLE@/, which infers that the object in question is a selectable child of an object which implements Selection. While similar, text selection and subelement selection are distinct operations.+ -}+ | StateTypeDefault+ {- ^+ Indicates that the object is the \"default\" active component, i.e. the object which is activated by an end-user press of the \"Enter\" or \"Return\" key. Typically a \"close\" or \"submit\" button.+ -}+ | StateTypeAnimated+ {- ^+ Indicates that the object changes its appearance dynamically as an inherent part of its presentation. This state may come and go if an object is only temporarily animated on the way to a \'final\' onscreen presentation.+ /@note@/ some applications, notably content viewers, may not be able to detect+ all kinds of animated content. Therefore the absence of this state should not+ be taken as definitive evidence that the object\'s visual representation is+ static; this state is advisory.+ -}+ | StateTypeVisited+ {- ^+ Indicates that the object (typically a hyperlink) has already been \'activated\', and\/or its backing data has already been downloaded, rendered, or otherwise \"visited\".+ -}+ | StateTypeCheckable+ {- ^+ Indicates this object has the potential to be+ checked, such as a checkbox or toggle-able table cell. /@since@/:+ ATK-2.12+ -}+ | StateTypeHasPopup+ {- ^+ Indicates that the object has a popup context+ menu or sub-level menu which may or may not be showing. This means+ that activation renders conditional content. Note that ordinary+ tooltips are not considered popups in this context. /@since@/: ATK-2.12+ -}+ | StateTypeHasTooltip+ {- ^+ Indicates this object has a tooltip. /@since@/: ATK-2.16+ -}+ | StateTypeReadOnly+ {- ^+ Indicates that a widget which is ENABLED and SENSITIVE+ has a value which can be read, but not modified, by the user. Note that this+ state should only be applied to widget types whose value is normally directly+ user modifiable, such as check boxes, radio buttons, spin buttons, text input+ fields, and combo boxes, as a means to convey that the expected interaction+ with that widget is not possible. When the expected interaction with a+ widget does not include modification by the user, as is the case with+ labels and containers, ATK_STATE_READ_ONLY should not be applied. See also+ ATK_STATE_EDITABLE. /@since@/: ATK-2-16+ -}+ | StateTypeLastDefined+ {- ^+ Not a valid state, used for finding end of enumeration+ -}+ | AnotherStateType Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum StateType where+ fromEnum StateTypeInvalid = 0+ fromEnum StateTypeActive = 1+ fromEnum StateTypeArmed = 2+ fromEnum StateTypeBusy = 3+ fromEnum StateTypeChecked = 4+ fromEnum StateTypeDefunct = 5+ fromEnum StateTypeEditable = 6+ fromEnum StateTypeEnabled = 7+ fromEnum StateTypeExpandable = 8+ fromEnum StateTypeExpanded = 9+ fromEnum StateTypeFocusable = 10+ fromEnum StateTypeFocused = 11+ fromEnum StateTypeHorizontal = 12+ fromEnum StateTypeIconified = 13+ fromEnum StateTypeModal = 14+ fromEnum StateTypeMultiLine = 15+ fromEnum StateTypeMultiselectable = 16+ fromEnum StateTypeOpaque = 17+ fromEnum StateTypePressed = 18+ fromEnum StateTypeResizable = 19+ fromEnum StateTypeSelectable = 20+ fromEnum StateTypeSelected = 21+ fromEnum StateTypeSensitive = 22+ fromEnum StateTypeShowing = 23+ fromEnum StateTypeSingleLine = 24+ fromEnum StateTypeStale = 25+ fromEnum StateTypeTransient = 26+ fromEnum StateTypeVertical = 27+ fromEnum StateTypeVisible = 28+ fromEnum StateTypeManagesDescendants = 29+ fromEnum StateTypeIndeterminate = 30+ fromEnum StateTypeTruncated = 31+ fromEnum StateTypeRequired = 32+ fromEnum StateTypeInvalidEntry = 33+ fromEnum StateTypeSupportsAutocompletion = 34+ fromEnum StateTypeSelectableText = 35+ fromEnum StateTypeDefault = 36+ fromEnum StateTypeAnimated = 37+ fromEnum StateTypeVisited = 38+ fromEnum StateTypeCheckable = 39+ fromEnum StateTypeHasPopup = 40+ fromEnum StateTypeHasTooltip = 41+ fromEnum StateTypeReadOnly = 42+ fromEnum StateTypeLastDefined = 43+ fromEnum (AnotherStateType k) = k++ toEnum 0 = StateTypeInvalid+ toEnum 1 = StateTypeActive+ toEnum 2 = StateTypeArmed+ toEnum 3 = StateTypeBusy+ toEnum 4 = StateTypeChecked+ toEnum 5 = StateTypeDefunct+ toEnum 6 = StateTypeEditable+ toEnum 7 = StateTypeEnabled+ toEnum 8 = StateTypeExpandable+ toEnum 9 = StateTypeExpanded+ toEnum 10 = StateTypeFocusable+ toEnum 11 = StateTypeFocused+ toEnum 12 = StateTypeHorizontal+ toEnum 13 = StateTypeIconified+ toEnum 14 = StateTypeModal+ toEnum 15 = StateTypeMultiLine+ toEnum 16 = StateTypeMultiselectable+ toEnum 17 = StateTypeOpaque+ toEnum 18 = StateTypePressed+ toEnum 19 = StateTypeResizable+ toEnum 20 = StateTypeSelectable+ toEnum 21 = StateTypeSelected+ toEnum 22 = StateTypeSensitive+ toEnum 23 = StateTypeShowing+ toEnum 24 = StateTypeSingleLine+ toEnum 25 = StateTypeStale+ toEnum 26 = StateTypeTransient+ toEnum 27 = StateTypeVertical+ toEnum 28 = StateTypeVisible+ toEnum 29 = StateTypeManagesDescendants+ toEnum 30 = StateTypeIndeterminate+ toEnum 31 = StateTypeTruncated+ toEnum 32 = StateTypeRequired+ toEnum 33 = StateTypeInvalidEntry+ toEnum 34 = StateTypeSupportsAutocompletion+ toEnum 35 = StateTypeSelectableText+ toEnum 36 = StateTypeDefault+ toEnum 37 = StateTypeAnimated+ toEnum 38 = StateTypeVisited+ toEnum 39 = StateTypeCheckable+ toEnum 40 = StateTypeHasPopup+ toEnum 41 = StateTypeHasTooltip+ toEnum 42 = StateTypeReadOnly+ toEnum 43 = StateTypeLastDefined+ toEnum k = AnotherStateType k++instance P.Ord StateType where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_state_type_get_type" c_atk_state_type_get_type :: + IO GType++instance BoxedEnum StateType where+ boxedEnumType _ = c_atk_state_type_get_type++-- Enum ScrollType+{- |+Specifies where an object should be placed on the screen when using scroll_to.++/Since: 2.30/+-}+data ScrollType = + ScrollTypeTopLeft+ {- ^+ Scroll the object vertically and horizontally to the top+ left corner of the window.+ -}+ | ScrollTypeBottomRight+ {- ^+ Scroll the object vertically and horizontally to the+ bottom right corner of the window.+ -}+ | ScrollTypeTopEdge+ {- ^+ Scroll the object vertically to the top edge of the+ window.+ -}+ | ScrollTypeBottomEdge+ {- ^+ Scroll the object vertically to the bottom edge of+ the window.+ -}+ | ScrollTypeLeftEdge+ {- ^+ Scroll the object vertically and horizontally to the+ left edge of the window.+ -}+ | ScrollTypeRightEdge+ {- ^+ Scroll the object vertically and horizontally to the+ right edge of the window.+ -}+ | ScrollTypeAnywhere+ {- ^+ Scroll the object vertically and horizontally so that+ as much as possible of the object becomes visible. The exact placement is+ determined by the application.+ -}+ | AnotherScrollType Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum ScrollType where+ fromEnum ScrollTypeTopLeft = 0+ fromEnum ScrollTypeBottomRight = 1+ fromEnum ScrollTypeTopEdge = 2+ fromEnum ScrollTypeBottomEdge = 3+ fromEnum ScrollTypeLeftEdge = 4+ fromEnum ScrollTypeRightEdge = 5+ fromEnum ScrollTypeAnywhere = 6+ fromEnum (AnotherScrollType k) = k++ toEnum 0 = ScrollTypeTopLeft+ toEnum 1 = ScrollTypeBottomRight+ toEnum 2 = ScrollTypeTopEdge+ toEnum 3 = ScrollTypeBottomEdge+ toEnum 4 = ScrollTypeLeftEdge+ toEnum 5 = ScrollTypeRightEdge+ toEnum 6 = ScrollTypeAnywhere+ toEnum k = AnotherScrollType k++instance P.Ord ScrollType where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_scroll_type_get_type" c_atk_scroll_type_get_type :: + IO GType++instance BoxedEnum ScrollType where+ boxedEnumType _ = c_atk_scroll_type_get_type++-- Enum Role+{- |+Describes the role of an object++These are the built-in enumerated roles that UI components can have in+ATK. Other roles may be added at runtime, so an AtkRole >=+ATK_ROLE_LAST_DEFINED is not necessarily an error.+-}+data Role = + RoleInvalid+ {- ^+ Invalid role+ -}+ | RoleAcceleratorLabel+ {- ^+ A label which represents an accelerator+ -}+ | RoleAlert+ {- ^+ An object which is an alert to the user. Assistive Technologies typically respond to ATK_ROLE_ALERT by reading the entire onscreen contents of containers advertising this role. Should be used for warning dialogs, etc.+ -}+ | RoleAnimation+ {- ^+ An object which is an animated image+ -}+ | RoleArrow+ {- ^+ An arrow in one of the four cardinal directions+ -}+ | RoleCalendar+ {- ^+ An object that displays a calendar and allows the user to select a date+ -}+ | RoleCanvas+ {- ^+ An object that can be drawn into and is used to trap events+ -}+ | RoleCheckBox+ {- ^+ A choice that can be checked or unchecked and provides a separate indicator for the current state+ -}+ | RoleCheckMenuItem+ {- ^+ A menu item with a check box+ -}+ | RoleColorChooser+ {- ^+ A specialized dialog that lets the user choose a color+ -}+ | RoleColumnHeader+ {- ^+ The header for a column of data+ -}+ | RoleComboBox+ {- ^+ A collapsible list of choices the user can select from+ -}+ | RoleDateEditor+ {- ^+ An object whose purpose is to allow a user to edit a date+ -}+ | RoleDesktopIcon+ {- ^+ An inconifed internal frame within a DESKTOP_PANE+ -}+ | RoleDesktopFrame+ {- ^+ A pane that supports internal frames and iconified versions of those internal frames+ -}+ | RoleDial+ {- ^+ An object whose purpose is to allow a user to set a value+ -}+ | RoleDialog+ {- ^+ A top level window with title bar and a border+ -}+ | RoleDirectoryPane+ {- ^+ A pane that allows the user to navigate through and select the contents of a directory+ -}+ | RoleDrawingArea+ {- ^+ An object used for drawing custom user interface elements+ -}+ | RoleFileChooser+ {- ^+ A specialized dialog that lets the user choose a file+ -}+ | RoleFiller+ {- ^+ A object that fills up space in a user interface+ -}+ | RoleFontChooser+ {- ^+ A specialized dialog that lets the user choose a font+ -}+ | RoleFrame+ {- ^+ A top level window with a title bar, border, menubar, etc.+ -}+ | RoleGlassPane+ {- ^+ A pane that is guaranteed to be painted on top of all panes beneath it+ -}+ | RoleHtmlContainer+ {- ^+ A document container for HTML, whose children represent the document content+ -}+ | RoleIcon+ {- ^+ A small fixed size picture, typically used to decorate components+ -}+ | RoleImage+ {- ^+ An object whose primary purpose is to display an image+ -}+ | RoleInternalFrame+ {- ^+ A frame-like object that is clipped by a desktop pane+ -}+ | RoleLabel+ {- ^+ An object used to present an icon or short string in an interface+ -}+ | RoleLayeredPane+ {- ^+ A specialized pane that allows its children to be drawn in layers, providing a form of stacking order+ -}+ | RoleList+ {- ^+ An object that presents a list of objects to the user and allows the user to select one or more of them+ -}+ | RoleListItem+ {- ^+ An object that represents an element of a list+ -}+ | RoleMenu+ {- ^+ An object usually found inside a menu bar that contains a list of actions the user can choose from+ -}+ | RoleMenuBar+ {- ^+ An object usually drawn at the top of the primary dialog box of an application that contains a list of menus the user can choose from+ -}+ | RoleMenuItem+ {- ^+ An object usually contained in a menu that presents an action the user can choose+ -}+ | RoleOptionPane+ {- ^+ A specialized pane whose primary use is inside a DIALOG+ -}+ | RolePageTab+ {- ^+ An object that is a child of a page tab list+ -}+ | RolePageTabList+ {- ^+ An object that presents a series of panels (or page tabs), one at a time, through some mechanism provided by the object+ -}+ | RolePanel+ {- ^+ A generic container that is often used to group objects+ -}+ | RolePasswordText+ {- ^+ A text object uses for passwords, or other places where the text content is not shown visibly to the user+ -}+ | RolePopupMenu+ {- ^+ A temporary window that is usually used to offer the user a list of choices, and then hides when the user selects one of those choices+ -}+ | RoleProgressBar+ {- ^+ An object used to indicate how much of a task has been completed+ -}+ | RolePushButton+ {- ^+ An object the user can manipulate to tell the application to do something+ -}+ | RoleRadioButton+ {- ^+ A specialized check box that will cause other radio buttons in the same group to become unchecked when this one is checked+ -}+ | RoleRadioMenuItem+ {- ^+ A check menu item which belongs to a group. At each instant exactly one of the radio menu items from a group is selected+ -}+ | RoleRootPane+ {- ^+ A specialized pane that has a glass pane and a layered pane as its children+ -}+ | RoleRowHeader+ {- ^+ The header for a row of data+ -}+ | RoleScrollBar+ {- ^+ An object usually used to allow a user to incrementally view a large amount of data.+ -}+ | RoleScrollPane+ {- ^+ An object that allows a user to incrementally view a large amount of information+ -}+ | RoleSeparator+ {- ^+ An object usually contained in a menu to provide a visible and logical separation of the contents in a menu+ -}+ | RoleSlider+ {- ^+ An object that allows the user to select from a bounded range+ -}+ | RoleSplitPane+ {- ^+ A specialized panel that presents two other panels at the same time+ -}+ | RoleSpinButton+ {- ^+ An object used to get an integer or floating point number from the user+ -}+ | RoleStatusbar+ {- ^+ An object which reports messages of minor importance to the user+ -}+ | RoleTable+ {- ^+ An object used to represent information in terms of rows and columns+ -}+ | RoleTableCell+ {- ^+ A cell in a table+ -}+ | RoleTableColumnHeader+ {- ^+ The header for a column of a table+ -}+ | RoleTableRowHeader+ {- ^+ The header for a row of a table+ -}+ | RoleTearOffMenuItem+ {- ^+ A menu item used to tear off and reattach its menu+ -}+ | RoleTerminal+ {- ^+ An object that represents an accessible terminal. /@since@/: ATK-0.6+ -}+ | RoleText+ {- ^+ An interactive widget that supports multiple lines of text and+ optionally accepts user input, but whose purpose is not to solicit user input.+ Thus ATK_ROLE_TEXT is appropriate for the text view in a plain text editor+ but inappropriate for an input field in a dialog box or web form. For widgets+ whose purpose is to solicit input from the user, see ATK_ROLE_ENTRY and+ ATK_ROLE_PASSWORD_TEXT. For generic objects which display a brief amount of+ textual information, see ATK_ROLE_STATIC.+ -}+ | RoleToggleButton+ {- ^+ A specialized push button that can be checked or unchecked, but does not provide a separate indicator for the current state+ -}+ | RoleToolBar+ {- ^+ A bar or palette usually composed of push buttons or toggle buttons+ -}+ | RoleToolTip+ {- ^+ An object that provides information about another object+ -}+ | RoleTree+ {- ^+ An object used to represent hierarchical information to the user+ -}+ | RoleTreeTable+ {- ^+ An object capable of expanding and collapsing rows as well as showing multiple columns of data. /@since@/: ATK-0.7+ -}+ | RoleUnknown+ {- ^+ The object contains some Accessible information, but its role is not known+ -}+ | RoleViewport+ {- ^+ An object usually used in a scroll pane+ -}+ | RoleWindow+ {- ^+ A top level window with no title or border.+ -}+ | RoleHeader+ {- ^+ An object that serves as a document header. /@since@/: ATK-1.1.1+ -}+ | RoleFooter+ {- ^+ An object that serves as a document footer. /@since@/: ATK-1.1.1+ -}+ | RoleParagraph+ {- ^+ An object which is contains a paragraph of text content. /@since@/: ATK-1.1.1+ -}+ | RoleRuler+ {- ^+ An object which describes margins and tab stops, etc. for text objects which it controls (should have CONTROLLER_FOR relation to such). /@since@/: ATK-1.1.1+ -}+ | RoleApplication+ {- ^+ The object is an application object, which may contain /@aTKROLEFRAME@/ objects or other types of accessibles. The root accessible of any application\'s ATK hierarchy should have ATK_ROLE_APPLICATION. /@since@/: ATK-1.1.4+ -}+ | RoleAutocomplete+ {- ^+ The object is a dialog or list containing items for insertion into an entry widget, for instance a list of words for completion of a text entry. /@since@/: ATK-1.3+ -}+ | RoleEditBar+ {- ^+ The object is an editable text object in a toolbar. /@since@/: ATK-1.5+ -}+ | RoleEmbedded+ {- ^+ The object is an embedded container within a document or panel. This role is a grouping \"hint\" indicating that the contained objects share a context. /@since@/: ATK-1.7.2+ -}+ | RoleEntry+ {- ^+ The object is a component whose textual content may be entered or modified by the user, provided /@aTKSTATEEDITABLE@/ is present. /@since@/: ATK-1.11+ -}+ | RoleChart+ {- ^+ The object is a graphical depiction of quantitative data. It may contain multiple subelements whose attributes and\/or description may be queried to obtain both the quantitative data and information about how the data is being presented. The LABELLED_BY relation is particularly important in interpreting objects of this type, as is the accessible-description property. /@since@/: ATK-1.11+ -}+ | RoleCaption+ {- ^+ The object contains descriptive information, usually textual, about another user interface element such as a table, chart, or image. /@since@/: ATK-1.11+ -}+ | RoleDocumentFrame+ {- ^+ The object is a visual frame or container which contains a view of document content. Document frames may occur within another Document instance, in which case the second document may be said to be embedded in the containing instance. HTML frames are often ROLE_DOCUMENT_FRAME. Either this object, or a singleton descendant, should implement the Document interface. /@since@/: ATK-1.11+ -}+ | RoleHeading+ {- ^+ The object serves as a heading for content which follows it in a document. The \'heading level\' of the heading, if availabe, may be obtained by querying the object\'s attributes.+ -}+ | RolePage+ {- ^+ The object is a containing instance which encapsulates a page of information. /@aTKROLEPAGE@/ is used in documents and content which support a paginated navigation model. /@since@/: ATK-1.11+ -}+ | RoleSection+ {- ^+ The object is a containing instance of document content which constitutes a particular \'logical\' section of the document. The type of content within a section, and the nature of the section division itself, may be obtained by querying the object\'s attributes. Sections may be nested. /@since@/: ATK-1.11+ -}+ | RoleRedundantObject+ {- ^+ The object is redundant with another object in the hierarchy, and is exposed for purely technical reasons. Objects of this role should normally be ignored by clients. /@since@/: ATK-1.11+ -}+ | RoleForm+ {- ^+ The object is a container for form controls, for instance as part of a+ web form or user-input form within a document. This role is primarily a tag\/convenience for+ clients when navigating complex documents, it is not expected that ordinary GUI containers will+ always have ATK_ROLE_FORM. /@since@/: ATK-1.12.0+ -}+ | RoleLink+ {- ^+ The object is a hypertext anchor, i.e. a \"link\" in a+ hypertext document. Such objects are distinct from \'inline\'+ content which may also use the Hypertext\/Hyperlink interfaces+ to indicate the range\/location within a text object where+ an inline or embedded object lies. /@since@/: ATK-1.12.1+ -}+ | RoleInputMethodWindow+ {- ^+ The object is a window or similar viewport+ which is used to allow composition or input of a \'complex character\',+ in other words it is an \"input method window.\" /@since@/: ATK-1.12.1+ -}+ | RoleTableRow+ {- ^+ A row in a table. /@since@/: ATK-2.1.0+ -}+ | RoleTreeItem+ {- ^+ An object that represents an element of a tree. /@since@/: ATK-2.1.0+ -}+ | RoleDocumentSpreadsheet+ {- ^+ A document frame which contains a spreadsheet. /@since@/: ATK-2.1.0+ -}+ | RoleDocumentPresentation+ {- ^+ A document frame which contains a presentation or slide content. /@since@/: ATK-2.1.0+ -}+ | RoleDocumentText+ {- ^+ A document frame which contains textual content, such as found in a word processing application. /@since@/: ATK-2.1.0+ -}+ | RoleDocumentWeb+ {- ^+ A document frame which contains HTML or other markup suitable for display in a web browser. /@since@/: ATK-2.1.0+ -}+ | RoleDocumentEmail+ {- ^+ A document frame which contains email content to be displayed or composed either in plain text or HTML. /@since@/: ATK-2.1.0+ -}+ | RoleComment+ {- ^+ An object found within a document and designed to present a comment, note, or other annotation. In some cases, this object might not be visible until activated. /@since@/: ATK-2.1.0+ -}+ | RoleListBox+ {- ^+ A non-collapsible list of choices the user can select from. /@since@/: ATK-2.1.0+ -}+ | RoleGrouping+ {- ^+ A group of related widgets. This group typically has a label. /@since@/: ATK-2.1.0+ -}+ | RoleImageMap+ {- ^+ An image map object. Usually a graphic with multiple hotspots, where each hotspot can be activated resulting in the loading of another document or section of a document. /@since@/: ATK-2.1.0+ -}+ | RoleNotification+ {- ^+ A transitory object designed to present a message to the user, typically at the desktop level rather than inside a particular application. /@since@/: ATK-2.1.0+ -}+ | RoleInfoBar+ {- ^+ An object designed to present a message to the user within an existing window. /@since@/: ATK-2.1.0+ -}+ | RoleLevelBar+ {- ^+ A bar that serves as a level indicator to, for instance, show the strength of a password or the state of a battery. /@since@/: ATK-2.7.3+ -}+ | RoleTitleBar+ {- ^+ A bar that serves as the title of a window or a+ dialog. /@since@/: ATK-2.12+ -}+ | RoleBlockQuote+ {- ^+ An object which contains a text section+ that is quoted from another source. /@since@/: ATK-2.12+ -}+ | RoleAudio+ {- ^+ An object which represents an audio element. /@since@/: ATK-2.12+ -}+ | RoleVideo+ {- ^+ An object which represents a video element. /@since@/: ATK-2.12+ -}+ | RoleDefinition+ {- ^+ A definition of a term or concept. /@since@/: ATK-2.12+ -}+ | RoleArticle+ {- ^+ A section of a page that consists of a+ composition that forms an independent part of a document, page, or+ site. Examples: A blog entry, a news story, a forum post. /@since@/:+ ATK-2.12+ -}+ | RoleLandmark+ {- ^+ A region of a web page intended as a+ navigational landmark. This is designed to allow Assistive+ Technologies to provide quick navigation among key regions within a+ document. /@since@/: ATK-2.12+ -}+ | RoleLog+ {- ^+ A text widget or container holding log content, such+ as chat history and error logs. In this role there is a+ relationship between the arrival of new items in the log and the+ reading order. The log contains a meaningful sequence and new+ information is added only to the end of the log, not at arbitrary+ points. /@since@/: ATK-2.12+ -}+ | RoleMarquee+ {- ^+ A container where non-essential information+ changes frequently. Common usages of marquee include stock tickers+ and ad banners. The primary difference between a marquee and a log+ is that logs usually have a meaningful order or sequence of+ important content changes. /@since@/: ATK-2.12+ -}+ | RoleMath+ {- ^+ A text widget or container that holds a mathematical+ expression. /@since@/: ATK-2.12+ -}+ | RoleRating+ {- ^+ A widget whose purpose is to display a rating,+ such as the number of stars associated with a song in a media+ player. Objects of this role should also implement+ AtkValue. /@since@/: ATK-2.12+ -}+ | RoleTimer+ {- ^+ An object containing a numerical counter which+ indicates an amount of elapsed time from a start point, or the time+ remaining until an end point. /@since@/: ATK-2.12+ -}+ | RoleDescriptionList+ {- ^+ An object that represents a list of+ term-value groups. A term-value group represents a individual+ description and consist of one or more names+ (ATK_ROLE_DESCRIPTION_TERM) followed by one or more values+ (ATK_ROLE_DESCRIPTION_VALUE). For each list, there should not be+ more than one group with the same term name. /@since@/: ATK-2.12+ -}+ | RoleDescriptionTerm+ {- ^+ An object that represents a term or phrase+ with a corresponding definition. /@since@/: ATK-2.12+ -}+ | RoleDescriptionValue+ {- ^+ An object that represents the+ description, definition or value of a term. /@since@/: ATK-2.12+ -}+ | RoleStatic+ {- ^+ A generic non-container object whose purpose is to display a+ brief amount of information to the user and whose role is known by the+ implementor but lacks semantic value for the user. Examples in which+ ATK_ROLE_STATIC is appropriate include the message displayed in a message box+ and an image used as an alternative means to display text. ATK_ROLE_STATIC+ should not be applied to widgets which are traditionally interactive, objects+ which display a significant amount of content, or any object which has an+ accessible relation pointing to another object. Implementors should expose the+ displayed information through the accessible name of the object. If doing so seems+ inappropriate, it may indicate that a different role should be used. For+ labels which describe another widget, see ATK_ROLE_LABEL. For text views, see+ ATK_ROLE_TEXT. For generic containers, see ATK_ROLE_PANEL. For objects whose+ role is not known by the implementor, see ATK_ROLE_UNKNOWN. /@since@/: ATK-2.16.+ -}+ | RoleMathFraction+ {- ^+ An object that represents a mathematical fraction.+ -}+ | RoleMathRoot+ {- ^+ An object that represents a mathematical expression+ displayed with a radical. /@since@/: ATK-2.16.+ -}+ | RoleSubscript+ {- ^+ An object that contains text that is displayed as a+ subscript. /@since@/: ATK-2.16.+ -}+ | RoleSuperscript+ {- ^+ An object that contains text that is displayed as a+ superscript. /@since@/: ATK-2.16.+ -}+ | RoleFootnote+ {- ^+ An object that contains the text of a footnote. /@since@/: ATK-2.26.+ -}+ | RoleLastDefined+ {- ^+ not a valid role, used for finding end of the enumeration+ -}+ | AnotherRole Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum Role where+ fromEnum RoleInvalid = 0+ fromEnum RoleAcceleratorLabel = 1+ fromEnum RoleAlert = 2+ fromEnum RoleAnimation = 3+ fromEnum RoleArrow = 4+ fromEnum RoleCalendar = 5+ fromEnum RoleCanvas = 6+ fromEnum RoleCheckBox = 7+ fromEnum RoleCheckMenuItem = 8+ fromEnum RoleColorChooser = 9+ fromEnum RoleColumnHeader = 10+ fromEnum RoleComboBox = 11+ fromEnum RoleDateEditor = 12+ fromEnum RoleDesktopIcon = 13+ fromEnum RoleDesktopFrame = 14+ fromEnum RoleDial = 15+ fromEnum RoleDialog = 16+ fromEnum RoleDirectoryPane = 17+ fromEnum RoleDrawingArea = 18+ fromEnum RoleFileChooser = 19+ fromEnum RoleFiller = 20+ fromEnum RoleFontChooser = 21+ fromEnum RoleFrame = 22+ fromEnum RoleGlassPane = 23+ fromEnum RoleHtmlContainer = 24+ fromEnum RoleIcon = 25+ fromEnum RoleImage = 26+ fromEnum RoleInternalFrame = 27+ fromEnum RoleLabel = 28+ fromEnum RoleLayeredPane = 29+ fromEnum RoleList = 30+ fromEnum RoleListItem = 31+ fromEnum RoleMenu = 32+ fromEnum RoleMenuBar = 33+ fromEnum RoleMenuItem = 34+ fromEnum RoleOptionPane = 35+ fromEnum RolePageTab = 36+ fromEnum RolePageTabList = 37+ fromEnum RolePanel = 38+ fromEnum RolePasswordText = 39+ fromEnum RolePopupMenu = 40+ fromEnum RoleProgressBar = 41+ fromEnum RolePushButton = 42+ fromEnum RoleRadioButton = 43+ fromEnum RoleRadioMenuItem = 44+ fromEnum RoleRootPane = 45+ fromEnum RoleRowHeader = 46+ fromEnum RoleScrollBar = 47+ fromEnum RoleScrollPane = 48+ fromEnum RoleSeparator = 49+ fromEnum RoleSlider = 50+ fromEnum RoleSplitPane = 51+ fromEnum RoleSpinButton = 52+ fromEnum RoleStatusbar = 53+ fromEnum RoleTable = 54+ fromEnum RoleTableCell = 55+ fromEnum RoleTableColumnHeader = 56+ fromEnum RoleTableRowHeader = 57+ fromEnum RoleTearOffMenuItem = 58+ fromEnum RoleTerminal = 59+ fromEnum RoleText = 60+ fromEnum RoleToggleButton = 61+ fromEnum RoleToolBar = 62+ fromEnum RoleToolTip = 63+ fromEnum RoleTree = 64+ fromEnum RoleTreeTable = 65+ fromEnum RoleUnknown = 66+ fromEnum RoleViewport = 67+ fromEnum RoleWindow = 68+ fromEnum RoleHeader = 69+ fromEnum RoleFooter = 70+ fromEnum RoleParagraph = 71+ fromEnum RoleRuler = 72+ fromEnum RoleApplication = 73+ fromEnum RoleAutocomplete = 74+ fromEnum RoleEditBar = 75+ fromEnum RoleEmbedded = 76+ fromEnum RoleEntry = 77+ fromEnum RoleChart = 78+ fromEnum RoleCaption = 79+ fromEnum RoleDocumentFrame = 80+ fromEnum RoleHeading = 81+ fromEnum RolePage = 82+ fromEnum RoleSection = 83+ fromEnum RoleRedundantObject = 84+ fromEnum RoleForm = 85+ fromEnum RoleLink = 86+ fromEnum RoleInputMethodWindow = 87+ fromEnum RoleTableRow = 88+ fromEnum RoleTreeItem = 89+ fromEnum RoleDocumentSpreadsheet = 90+ fromEnum RoleDocumentPresentation = 91+ fromEnum RoleDocumentText = 92+ fromEnum RoleDocumentWeb = 93+ fromEnum RoleDocumentEmail = 94+ fromEnum RoleComment = 95+ fromEnum RoleListBox = 96+ fromEnum RoleGrouping = 97+ fromEnum RoleImageMap = 98+ fromEnum RoleNotification = 99+ fromEnum RoleInfoBar = 100+ fromEnum RoleLevelBar = 101+ fromEnum RoleTitleBar = 102+ fromEnum RoleBlockQuote = 103+ fromEnum RoleAudio = 104+ fromEnum RoleVideo = 105+ fromEnum RoleDefinition = 106+ fromEnum RoleArticle = 107+ fromEnum RoleLandmark = 108+ fromEnum RoleLog = 109+ fromEnum RoleMarquee = 110+ fromEnum RoleMath = 111+ fromEnum RoleRating = 112+ fromEnum RoleTimer = 113+ fromEnum RoleDescriptionList = 114+ fromEnum RoleDescriptionTerm = 115+ fromEnum RoleDescriptionValue = 116+ fromEnum RoleStatic = 117+ fromEnum RoleMathFraction = 118+ fromEnum RoleMathRoot = 119+ fromEnum RoleSubscript = 120+ fromEnum RoleSuperscript = 121+ fromEnum RoleFootnote = 122+ fromEnum RoleLastDefined = 123+ fromEnum (AnotherRole k) = k++ toEnum 0 = RoleInvalid+ toEnum 1 = RoleAcceleratorLabel+ toEnum 2 = RoleAlert+ toEnum 3 = RoleAnimation+ toEnum 4 = RoleArrow+ toEnum 5 = RoleCalendar+ toEnum 6 = RoleCanvas+ toEnum 7 = RoleCheckBox+ toEnum 8 = RoleCheckMenuItem+ toEnum 9 = RoleColorChooser+ toEnum 10 = RoleColumnHeader+ toEnum 11 = RoleComboBox+ toEnum 12 = RoleDateEditor+ toEnum 13 = RoleDesktopIcon+ toEnum 14 = RoleDesktopFrame+ toEnum 15 = RoleDial+ toEnum 16 = RoleDialog+ toEnum 17 = RoleDirectoryPane+ toEnum 18 = RoleDrawingArea+ toEnum 19 = RoleFileChooser+ toEnum 20 = RoleFiller+ toEnum 21 = RoleFontChooser+ toEnum 22 = RoleFrame+ toEnum 23 = RoleGlassPane+ toEnum 24 = RoleHtmlContainer+ toEnum 25 = RoleIcon+ toEnum 26 = RoleImage+ toEnum 27 = RoleInternalFrame+ toEnum 28 = RoleLabel+ toEnum 29 = RoleLayeredPane+ toEnum 30 = RoleList+ toEnum 31 = RoleListItem+ toEnum 32 = RoleMenu+ toEnum 33 = RoleMenuBar+ toEnum 34 = RoleMenuItem+ toEnum 35 = RoleOptionPane+ toEnum 36 = RolePageTab+ toEnum 37 = RolePageTabList+ toEnum 38 = RolePanel+ toEnum 39 = RolePasswordText+ toEnum 40 = RolePopupMenu+ toEnum 41 = RoleProgressBar+ toEnum 42 = RolePushButton+ toEnum 43 = RoleRadioButton+ toEnum 44 = RoleRadioMenuItem+ toEnum 45 = RoleRootPane+ toEnum 46 = RoleRowHeader+ toEnum 47 = RoleScrollBar+ toEnum 48 = RoleScrollPane+ toEnum 49 = RoleSeparator+ toEnum 50 = RoleSlider+ toEnum 51 = RoleSplitPane+ toEnum 52 = RoleSpinButton+ toEnum 53 = RoleStatusbar+ toEnum 54 = RoleTable+ toEnum 55 = RoleTableCell+ toEnum 56 = RoleTableColumnHeader+ toEnum 57 = RoleTableRowHeader+ toEnum 58 = RoleTearOffMenuItem+ toEnum 59 = RoleTerminal+ toEnum 60 = RoleText+ toEnum 61 = RoleToggleButton+ toEnum 62 = RoleToolBar+ toEnum 63 = RoleToolTip+ toEnum 64 = RoleTree+ toEnum 65 = RoleTreeTable+ toEnum 66 = RoleUnknown+ toEnum 67 = RoleViewport+ toEnum 68 = RoleWindow+ toEnum 69 = RoleHeader+ toEnum 70 = RoleFooter+ toEnum 71 = RoleParagraph+ toEnum 72 = RoleRuler+ toEnum 73 = RoleApplication+ toEnum 74 = RoleAutocomplete+ toEnum 75 = RoleEditBar+ toEnum 76 = RoleEmbedded+ toEnum 77 = RoleEntry+ toEnum 78 = RoleChart+ toEnum 79 = RoleCaption+ toEnum 80 = RoleDocumentFrame+ toEnum 81 = RoleHeading+ toEnum 82 = RolePage+ toEnum 83 = RoleSection+ toEnum 84 = RoleRedundantObject+ toEnum 85 = RoleForm+ toEnum 86 = RoleLink+ toEnum 87 = RoleInputMethodWindow+ toEnum 88 = RoleTableRow+ toEnum 89 = RoleTreeItem+ toEnum 90 = RoleDocumentSpreadsheet+ toEnum 91 = RoleDocumentPresentation+ toEnum 92 = RoleDocumentText+ toEnum 93 = RoleDocumentWeb+ toEnum 94 = RoleDocumentEmail+ toEnum 95 = RoleComment+ toEnum 96 = RoleListBox+ toEnum 97 = RoleGrouping+ toEnum 98 = RoleImageMap+ toEnum 99 = RoleNotification+ toEnum 100 = RoleInfoBar+ toEnum 101 = RoleLevelBar+ toEnum 102 = RoleTitleBar+ toEnum 103 = RoleBlockQuote+ toEnum 104 = RoleAudio+ toEnum 105 = RoleVideo+ toEnum 106 = RoleDefinition+ toEnum 107 = RoleArticle+ toEnum 108 = RoleLandmark+ toEnum 109 = RoleLog+ toEnum 110 = RoleMarquee+ toEnum 111 = RoleMath+ toEnum 112 = RoleRating+ toEnum 113 = RoleTimer+ toEnum 114 = RoleDescriptionList+ toEnum 115 = RoleDescriptionTerm+ toEnum 116 = RoleDescriptionValue+ toEnum 117 = RoleStatic+ toEnum 118 = RoleMathFraction+ toEnum 119 = RoleMathRoot+ toEnum 120 = RoleSubscript+ toEnum 121 = RoleSuperscript+ toEnum 122 = RoleFootnote+ toEnum 123 = RoleLastDefined+ toEnum k = AnotherRole k++instance P.Ord Role where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_role_get_type" c_atk_role_get_type :: + IO GType++instance BoxedEnum Role where+ boxedEnumType _ = c_atk_role_get_type++-- Enum RelationType+{- |+Describes the type of the relation+-}+data RelationType = + RelationTypeNull+ {- ^+ Not used, represens \"no relationship\" or an error condition.+ -}+ | RelationTypeControlledBy+ {- ^+ Indicates an object controlled by one or more target objects.+ -}+ | RelationTypeControllerFor+ {- ^+ Indicates an object is an controller for one or more target objects.+ -}+ | RelationTypeLabelFor+ {- ^+ Indicates an object is a label for one or more target objects.+ -}+ | RelationTypeLabelledBy+ {- ^+ Indicates an object is labelled by one or more target objects.+ -}+ | RelationTypeMemberOf+ {- ^+ Indicates an object is a member of a group of one or more target objects.+ -}+ | RelationTypeNodeChildOf+ {- ^+ Indicates an object is a cell in a treetable which is displayed because a cell in the same column is expanded and identifies that cell.+ -}+ | RelationTypeFlowsTo+ {- ^+ Indicates that the object has content that flows logically to another+ AtkObject in a sequential way, (for instance text-flow).+ -}+ | RelationTypeFlowsFrom+ {- ^+ Indicates that the object has content that flows logically from+ another AtkObject in a sequential way, (for instance text-flow).+ -}+ | RelationTypeSubwindowOf+ {- ^+ Indicates a subwindow attached to a component but otherwise has no connection in the UI heirarchy to that component.+ -}+ | RelationTypeEmbeds+ {- ^+ Indicates that the object visually embeds+ another object\'s content, i.e. this object\'s content flows around+ another\'s content.+ -}+ | RelationTypeEmbeddedBy+ {- ^+ Reciprocal of 'GI.Atk.Enums.RelationTypeEmbeds', indicates that+ this object\'s content is visualy embedded in another object.+ -}+ | RelationTypePopupFor+ {- ^+ Indicates that an object is a popup for another object.+ -}+ | RelationTypeParentWindowOf+ {- ^+ Indicates that an object is a parent window of another object.+ -}+ | RelationTypeDescribedBy+ {- ^+ Reciprocal of 'GI.Atk.Enums.RelationTypeDescriptionFor'. Indicates that one+ or more target objects provide descriptive information about this object. This relation+ type is most appropriate for information that is not essential as its presentation may+ be user-configurable and\/or limited to an on-demand mechanism such as an assistive+ technology command. For brief, essential information such as can be found in a widget\'s+ on-screen label, use 'GI.Atk.Enums.RelationTypeLabelledBy'. For an on-screen error message, use+ 'GI.Atk.Enums.RelationTypeErrorMessage'. For lengthy extended descriptive information contained in+ an on-screen object, consider using 'GI.Atk.Enums.RelationTypeDetails' as assistive technologies may+ provide a means for the user to navigate to objects containing detailed descriptions so+ that their content can be more closely reviewed.+ -}+ | RelationTypeDescriptionFor+ {- ^+ Reciprocal of 'GI.Atk.Enums.RelationTypeDescribedBy'. Indicates that this+ object provides descriptive information about the target object(s). See also+ 'GI.Atk.Enums.RelationTypeDetailsFor' and 'GI.Atk.Enums.RelationTypeErrorFor'.+ -}+ | RelationTypeNodeParentOf+ {- ^+ Indicates an object is a cell in a treetable and is expanded to display other cells in the same column.+ -}+ | RelationTypeDetails+ {- ^+ Reciprocal of 'GI.Atk.Enums.RelationTypeDetailsFor'. Indicates that this object+ has a detailed or extended description, the contents of which can be found in the target+ object(s). This relation type is most appropriate for information that is sufficiently+ lengthy as to make navigation to the container of that information desirable. For less+ verbose information suitable for announcement only, see 'GI.Atk.Enums.RelationTypeDescribedBy'. If+ the detailed information describes an error condition, 'GI.Atk.Enums.RelationTypeErrorFor' should be+ used instead. /@since@/: ATK-2.26.+ -}+ | RelationTypeDetailsFor+ {- ^+ Reciprocal of 'GI.Atk.Enums.RelationTypeDetails'. Indicates that this object+ provides a detailed or extended description about the target object(s). See also+ 'GI.Atk.Enums.RelationTypeDescriptionFor' and 'GI.Atk.Enums.RelationTypeErrorFor'. /@since@/: ATK-2.26.+ -}+ | RelationTypeErrorMessage+ {- ^+ Reciprocal of 'GI.Atk.Enums.RelationTypeErrorFor'. Indicates that this object+ has one or more errors, the nature of which is described in the contents of the target+ object(s). Objects that have this relation type should also contain 'GI.Atk.Enums.StateTypeInvalidEntry'+ in their 'GI.Atk.Objects.StateSet.StateSet'. /@since@/: ATK-2.26.+ -}+ | RelationTypeErrorFor+ {- ^+ Reciprocal of 'GI.Atk.Enums.RelationTypeErrorMessage'. Indicates that this object+ contains an error message describing an invalid condition in the target object(s). /@since@/:+ ATK_2.26.+ -}+ | RelationTypeLastDefined+ {- ^+ Not used, this value indicates the end of the enumeration.+ -}+ | AnotherRelationType Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum RelationType where+ fromEnum RelationTypeNull = 0+ fromEnum RelationTypeControlledBy = 1+ fromEnum RelationTypeControllerFor = 2+ fromEnum RelationTypeLabelFor = 3+ fromEnum RelationTypeLabelledBy = 4+ fromEnum RelationTypeMemberOf = 5+ fromEnum RelationTypeNodeChildOf = 6+ fromEnum RelationTypeFlowsTo = 7+ fromEnum RelationTypeFlowsFrom = 8+ fromEnum RelationTypeSubwindowOf = 9+ fromEnum RelationTypeEmbeds = 10+ fromEnum RelationTypeEmbeddedBy = 11+ fromEnum RelationTypePopupFor = 12+ fromEnum RelationTypeParentWindowOf = 13+ fromEnum RelationTypeDescribedBy = 14+ fromEnum RelationTypeDescriptionFor = 15+ fromEnum RelationTypeNodeParentOf = 16+ fromEnum RelationTypeDetails = 17+ fromEnum RelationTypeDetailsFor = 18+ fromEnum RelationTypeErrorMessage = 19+ fromEnum RelationTypeErrorFor = 20+ fromEnum RelationTypeLastDefined = 21+ fromEnum (AnotherRelationType k) = k++ toEnum 0 = RelationTypeNull+ toEnum 1 = RelationTypeControlledBy+ toEnum 2 = RelationTypeControllerFor+ toEnum 3 = RelationTypeLabelFor+ toEnum 4 = RelationTypeLabelledBy+ toEnum 5 = RelationTypeMemberOf+ toEnum 6 = RelationTypeNodeChildOf+ toEnum 7 = RelationTypeFlowsTo+ toEnum 8 = RelationTypeFlowsFrom+ toEnum 9 = RelationTypeSubwindowOf+ toEnum 10 = RelationTypeEmbeds+ toEnum 11 = RelationTypeEmbeddedBy+ toEnum 12 = RelationTypePopupFor+ toEnum 13 = RelationTypeParentWindowOf+ toEnum 14 = RelationTypeDescribedBy+ toEnum 15 = RelationTypeDescriptionFor+ toEnum 16 = RelationTypeNodeParentOf+ toEnum 17 = RelationTypeDetails+ toEnum 18 = RelationTypeDetailsFor+ toEnum 19 = RelationTypeErrorMessage+ toEnum 20 = RelationTypeErrorFor+ toEnum 21 = RelationTypeLastDefined+ toEnum k = AnotherRelationType k++instance P.Ord RelationType where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_relation_type_get_type" c_atk_relation_type_get_type :: + IO GType++instance BoxedEnum RelationType where+ boxedEnumType _ = c_atk_relation_type_get_type++-- Enum Layer+{- |+Describes the layer of a component++These enumerated \"layer values\" are used when determining which UI+rendering layer a component is drawn into, which can help in making+determinations of when components occlude one another.+-}+data Layer = + LayerInvalid+ {- ^+ The object does not have a layer+ -}+ | LayerBackground+ {- ^+ This layer is reserved for the desktop background+ -}+ | LayerCanvas+ {- ^+ This layer is used for Canvas components+ -}+ | LayerWidget+ {- ^+ This layer is normally used for components+ -}+ | LayerMdi+ {- ^+ This layer is used for layered components+ -}+ | LayerPopup+ {- ^+ This layer is used for popup components, such as menus+ -}+ | LayerOverlay+ {- ^+ This layer is reserved for future use.+ -}+ | LayerWindow+ {- ^+ This layer is used for toplevel windows.+ -}+ | AnotherLayer Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum Layer where+ fromEnum LayerInvalid = 0+ fromEnum LayerBackground = 1+ fromEnum LayerCanvas = 2+ fromEnum LayerWidget = 3+ fromEnum LayerMdi = 4+ fromEnum LayerPopup = 5+ fromEnum LayerOverlay = 6+ fromEnum LayerWindow = 7+ fromEnum (AnotherLayer k) = k++ toEnum 0 = LayerInvalid+ toEnum 1 = LayerBackground+ toEnum 2 = LayerCanvas+ toEnum 3 = LayerWidget+ toEnum 4 = LayerMdi+ toEnum 5 = LayerPopup+ toEnum 6 = LayerOverlay+ toEnum 7 = LayerWindow+ toEnum k = AnotherLayer k++instance P.Ord Layer where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_layer_get_type" c_atk_layer_get_type :: + IO GType++instance BoxedEnum Layer where+ boxedEnumType _ = c_atk_layer_get_type++-- Enum KeyEventType+{- |+Specifies the type of a keyboard evemt.+-}+data KeyEventType = + KeyEventTypePress+ {- ^+ specifies a key press event+ -}+ | KeyEventTypeRelease+ {- ^+ specifies a key release event+ -}+ | KeyEventTypeLastDefined+ {- ^+ Not a valid value; specifies end of enumeration+ -}+ | AnotherKeyEventType Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum KeyEventType where+ fromEnum KeyEventTypePress = 0+ fromEnum KeyEventTypeRelease = 1+ fromEnum KeyEventTypeLastDefined = 2+ fromEnum (AnotherKeyEventType k) = k++ toEnum 0 = KeyEventTypePress+ toEnum 1 = KeyEventTypeRelease+ toEnum 2 = KeyEventTypeLastDefined+ toEnum k = AnotherKeyEventType k++instance P.Ord KeyEventType where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_key_event_type_get_type" c_atk_key_event_type_get_type :: + IO GType++instance BoxedEnum KeyEventType where+ boxedEnumType _ = c_atk_key_event_type_get_type++-- Enum CoordType+{- |+Specifies how xy coordinates are to be interpreted. Used by functions such+as 'GI.Atk.Interfaces.Component.componentGetPosition' and 'GI.Atk.Interfaces.Text.textGetCharacterExtents'+-}+data CoordType = + CoordTypeScreen+ {- ^+ specifies xy coordinates relative to the screen+ -}+ | CoordTypeWindow+ {- ^+ specifies xy coordinates relative to the widget\'s+ top-level window+ -}+ | CoordTypeParent+ {- ^+ specifies xy coordinates relative to the widget\'s+ immediate parent. Since: 2.30+ -}+ | AnotherCoordType Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum CoordType where+ fromEnum CoordTypeScreen = 0+ fromEnum CoordTypeWindow = 1+ fromEnum CoordTypeParent = 2+ fromEnum (AnotherCoordType k) = k++ toEnum 0 = CoordTypeScreen+ toEnum 1 = CoordTypeWindow+ toEnum 2 = CoordTypeParent+ toEnum k = AnotherCoordType k++instance P.Ord CoordType where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_coord_type_get_type" c_atk_coord_type_get_type :: + IO GType++instance BoxedEnum CoordType where+ boxedEnumType _ = c_atk_coord_type_get_type++
+ GI/Atk/Enums.hs-boot view
@@ -0,0 +1,60 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Enums 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++data ValueType+instance P.Enum ValueType where+instance BoxedEnum ValueType where+data TextGranularity+instance P.Enum TextGranularity where+instance BoxedEnum TextGranularity where+data TextClipType+instance P.Enum TextClipType where+instance BoxedEnum TextClipType where+data TextBoundary+instance P.Enum TextBoundary where+instance BoxedEnum TextBoundary where+data TextAttribute+instance P.Enum TextAttribute where+instance BoxedEnum TextAttribute where+data StateType+instance P.Enum StateType where+instance BoxedEnum StateType where+data ScrollType+instance P.Enum ScrollType where+instance BoxedEnum ScrollType where+data Role+instance P.Enum Role where+instance BoxedEnum Role where+data RelationType+instance P.Enum RelationType where+instance BoxedEnum RelationType where+data Layer+instance P.Enum Layer where+instance BoxedEnum Layer where+data KeyEventType+instance P.Enum KeyEventType where+instance BoxedEnum KeyEventType where+data CoordType+instance P.Enum CoordType where+instance BoxedEnum CoordType where
+ GI/Atk/Flags.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Flags+ ( ++ -- * Flags+-- ** HyperlinkStateFlags #flag:HyperlinkStateFlags#++ HyperlinkStateFlags(..) ,+++++ ) 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+++-- Flags HyperlinkStateFlags+{- |+Describes the type of link+-}+data HyperlinkStateFlags = + HyperlinkStateFlagsInline+ {- ^+ Link is inline+ -}+ | AnotherHyperlinkStateFlags Int+ -- ^ Catch-all for unknown values+ deriving (Show, Eq)++instance P.Enum HyperlinkStateFlags where+ fromEnum HyperlinkStateFlagsInline = 1+ fromEnum (AnotherHyperlinkStateFlags k) = k++ toEnum 1 = HyperlinkStateFlagsInline+ toEnum k = AnotherHyperlinkStateFlags k++instance P.Ord HyperlinkStateFlags where+ compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "atk_hyperlink_state_flags_get_type" c_atk_hyperlink_state_flags_get_type :: + IO GType++instance BoxedFlags HyperlinkStateFlags where+ boxedFlagsType _ = c_atk_hyperlink_state_flags_get_type++instance IsGFlag HyperlinkStateFlags++
+ GI/Atk/Flags.hs-boot view
@@ -0,0 +1,28 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Flags 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++data HyperlinkStateFlags+instance P.Enum HyperlinkStateFlags where+instance BoxedFlags HyperlinkStateFlags where+instance IsGFlag HyperlinkStateFlags
+ GI/Atk/Functions.hs view
@@ -0,0 +1,529 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Functions+ ( ++ -- * Methods+-- ** focusTrackerNotify #method:focusTrackerNotify#++ focusTrackerNotify ,+++-- ** getBinaryAge #method:getBinaryAge#++ getBinaryAge ,+++-- ** getDefaultRegistry #method:getDefaultRegistry#++ getDefaultRegistry ,+++-- ** getFocusObject #method:getFocusObject#++ getFocusObject ,+++-- ** getInterfaceAge #method:getInterfaceAge#++ getInterfaceAge ,+++-- ** getMajorVersion #method:getMajorVersion#++ getMajorVersion ,+++-- ** getMicroVersion #method:getMicroVersion#++ getMicroVersion ,+++-- ** getMinorVersion #method:getMinorVersion#++ getMinorVersion ,+++-- ** getRoot #method:getRoot#++ getRoot ,+++-- ** getToolkitName #method:getToolkitName#++ getToolkitName ,+++-- ** getToolkitVersion #method:getToolkitVersion#++ getToolkitVersion ,+++-- ** getVersion #method:getVersion#++ getVersion ,+++-- ** removeFocusTracker #method:removeFocusTracker#++ removeFocusTracker ,+++-- ** removeGlobalEventListener #method:removeGlobalEventListener#++ removeGlobalEventListener ,+++-- ** removeKeyEventListener #method:removeKeyEventListener#++ removeKeyEventListener ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import {-# SOURCE #-} qualified GI.Atk.Objects.Registry as Atk.Registry++-- function atk_remove_key_event_listener+-- Args : [Arg {argCName = "listener_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the id of the event listener to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_remove_key_event_listener" atk_remove_key_event_listener :: + Word32 -> -- listener_id : TBasicType TUInt+ IO ()++{- |+/@listenerId@/ is the value returned by @/atk_add_key_event_listener/@+when you registered that event listener.++Removes the specified event listener.+-}+removeKeyEventListener ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ Word32+ {- ^ /@listenerId@/: the id of the event listener to remove -}+ -> m ()+removeKeyEventListener listenerId = liftIO $ do+ atk_remove_key_event_listener listenerId+ return ()+++-- function atk_remove_global_event_listener+-- Args : [Arg {argCName = "listener_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the id of the event listener to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_remove_global_event_listener" atk_remove_global_event_listener :: + Word32 -> -- listener_id : TBasicType TUInt+ IO ()++{- |+/@listenerId@/ is the value returned by @/atk_add_global_event_listener/@+when you registered that event listener.++Toolkit implementor note: ATK provides a default implementation for+this virtual method. ATK implementors are discouraged from+reimplementing this method.++Toolkit implementor note: this method is not intended to be used by+ATK implementors but by ATK consumers.++Removes the specified event listener+-}+removeGlobalEventListener ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ Word32+ {- ^ /@listenerId@/: the id of the event listener to remove -}+ -> m ()+removeGlobalEventListener listenerId = liftIO $ do+ atk_remove_global_event_listener listenerId+ return ()+++-- function atk_remove_focus_tracker+-- Args : [Arg {argCName = "tracker_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the id of the focus tracker to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_remove_focus_tracker" atk_remove_focus_tracker :: + Word32 -> -- tracker_id : TBasicType TUInt+ IO ()++{-# DEPRECATED removeFocusTracker ["(Since version 2.9.4)","Focus tracking has been dropped as a feature","to be implemented by ATK itself. If you need focus tracking on your","implementation, subscribe to the 'GI.Atk.Objects.Object.Object'::@/state-change/@ \\\"focused\\\" signal.","","Removes the specified focus tracker from the list of functions","to be called when any object receives focus."] #-}+{- |+/No description available in the introspection data./+-}+removeFocusTracker ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ Word32+ {- ^ /@trackerId@/: the id of the focus tracker to remove -}+ -> m ()+removeFocusTracker trackerId = liftIO $ do+ atk_remove_focus_tracker trackerId+ return ()+++-- function atk_get_version+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_version" atk_get_version :: + IO CString++{- |+Gets the current version for ATK.++/Since: 1.20/+-}+getVersion ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m T.Text+ {- ^ __Returns:__ version string for ATK -}+getVersion = liftIO $ do+ result <- atk_get_version+ checkUnexpectedReturnNULL "getVersion" result+ result' <- cstringToText result+ return result'+++-- function atk_get_toolkit_version+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_toolkit_version" atk_get_toolkit_version :: + IO CString++{- |+Gets version string for the GUI toolkit implementing ATK for this application.+-}+getToolkitVersion ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m T.Text+ {- ^ __Returns:__ version string for the GUI toolkit implementing ATK for this application -}+getToolkitVersion = liftIO $ do+ result <- atk_get_toolkit_version+ checkUnexpectedReturnNULL "getToolkitVersion" result+ result' <- cstringToText result+ return result'+++-- function atk_get_toolkit_name+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_toolkit_name" atk_get_toolkit_name :: + IO CString++{- |+Gets name string for the GUI toolkit implementing ATK for this application.+-}+getToolkitName ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m T.Text+ {- ^ __Returns:__ name string for the GUI toolkit implementing ATK for this application -}+getToolkitName = liftIO $ do+ result <- atk_get_toolkit_name+ checkUnexpectedReturnNULL "getToolkitName" result+ result' <- cstringToText result+ return result'+++-- function atk_get_root+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_root" atk_get_root :: + IO (Ptr Atk.Object.Object)++{- |+Gets the root accessible container for the current application.+-}+getRoot ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Atk.Object.Object+ {- ^ __Returns:__ the root accessible container for the current+application -}+getRoot = liftIO $ do+ result <- atk_get_root+ checkUnexpectedReturnNULL "getRoot" result+ result' <- (newObject Atk.Object.Object) result+ return result'+++-- function atk_get_minor_version+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_minor_version" atk_get_minor_version :: + IO Word32++{- |+Returns the minor version number of the ATK library. (e.g. in ATK+version 2.7.4 this is 7.)++This function is in the library, so it represents the ATK library+your code is are running against. In contrast, the+'GI.Atk.Constants.MINOR_VERSION' macro represents the minor version of the ATK+headers you have included when compiling your code.++/Since: 2.8/+-}+getMinorVersion ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Word32+ {- ^ __Returns:__ the minor version number of the ATK library -}+getMinorVersion = liftIO $ do+ result <- atk_get_minor_version+ return result+++-- function atk_get_micro_version+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_micro_version" atk_get_micro_version :: + IO Word32++{- |+Returns the micro version number of the ATK library. (e.g. in ATK+version 2.7.4 this is 4.)++This function is in the library, so it represents the ATK library+your code is are running against. In contrast, the+'GI.Atk.Constants.MICRO_VERSION' macro represents the micro version of the ATK+headers you have included when compiling your code.++/Since: 2.8/+-}+getMicroVersion ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Word32+ {- ^ __Returns:__ the micro version number of the ATK library -}+getMicroVersion = liftIO $ do+ result <- atk_get_micro_version+ return result+++-- function atk_get_major_version+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_major_version" atk_get_major_version :: + IO Word32++{- |+Returns the major version number of the ATK library. (e.g. in ATK+version 2.7.4 this is 2.)++This function is in the library, so it represents the ATK library+your code is running against. In contrast, the 'GI.Atk.Constants.MAJOR_VERSION'+macro represents the major version of the ATK headers you have+included when compiling your code.++/Since: 2.8/+-}+getMajorVersion ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Word32+ {- ^ __Returns:__ the major version number of the ATK library -}+getMajorVersion = liftIO $ do+ result <- atk_get_major_version+ return result+++-- function atk_get_interface_age+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_interface_age" atk_get_interface_age :: + IO Word32++{- |+Returns the interface age as passed to libtool when building the+ATK library the process is running against.++/Since: 2.8/+-}+getInterfaceAge ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Word32+ {- ^ __Returns:__ the interface age of the ATK library -}+getInterfaceAge = liftIO $ do+ result <- atk_get_interface_age+ return result+++-- function atk_get_focus_object+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_focus_object" atk_get_focus_object :: + IO (Ptr Atk.Object.Object)++{- |+Gets the currently focused object.++/Since: 1.6/+-}+getFocusObject ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Atk.Object.Object+ {- ^ __Returns:__ the currently focused object for the current+application -}+getFocusObject = liftIO $ do+ result <- atk_get_focus_object+ checkUnexpectedReturnNULL "getFocusObject" result+ result' <- (newObject Atk.Object.Object) result+ return result'+++-- function atk_get_default_registry+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Registry"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_default_registry" atk_get_default_registry :: + IO (Ptr Atk.Registry.Registry)++{- |+Gets a default implementation of the 'GI.Atk.Objects.ObjectFactory.ObjectFactory'\/type+registry.+Note: For most toolkit maintainers, this will be the correct+registry for registering new 'GI.Atk.Objects.Object.Object' factories. Following+a call to this function, maintainers may call 'GI.Atk.Objects.Registry.registrySetFactoryType'+to associate an 'GI.Atk.Objects.ObjectFactory.ObjectFactory' subclass with the GType of objects+for whom accessibility information will be provided.+-}+getDefaultRegistry ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Atk.Registry.Registry+ {- ^ __Returns:__ a default implementation of the+'GI.Atk.Objects.ObjectFactory.ObjectFactory'\/type registry -}+getDefaultRegistry = liftIO $ do+ result <- atk_get_default_registry+ checkUnexpectedReturnNULL "getDefaultRegistry" result+ result' <- (wrapObject Atk.Registry.Registry) result+ return result'+++-- function atk_get_binary_age+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "atk_get_binary_age" atk_get_binary_age :: + IO Word32++{- |+Returns the binary age as passed to libtool when building the ATK+library the process is running against.++/Since: 2.8/+-}+getBinaryAge ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Word32+ {- ^ __Returns:__ the binary age of the ATK library -}+getBinaryAge = liftIO $ do+ result <- atk_get_binary_age+ return result+++-- function atk_focus_tracker_notify+-- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_focus_tracker_notify" atk_focus_tracker_notify :: + Ptr Atk.Object.Object -> -- object : TInterface (Name {namespace = "Atk", name = "Object"})+ IO ()++{-# DEPRECATED focusTrackerNotify ["(Since version 2.9.4)","Focus tracking has been dropped as a feature","to be implemented by ATK itself. As 'GI.Atk.Objects.Object.Object'::@/focus-event/@ was","deprecated in favor of a 'GI.Atk.Objects.Object.Object'::@/state-change/@ signal, in order","to notify a focus change on your implementation, you can use","'GI.Atk.Objects.Object.objectNotifyStateChange' instead."] #-}+{- |+Cause the focus tracker functions which have been specified to be+executed for the object.+-}+focusTrackerNotify ::+ (B.CallStack.HasCallStack, MonadIO m, Atk.Object.IsObject a) =>+ a+ {- ^ /@object@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m ()+focusTrackerNotify object = liftIO $ do+ object' <- unsafeManagedPtrCastPtr object+ atk_focus_tracker_notify object'+ touchManagedPtr object+ return ()+++
+ GI/Atk/Interfaces.hs view
@@ -0,0 +1,69 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces+ ( module GI.Atk.Interfaces.Action ,+ module GI.Atk.Interfaces.Component ,+ module GI.Atk.Interfaces.Document ,+ module GI.Atk.Interfaces.EditableText ,+ module GI.Atk.Interfaces.HyperlinkImpl ,+ module GI.Atk.Interfaces.Hypertext ,+ module GI.Atk.Interfaces.Image ,+ module GI.Atk.Interfaces.ImplementorIface,+ module GI.Atk.Interfaces.Selection ,+ module GI.Atk.Interfaces.StreamableContent,+ module GI.Atk.Interfaces.Table ,+ module GI.Atk.Interfaces.TableCell ,+ module GI.Atk.Interfaces.Text ,+ module GI.Atk.Interfaces.Value ,+ module GI.Atk.Interfaces.Window ,+++ ) where++import GI.Atk.Interfaces.Action+import GI.Atk.Interfaces.Component+import GI.Atk.Interfaces.Document+import GI.Atk.Interfaces.EditableText+import GI.Atk.Interfaces.HyperlinkImpl+import GI.Atk.Interfaces.Hypertext+import GI.Atk.Interfaces.Image+import GI.Atk.Interfaces.ImplementorIface+import GI.Atk.Interfaces.Selection+import GI.Atk.Interfaces.StreamableContent+import GI.Atk.Interfaces.Table+import GI.Atk.Interfaces.TableCell+import GI.Atk.Interfaces.Text+import GI.Atk.Interfaces.Value+import GI.Atk.Interfaces.Window++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+++
+ GI/Atk/Interfaces/Action.hs view
@@ -0,0 +1,481 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Atk.Interfaces.Action.Action' should be implemented by instances of 'GI.Atk.Objects.Object.Object' classes+with which the user can interact directly, i.e. buttons,+checkboxes, scrollbars, e.g. components which are not \"passive\"+providers of UI information.++Exceptions: when the user interaction is already covered by another+appropriate interface such as 'GI.Atk.Interfaces.EditableText.EditableText' (insert\/delete text,+etc.) or 'GI.Atk.Interfaces.Value.Value' (set value) then these actions should not be+exposed by 'GI.Atk.Interfaces.Action.Action' as well.++Though most UI interactions on components should be invocable via+keyboard as well as mouse, there will generally be a close mapping+between \"mouse actions\" that are possible on a component and the+AtkActions. Where mouse and keyboard actions are redundant in+effect, 'GI.Atk.Interfaces.Action.Action' should expose only one action rather than+exposing redundant actions if possible. By convention we have been+using \"mouse centric\" terminology for 'GI.Atk.Interfaces.Action.Action' names.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.Action+ ( ++-- * Exported types+ Action(..) ,+ noAction ,+ IsAction ,+++ -- * Methods+-- ** doAction #method:doAction#++#if ENABLE_OVERLOADING+ ActionDoActionMethodInfo ,+#endif+ actionDoAction ,+++-- ** getDescription #method:getDescription#++#if ENABLE_OVERLOADING+ ActionGetDescriptionMethodInfo ,+#endif+ actionGetDescription ,+++-- ** getKeybinding #method:getKeybinding#++#if ENABLE_OVERLOADING+ ActionGetKeybindingMethodInfo ,+#endif+ actionGetKeybinding ,+++-- ** getLocalizedName #method:getLocalizedName#++#if ENABLE_OVERLOADING+ ActionGetLocalizedNameMethodInfo ,+#endif+ actionGetLocalizedName ,+++-- ** getNActions #method:getNActions#++#if ENABLE_OVERLOADING+ ActionGetNActionsMethodInfo ,+#endif+ actionGetNActions ,+++-- ** getName #method:getName#++#if ENABLE_OVERLOADING+ ActionGetNameMethodInfo ,+#endif+ actionGetName ,+++-- ** setDescription #method:setDescription#++#if ENABLE_OVERLOADING+ ActionSetDescriptionMethodInfo ,+#endif+ actionSetDescription ,+++++ ) 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+++-- interface Action +-- | Memory-managed wrapper type.+newtype Action = Action (ManagedPtr Action)+-- | A convenience alias for `Nothing` :: `Maybe` `Action`.+noAction :: Maybe Action+noAction = Nothing++#if ENABLE_OVERLOADING+type instance O.SignalList Action = ActionSignalList+type ActionSignalList = ('[ ] :: [(Symbol, *)])++#endif++-- | Type class for types which implement `Action`.+class ManagedPtrNewtype a => IsAction a+instance IsAction Action+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr Action where+ wrappedPtrCalloc = return nullPtr+ wrappedPtrCopy = return+ wrappedPtrFree = Nothing+++#if ENABLE_OVERLOADING+type family ResolveActionMethod (t :: Symbol) (o :: *) :: * where+ ResolveActionMethod "doAction" o = ActionDoActionMethodInfo+ ResolveActionMethod "getDescription" o = ActionGetDescriptionMethodInfo+ ResolveActionMethod "getKeybinding" o = ActionGetKeybindingMethodInfo+ ResolveActionMethod "getLocalizedName" o = ActionGetLocalizedNameMethodInfo+ ResolveActionMethod "getNActions" o = ActionGetNActionsMethodInfo+ ResolveActionMethod "getName" o = ActionGetNameMethodInfo+ ResolveActionMethod "setDescription" o = ActionSetDescriptionMethodInfo+ ResolveActionMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveActionMethod t Action, O.MethodInfo info Action p) => OL.IsLabel t (Action -> 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 Action::do_action+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Atk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkActionIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action index corresponding to the action to be performed", 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 "atk_action_do_action" atk_action_do_action :: + Ptr Action -> -- action : TInterface (Name {namespace = "Atk", name = "Action"})+ Int32 -> -- i : TBasicType TInt+ IO CInt++{- |+Perform the specified action on the object.+-}+actionDoAction ::+ (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>+ a+ {- ^ /@action@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkActionIface -}+ -> Int32+ {- ^ /@i@/: the action index corresponding to the action to be performed -}+ -> m Bool+ {- ^ __Returns:__ 'True' if success, 'False' otherwise -}+actionDoAction action i = liftIO $ do+ action' <- unsafeManagedPtrCastPtr action+ result <- atk_action_do_action action' i+ let result' = (/= 0) result+ touchManagedPtr action+ return result'++#if ENABLE_OVERLOADING+data ActionDoActionMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionDoActionMethodInfo a signature where+ overloadedMethod _ = actionDoAction++#endif++-- method Action::get_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Atk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkActionIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action index corresponding to the action to be performed", 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 "atk_action_get_description" atk_action_get_description :: + Ptr Action -> -- action : TInterface (Name {namespace = "Atk", name = "Action"})+ Int32 -> -- i : TBasicType TInt+ IO CString++{- |+Returns a description of the specified action of the object.+-}+actionGetDescription ::+ (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>+ a+ {- ^ /@action@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkActionIface -}+ -> Int32+ {- ^ /@i@/: the action index corresponding to the action to be performed -}+ -> m (Maybe T.Text)+ {- ^ __Returns:__ a description string, or 'Nothing' if /@action@/ does+not implement this interface. -}+actionGetDescription action i = liftIO $ do+ action' <- unsafeManagedPtrCastPtr action+ result <- atk_action_get_description action' i+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- cstringToText result'+ return result''+ touchManagedPtr action+ return maybeResult++#if ENABLE_OVERLOADING+data ActionGetDescriptionMethodInfo+instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m, IsAction a) => O.MethodInfo ActionGetDescriptionMethodInfo a signature where+ overloadedMethod _ = actionGetDescription++#endif++-- method Action::get_keybinding+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Atk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkActionIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action index corresponding to the action to be performed", 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 "atk_action_get_keybinding" atk_action_get_keybinding :: + Ptr Action -> -- action : TInterface (Name {namespace = "Atk", name = "Action"})+ Int32 -> -- i : TBasicType TInt+ IO CString++{- |+Gets the keybinding which can be used to activate this action, if one+exists. The string returned should contain localized, human-readable,+key sequences as they would appear when displayed on screen. It must+be in the format \"mnemonic;sequence;shortcut\".++* The mnemonic key activates the object if it is presently enabled onscreen.+This typically corresponds to the underlined letter within the widget.+Example: \"n\" in a traditional \"New...\" menu item or the \"a\" in \"Apply\" for+a button.+* The sequence is the full list of keys which invoke the action even if the+relevant element is not currently shown on screen. For instance, for a menu+item the sequence is the keybindings used to open the parent menus before+invoking. The sequence string is colon-delimited. Example: \"Alt+F:N\" in a+traditional \"New...\" menu item.+* The shortcut, if it exists, will invoke the same action without showing+the component or its enclosing menus or dialogs. Example: \"Ctrl+N\" in a+traditional \"New...\" menu item.+++Example: For a traditional \"New...\" menu item, the expected return value+would be: \"N;Alt+F:N;Ctrl+N\" for the English locale and \"N;Alt+D:N;Strg+N\"+for the German locale. If, hypothetically, this menu item lacked a mnemonic,+it would be represented by \";;Ctrl+N\" and \";;Strg+N\" respectively.+-}+actionGetKeybinding ::+ (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>+ a+ {- ^ /@action@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkActionIface -}+ -> Int32+ {- ^ /@i@/: the action index corresponding to the action to be performed -}+ -> m (Maybe T.Text)+ {- ^ __Returns:__ the keybinding which can be used to activate+this action, or 'Nothing' if there is no keybinding for this action. -}+actionGetKeybinding action i = liftIO $ do+ action' <- unsafeManagedPtrCastPtr action+ result <- atk_action_get_keybinding action' i+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- cstringToText result'+ return result''+ touchManagedPtr action+ return maybeResult++#if ENABLE_OVERLOADING+data ActionGetKeybindingMethodInfo+instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m, IsAction a) => O.MethodInfo ActionGetKeybindingMethodInfo a signature where+ overloadedMethod _ = actionGetKeybinding++#endif++-- method Action::get_localized_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Atk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkActionIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action index corresponding to the action to be performed", 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 "atk_action_get_localized_name" atk_action_get_localized_name :: + Ptr Action -> -- action : TInterface (Name {namespace = "Atk", name = "Action"})+ Int32 -> -- i : TBasicType TInt+ IO CString++{- |+Returns the localized name of the specified action of the object.+-}+actionGetLocalizedName ::+ (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>+ a+ {- ^ /@action@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkActionIface -}+ -> Int32+ {- ^ /@i@/: the action index corresponding to the action to be performed -}+ -> m (Maybe T.Text)+ {- ^ __Returns:__ a name string, or 'Nothing' if /@action@/ does not+implement this interface. -}+actionGetLocalizedName action i = liftIO $ do+ action' <- unsafeManagedPtrCastPtr action+ result <- atk_action_get_localized_name action' i+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- cstringToText result'+ return result''+ touchManagedPtr action+ return maybeResult++#if ENABLE_OVERLOADING+data ActionGetLocalizedNameMethodInfo+instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m, IsAction a) => O.MethodInfo ActionGetLocalizedNameMethodInfo a signature where+ overloadedMethod _ = actionGetLocalizedName++#endif++-- method Action::get_n_actions+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Atk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkActionIface", 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 "atk_action_get_n_actions" atk_action_get_n_actions :: + Ptr Action -> -- action : TInterface (Name {namespace = "Atk", name = "Action"})+ IO Int32++{- |+Gets the number of accessible actions available on the object.+If there are more than one, the first one is considered the+\"default\" action of the object.+-}+actionGetNActions ::+ (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>+ a+ {- ^ /@action@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkActionIface -}+ -> m Int32+ {- ^ __Returns:__ a the number of actions, or 0 if /@action@/ does not+implement this interface. -}+actionGetNActions action = liftIO $ do+ action' <- unsafeManagedPtrCastPtr action+ result <- atk_action_get_n_actions action'+ touchManagedPtr action+ return result++#if ENABLE_OVERLOADING+data ActionGetNActionsMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsAction a) => O.MethodInfo ActionGetNActionsMethodInfo a signature where+ overloadedMethod _ = actionGetNActions++#endif++-- method Action::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Atk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkActionIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action index corresponding to the action to be performed", 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 "atk_action_get_name" atk_action_get_name :: + Ptr Action -> -- action : TInterface (Name {namespace = "Atk", name = "Action"})+ Int32 -> -- i : TBasicType TInt+ IO CString++{- |+Returns a non-localized string naming the specified action of the+object. This name is generally not descriptive of the end result+of the action, but instead names the \'interaction type\' which the+object supports. By convention, the above strings should be used to+represent the actions which correspond to the common point-and-click+interaction techniques of the same name: i.e.+\"click\", \"press\", \"release\", \"drag\", \"drop\", \"popup\", etc.+The \"popup\" action should be used to pop up a context menu for the+object, if one exists.++For technical reasons, some toolkits cannot guarantee that the+reported action is actually \'bound\' to a nontrivial user event;+i.e. the result of some actions via 'GI.Atk.Interfaces.Action.actionDoAction' may be+NIL.+-}+actionGetName ::+ (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>+ a+ {- ^ /@action@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkActionIface -}+ -> Int32+ {- ^ /@i@/: the action index corresponding to the action to be performed -}+ -> m (Maybe T.Text)+ {- ^ __Returns:__ a name string, or 'Nothing' if /@action@/ does not+implement this interface. -}+actionGetName action i = liftIO $ do+ action' <- unsafeManagedPtrCastPtr action+ result <- atk_action_get_name action' i+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- cstringToText result'+ return result''+ touchManagedPtr action+ return maybeResult++#if ENABLE_OVERLOADING+data ActionGetNameMethodInfo+instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m, IsAction a) => O.MethodInfo ActionGetNameMethodInfo a signature where+ overloadedMethod _ = actionGetName++#endif++-- method Action::set_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Atk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkActionIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action index corresponding to the action to be performed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the description to be assigned to this action", 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 "atk_action_set_description" atk_action_set_description :: + Ptr Action -> -- action : TInterface (Name {namespace = "Atk", name = "Action"})+ Int32 -> -- i : TBasicType TInt+ CString -> -- desc : TBasicType TUTF8+ IO CInt++{- |+Sets a description of the specified action of the object.+-}+actionSetDescription ::+ (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>+ a+ {- ^ /@action@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkActionIface -}+ -> Int32+ {- ^ /@i@/: the action index corresponding to the action to be performed -}+ -> T.Text+ {- ^ /@desc@/: the description to be assigned to this action -}+ -> m Bool+ {- ^ __Returns:__ a gboolean representing if the description was successfully set; -}+actionSetDescription action i desc = liftIO $ do+ action' <- unsafeManagedPtrCastPtr action+ desc' <- textToCString desc+ result <- atk_action_set_description action' i desc'+ let result' = (/= 0) result+ touchManagedPtr action+ freeMem desc'+ return result'++#if ENABLE_OVERLOADING+data ActionSetDescriptionMethodInfo+instance (signature ~ (Int32 -> T.Text -> m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionSetDescriptionMethodInfo a signature where+ overloadedMethod _ = actionSetDescription++#endif++
+ GI/Atk/Interfaces/Action.hs-boot view
@@ -0,0 +1,48 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.Action 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++newtype Action = Action (ManagedPtr Action)+class ManagedPtrNewtype a => IsAction a+instance WrappedPtr Action where+#if ENABLE_OVERLOADING+data ActionDoActionMethodInfo+#endif+#if ENABLE_OVERLOADING+data ActionGetDescriptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data ActionGetKeybindingMethodInfo+#endif+#if ENABLE_OVERLOADING+data ActionGetLocalizedNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data ActionGetNActionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ActionGetNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data ActionSetDescriptionMethodInfo+#endif
+ GI/Atk/Interfaces/Component.hs view
@@ -0,0 +1,1035 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Atk.Interfaces.Component.Component' should be implemented by most if not all UI elements+with an actual on-screen presence, i.e. components which can be+said to have a screen-coordinate bounding box. Virtually all+widgets will need to have 'GI.Atk.Interfaces.Component.Component' implementations provided+for their corresponding 'GI.Atk.Objects.Object.Object' class. In short, only UI+elements which are *not* GUI elements will omit this ATK interface.++A possible exception might be textual information with a+transparent background, in which case text glyph bounding box+information is provided by 'GI.Atk.Interfaces.Text.Text'.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.Component+ ( ++-- * Exported types+ Component(..) ,+ noComponent ,+ IsComponent ,+ toComponent ,+++ -- * Methods+-- ** contains #method:contains#++#if ENABLE_OVERLOADING+ ComponentContainsMethodInfo ,+#endif+ componentContains ,+++-- ** getAlpha #method:getAlpha#++#if ENABLE_OVERLOADING+ ComponentGetAlphaMethodInfo ,+#endif+ componentGetAlpha ,+++-- ** getExtents #method:getExtents#++#if ENABLE_OVERLOADING+ ComponentGetExtentsMethodInfo ,+#endif+ componentGetExtents ,+++-- ** getLayer #method:getLayer#++#if ENABLE_OVERLOADING+ ComponentGetLayerMethodInfo ,+#endif+ componentGetLayer ,+++-- ** getMdiZorder #method:getMdiZorder#++#if ENABLE_OVERLOADING+ ComponentGetMdiZorderMethodInfo ,+#endif+ componentGetMdiZorder ,+++-- ** getPosition #method:getPosition#++#if ENABLE_OVERLOADING+ ComponentGetPositionMethodInfo ,+#endif+ componentGetPosition ,+++-- ** getSize #method:getSize#++#if ENABLE_OVERLOADING+ ComponentGetSizeMethodInfo ,+#endif+ componentGetSize ,+++-- ** grabFocus #method:grabFocus#++#if ENABLE_OVERLOADING+ ComponentGrabFocusMethodInfo ,+#endif+ componentGrabFocus ,+++-- ** refAccessibleAtPoint #method:refAccessibleAtPoint#++#if ENABLE_OVERLOADING+ ComponentRefAccessibleAtPointMethodInfo ,+#endif+ componentRefAccessibleAtPoint ,+++-- ** removeFocusHandler #method:removeFocusHandler#++#if ENABLE_OVERLOADING+ ComponentRemoveFocusHandlerMethodInfo ,+#endif+ componentRemoveFocusHandler ,+++-- ** scrollTo #method:scrollTo#++#if ENABLE_OVERLOADING+ ComponentScrollToMethodInfo ,+#endif+ componentScrollTo ,+++-- ** scrollToPoint #method:scrollToPoint#++#if ENABLE_OVERLOADING+ ComponentScrollToPointMethodInfo ,+#endif+ componentScrollToPoint ,+++-- ** setExtents #method:setExtents#++#if ENABLE_OVERLOADING+ ComponentSetExtentsMethodInfo ,+#endif+ componentSetExtents ,+++-- ** setPosition #method:setPosition#++#if ENABLE_OVERLOADING+ ComponentSetPositionMethodInfo ,+#endif+ componentSetPosition ,+++-- ** setSize #method:setSize#++#if ENABLE_OVERLOADING+ ComponentSetSizeMethodInfo ,+#endif+ componentSetSize ,+++++ -- * Signals+-- ** boundsChanged #signal:boundsChanged#++ C_ComponentBoundsChangedCallback ,+ ComponentBoundsChangedCallback ,+#if ENABLE_OVERLOADING+ ComponentBoundsChangedSignalInfo ,+#endif+ afterComponentBoundsChanged ,+ genClosure_ComponentBoundsChanged ,+ mk_ComponentBoundsChangedCallback ,+ noComponentBoundsChangedCallback ,+ onComponentBoundsChanged ,+ wrap_ComponentBoundsChangedCallback ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Enums as Atk.Enums+import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import {-# SOURCE #-} qualified GI.Atk.Structs.Rectangle as Atk.Rectangle+import qualified GI.GObject.Objects.Object as GObject.Object++-- interface Component +-- | Memory-managed wrapper type.+newtype Component = Component (ManagedPtr Component)+-- | A convenience alias for `Nothing` :: `Maybe` `Component`.+noComponent :: Maybe Component+noComponent = Nothing++-- signal Component::bounds-changed+{- |+The \'bounds-changed\" signal is emitted when the bposition or+size of the component changes.+-}+type ComponentBoundsChangedCallback =+ Atk.Rectangle.Rectangle+ {- ^ /@arg1@/: The AtkRectangle giving the new position and size. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ComponentBoundsChangedCallback`@.+noComponentBoundsChangedCallback :: Maybe ComponentBoundsChangedCallback+noComponentBoundsChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ComponentBoundsChangedCallback =+ Ptr () -> -- object+ Ptr Atk.Rectangle.Rectangle ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_ComponentBoundsChangedCallback`.+foreign import ccall "wrapper"+ mk_ComponentBoundsChangedCallback :: C_ComponentBoundsChangedCallback -> IO (FunPtr C_ComponentBoundsChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ComponentBoundsChanged :: MonadIO m => ComponentBoundsChangedCallback -> m (GClosure C_ComponentBoundsChangedCallback)+genClosure_ComponentBoundsChanged cb = liftIO $ do+ let cb' = wrap_ComponentBoundsChangedCallback cb+ mk_ComponentBoundsChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ComponentBoundsChangedCallback` into a `C_ComponentBoundsChangedCallback`.+wrap_ComponentBoundsChangedCallback ::+ ComponentBoundsChangedCallback ->+ C_ComponentBoundsChangedCallback+wrap_ComponentBoundsChangedCallback _cb _ arg1 _ = do+ B.ManagedPtr.withTransient Atk.Rectangle.Rectangle arg1 $ \arg1' -> do+ _cb arg1'+++{- |+Connect a signal handler for the “@bounds-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' component #boundsChanged callback+@+-}+onComponentBoundsChanged :: (IsComponent a, MonadIO m) => a -> ComponentBoundsChangedCallback -> m SignalHandlerId+onComponentBoundsChanged obj cb = liftIO $ do+ let cb' = wrap_ComponentBoundsChangedCallback cb+ cb'' <- mk_ComponentBoundsChangedCallback cb'+ connectSignalFunPtr obj "bounds-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@bounds-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' component #boundsChanged callback+@+-}+afterComponentBoundsChanged :: (IsComponent a, MonadIO m) => a -> ComponentBoundsChangedCallback -> m SignalHandlerId+afterComponentBoundsChanged obj cb = liftIO $ do+ let cb' = wrap_ComponentBoundsChangedCallback cb+ cb'' <- mk_ComponentBoundsChangedCallback cb'+ connectSignalFunPtr obj "bounds-changed" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+data ComponentBoundsChangedSignalInfo+instance SignalInfo ComponentBoundsChangedSignalInfo where+ type HaskellCallbackType ComponentBoundsChangedSignalInfo = ComponentBoundsChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_ComponentBoundsChangedCallback cb+ cb'' <- mk_ComponentBoundsChangedCallback cb'+ connectSignalFunPtr obj "bounds-changed" cb'' connectMode++type instance O.SignalList Component = ComponentSignalList+type ComponentSignalList = ('[ '("boundsChanged", ComponentBoundsChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "atk_component_get_type"+ c_atk_component_get_type :: IO GType++instance GObject Component where+ gobjectType = c_atk_component_get_type+ ++-- | Type class for types which can be safely cast to `Component`, for instance with `toComponent`.+class (GObject o, O.IsDescendantOf Component o) => IsComponent o+instance (GObject o, O.IsDescendantOf Component o) => IsComponent o++instance O.HasParentTypes Component+type instance O.ParentTypes Component = '[GObject.Object.Object]++-- | Cast to `Component`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toComponent :: (MonadIO m, IsComponent o) => o -> m Component+toComponent = liftIO . unsafeCastTo Component++#if ENABLE_OVERLOADING+instance O.HasAttributeList Component+type instance O.AttributeList Component = ComponentAttributeList+type ComponentAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveComponentMethod (t :: Symbol) (o :: *) :: * where+ ResolveComponentMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveComponentMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveComponentMethod "contains" o = ComponentContainsMethodInfo+ ResolveComponentMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveComponentMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveComponentMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveComponentMethod "grabFocus" o = ComponentGrabFocusMethodInfo+ ResolveComponentMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveComponentMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveComponentMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveComponentMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveComponentMethod "refAccessibleAtPoint" o = ComponentRefAccessibleAtPointMethodInfo+ ResolveComponentMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveComponentMethod "removeFocusHandler" o = ComponentRemoveFocusHandlerMethodInfo+ ResolveComponentMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveComponentMethod "scrollTo" o = ComponentScrollToMethodInfo+ ResolveComponentMethod "scrollToPoint" o = ComponentScrollToPointMethodInfo+ ResolveComponentMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveComponentMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveComponentMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveComponentMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveComponentMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveComponentMethod "getAlpha" o = ComponentGetAlphaMethodInfo+ ResolveComponentMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveComponentMethod "getExtents" o = ComponentGetExtentsMethodInfo+ ResolveComponentMethod "getLayer" o = ComponentGetLayerMethodInfo+ ResolveComponentMethod "getMdiZorder" o = ComponentGetMdiZorderMethodInfo+ ResolveComponentMethod "getPosition" o = ComponentGetPositionMethodInfo+ ResolveComponentMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveComponentMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveComponentMethod "getSize" o = ComponentGetSizeMethodInfo+ ResolveComponentMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveComponentMethod "setExtents" o = ComponentSetExtentsMethodInfo+ ResolveComponentMethod "setPosition" o = ComponentSetPositionMethodInfo+ ResolveComponentMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveComponentMethod "setSize" o = ComponentSetSizeMethodInfo+ ResolveComponentMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveComponentMethod t Component, O.MethodInfo info Component p) => OL.IsLabel t (Component -> 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 Component::contains+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies whether the coordinates are relative to the screen\nor to the components top level window", 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 "atk_component_contains" atk_component_contains :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ Int32 -> -- x : TBasicType TInt+ Int32 -> -- y : TBasicType TInt+ CUInt -> -- coord_type : TInterface (Name {namespace = "Atk", name = "CoordType"})+ IO CInt++{- |+Checks whether the specified point is within the extent of the /@component@/.++Toolkit implementor note: ATK provides a default implementation for+this virtual method. In general there are little reason to+re-implement it.+-}+componentContains ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: the 'GI.Atk.Interfaces.Component.Component' -}+ -> Int32+ {- ^ /@x@/: x coordinate -}+ -> Int32+ {- ^ /@y@/: y coordinate -}+ -> Atk.Enums.CoordType+ {- ^ /@coordType@/: specifies whether the coordinates are relative to the screen+or to the components top level window -}+ -> m Bool+ {- ^ __Returns:__ 'True' or 'False' indicating whether the specified point is within+the extent of the /@component@/ or not -}+componentContains component x y coordType = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ let coordType' = (fromIntegral . fromEnum) coordType+ result <- atk_component_contains component' x y coordType'+ let result' = (/= 0) result+ touchManagedPtr component+ return result'++#if ENABLE_OVERLOADING+data ComponentContainsMethodInfo+instance (signature ~ (Int32 -> Int32 -> Atk.Enums.CoordType -> m Bool), MonadIO m, IsComponent a) => O.MethodInfo ComponentContainsMethodInfo a signature where+ overloadedMethod _ = componentContains++#endif++-- method Component::get_alpha+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TDouble)+-- throws : False+-- Skip return : False++foreign import ccall "atk_component_get_alpha" atk_component_get_alpha :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ IO CDouble++{- |+Returns the alpha value (i.e. the opacity) for this+/@component@/, on a scale from 0 (fully transparent) to 1.0+(fully opaque).++/Since: 1.12/+-}+componentGetAlpha ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> m Double+ {- ^ __Returns:__ An alpha value from 0 to 1.0, inclusive. -}+componentGetAlpha component = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ result <- atk_component_get_alpha component'+ let result' = realToFrac result+ touchManagedPtr component+ return result'++#if ENABLE_OVERLOADING+data ComponentGetAlphaMethodInfo+instance (signature ~ (m Double), MonadIO m, IsComponent a) => O.MethodInfo ComponentGetAlphaMethodInfo a signature where+ overloadedMethod _ = componentGetAlpha++#endif++-- method Component::get_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gint to put x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gint to put y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gint to put width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gint to put height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "coord_type", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies whether the coordinates are relative to the screen\nor to the components top level window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_component_get_extents" atk_component_get_extents :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ Ptr Int32 -> -- x : TBasicType TInt+ Ptr Int32 -> -- y : TBasicType TInt+ Ptr Int32 -> -- width : TBasicType TInt+ Ptr Int32 -> -- height : TBasicType TInt+ CUInt -> -- coord_type : TInterface (Name {namespace = "Atk", name = "CoordType"})+ IO ()++{- |+Gets the rectangle which gives the extent of the /@component@/.+-}+componentGetExtents ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> Atk.Enums.CoordType+ {- ^ /@coordType@/: specifies whether the coordinates are relative to the screen+or to the components top level window -}+ -> m ((Int32, Int32, Int32, Int32))+componentGetExtents component coordType = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ x <- allocMem :: IO (Ptr Int32)+ y <- allocMem :: IO (Ptr Int32)+ width <- allocMem :: IO (Ptr Int32)+ height <- allocMem :: IO (Ptr Int32)+ let coordType' = (fromIntegral . fromEnum) coordType+ atk_component_get_extents component' x y width height coordType'+ x' <- peek x+ y' <- peek y+ width' <- peek width+ height' <- peek height+ touchManagedPtr component+ freeMem x+ freeMem y+ freeMem width+ freeMem height+ return (x', y', width', height')++#if ENABLE_OVERLOADING+data ComponentGetExtentsMethodInfo+instance (signature ~ (Atk.Enums.CoordType -> m ((Int32, Int32, Int32, Int32))), MonadIO m, IsComponent a) => O.MethodInfo ComponentGetExtentsMethodInfo a signature where+ overloadedMethod _ = componentGetExtents++#endif++-- method Component::get_layer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Layer"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_component_get_layer" atk_component_get_layer :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ IO CUInt++{- |+Gets the layer of the component.+-}+componentGetLayer ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> m Atk.Enums.Layer+ {- ^ __Returns:__ an 'GI.Atk.Enums.Layer' which is the layer of the component -}+componentGetLayer component = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ result <- atk_component_get_layer component'+ let result' = (toEnum . fromIntegral) result+ touchManagedPtr component+ return result'++#if ENABLE_OVERLOADING+data ComponentGetLayerMethodInfo+instance (signature ~ (m Atk.Enums.Layer), MonadIO m, IsComponent a) => O.MethodInfo ComponentGetLayerMethodInfo a signature where+ overloadedMethod _ = componentGetLayer++#endif++-- method Component::get_mdi_zorder+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", 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 "atk_component_get_mdi_zorder" atk_component_get_mdi_zorder :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ IO Int32++{- |+Gets the zorder of the component. The value G_MININT will be returned+if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW.+-}+componentGetMdiZorder ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> m Int32+ {- ^ __Returns:__ a gint which is the zorder of the component, i.e. the depth at+which the component is shown in relation to other components in the same+container. -}+componentGetMdiZorder component = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ result <- atk_component_get_mdi_zorder component'+ touchManagedPtr component+ return result++#if ENABLE_OVERLOADING+data ComponentGetMdiZorderMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsComponent a) => O.MethodInfo ComponentGetMdiZorderMethodInfo a signature where+ overloadedMethod _ = componentGetMdiZorder++#endif++-- method Component::get_position+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gint to put x coordinate position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gint to put y coordinate position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "coord_type", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies whether the coordinates are relative to the screen\nor to the components top level window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_component_get_position" atk_component_get_position :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ Ptr Int32 -> -- x : TBasicType TInt+ Ptr Int32 -> -- y : TBasicType TInt+ CUInt -> -- coord_type : TInterface (Name {namespace = "Atk", name = "CoordType"})+ IO ()++{-# DEPRECATED componentGetPosition ["Since 2.12. Use 'GI.Atk.Interfaces.Component.componentGetExtents' instead."] #-}+{- |+Gets the position of /@component@/ in the form of+a point specifying /@component@/\'s top-left corner.+-}+componentGetPosition ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> Atk.Enums.CoordType+ {- ^ /@coordType@/: specifies whether the coordinates are relative to the screen+or to the components top level window -}+ -> m ((Int32, Int32))+componentGetPosition component coordType = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ x <- allocMem :: IO (Ptr Int32)+ y <- allocMem :: IO (Ptr Int32)+ let coordType' = (fromIntegral . fromEnum) coordType+ atk_component_get_position component' x y coordType'+ x' <- peek x+ y' <- peek y+ touchManagedPtr component+ freeMem x+ freeMem y+ return (x', y')++#if ENABLE_OVERLOADING+data ComponentGetPositionMethodInfo+instance (signature ~ (Atk.Enums.CoordType -> m ((Int32, Int32))), MonadIO m, IsComponent a) => O.MethodInfo ComponentGetPositionMethodInfo a signature where+ overloadedMethod _ = componentGetPosition++#endif++-- method Component::get_size+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gint to put width of @component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gint to put height of @component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_component_get_size" atk_component_get_size :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ Ptr Int32 -> -- width : TBasicType TInt+ Ptr Int32 -> -- height : TBasicType TInt+ IO ()++{-# DEPRECATED componentGetSize ["Since 2.12. Use 'GI.Atk.Interfaces.Component.componentGetExtents' instead."] #-}+{- |+Gets the size of the /@component@/ in terms of width and height.+-}+componentGetSize ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> m ((Int32, Int32))+componentGetSize component = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ width <- allocMem :: IO (Ptr Int32)+ height <- allocMem :: IO (Ptr Int32)+ atk_component_get_size component' width height+ width' <- peek width+ height' <- peek height+ touchManagedPtr component+ freeMem width+ freeMem height+ return (width', height')++#if ENABLE_OVERLOADING+data ComponentGetSizeMethodInfo+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsComponent a) => O.MethodInfo ComponentGetSizeMethodInfo a signature where+ overloadedMethod _ = componentGetSize++#endif++-- method Component::grab_focus+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", 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 "atk_component_grab_focus" atk_component_grab_focus :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ IO CInt++{- |+Grabs focus for this /@component@/.+-}+componentGrabFocus ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> m Bool+ {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}+componentGrabFocus component = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ result <- atk_component_grab_focus component'+ let result' = (/= 0) result+ touchManagedPtr component+ return result'++#if ENABLE_OVERLOADING+data ComponentGrabFocusMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsComponent a) => O.MethodInfo ComponentGrabFocusMethodInfo a signature where+ overloadedMethod _ = componentGrabFocus++#endif++-- method Component::ref_accessible_at_point+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies whether the coordinates are relative to the screen\nor to the components top level window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_component_ref_accessible_at_point" atk_component_ref_accessible_at_point :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ Int32 -> -- x : TBasicType TInt+ Int32 -> -- y : TBasicType TInt+ CUInt -> -- coord_type : TInterface (Name {namespace = "Atk", name = "CoordType"})+ IO (Ptr Atk.Object.Object)++{- |+Gets a reference to the accessible child, if one exists, at the+coordinate point specified by /@x@/ and /@y@/.+-}+componentRefAccessibleAtPoint ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: the 'GI.Atk.Interfaces.Component.Component' -}+ -> Int32+ {- ^ /@x@/: x coordinate -}+ -> Int32+ {- ^ /@y@/: y coordinate -}+ -> Atk.Enums.CoordType+ {- ^ /@coordType@/: specifies whether the coordinates are relative to the screen+or to the components top level window -}+ -> m (Maybe Atk.Object.Object)+ {- ^ __Returns:__ a reference to the accessible+child, if one exists -}+componentRefAccessibleAtPoint component x y coordType = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ let coordType' = (fromIntegral . fromEnum) coordType+ result <- atk_component_ref_accessible_at_point component' x y coordType'+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- (wrapObject Atk.Object.Object) result'+ return result''+ touchManagedPtr component+ return maybeResult++#if ENABLE_OVERLOADING+data ComponentRefAccessibleAtPointMethodInfo+instance (signature ~ (Int32 -> Int32 -> Atk.Enums.CoordType -> m (Maybe Atk.Object.Object)), MonadIO m, IsComponent a) => O.MethodInfo ComponentRefAccessibleAtPointMethodInfo a signature where+ overloadedMethod _ = componentRefAccessibleAtPoint++#endif++-- method Component::remove_focus_handler+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #AtkComponent to remove the focus handler from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the handler id of the focus handler to be removed\nfrom @component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_component_remove_focus_handler" atk_component_remove_focus_handler :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ Word32 -> -- handler_id : TBasicType TUInt+ IO ()++{-# DEPRECATED componentRemoveFocusHandler ["(Since version 2.9.4)","If you need to track when an object gains or","lose the focus, use the 'GI.Atk.Objects.Object.Object'::@/state-change/@ \\\"focused\\\" notification instead."] #-}+{- |+Remove the handler specified by /@handlerId@/ from the list of+functions to be executed when this object receives focus events+(in or out).+-}+componentRemoveFocusHandler ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: the 'GI.Atk.Interfaces.Component.Component' to remove the focus handler from -}+ -> Word32+ {- ^ /@handlerId@/: the handler id of the focus handler to be removed+from /@component@/ -}+ -> m ()+componentRemoveFocusHandler component handlerId = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ atk_component_remove_focus_handler component' handlerId+ touchManagedPtr component+ return ()++#if ENABLE_OVERLOADING+data ComponentRemoveFocusHandlerMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, IsComponent a) => O.MethodInfo ComponentRemoveFocusHandlerMethodInfo a signature where+ overloadedMethod _ = componentRemoveFocusHandler++#endif++-- method Component::scroll_to+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Atk", name = "ScrollType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specify where the object should be made visible.", 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 "atk_component_scroll_to" atk_component_scroll_to :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ CUInt -> -- type : TInterface (Name {namespace = "Atk", name = "ScrollType"})+ IO CInt++{- |+Makes /@component@/ visible on the screen by scrolling all necessary parents.++Contrary to atk_component_set_position, this does not actually move+/@component@/ in its parent, this only makes the parents scroll so that the+object shows up on the screen, given its current position within the parents.++/Since: 2.30/+-}+componentScrollTo ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> Atk.Enums.ScrollType+ {- ^ /@type@/: specify where the object should be made visible. -}+ -> m Bool+ {- ^ __Returns:__ whether scrolling was successful. -}+componentScrollTo component type_ = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ let type_' = (fromIntegral . fromEnum) type_+ result <- atk_component_scroll_to component' type_'+ let result' = (/= 0) result+ touchManagedPtr component+ return result'++#if ENABLE_OVERLOADING+data ComponentScrollToMethodInfo+instance (signature ~ (Atk.Enums.ScrollType -> m Bool), MonadIO m, IsComponent a) => O.MethodInfo ComponentScrollToMethodInfo a signature where+ overloadedMethod _ = componentScrollTo++#endif++-- method Component::scroll_to_point+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coords", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specify whether coordinates are relative to the screen or to the\nparent object.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x-position where to scroll to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y-position where to scroll to", 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 "atk_component_scroll_to_point" atk_component_scroll_to_point :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ CUInt -> -- coords : TInterface (Name {namespace = "Atk", name = "CoordType"})+ Int32 -> -- x : TBasicType TInt+ Int32 -> -- y : TBasicType TInt+ IO CInt++{- |+Makes an object visible on the screen at a given position by scrolling all+necessary parents.++/Since: 2.30/+-}+componentScrollToPoint ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> Atk.Enums.CoordType+ {- ^ /@coords@/: specify whether coordinates are relative to the screen or to the+parent object. -}+ -> Int32+ {- ^ /@x@/: x-position where to scroll to -}+ -> Int32+ {- ^ /@y@/: y-position where to scroll to -}+ -> m Bool+ {- ^ __Returns:__ whether scrolling was successful. -}+componentScrollToPoint component coords x y = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ let coords' = (fromIntegral . fromEnum) coords+ result <- atk_component_scroll_to_point component' coords' x y+ let result' = (/= 0) result+ touchManagedPtr component+ return result'++#if ENABLE_OVERLOADING+data ComponentScrollToPointMethodInfo+instance (signature ~ (Atk.Enums.CoordType -> Int32 -> Int32 -> m Bool), MonadIO m, IsComponent a) => O.MethodInfo ComponentScrollToPointMethodInfo a signature where+ overloadedMethod _ = componentScrollToPoint++#endif++-- method Component::set_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width to set for @component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height to set for @component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies whether the coordinates are relative to the screen\nor to the components top level window", 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 "atk_component_set_extents" atk_component_set_extents :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ Int32 -> -- x : TBasicType TInt+ Int32 -> -- y : TBasicType TInt+ Int32 -> -- width : TBasicType TInt+ Int32 -> -- height : TBasicType TInt+ CUInt -> -- coord_type : TInterface (Name {namespace = "Atk", name = "CoordType"})+ IO CInt++{- |+Sets the extents of /@component@/.+-}+componentSetExtents ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> Int32+ {- ^ /@x@/: x coordinate -}+ -> Int32+ {- ^ /@y@/: y coordinate -}+ -> Int32+ {- ^ /@width@/: width to set for /@component@/ -}+ -> Int32+ {- ^ /@height@/: height to set for /@component@/ -}+ -> Atk.Enums.CoordType+ {- ^ /@coordType@/: specifies whether the coordinates are relative to the screen+or to the components top level window -}+ -> m Bool+ {- ^ __Returns:__ 'True' or 'False' whether the extents were set or not -}+componentSetExtents component x y width height coordType = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ let coordType' = (fromIntegral . fromEnum) coordType+ result <- atk_component_set_extents component' x y width height coordType'+ let result' = (/= 0) result+ touchManagedPtr component+ return result'++#if ENABLE_OVERLOADING+data ComponentSetExtentsMethodInfo+instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> Atk.Enums.CoordType -> m Bool), MonadIO m, IsComponent a) => O.MethodInfo ComponentSetExtentsMethodInfo a signature where+ overloadedMethod _ = componentSetExtents++#endif++-- method Component::set_position+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies whether the coordinates are relative to the screen\nor to the component's top level window", 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 "atk_component_set_position" atk_component_set_position :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ Int32 -> -- x : TBasicType TInt+ Int32 -> -- y : TBasicType TInt+ CUInt -> -- coord_type : TInterface (Name {namespace = "Atk", name = "CoordType"})+ IO CInt++{- |+Sets the position of /@component@/.++Contrary to atk_component_scroll_to, this does not trigger any scrolling,+this just moves /@component@/ in its parent.+-}+componentSetPosition ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> Int32+ {- ^ /@x@/: x coordinate -}+ -> Int32+ {- ^ /@y@/: y coordinate -}+ -> Atk.Enums.CoordType+ {- ^ /@coordType@/: specifies whether the coordinates are relative to the screen+or to the component\'s top level window -}+ -> m Bool+ {- ^ __Returns:__ 'True' or 'False' whether or not the position was set or not -}+componentSetPosition component x y coordType = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ let coordType' = (fromIntegral . fromEnum) coordType+ result <- atk_component_set_position component' x y coordType'+ let result' = (/= 0) result+ touchManagedPtr component+ return result'++#if ENABLE_OVERLOADING+data ComponentSetPositionMethodInfo+instance (signature ~ (Int32 -> Int32 -> Atk.Enums.CoordType -> m Bool), MonadIO m, IsComponent a) => O.MethodInfo ComponentSetPositionMethodInfo a signature where+ overloadedMethod _ = componentSetPosition++#endif++-- method Component::set_size+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "component", argType = TInterface (Name {namespace = "Atk", name = "Component"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkComponent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width to set for @component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height to set for @component", 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 "atk_component_set_size" atk_component_set_size :: + Ptr Component -> -- component : TInterface (Name {namespace = "Atk", name = "Component"})+ Int32 -> -- width : TBasicType TInt+ Int32 -> -- height : TBasicType TInt+ IO CInt++{- |+Set the size of the /@component@/ in terms of width and height.+-}+componentSetSize ::+ (B.CallStack.HasCallStack, MonadIO m, IsComponent a) =>+ a+ {- ^ /@component@/: an 'GI.Atk.Interfaces.Component.Component' -}+ -> Int32+ {- ^ /@width@/: width to set for /@component@/ -}+ -> Int32+ {- ^ /@height@/: height to set for /@component@/ -}+ -> m Bool+ {- ^ __Returns:__ 'True' or 'False' whether the size was set or not -}+componentSetSize component width height = liftIO $ do+ component' <- unsafeManagedPtrCastPtr component+ result <- atk_component_set_size component' width height+ let result' = (/= 0) result+ touchManagedPtr component+ return result'++#if ENABLE_OVERLOADING+data ComponentSetSizeMethodInfo+instance (signature ~ (Int32 -> Int32 -> m Bool), MonadIO m, IsComponent a) => O.MethodInfo ComponentSetSizeMethodInfo a signature where+ overloadedMethod _ = componentSetSize++#endif++
+ GI/Atk/Interfaces/Component.hs-boot view
@@ -0,0 +1,77 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.Component 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++newtype Component = Component (ManagedPtr Component)+#if ENABLE_OVERLOADING+data ComponentBoundsChangedSignalInfo+#endif+instance GObject Component where+class (GObject o, O.IsDescendantOf Component o) => IsComponent o+instance (GObject o, O.IsDescendantOf Component o) => IsComponent o+instance O.HasParentTypes Component+#if ENABLE_OVERLOADING+data ComponentContainsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentGetAlphaMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentGetExtentsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentGetLayerMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentGetMdiZorderMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentGetPositionMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentGetSizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentGrabFocusMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentRefAccessibleAtPointMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentRemoveFocusHandlerMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentScrollToMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentScrollToPointMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentSetExtentsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentSetPositionMethodInfo+#endif+#if ENABLE_OVERLOADING+data ComponentSetSizeMethodInfo+#endif
+ GI/Atk/Interfaces/Document.hs view
@@ -0,0 +1,911 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++The AtkDocument interface should be supported by any object whose+content is a representation or view of a document. The AtkDocument+interface should appear on the toplevel container for the document+content; however AtkDocument instances may be nested (i.e. an+AtkDocument may be a descendant of another AtkDocument) in those+cases where one document contains \"embedded content\" which can+reasonably be considered a document in its own right.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.Document+ ( ++-- * Exported types+ Document(..) ,+ noDocument ,+ IsDocument ,+ toDocument ,+++ -- * Methods+-- ** getAttributeValue #method:getAttributeValue#++#if ENABLE_OVERLOADING+ DocumentGetAttributeValueMethodInfo ,+#endif+ documentGetAttributeValue ,+++-- ** getAttributes #method:getAttributes#++#if ENABLE_OVERLOADING+ DocumentGetAttributesMethodInfo ,+#endif+ documentGetAttributes ,+++-- ** getCurrentPageNumber #method:getCurrentPageNumber#++#if ENABLE_OVERLOADING+ DocumentGetCurrentPageNumberMethodInfo ,+#endif+ documentGetCurrentPageNumber ,+++-- ** getDocument #method:getDocument#++#if ENABLE_OVERLOADING+ DocumentGetDocumentMethodInfo ,+#endif+ documentGetDocument ,+++-- ** getDocumentType #method:getDocumentType#++#if ENABLE_OVERLOADING+ DocumentGetDocumentTypeMethodInfo ,+#endif+ documentGetDocumentType ,+++-- ** getLocale #method:getLocale#++#if ENABLE_OVERLOADING+ DocumentGetLocaleMethodInfo ,+#endif+ documentGetLocale ,+++-- ** getPageCount #method:getPageCount#++#if ENABLE_OVERLOADING+ DocumentGetPageCountMethodInfo ,+#endif+ documentGetPageCount ,+++-- ** setAttributeValue #method:setAttributeValue#++#if ENABLE_OVERLOADING+ DocumentSetAttributeValueMethodInfo ,+#endif+ documentSetAttributeValue ,+++++ -- * Signals+-- ** loadComplete #signal:loadComplete#++ C_DocumentLoadCompleteCallback ,+ DocumentLoadCompleteCallback ,+#if ENABLE_OVERLOADING+ DocumentLoadCompleteSignalInfo ,+#endif+ afterDocumentLoadComplete ,+ genClosure_DocumentLoadComplete ,+ mk_DocumentLoadCompleteCallback ,+ noDocumentLoadCompleteCallback ,+ onDocumentLoadComplete ,+ wrap_DocumentLoadCompleteCallback ,+++-- ** loadStopped #signal:loadStopped#++ C_DocumentLoadStoppedCallback ,+ DocumentLoadStoppedCallback ,+#if ENABLE_OVERLOADING+ DocumentLoadStoppedSignalInfo ,+#endif+ afterDocumentLoadStopped ,+ genClosure_DocumentLoadStopped ,+ mk_DocumentLoadStoppedCallback ,+ noDocumentLoadStoppedCallback ,+ onDocumentLoadStopped ,+ wrap_DocumentLoadStoppedCallback ,+++-- ** pageChanged #signal:pageChanged#++ C_DocumentPageChangedCallback ,+ DocumentPageChangedCallback ,+#if ENABLE_OVERLOADING+ DocumentPageChangedSignalInfo ,+#endif+ afterDocumentPageChanged ,+ genClosure_DocumentPageChanged ,+ mk_DocumentPageChangedCallback ,+ noDocumentPageChangedCallback ,+ onDocumentPageChanged ,+ wrap_DocumentPageChangedCallback ,+++-- ** reload #signal:reload#++ C_DocumentReloadCallback ,+ DocumentReloadCallback ,+#if ENABLE_OVERLOADING+ DocumentReloadSignalInfo ,+#endif+ afterDocumentReload ,+ genClosure_DocumentReload ,+ mk_DocumentReloadCallback ,+ noDocumentReloadCallback ,+ onDocumentReload ,+ wrap_DocumentReloadCallback ,+++++ ) 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++-- interface Document +-- | Memory-managed wrapper type.+newtype Document = Document (ManagedPtr Document)+-- | A convenience alias for `Nothing` :: `Maybe` `Document`.+noDocument :: Maybe Document+noDocument = Nothing++-- signal Document::load-complete+{- |+The \'load-complete\' signal is emitted when a pending load of+a static document has completed. This signal is to be+expected by ATK clients if and when AtkDocument implementors+expose ATK_STATE_BUSY. If the state of an AtkObject which+implements AtkDocument does not include ATK_STATE_BUSY, it+should be safe for clients to assume that the AtkDocument\'s+static contents are fully loaded into the container.+(Dynamic document contents should be exposed via other+signals.)+-}+type DocumentLoadCompleteCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DocumentLoadCompleteCallback`@.+noDocumentLoadCompleteCallback :: Maybe DocumentLoadCompleteCallback+noDocumentLoadCompleteCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DocumentLoadCompleteCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_DocumentLoadCompleteCallback`.+foreign import ccall "wrapper"+ mk_DocumentLoadCompleteCallback :: C_DocumentLoadCompleteCallback -> IO (FunPtr C_DocumentLoadCompleteCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DocumentLoadComplete :: MonadIO m => DocumentLoadCompleteCallback -> m (GClosure C_DocumentLoadCompleteCallback)+genClosure_DocumentLoadComplete cb = liftIO $ do+ let cb' = wrap_DocumentLoadCompleteCallback cb+ mk_DocumentLoadCompleteCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DocumentLoadCompleteCallback` into a `C_DocumentLoadCompleteCallback`.+wrap_DocumentLoadCompleteCallback ::+ DocumentLoadCompleteCallback ->+ C_DocumentLoadCompleteCallback+wrap_DocumentLoadCompleteCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@load-complete@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' document #loadComplete callback+@+-}+onDocumentLoadComplete :: (IsDocument a, MonadIO m) => a -> DocumentLoadCompleteCallback -> m SignalHandlerId+onDocumentLoadComplete obj cb = liftIO $ do+ let cb' = wrap_DocumentLoadCompleteCallback cb+ cb'' <- mk_DocumentLoadCompleteCallback cb'+ connectSignalFunPtr obj "load-complete" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@load-complete@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' document #loadComplete callback+@+-}+afterDocumentLoadComplete :: (IsDocument a, MonadIO m) => a -> DocumentLoadCompleteCallback -> m SignalHandlerId+afterDocumentLoadComplete obj cb = liftIO $ do+ let cb' = wrap_DocumentLoadCompleteCallback cb+ cb'' <- mk_DocumentLoadCompleteCallback cb'+ connectSignalFunPtr obj "load-complete" cb'' SignalConnectAfter+++-- signal Document::load-stopped+{- |+The \'load-stopped\' signal is emitted when a pending load of+document contents is cancelled, paused, or otherwise+interrupted by the user or application logic. It should not+however be emitted while waiting for a resource (for instance+while blocking on a file or network read) unless a+user-significant timeout has occurred.+-}+type DocumentLoadStoppedCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DocumentLoadStoppedCallback`@.+noDocumentLoadStoppedCallback :: Maybe DocumentLoadStoppedCallback+noDocumentLoadStoppedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DocumentLoadStoppedCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_DocumentLoadStoppedCallback`.+foreign import ccall "wrapper"+ mk_DocumentLoadStoppedCallback :: C_DocumentLoadStoppedCallback -> IO (FunPtr C_DocumentLoadStoppedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DocumentLoadStopped :: MonadIO m => DocumentLoadStoppedCallback -> m (GClosure C_DocumentLoadStoppedCallback)+genClosure_DocumentLoadStopped cb = liftIO $ do+ let cb' = wrap_DocumentLoadStoppedCallback cb+ mk_DocumentLoadStoppedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DocumentLoadStoppedCallback` into a `C_DocumentLoadStoppedCallback`.+wrap_DocumentLoadStoppedCallback ::+ DocumentLoadStoppedCallback ->+ C_DocumentLoadStoppedCallback+wrap_DocumentLoadStoppedCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@load-stopped@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' document #loadStopped callback+@+-}+onDocumentLoadStopped :: (IsDocument a, MonadIO m) => a -> DocumentLoadStoppedCallback -> m SignalHandlerId+onDocumentLoadStopped obj cb = liftIO $ do+ let cb' = wrap_DocumentLoadStoppedCallback cb+ cb'' <- mk_DocumentLoadStoppedCallback cb'+ connectSignalFunPtr obj "load-stopped" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@load-stopped@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' document #loadStopped callback+@+-}+afterDocumentLoadStopped :: (IsDocument a, MonadIO m) => a -> DocumentLoadStoppedCallback -> m SignalHandlerId+afterDocumentLoadStopped obj cb = liftIO $ do+ let cb' = wrap_DocumentLoadStoppedCallback cb+ cb'' <- mk_DocumentLoadStoppedCallback cb'+ connectSignalFunPtr obj "load-stopped" cb'' SignalConnectAfter+++-- signal Document::page-changed+{- |+The \'page-changed\' signal is emitted when the current page of+a document changes, e.g. pressing page up\/down in a document+viewer.++/Since: 2.12/+-}+type DocumentPageChangedCallback =+ Int32+ {- ^ /@pageNumber@/: the new page number. If this value is unknown+or not applicable, -1 should be provided. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DocumentPageChangedCallback`@.+noDocumentPageChangedCallback :: Maybe DocumentPageChangedCallback+noDocumentPageChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DocumentPageChangedCallback =+ Ptr () -> -- object+ Int32 ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_DocumentPageChangedCallback`.+foreign import ccall "wrapper"+ mk_DocumentPageChangedCallback :: C_DocumentPageChangedCallback -> IO (FunPtr C_DocumentPageChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DocumentPageChanged :: MonadIO m => DocumentPageChangedCallback -> m (GClosure C_DocumentPageChangedCallback)+genClosure_DocumentPageChanged cb = liftIO $ do+ let cb' = wrap_DocumentPageChangedCallback cb+ mk_DocumentPageChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DocumentPageChangedCallback` into a `C_DocumentPageChangedCallback`.+wrap_DocumentPageChangedCallback ::+ DocumentPageChangedCallback ->+ C_DocumentPageChangedCallback+wrap_DocumentPageChangedCallback _cb _ pageNumber _ = do+ _cb pageNumber+++{- |+Connect a signal handler for the “@page-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' document #pageChanged callback+@+-}+onDocumentPageChanged :: (IsDocument a, MonadIO m) => a -> DocumentPageChangedCallback -> m SignalHandlerId+onDocumentPageChanged obj cb = liftIO $ do+ let cb' = wrap_DocumentPageChangedCallback cb+ cb'' <- mk_DocumentPageChangedCallback cb'+ connectSignalFunPtr obj "page-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@page-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' document #pageChanged callback+@+-}+afterDocumentPageChanged :: (IsDocument a, MonadIO m) => a -> DocumentPageChangedCallback -> m SignalHandlerId+afterDocumentPageChanged obj cb = liftIO $ do+ let cb' = wrap_DocumentPageChangedCallback cb+ cb'' <- mk_DocumentPageChangedCallback cb'+ connectSignalFunPtr obj "page-changed" cb'' SignalConnectAfter+++-- signal Document::reload+{- |+The \'reload\' signal is emitted when the contents of a+document is refreshed from its source. Once \'reload\' has+been emitted, a matching \'load-complete\' or \'load-stopped\'+signal should follow, which clients may await before+interrogating ATK for the latest document content.+-}+type DocumentReloadCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `DocumentReloadCallback`@.+noDocumentReloadCallback :: Maybe DocumentReloadCallback+noDocumentReloadCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_DocumentReloadCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_DocumentReloadCallback`.+foreign import ccall "wrapper"+ mk_DocumentReloadCallback :: C_DocumentReloadCallback -> IO (FunPtr C_DocumentReloadCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_DocumentReload :: MonadIO m => DocumentReloadCallback -> m (GClosure C_DocumentReloadCallback)+genClosure_DocumentReload cb = liftIO $ do+ let cb' = wrap_DocumentReloadCallback cb+ mk_DocumentReloadCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `DocumentReloadCallback` into a `C_DocumentReloadCallback`.+wrap_DocumentReloadCallback ::+ DocumentReloadCallback ->+ C_DocumentReloadCallback+wrap_DocumentReloadCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@reload@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' document #reload callback+@+-}+onDocumentReload :: (IsDocument a, MonadIO m) => a -> DocumentReloadCallback -> m SignalHandlerId+onDocumentReload obj cb = liftIO $ do+ let cb' = wrap_DocumentReloadCallback cb+ cb'' <- mk_DocumentReloadCallback cb'+ connectSignalFunPtr obj "reload" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@reload@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' document #reload callback+@+-}+afterDocumentReload :: (IsDocument a, MonadIO m) => a -> DocumentReloadCallback -> m SignalHandlerId+afterDocumentReload obj cb = liftIO $ do+ let cb' = wrap_DocumentReloadCallback cb+ cb'' <- mk_DocumentReloadCallback cb'+ connectSignalFunPtr obj "reload" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+data DocumentLoadCompleteSignalInfo+instance SignalInfo DocumentLoadCompleteSignalInfo where+ type HaskellCallbackType DocumentLoadCompleteSignalInfo = DocumentLoadCompleteCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_DocumentLoadCompleteCallback cb+ cb'' <- mk_DocumentLoadCompleteCallback cb'+ connectSignalFunPtr obj "load-complete" cb'' connectMode++data DocumentLoadStoppedSignalInfo+instance SignalInfo DocumentLoadStoppedSignalInfo where+ type HaskellCallbackType DocumentLoadStoppedSignalInfo = DocumentLoadStoppedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_DocumentLoadStoppedCallback cb+ cb'' <- mk_DocumentLoadStoppedCallback cb'+ connectSignalFunPtr obj "load-stopped" cb'' connectMode++data DocumentPageChangedSignalInfo+instance SignalInfo DocumentPageChangedSignalInfo where+ type HaskellCallbackType DocumentPageChangedSignalInfo = DocumentPageChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_DocumentPageChangedCallback cb+ cb'' <- mk_DocumentPageChangedCallback cb'+ connectSignalFunPtr obj "page-changed" cb'' connectMode++data DocumentReloadSignalInfo+instance SignalInfo DocumentReloadSignalInfo where+ type HaskellCallbackType DocumentReloadSignalInfo = DocumentReloadCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_DocumentReloadCallback cb+ cb'' <- mk_DocumentReloadCallback cb'+ connectSignalFunPtr obj "reload" cb'' connectMode++type instance O.SignalList Document = DocumentSignalList+type DocumentSignalList = ('[ '("loadComplete", DocumentLoadCompleteSignalInfo), '("loadStopped", DocumentLoadStoppedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pageChanged", DocumentPageChangedSignalInfo), '("reload", DocumentReloadSignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "atk_document_get_type"+ c_atk_document_get_type :: IO GType++instance GObject Document where+ gobjectType = c_atk_document_get_type+ ++-- | Type class for types which can be safely cast to `Document`, for instance with `toDocument`.+class (GObject o, O.IsDescendantOf Document o) => IsDocument o+instance (GObject o, O.IsDescendantOf Document o) => IsDocument o++instance O.HasParentTypes Document+type instance O.ParentTypes Document = '[GObject.Object.Object]++-- | Cast to `Document`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toDocument :: (MonadIO m, IsDocument o) => o -> m Document+toDocument = liftIO . unsafeCastTo Document++#if ENABLE_OVERLOADING+instance O.HasAttributeList Document+type instance O.AttributeList Document = DocumentAttributeList+type DocumentAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveDocumentMethod (t :: Symbol) (o :: *) :: * where+ ResolveDocumentMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveDocumentMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveDocumentMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveDocumentMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveDocumentMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveDocumentMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveDocumentMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveDocumentMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveDocumentMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveDocumentMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveDocumentMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveDocumentMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveDocumentMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveDocumentMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveDocumentMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveDocumentMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveDocumentMethod "getAttributeValue" o = DocumentGetAttributeValueMethodInfo+ ResolveDocumentMethod "getAttributes" o = DocumentGetAttributesMethodInfo+ ResolveDocumentMethod "getCurrentPageNumber" o = DocumentGetCurrentPageNumberMethodInfo+ ResolveDocumentMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveDocumentMethod "getDocument" o = DocumentGetDocumentMethodInfo+ ResolveDocumentMethod "getDocumentType" o = DocumentGetDocumentTypeMethodInfo+ ResolveDocumentMethod "getLocale" o = DocumentGetLocaleMethodInfo+ ResolveDocumentMethod "getPageCount" o = DocumentGetPageCountMethodInfo+ ResolveDocumentMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveDocumentMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveDocumentMethod "setAttributeValue" o = DocumentSetAttributeValueMethodInfo+ ResolveDocumentMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveDocumentMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveDocumentMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDocumentMethod t Document, O.MethodInfo info Document p) => OL.IsLabel t (Document -> 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 Document::get_attribute_value+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "document", argType = TInterface (Name {namespace = "Atk", name = "Document"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkDocumentIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character string representing the name of the attribute\n whose value is being queried.", 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 "atk_document_get_attribute_value" atk_document_get_attribute_value :: + Ptr Document -> -- document : TInterface (Name {namespace = "Atk", name = "Document"})+ CString -> -- attribute_name : TBasicType TUTF8+ IO CString++{- |+/No description available in the introspection data./++/Since: 1.12/+-}+documentGetAttributeValue ::+ (B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>+ a+ {- ^ /@document@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkDocumentIface -}+ -> T.Text+ {- ^ /@attributeName@/: a character string representing the name of the attribute+ whose value is being queried. -}+ -> m (Maybe T.Text)+ {- ^ __Returns:__ a string value associated with the named+ attribute for this document, or NULL if a value for+ @/attribute_name/@ has not been specified for this document. -}+documentGetAttributeValue document attributeName = liftIO $ do+ document' <- unsafeManagedPtrCastPtr document+ attributeName' <- textToCString attributeName+ result <- atk_document_get_attribute_value document' attributeName'+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- cstringToText result'+ return result''+ touchManagedPtr document+ freeMem attributeName'+ return maybeResult++#if ENABLE_OVERLOADING+data DocumentGetAttributeValueMethodInfo+instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetAttributeValueMethodInfo a signature where+ overloadedMethod _ = documentGetAttributeValue++#endif++-- method Document::get_attributes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "document", argType = TInterface (Name {namespace = "Atk", name = "Document"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkDocumentIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGSList (TBasicType TPtr))+-- throws : False+-- Skip return : False++foreign import ccall "atk_document_get_attributes" atk_document_get_attributes :: + Ptr Document -> -- document : TInterface (Name {namespace = "Atk", name = "Document"})+ IO (Ptr (GSList (Ptr ())))++{- |+Gets an AtkAttributeSet which describes document-wide+ attributes as name-value pairs.++/Since: 1.12/+-}+documentGetAttributes ::+ (B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>+ a+ {- ^ /@document@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkDocumentIface -}+ -> m ([Ptr ()])+ {- ^ __Returns:__ An AtkAttributeSet containing the explicitly+ set name-value-pair attributes associated with this document+ as a whole. -}+documentGetAttributes document = liftIO $ do+ document' <- unsafeManagedPtrCastPtr document+ result <- atk_document_get_attributes document'+ result' <- unpackGSList result+ touchManagedPtr document+ return result'++#if ENABLE_OVERLOADING+data DocumentGetAttributesMethodInfo+instance (signature ~ (m ([Ptr ()])), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetAttributesMethodInfo a signature where+ overloadedMethod _ = documentGetAttributes++#endif++-- method Document::get_current_page_number+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "document", argType = TInterface (Name {namespace = "Atk", name = "Document"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #AtkDocument", 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 "atk_document_get_current_page_number" atk_document_get_current_page_number :: + Ptr Document -> -- document : TInterface (Name {namespace = "Atk", name = "Document"})+ IO Int32++{- |+/No description available in the introspection data./++/Since: 2.12/+-}+documentGetCurrentPageNumber ::+ (B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>+ a+ {- ^ /@document@/: the 'GI.Atk.Interfaces.Document.Document' -}+ -> m Int32+ {- ^ __Returns:__ current page number inside /@document@/. -1 if not+implemented, not know by the implementor or irrelevant. -}+documentGetCurrentPageNumber document = liftIO $ do+ document' <- unsafeManagedPtrCastPtr document+ result <- atk_document_get_current_page_number document'+ touchManagedPtr document+ return result++#if ENABLE_OVERLOADING+data DocumentGetCurrentPageNumberMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetCurrentPageNumberMethodInfo a signature where+ overloadedMethod _ = documentGetCurrentPageNumber++#endif++-- method Document::get_document+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "document", argType = TInterface (Name {namespace = "Atk", name = "Document"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkDocumentIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TPtr)+-- throws : False+-- Skip return : False++foreign import ccall "atk_document_get_document" atk_document_get_document :: + Ptr Document -> -- document : TInterface (Name {namespace = "Atk", name = "Document"})+ IO (Ptr ())++{-# DEPRECATED documentGetDocument ["Since 2.12. /@document@/ is already a representation of","the document. Use it directly, or one of its children, as an","instance of the DOM."] #-}+{- |+Gets a @/gpointer/@ that points to an instance of the DOM. It is+up to the caller to check atk_document_get_type to determine+how to cast this pointer.+-}+documentGetDocument ::+ (B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>+ a+ {- ^ /@document@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkDocumentIface -}+ -> m (Ptr ())+ {- ^ __Returns:__ a @/gpointer/@ that points to an instance of the DOM. -}+documentGetDocument document = liftIO $ do+ document' <- unsafeManagedPtrCastPtr document+ result <- atk_document_get_document document'+ touchManagedPtr document+ return result++#if ENABLE_OVERLOADING+data DocumentGetDocumentMethodInfo+instance (signature ~ (m (Ptr ())), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetDocumentMethodInfo a signature where+ overloadedMethod _ = documentGetDocument++#endif++-- method Document::get_document_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "document", argType = TInterface (Name {namespace = "Atk", name = "Document"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkDocumentIface", 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 "atk_document_get_document_type" atk_document_get_document_type :: + Ptr Document -> -- document : TInterface (Name {namespace = "Atk", name = "Document"})+ IO CString++{-# DEPRECATED documentGetDocumentType ["Since 2.12. Please use 'GI.Atk.Interfaces.Document.documentGetAttributes' to","ask for the document type if it applies."] #-}+{- |+Gets a string indicating the document type.+-}+documentGetDocumentType ::+ (B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>+ a+ {- ^ /@document@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkDocumentIface -}+ -> m T.Text+ {- ^ __Returns:__ a string indicating the document type -}+documentGetDocumentType document = liftIO $ do+ document' <- unsafeManagedPtrCastPtr document+ result <- atk_document_get_document_type document'+ checkUnexpectedReturnNULL "documentGetDocumentType" result+ result' <- cstringToText result+ touchManagedPtr document+ return result'++#if ENABLE_OVERLOADING+data DocumentGetDocumentTypeMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetDocumentTypeMethodInfo a signature where+ overloadedMethod _ = documentGetDocumentType++#endif++-- method Document::get_locale+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "document", argType = TInterface (Name {namespace = "Atk", name = "Document"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkDocumentIface", 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 "atk_document_get_locale" atk_document_get_locale :: + Ptr Document -> -- document : TInterface (Name {namespace = "Atk", name = "Document"})+ IO CString++{-# DEPRECATED documentGetLocale ["(Since version 2.7.90)","Please use 'GI.Atk.Objects.Object.objectGetObjectLocale' instead."] #-}+{- |+Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale+ of the content of this document instance. Individual+ text substrings or images within this document may have+ a different locale, see atk_text_get_attributes and+ atk_image_get_image_locale.+-}+documentGetLocale ::+ (B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>+ a+ {- ^ /@document@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkDocumentIface -}+ -> m T.Text+ {- ^ __Returns:__ a UTF-8 string indicating the POSIX-style LC_MESSAGES+ locale of the document content as a whole, or NULL if+ the document content does not specify a locale. -}+documentGetLocale document = liftIO $ do+ document' <- unsafeManagedPtrCastPtr document+ result <- atk_document_get_locale document'+ checkUnexpectedReturnNULL "documentGetLocale" result+ result' <- cstringToText result+ touchManagedPtr document+ return result'++#if ENABLE_OVERLOADING+data DocumentGetLocaleMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetLocaleMethodInfo a signature where+ overloadedMethod _ = documentGetLocale++#endif++-- method Document::get_page_count+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "document", argType = TInterface (Name {namespace = "Atk", name = "Document"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #AtkDocument", 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 "atk_document_get_page_count" atk_document_get_page_count :: + Ptr Document -> -- document : TInterface (Name {namespace = "Atk", name = "Document"})+ IO Int32++{- |+/No description available in the introspection data./++/Since: 2.12/+-}+documentGetPageCount ::+ (B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>+ a+ {- ^ /@document@/: the 'GI.Atk.Interfaces.Document.Document' -}+ -> m Int32+ {- ^ __Returns:__ total page count of /@document@/. -1 if not implemented, not+know by the implementor or irrelevant. -}+documentGetPageCount document = liftIO $ do+ document' <- unsafeManagedPtrCastPtr document+ result <- atk_document_get_page_count document'+ touchManagedPtr document+ return result++#if ENABLE_OVERLOADING+data DocumentGetPageCountMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsDocument a) => O.MethodInfo DocumentGetPageCountMethodInfo a signature where+ overloadedMethod _ = documentGetPageCount++#endif++-- method Document::set_attribute_value+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "document", argType = TInterface (Name {namespace = "Atk", name = "Document"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkDocumentIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character string representing the name of the attribute\n whose value is being set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute_value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string value to be associated with #attribute_name.", 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 "atk_document_set_attribute_value" atk_document_set_attribute_value :: + Ptr Document -> -- document : TInterface (Name {namespace = "Atk", name = "Document"})+ CString -> -- attribute_name : TBasicType TUTF8+ CString -> -- attribute_value : TBasicType TUTF8+ IO CInt++{- |+/No description available in the introspection data./++/Since: 1.12/+-}+documentSetAttributeValue ::+ (B.CallStack.HasCallStack, MonadIO m, IsDocument a) =>+ a+ {- ^ /@document@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkDocumentIface -}+ -> T.Text+ {- ^ /@attributeName@/: a character string representing the name of the attribute+ whose value is being set. -}+ -> T.Text+ {- ^ /@attributeValue@/: a string value to be associated with @/attribute_name/@. -}+ -> m Bool+ {- ^ __Returns:__ TRUE if @/value/@ is successfully associated with @/attribute_name/@+ for this document, FALSE otherwise (e.g. if the document does not+ allow the attribute to be modified). -}+documentSetAttributeValue document attributeName attributeValue = liftIO $ do+ document' <- unsafeManagedPtrCastPtr document+ attributeName' <- textToCString attributeName+ attributeValue' <- textToCString attributeValue+ result <- atk_document_set_attribute_value document' attributeName' attributeValue'+ let result' = (/= 0) result+ touchManagedPtr document+ freeMem attributeName'+ freeMem attributeValue'+ return result'++#if ENABLE_OVERLOADING+data DocumentSetAttributeValueMethodInfo+instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m, IsDocument a) => O.MethodInfo DocumentSetAttributeValueMethodInfo a signature where+ overloadedMethod _ = documentSetAttributeValue++#endif++
+ GI/Atk/Interfaces/Document.hs-boot view
@@ -0,0 +1,65 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.Document 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++newtype Document = Document (ManagedPtr Document)+#if ENABLE_OVERLOADING+data DocumentLoadCompleteSignalInfo+#endif+#if ENABLE_OVERLOADING+data DocumentLoadStoppedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DocumentPageChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data DocumentReloadSignalInfo+#endif+instance GObject Document where+class (GObject o, O.IsDescendantOf Document o) => IsDocument o+instance (GObject o, O.IsDescendantOf Document o) => IsDocument o+instance O.HasParentTypes Document+#if ENABLE_OVERLOADING+data DocumentGetAttributeValueMethodInfo+#endif+#if ENABLE_OVERLOADING+data DocumentGetAttributesMethodInfo+#endif+#if ENABLE_OVERLOADING+data DocumentGetCurrentPageNumberMethodInfo+#endif+#if ENABLE_OVERLOADING+data DocumentGetDocumentMethodInfo+#endif+#if ENABLE_OVERLOADING+data DocumentGetDocumentTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data DocumentGetLocaleMethodInfo+#endif+#if ENABLE_OVERLOADING+data DocumentGetPageCountMethodInfo+#endif+#if ENABLE_OVERLOADING+data DocumentSetAttributeValueMethodInfo+#endif
+ GI/Atk/Interfaces/EditableText.hs view
@@ -0,0 +1,445 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Atk.Interfaces.EditableText.EditableText' should be implemented by UI components which+contain text which the user can edit, via the 'GI.Atk.Objects.Object.Object'+corresponding to that component (see 'GI.Atk.Objects.Object.Object').++'GI.Atk.Interfaces.EditableText.EditableText' is a subclass of 'GI.Atk.Interfaces.Text.Text', and as such, an object+which implements 'GI.Atk.Interfaces.EditableText.EditableText' is by definition an 'GI.Atk.Interfaces.Text.Text'+implementor as well.++See also: 'GI.Atk.Interfaces.Text.Text'+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.EditableText+ ( ++-- * Exported types+ EditableText(..) ,+ noEditableText ,+ IsEditableText ,+++ -- * Methods+-- ** copyText #method:copyText#++#if ENABLE_OVERLOADING+ EditableTextCopyTextMethodInfo ,+#endif+ editableTextCopyText ,+++-- ** cutText #method:cutText#++#if ENABLE_OVERLOADING+ EditableTextCutTextMethodInfo ,+#endif+ editableTextCutText ,+++-- ** deleteText #method:deleteText#++#if ENABLE_OVERLOADING+ EditableTextDeleteTextMethodInfo ,+#endif+ editableTextDeleteText ,+++-- ** insertText #method:insertText#++#if ENABLE_OVERLOADING+ EditableTextInsertTextMethodInfo ,+#endif+ editableTextInsertText ,+++-- ** pasteText #method:pasteText#++#if ENABLE_OVERLOADING+ EditableTextPasteTextMethodInfo ,+#endif+ editableTextPasteText ,+++-- ** setRunAttributes #method:setRunAttributes#++#if ENABLE_OVERLOADING+ EditableTextSetRunAttributesMethodInfo ,+#endif+ editableTextSetRunAttributes ,+++-- ** setTextContents #method:setTextContents#++#if ENABLE_OVERLOADING+ EditableTextSetTextContentsMethodInfo ,+#endif+ editableTextSetTextContents ,+++++ ) 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+++-- interface EditableText +-- | Memory-managed wrapper type.+newtype EditableText = EditableText (ManagedPtr EditableText)+-- | A convenience alias for `Nothing` :: `Maybe` `EditableText`.+noEditableText :: Maybe EditableText+noEditableText = Nothing++#if ENABLE_OVERLOADING+type instance O.SignalList EditableText = EditableTextSignalList+type EditableTextSignalList = ('[ ] :: [(Symbol, *)])++#endif++-- | Type class for types which implement `EditableText`.+class ManagedPtrNewtype a => IsEditableText a+instance IsEditableText EditableText+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr EditableText where+ wrappedPtrCalloc = return nullPtr+ wrappedPtrCopy = return+ wrappedPtrFree = Nothing+++#if ENABLE_OVERLOADING+type family ResolveEditableTextMethod (t :: Symbol) (o :: *) :: * where+ ResolveEditableTextMethod "copyText" o = EditableTextCopyTextMethodInfo+ ResolveEditableTextMethod "cutText" o = EditableTextCutTextMethodInfo+ ResolveEditableTextMethod "deleteText" o = EditableTextDeleteTextMethodInfo+ ResolveEditableTextMethod "insertText" o = EditableTextInsertTextMethodInfo+ ResolveEditableTextMethod "pasteText" o = EditableTextPasteTextMethodInfo+ ResolveEditableTextMethod "setRunAttributes" o = EditableTextSetRunAttributesMethodInfo+ ResolveEditableTextMethod "setTextContents" o = EditableTextSetTextContentsMethodInfo+ ResolveEditableTextMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveEditableTextMethod t EditableText, O.MethodInfo info EditableText p) => OL.IsLabel t (EditableText -> 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 EditableText::copy_text+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "EditableText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkEditableText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_editable_text_copy_text" atk_editable_text_copy_text :: + Ptr EditableText -> -- text : TInterface (Name {namespace = "Atk", name = "EditableText"})+ Int32 -> -- start_pos : TBasicType TInt+ Int32 -> -- end_pos : TBasicType TInt+ IO ()++{- |+Copy text from /@startPos@/ up to, but not including /@endPos@/+to the clipboard.+-}+editableTextCopyText ::+ (B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.EditableText.EditableText' -}+ -> Int32+ {- ^ /@startPos@/: start position -}+ -> Int32+ {- ^ /@endPos@/: end position -}+ -> m ()+editableTextCopyText text startPos endPos = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ atk_editable_text_copy_text text' startPos endPos+ touchManagedPtr text+ return ()++#if ENABLE_OVERLOADING+data EditableTextCopyTextMethodInfo+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextCopyTextMethodInfo a signature where+ overloadedMethod _ = editableTextCopyText++#endif++-- method EditableText::cut_text+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "EditableText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkEditableText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_editable_text_cut_text" atk_editable_text_cut_text :: + Ptr EditableText -> -- text : TInterface (Name {namespace = "Atk", name = "EditableText"})+ Int32 -> -- start_pos : TBasicType TInt+ Int32 -> -- end_pos : TBasicType TInt+ IO ()++{- |+Copy text from /@startPos@/ up to, but not including /@endPos@/+to the clipboard and then delete from the widget.+-}+editableTextCutText ::+ (B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.EditableText.EditableText' -}+ -> Int32+ {- ^ /@startPos@/: start position -}+ -> Int32+ {- ^ /@endPos@/: end position -}+ -> m ()+editableTextCutText text startPos endPos = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ atk_editable_text_cut_text text' startPos endPos+ touchManagedPtr text+ return ()++#if ENABLE_OVERLOADING+data EditableTextCutTextMethodInfo+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextCutTextMethodInfo a signature where+ overloadedMethod _ = editableTextCutText++#endif++-- method EditableText::delete_text+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "EditableText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkEditableText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_editable_text_delete_text" atk_editable_text_delete_text :: + Ptr EditableText -> -- text : TInterface (Name {namespace = "Atk", name = "EditableText"})+ Int32 -> -- start_pos : TBasicType TInt+ Int32 -> -- end_pos : TBasicType TInt+ IO ()++{- |+Delete text /@startPos@/ up to, but not including /@endPos@/.+-}+editableTextDeleteText ::+ (B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.EditableText.EditableText' -}+ -> Int32+ {- ^ /@startPos@/: start position -}+ -> Int32+ {- ^ /@endPos@/: end position -}+ -> m ()+editableTextDeleteText text startPos endPos = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ atk_editable_text_delete_text text' startPos endPos+ touchManagedPtr text+ return ()++#if ENABLE_OVERLOADING+data EditableTextDeleteTextMethodInfo+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextDeleteTextMethodInfo a signature where+ overloadedMethod _ = editableTextDeleteText++#endif++-- method EditableText::insert_text+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "EditableText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkEditableText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of text to insert, in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The caller initializes this to\nthe position at which to insert the text. After the call it\npoints at the position after the newly inserted text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_editable_text_insert_text" atk_editable_text_insert_text :: + Ptr EditableText -> -- text : TInterface (Name {namespace = "Atk", name = "EditableText"})+ CString -> -- string : TBasicType TUTF8+ Int32 -> -- length : TBasicType TInt+ Int32 -> -- position : TBasicType TInt+ IO ()++{- |+Insert text at a given position.+-}+editableTextInsertText ::+ (B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.EditableText.EditableText' -}+ -> T.Text+ {- ^ /@string@/: the text to insert -}+ -> Int32+ {- ^ /@length@/: the length of text to insert, in bytes -}+ -> Int32+ {- ^ /@position@/: The caller initializes this to+the position at which to insert the text. After the call it+points at the position after the newly inserted text. -}+ -> m ()+editableTextInsertText text string length_ position = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ string' <- textToCString string+ atk_editable_text_insert_text text' string' length_ position+ touchManagedPtr text+ freeMem string'+ return ()++#if ENABLE_OVERLOADING+data EditableTextInsertTextMethodInfo+instance (signature ~ (T.Text -> Int32 -> Int32 -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextInsertTextMethodInfo a signature where+ overloadedMethod _ = editableTextInsertText++#endif++-- method EditableText::paste_text+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "EditableText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkEditableText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to paste", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_editable_text_paste_text" atk_editable_text_paste_text :: + Ptr EditableText -> -- text : TInterface (Name {namespace = "Atk", name = "EditableText"})+ Int32 -> -- position : TBasicType TInt+ IO ()++{- |+Paste text from clipboard to specified /@position@/.+-}+editableTextPasteText ::+ (B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.EditableText.EditableText' -}+ -> Int32+ {- ^ /@position@/: position to paste -}+ -> m ()+editableTextPasteText text position = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ atk_editable_text_paste_text text' position+ touchManagedPtr text+ return ()++#if ENABLE_OVERLOADING+data EditableTextPasteTextMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextPasteTextMethodInfo a signature where+ overloadedMethod _ = editableTextPasteText++#endif++-- method EditableText::set_run_attributes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "EditableText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkEditableText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrib_set", argType = TGSList (TBasicType TPtr), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkAttributeSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of range in which to set attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end of range in which to set attributes", 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 "atk_editable_text_set_run_attributes" atk_editable_text_set_run_attributes :: + Ptr EditableText -> -- text : TInterface (Name {namespace = "Atk", name = "EditableText"})+ Ptr (GSList (Ptr ())) -> -- attrib_set : TGSList (TBasicType TPtr)+ Int32 -> -- start_offset : TBasicType TInt+ Int32 -> -- end_offset : TBasicType TInt+ IO CInt++{- |+Sets the attributes for a specified range. See the ATK_ATTRIBUTE+macros (such as @/ATK_ATTRIBUTE_LEFT_MARGIN/@) for examples of attributes+that can be set. Note that other attributes that do not have corresponding+ATK_ATTRIBUTE macros may also be set for certain text widgets.+-}+editableTextSetRunAttributes ::+ (B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.EditableText.EditableText' -}+ -> [Ptr ()]+ {- ^ /@attribSet@/: an @/AtkAttributeSet/@ -}+ -> Int32+ {- ^ /@startOffset@/: start of range in which to set attributes -}+ -> Int32+ {- ^ /@endOffset@/: end of range in which to set attributes -}+ -> m Bool+ {- ^ __Returns:__ 'True' if attributes successfully set for the specified+range, otherwise 'False' -}+editableTextSetRunAttributes text attribSet startOffset endOffset = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ attribSet' <- packGSList attribSet+ result <- atk_editable_text_set_run_attributes text' attribSet' startOffset endOffset+ let result' = (/= 0) result+ touchManagedPtr text+ g_slist_free attribSet'+ return result'++#if ENABLE_OVERLOADING+data EditableTextSetRunAttributesMethodInfo+instance (signature ~ ([Ptr ()] -> Int32 -> Int32 -> m Bool), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextSetRunAttributesMethodInfo a signature where+ overloadedMethod _ = editableTextSetRunAttributes++#endif++-- method EditableText::set_text_contents+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "EditableText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkEditableText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string to set for text contents of @text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_editable_text_set_text_contents" atk_editable_text_set_text_contents :: + Ptr EditableText -> -- text : TInterface (Name {namespace = "Atk", name = "EditableText"})+ CString -> -- string : TBasicType TUTF8+ IO ()++{- |+Set text contents of /@text@/.+-}+editableTextSetTextContents ::+ (B.CallStack.HasCallStack, MonadIO m, IsEditableText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.EditableText.EditableText' -}+ -> T.Text+ {- ^ /@string@/: string to set for text contents of /@text@/ -}+ -> m ()+editableTextSetTextContents text string = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ string' <- textToCString string+ atk_editable_text_set_text_contents text' string'+ touchManagedPtr text+ freeMem string'+ return ()++#if ENABLE_OVERLOADING+data EditableTextSetTextContentsMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsEditableText a) => O.MethodInfo EditableTextSetTextContentsMethodInfo a signature where+ overloadedMethod _ = editableTextSetTextContents++#endif++
+ GI/Atk/Interfaces/EditableText.hs-boot view
@@ -0,0 +1,48 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.EditableText 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++newtype EditableText = EditableText (ManagedPtr EditableText)+class ManagedPtrNewtype a => IsEditableText a+instance WrappedPtr EditableText where+#if ENABLE_OVERLOADING+data EditableTextCopyTextMethodInfo+#endif+#if ENABLE_OVERLOADING+data EditableTextCutTextMethodInfo+#endif+#if ENABLE_OVERLOADING+data EditableTextDeleteTextMethodInfo+#endif+#if ENABLE_OVERLOADING+data EditableTextInsertTextMethodInfo+#endif+#if ENABLE_OVERLOADING+data EditableTextPasteTextMethodInfo+#endif+#if ENABLE_OVERLOADING+data EditableTextSetRunAttributesMethodInfo+#endif+#if ENABLE_OVERLOADING+data EditableTextSetTextContentsMethodInfo+#endif
+ GI/Atk/Interfaces/HyperlinkImpl.hs view
@@ -0,0 +1,161 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++AtkHyperlinkImpl allows AtkObjects to refer to their associated+AtkHyperlink instance, if one exists. AtkHyperlinkImpl differs+from AtkHyperlink in that AtkHyperlinkImpl is an interface, whereas+AtkHyperlink is a object type. The AtkHyperlinkImpl interface+allows a client to query an AtkObject for the availability of an+associated AtkHyperlink instance, and obtain that instance. It is+thus particularly useful in cases where embedded content or inline+content within a text object is present, since the embedding text+object implements AtkHypertext and the inline\/embedded objects are+exposed as children which implement AtkHyperlinkImpl, in addition+to their being obtainable via AtkHypertext:getLink followed by+AtkHyperlink:getObject.++The AtkHyperlinkImpl interface should be supported by objects+exposed within the hierarchy as children of an AtkHypertext+container which correspond to \"links\" or embedded content within+the text. HTML anchors are not, for instance, normally exposed+this way, but embedded images and components which appear inline in+the content of a text object are. The AtkHyperlinkIface interface+allows a means of determining which children are hyperlinks in this+sense of the word, and for obtaining their corresponding+AtkHyperlink object, from which the embedding range, URI, etc. can+be obtained.++To some extent this interface exists because, for historical+reasons, AtkHyperlink was defined as an object type, not an+interface. Thus, in order to interact with AtkObjects via+AtkHyperlink semantics, a new interface was required.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.HyperlinkImpl+ ( ++-- * Exported types+ HyperlinkImpl(..) ,+ noHyperlinkImpl ,+ IsHyperlinkImpl ,+++ -- * Methods+-- ** getHyperlink #method:getHyperlink#++#if ENABLE_OVERLOADING+ HyperlinkImplGetHyperlinkMethodInfo ,+#endif+ hyperlinkImplGetHyperlink ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Hyperlink as Atk.Hyperlink++-- interface HyperlinkImpl +-- | Memory-managed wrapper type.+newtype HyperlinkImpl = HyperlinkImpl (ManagedPtr HyperlinkImpl)+-- | A convenience alias for `Nothing` :: `Maybe` `HyperlinkImpl`.+noHyperlinkImpl :: Maybe HyperlinkImpl+noHyperlinkImpl = Nothing++#if ENABLE_OVERLOADING+type instance O.SignalList HyperlinkImpl = HyperlinkImplSignalList+type HyperlinkImplSignalList = ('[ ] :: [(Symbol, *)])++#endif++-- | Type class for types which implement `HyperlinkImpl`.+class ManagedPtrNewtype a => IsHyperlinkImpl a+instance IsHyperlinkImpl HyperlinkImpl+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr HyperlinkImpl where+ wrappedPtrCalloc = return nullPtr+ wrappedPtrCopy = return+ wrappedPtrFree = Nothing+++#if ENABLE_OVERLOADING+type family ResolveHyperlinkImplMethod (t :: Symbol) (o :: *) :: * where+ ResolveHyperlinkImplMethod "getHyperlink" o = HyperlinkImplGetHyperlinkMethodInfo+ ResolveHyperlinkImplMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveHyperlinkImplMethod t HyperlinkImpl, O.MethodInfo info HyperlinkImpl p) => OL.IsLabel t (HyperlinkImpl -> 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 HyperlinkImpl::get_hyperlink+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "impl", argType = TInterface (Name {namespace = "Atk", name = "HyperlinkImpl"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkHyperlinkImplIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Hyperlink"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_hyperlink_impl_get_hyperlink" atk_hyperlink_impl_get_hyperlink :: + Ptr HyperlinkImpl -> -- impl : TInterface (Name {namespace = "Atk", name = "HyperlinkImpl"})+ IO (Ptr Atk.Hyperlink.Hyperlink)++{- |+Gets the hyperlink associated with this object.++/Since: 1.12/+-}+hyperlinkImplGetHyperlink ::+ (B.CallStack.HasCallStack, MonadIO m, IsHyperlinkImpl a) =>+ a+ {- ^ /@impl@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkHyperlinkImplIface -}+ -> m Atk.Hyperlink.Hyperlink+ {- ^ __Returns:__ an AtkHyperlink object which points to this+implementing AtkObject. -}+hyperlinkImplGetHyperlink impl = liftIO $ do+ impl' <- unsafeManagedPtrCastPtr impl+ result <- atk_hyperlink_impl_get_hyperlink impl'+ checkUnexpectedReturnNULL "hyperlinkImplGetHyperlink" result+ result' <- (wrapObject Atk.Hyperlink.Hyperlink) result+ touchManagedPtr impl+ return result'++#if ENABLE_OVERLOADING+data HyperlinkImplGetHyperlinkMethodInfo+instance (signature ~ (m Atk.Hyperlink.Hyperlink), MonadIO m, IsHyperlinkImpl a) => O.MethodInfo HyperlinkImplGetHyperlinkMethodInfo a signature where+ overloadedMethod _ = hyperlinkImplGetHyperlink++#endif++
+ GI/Atk/Interfaces/HyperlinkImpl.hs-boot view
@@ -0,0 +1,30 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.HyperlinkImpl 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++newtype HyperlinkImpl = HyperlinkImpl (ManagedPtr HyperlinkImpl)+class ManagedPtrNewtype a => IsHyperlinkImpl a+instance WrappedPtr HyperlinkImpl where+#if ENABLE_OVERLOADING+data HyperlinkImplGetHyperlinkMethodInfo+#endif
+ GI/Atk/Interfaces/Hypertext.hs view
@@ -0,0 +1,370 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++An interface used for objects which implement linking between+multiple resource or content locations, or multiple \'markers\'+within a single document. A Hypertext instance is associated with+one or more Hyperlinks, which are associated with particular+offsets within the Hypertext\'s included content. While this+interface is derived from Text, there is no requirement that+Hypertext instances have textual content; they may implement Image+as well, and Hyperlinks need not have non-zero text offsets.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.Hypertext+ ( ++-- * Exported types+ Hypertext(..) ,+ noHypertext ,+ IsHypertext ,+ toHypertext ,+++ -- * Methods+-- ** getLink #method:getLink#++#if ENABLE_OVERLOADING+ HypertextGetLinkMethodInfo ,+#endif+ hypertextGetLink ,+++-- ** getLinkIndex #method:getLinkIndex#++#if ENABLE_OVERLOADING+ HypertextGetLinkIndexMethodInfo ,+#endif+ hypertextGetLinkIndex ,+++-- ** getNLinks #method:getNLinks#++#if ENABLE_OVERLOADING+ HypertextGetNLinksMethodInfo ,+#endif+ hypertextGetNLinks ,+++++ -- * Signals+-- ** linkSelected #signal:linkSelected#++ C_HypertextLinkSelectedCallback ,+ HypertextLinkSelectedCallback ,+#if ENABLE_OVERLOADING+ HypertextLinkSelectedSignalInfo ,+#endif+ afterHypertextLinkSelected ,+ genClosure_HypertextLinkSelected ,+ mk_HypertextLinkSelectedCallback ,+ noHypertextLinkSelectedCallback ,+ onHypertextLinkSelected ,+ wrap_HypertextLinkSelectedCallback ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Hyperlink as Atk.Hyperlink+import qualified GI.GObject.Objects.Object as GObject.Object++-- interface Hypertext +-- | Memory-managed wrapper type.+newtype Hypertext = Hypertext (ManagedPtr Hypertext)+-- | A convenience alias for `Nothing` :: `Maybe` `Hypertext`.+noHypertext :: Maybe Hypertext+noHypertext = Nothing++-- signal Hypertext::link-selected+{- |+The \"link-selected\" signal is emitted by an AtkHyperText+object when one of the hyperlinks associated with the object+is selected.+-}+type HypertextLinkSelectedCallback =+ Int32+ {- ^ /@arg1@/: the index of the hyperlink which is selected -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `HypertextLinkSelectedCallback`@.+noHypertextLinkSelectedCallback :: Maybe HypertextLinkSelectedCallback+noHypertextLinkSelectedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_HypertextLinkSelectedCallback =+ Ptr () -> -- object+ Int32 ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_HypertextLinkSelectedCallback`.+foreign import ccall "wrapper"+ mk_HypertextLinkSelectedCallback :: C_HypertextLinkSelectedCallback -> IO (FunPtr C_HypertextLinkSelectedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_HypertextLinkSelected :: MonadIO m => HypertextLinkSelectedCallback -> m (GClosure C_HypertextLinkSelectedCallback)+genClosure_HypertextLinkSelected cb = liftIO $ do+ let cb' = wrap_HypertextLinkSelectedCallback cb+ mk_HypertextLinkSelectedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `HypertextLinkSelectedCallback` into a `C_HypertextLinkSelectedCallback`.+wrap_HypertextLinkSelectedCallback ::+ HypertextLinkSelectedCallback ->+ C_HypertextLinkSelectedCallback+wrap_HypertextLinkSelectedCallback _cb _ arg1 _ = do+ _cb arg1+++{- |+Connect a signal handler for the “@link-selected@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' hypertext #linkSelected callback+@+-}+onHypertextLinkSelected :: (IsHypertext a, MonadIO m) => a -> HypertextLinkSelectedCallback -> m SignalHandlerId+onHypertextLinkSelected obj cb = liftIO $ do+ let cb' = wrap_HypertextLinkSelectedCallback cb+ cb'' <- mk_HypertextLinkSelectedCallback cb'+ connectSignalFunPtr obj "link-selected" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@link-selected@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' hypertext #linkSelected callback+@+-}+afterHypertextLinkSelected :: (IsHypertext a, MonadIO m) => a -> HypertextLinkSelectedCallback -> m SignalHandlerId+afterHypertextLinkSelected obj cb = liftIO $ do+ let cb' = wrap_HypertextLinkSelectedCallback cb+ cb'' <- mk_HypertextLinkSelectedCallback cb'+ connectSignalFunPtr obj "link-selected" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+data HypertextLinkSelectedSignalInfo+instance SignalInfo HypertextLinkSelectedSignalInfo where+ type HaskellCallbackType HypertextLinkSelectedSignalInfo = HypertextLinkSelectedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_HypertextLinkSelectedCallback cb+ cb'' <- mk_HypertextLinkSelectedCallback cb'+ connectSignalFunPtr obj "link-selected" cb'' connectMode++type instance O.SignalList Hypertext = HypertextSignalList+type HypertextSignalList = ('[ '("linkSelected", HypertextLinkSelectedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "atk_hypertext_get_type"+ c_atk_hypertext_get_type :: IO GType++instance GObject Hypertext where+ gobjectType = c_atk_hypertext_get_type+ ++-- | Type class for types which can be safely cast to `Hypertext`, for instance with `toHypertext`.+class (GObject o, O.IsDescendantOf Hypertext o) => IsHypertext o+instance (GObject o, O.IsDescendantOf Hypertext o) => IsHypertext o++instance O.HasParentTypes Hypertext+type instance O.ParentTypes Hypertext = '[GObject.Object.Object]++-- | Cast to `Hypertext`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toHypertext :: (MonadIO m, IsHypertext o) => o -> m Hypertext+toHypertext = liftIO . unsafeCastTo Hypertext++#if ENABLE_OVERLOADING+instance O.HasAttributeList Hypertext+type instance O.AttributeList Hypertext = HypertextAttributeList+type HypertextAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveHypertextMethod (t :: Symbol) (o :: *) :: * where+ ResolveHypertextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveHypertextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveHypertextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveHypertextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveHypertextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveHypertextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveHypertextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveHypertextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveHypertextMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveHypertextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveHypertextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveHypertextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveHypertextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveHypertextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveHypertextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveHypertextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveHypertextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveHypertextMethod "getLink" o = HypertextGetLinkMethodInfo+ ResolveHypertextMethod "getLinkIndex" o = HypertextGetLinkIndexMethodInfo+ ResolveHypertextMethod "getNLinks" o = HypertextGetNLinksMethodInfo+ ResolveHypertextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveHypertextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveHypertextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveHypertextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveHypertextMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveHypertextMethod t Hypertext, O.MethodInfo info Hypertext p) => OL.IsLabel t (Hypertext -> 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 Hypertext::get_link+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "hypertext", argType = TInterface (Name {namespace = "Atk", name = "Hypertext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHypertext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "link_index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an integer specifying the desired link", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Hyperlink"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_hypertext_get_link" atk_hypertext_get_link :: + Ptr Hypertext -> -- hypertext : TInterface (Name {namespace = "Atk", name = "Hypertext"})+ Int32 -> -- link_index : TBasicType TInt+ IO (Ptr Atk.Hyperlink.Hyperlink)++{- |+Gets the link in this hypertext document at index+/@linkIndex@/+-}+hypertextGetLink ::+ (B.CallStack.HasCallStack, MonadIO m, IsHypertext a) =>+ a+ {- ^ /@hypertext@/: an 'GI.Atk.Interfaces.Hypertext.Hypertext' -}+ -> Int32+ {- ^ /@linkIndex@/: an integer specifying the desired link -}+ -> m Atk.Hyperlink.Hyperlink+ {- ^ __Returns:__ the link in this hypertext document at+index /@linkIndex@/ -}+hypertextGetLink hypertext linkIndex = liftIO $ do+ hypertext' <- unsafeManagedPtrCastPtr hypertext+ result <- atk_hypertext_get_link hypertext' linkIndex+ checkUnexpectedReturnNULL "hypertextGetLink" result+ result' <- (newObject Atk.Hyperlink.Hyperlink) result+ touchManagedPtr hypertext+ return result'++#if ENABLE_OVERLOADING+data HypertextGetLinkMethodInfo+instance (signature ~ (Int32 -> m Atk.Hyperlink.Hyperlink), MonadIO m, IsHypertext a) => O.MethodInfo HypertextGetLinkMethodInfo a signature where+ overloadedMethod _ = hypertextGetLink++#endif++-- method Hypertext::get_link_index+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "hypertext", argType = TInterface (Name {namespace = "Atk", name = "Hypertext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHypertext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "char_index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character index", 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 "atk_hypertext_get_link_index" atk_hypertext_get_link_index :: + Ptr Hypertext -> -- hypertext : TInterface (Name {namespace = "Atk", name = "Hypertext"})+ Int32 -> -- char_index : TBasicType TInt+ IO Int32++{- |+Gets the index into the array of hyperlinks that is associated with+the character specified by /@charIndex@/.+-}+hypertextGetLinkIndex ::+ (B.CallStack.HasCallStack, MonadIO m, IsHypertext a) =>+ a+ {- ^ /@hypertext@/: an 'GI.Atk.Interfaces.Hypertext.Hypertext' -}+ -> Int32+ {- ^ /@charIndex@/: a character index -}+ -> m Int32+ {- ^ __Returns:__ an index into the array of hyperlinks in /@hypertext@/,+or -1 if there is no hyperlink associated with this character. -}+hypertextGetLinkIndex hypertext charIndex = liftIO $ do+ hypertext' <- unsafeManagedPtrCastPtr hypertext+ result <- atk_hypertext_get_link_index hypertext' charIndex+ touchManagedPtr hypertext+ return result++#if ENABLE_OVERLOADING+data HypertextGetLinkIndexMethodInfo+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsHypertext a) => O.MethodInfo HypertextGetLinkIndexMethodInfo a signature where+ overloadedMethod _ = hypertextGetLinkIndex++#endif++-- method Hypertext::get_n_links+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "hypertext", argType = TInterface (Name {namespace = "Atk", name = "Hypertext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHypertext", 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 "atk_hypertext_get_n_links" atk_hypertext_get_n_links :: + Ptr Hypertext -> -- hypertext : TInterface (Name {namespace = "Atk", name = "Hypertext"})+ IO Int32++{- |+Gets the number of links within this hypertext document.+-}+hypertextGetNLinks ::+ (B.CallStack.HasCallStack, MonadIO m, IsHypertext a) =>+ a+ {- ^ /@hypertext@/: an 'GI.Atk.Interfaces.Hypertext.Hypertext' -}+ -> m Int32+ {- ^ __Returns:__ the number of links within this hypertext document -}+hypertextGetNLinks hypertext = liftIO $ do+ hypertext' <- unsafeManagedPtrCastPtr hypertext+ result <- atk_hypertext_get_n_links hypertext'+ touchManagedPtr hypertext+ return result++#if ENABLE_OVERLOADING+data HypertextGetNLinksMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsHypertext a) => O.MethodInfo HypertextGetNLinksMethodInfo a signature where+ overloadedMethod _ = hypertextGetNLinks++#endif++
+ GI/Atk/Interfaces/Hypertext.hs-boot view
@@ -0,0 +1,41 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.Hypertext 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++newtype Hypertext = Hypertext (ManagedPtr Hypertext)+#if ENABLE_OVERLOADING+data HypertextLinkSelectedSignalInfo+#endif+instance GObject Hypertext where+class (GObject o, O.IsDescendantOf Hypertext o) => IsHypertext o+instance (GObject o, O.IsDescendantOf Hypertext o) => IsHypertext o+instance O.HasParentTypes Hypertext+#if ENABLE_OVERLOADING+data HypertextGetLinkMethodInfo+#endif+#if ENABLE_OVERLOADING+data HypertextGetLinkIndexMethodInfo+#endif+#if ENABLE_OVERLOADING+data HypertextGetNLinksMethodInfo+#endif
+ GI/Atk/Interfaces/Image.hs view
@@ -0,0 +1,351 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Atk.Interfaces.Image.Image' should be implemented by 'GI.Atk.Objects.Object.Object' subtypes on behalf of+components which display image\/pixmap information onscreen, and+which provide information (other than just widget borders, etc.)+via that image content. For instance, icons, buttons with icons,+toolbar elements, and image viewing panes typically should+implement 'GI.Atk.Interfaces.Image.Image'.++'GI.Atk.Interfaces.Image.Image' primarily provides two types of information: coordinate+information (useful for screen review mode of screenreaders, and+for use by onscreen magnifiers), and descriptive information. The+descriptive information is provided for alternative, text-only+presentation of the most significant information present in the+image.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.Image+ ( ++-- * Exported types+ Image(..) ,+ noImage ,+ IsImage ,+++ -- * Methods+-- ** getImageDescription #method:getImageDescription#++#if ENABLE_OVERLOADING+ ImageGetImageDescriptionMethodInfo ,+#endif+ imageGetImageDescription ,+++-- ** getImageLocale #method:getImageLocale#++#if ENABLE_OVERLOADING+ ImageGetImageLocaleMethodInfo ,+#endif+ imageGetImageLocale ,+++-- ** getImagePosition #method:getImagePosition#++#if ENABLE_OVERLOADING+ ImageGetImagePositionMethodInfo ,+#endif+ imageGetImagePosition ,+++-- ** getImageSize #method:getImageSize#++#if ENABLE_OVERLOADING+ ImageGetImageSizeMethodInfo ,+#endif+ imageGetImageSize ,+++-- ** setImageDescription #method:setImageDescription#++#if ENABLE_OVERLOADING+ ImageSetImageDescriptionMethodInfo ,+#endif+ imageSetImageDescription ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Enums as Atk.Enums++-- interface Image +-- | Memory-managed wrapper type.+newtype Image = Image (ManagedPtr Image)+-- | A convenience alias for `Nothing` :: `Maybe` `Image`.+noImage :: Maybe Image+noImage = Nothing++#if ENABLE_OVERLOADING+type instance O.SignalList Image = ImageSignalList+type ImageSignalList = ('[ ] :: [(Symbol, *)])++#endif++-- | Type class for types which implement `Image`.+class ManagedPtrNewtype a => IsImage a+instance IsImage Image+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr Image where+ wrappedPtrCalloc = return nullPtr+ wrappedPtrCopy = return+ wrappedPtrFree = Nothing+++#if ENABLE_OVERLOADING+type family ResolveImageMethod (t :: Symbol) (o :: *) :: * where+ ResolveImageMethod "getImageDescription" o = ImageGetImageDescriptionMethodInfo+ ResolveImageMethod "getImageLocale" o = ImageGetImageLocaleMethodInfo+ ResolveImageMethod "getImagePosition" o = ImageGetImagePositionMethodInfo+ ResolveImageMethod "getImageSize" o = ImageGetImageSizeMethodInfo+ ResolveImageMethod "setImageDescription" o = ImageSetImageDescriptionMethodInfo+ ResolveImageMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveImageMethod t Image, O.MethodInfo info Image p) => OL.IsLabel t (Image -> 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 Image::get_image_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Atk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkImageIface", 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 "atk_image_get_image_description" atk_image_get_image_description :: + Ptr Image -> -- image : TInterface (Name {namespace = "Atk", name = "Image"})+ IO CString++{- |+Get a textual description of this image.+-}+imageGetImageDescription ::+ (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>+ a+ {- ^ /@image@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkImageIface -}+ -> m T.Text+ {- ^ __Returns:__ a string representing the image description -}+imageGetImageDescription image = liftIO $ do+ image' <- unsafeManagedPtrCastPtr image+ result <- atk_image_get_image_description image'+ checkUnexpectedReturnNULL "imageGetImageDescription" result+ result' <- cstringToText result+ touchManagedPtr image+ return result'++#if ENABLE_OVERLOADING+data ImageGetImageDescriptionMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsImage a) => O.MethodInfo ImageGetImageDescriptionMethodInfo a signature where+ overloadedMethod _ = imageGetImageDescription++#endif++-- method Image::get_image_locale+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Atk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #AtkImage", 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 "atk_image_get_image_locale" atk_image_get_image_locale :: + Ptr Image -> -- image : TInterface (Name {namespace = "Atk", name = "Image"})+ IO CString++{- |+/No description available in the introspection data./++/Since: 1.12/+-}+imageGetImageLocale ::+ (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>+ a+ {- ^ /@image@/: An 'GI.Atk.Interfaces.Image.Image' -}+ -> m (Maybe T.Text)+ {- ^ __Returns:__ a string corresponding to the POSIX+LC_MESSAGES locale used by the image description, or 'Nothing' if the+image does not specify a locale. -}+imageGetImageLocale image = liftIO $ do+ image' <- unsafeManagedPtrCastPtr image+ result <- atk_image_get_image_locale image'+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- cstringToText result'+ return result''+ touchManagedPtr image+ return maybeResult++#if ENABLE_OVERLOADING+data ImageGetImageLocaleMethodInfo+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsImage a) => O.MethodInfo ImageGetImageLocaleMethodInfo a signature where+ overloadedMethod _ = imageGetImageLocale++#endif++-- method Image::get_image_position+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Atk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkImageIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "coord_type", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies whether the coordinates are relative to the screen\nor to the components top level window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_image_get_image_position" atk_image_get_image_position :: + Ptr Image -> -- image : TInterface (Name {namespace = "Atk", name = "Image"})+ Ptr Int32 -> -- x : TBasicType TInt+ Ptr Int32 -> -- y : TBasicType TInt+ CUInt -> -- coord_type : TInterface (Name {namespace = "Atk", name = "CoordType"})+ IO ()++{- |+Gets the position of the image in the form of a point specifying the+images top-left corner.+-}+imageGetImagePosition ::+ (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>+ a+ {- ^ /@image@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkImageIface -}+ -> Atk.Enums.CoordType+ {- ^ /@coordType@/: specifies whether the coordinates are relative to the screen+or to the components top level window -}+ -> m ((Int32, Int32))+imageGetImagePosition image coordType = liftIO $ do+ image' <- unsafeManagedPtrCastPtr image+ x <- allocMem :: IO (Ptr Int32)+ y <- allocMem :: IO (Ptr Int32)+ let coordType' = (fromIntegral . fromEnum) coordType+ atk_image_get_image_position image' x y coordType'+ x' <- peek x+ y' <- peek y+ touchManagedPtr image+ freeMem x+ freeMem y+ return (x', y')++#if ENABLE_OVERLOADING+data ImageGetImagePositionMethodInfo+instance (signature ~ (Atk.Enums.CoordType -> m ((Int32, Int32))), MonadIO m, IsImage a) => O.MethodInfo ImageGetImagePositionMethodInfo a signature where+ overloadedMethod _ = imageGetImagePosition++#endif++-- method Image::get_image_size+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Atk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkImageIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "filled with the image width, or -1 if the value cannot be obtained.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "filled with the image height, or -1 if the value cannot be obtained.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_image_get_image_size" atk_image_get_image_size :: + Ptr Image -> -- image : TInterface (Name {namespace = "Atk", name = "Image"})+ Ptr Int32 -> -- width : TBasicType TInt+ Ptr Int32 -> -- height : TBasicType TInt+ IO ()++{- |+Get the width and height in pixels for the specified image.+The values of /@width@/ and /@height@/ are returned as -1 if the+values cannot be obtained (for instance, if the object is not onscreen).+-}+imageGetImageSize ::+ (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>+ a+ {- ^ /@image@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkImageIface -}+ -> m ((Int32, Int32))+imageGetImageSize image = liftIO $ do+ image' <- unsafeManagedPtrCastPtr image+ width <- allocMem :: IO (Ptr Int32)+ height <- allocMem :: IO (Ptr Int32)+ atk_image_get_image_size image' width height+ width' <- peek width+ height' <- peek height+ touchManagedPtr image+ freeMem width+ freeMem height+ return (width', height')++#if ENABLE_OVERLOADING+data ImageGetImageSizeMethodInfo+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsImage a) => O.MethodInfo ImageGetImageSizeMethodInfo a signature where+ overloadedMethod _ = imageGetImageSize++#endif++-- method Image::set_image_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Atk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkImageIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string description to set for @image", 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 "atk_image_set_image_description" atk_image_set_image_description :: + Ptr Image -> -- image : TInterface (Name {namespace = "Atk", name = "Image"})+ CString -> -- description : TBasicType TUTF8+ IO CInt++{- |+Sets the textual description for this image.+-}+imageSetImageDescription ::+ (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>+ a+ {- ^ /@image@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkImageIface -}+ -> T.Text+ {- ^ /@description@/: a string description to set for /@image@/ -}+ -> m Bool+ {- ^ __Returns:__ boolean TRUE, or FALSE if operation could+not be completed. -}+imageSetImageDescription image description = liftIO $ do+ image' <- unsafeManagedPtrCastPtr image+ description' <- textToCString description+ result <- atk_image_set_image_description image' description'+ let result' = (/= 0) result+ touchManagedPtr image+ freeMem description'+ return result'++#if ENABLE_OVERLOADING+data ImageSetImageDescriptionMethodInfo+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsImage a) => O.MethodInfo ImageSetImageDescriptionMethodInfo a signature where+ overloadedMethod _ = imageSetImageDescription++#endif++
+ GI/Atk/Interfaces/Image.hs-boot view
@@ -0,0 +1,42 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.Image 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++newtype Image = Image (ManagedPtr Image)+class ManagedPtrNewtype a => IsImage a+instance WrappedPtr Image where+#if ENABLE_OVERLOADING+data ImageGetImageDescriptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data ImageGetImageLocaleMethodInfo+#endif+#if ENABLE_OVERLOADING+data ImageGetImagePositionMethodInfo+#endif+#if ENABLE_OVERLOADING+data ImageGetImageSizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data ImageSetImageDescriptionMethodInfo+#endif
+ GI/Atk/Interfaces/ImplementorIface.hs view
@@ -0,0 +1,84 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++The AtkImplementor interface is implemented by objects for which+AtkObject peers may be obtained via calls to+iface->(ref_accessible)(implementor);+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.ImplementorIface+ ( ++-- * Exported types+ ImplementorIface(..) ,+ noImplementorIface ,+ IsImplementorIface ,+++ ) 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+++-- interface ImplementorIface +-- | Memory-managed wrapper type.+newtype ImplementorIface = ImplementorIface (ManagedPtr ImplementorIface)+-- | A convenience alias for `Nothing` :: `Maybe` `ImplementorIface`.+noImplementorIface :: Maybe ImplementorIface+noImplementorIface = Nothing++#if ENABLE_OVERLOADING+type instance O.SignalList ImplementorIface = ImplementorIfaceSignalList+type ImplementorIfaceSignalList = ('[ ] :: [(Symbol, *)])++#endif++-- | Type class for types which implement `ImplementorIface`.+class ManagedPtrNewtype a => IsImplementorIface a+instance IsImplementorIface ImplementorIface+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr ImplementorIface where+ wrappedPtrCalloc = return nullPtr+ wrappedPtrCopy = return+ wrappedPtrFree = Nothing+++#if ENABLE_OVERLOADING+type family ResolveImplementorIfaceMethod (t :: Symbol) (o :: *) :: * where+ ResolveImplementorIfaceMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveImplementorIfaceMethod t ImplementorIface, O.MethodInfo info ImplementorIface p) => OL.IsLabel t (ImplementorIface -> 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++
+ GI/Atk/Interfaces/ImplementorIface.hs-boot view
@@ -0,0 +1,27 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.ImplementorIface 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++newtype ImplementorIface = ImplementorIface (ManagedPtr ImplementorIface)+class ManagedPtrNewtype a => IsImplementorIface a+instance WrappedPtr ImplementorIface where
+ GI/Atk/Interfaces/Selection.hs view
@@ -0,0 +1,570 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Atk.Interfaces.Selection.Selection' should be implemented by UI components with children+which are exposed by @/atk_object_ref_child/@ and+@/atk_object_get_n_children/@, if the use of the parent UI component+ordinarily involves selection of one or more of the objects+corresponding to those 'GI.Atk.Objects.Object.Object' children - for example,+selectable lists.++Note that other types of \"selection\" (for instance text selection)+are accomplished a other ATK interfaces - 'GI.Atk.Interfaces.Selection.Selection' is limited+to the selection\/deselection of children.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.Selection+ ( ++-- * Exported types+ Selection(..) ,+ noSelection ,+ IsSelection ,+ toSelection ,+++ -- * Methods+-- ** addSelection #method:addSelection#++#if ENABLE_OVERLOADING+ SelectionAddSelectionMethodInfo ,+#endif+ selectionAddSelection ,+++-- ** clearSelection #method:clearSelection#++#if ENABLE_OVERLOADING+ SelectionClearSelectionMethodInfo ,+#endif+ selectionClearSelection ,+++-- ** getSelectionCount #method:getSelectionCount#++#if ENABLE_OVERLOADING+ SelectionGetSelectionCountMethodInfo ,+#endif+ selectionGetSelectionCount ,+++-- ** isChildSelected #method:isChildSelected#++#if ENABLE_OVERLOADING+ SelectionIsChildSelectedMethodInfo ,+#endif+ selectionIsChildSelected ,+++-- ** refSelection #method:refSelection#++#if ENABLE_OVERLOADING+ SelectionRefSelectionMethodInfo ,+#endif+ selectionRefSelection ,+++-- ** removeSelection #method:removeSelection#++#if ENABLE_OVERLOADING+ SelectionRemoveSelectionMethodInfo ,+#endif+ selectionRemoveSelection ,+++-- ** selectAllSelection #method:selectAllSelection#++#if ENABLE_OVERLOADING+ SelectionSelectAllSelectionMethodInfo ,+#endif+ selectionSelectAllSelection ,+++++ -- * Signals+-- ** selectionChanged #signal:selectionChanged#++ C_SelectionSelectionChangedCallback ,+ SelectionSelectionChangedCallback ,+#if ENABLE_OVERLOADING+ SelectionSelectionChangedSignalInfo ,+#endif+ afterSelectionSelectionChanged ,+ genClosure_SelectionSelectionChanged ,+ mk_SelectionSelectionChangedCallback ,+ noSelectionSelectionChangedCallback ,+ onSelectionSelectionChanged ,+ wrap_SelectionSelectionChangedCallback ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object++-- interface Selection +-- | Memory-managed wrapper type.+newtype Selection = Selection (ManagedPtr Selection)+-- | A convenience alias for `Nothing` :: `Maybe` `Selection`.+noSelection :: Maybe Selection+noSelection = Nothing++-- signal Selection::selection-changed+{- |+The \"selection-changed\" signal is emitted by an object which+implements AtkSelection interface when the selection changes.+-}+type SelectionSelectionChangedCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `SelectionSelectionChangedCallback`@.+noSelectionSelectionChangedCallback :: Maybe SelectionSelectionChangedCallback+noSelectionSelectionChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_SelectionSelectionChangedCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_SelectionSelectionChangedCallback`.+foreign import ccall "wrapper"+ mk_SelectionSelectionChangedCallback :: C_SelectionSelectionChangedCallback -> IO (FunPtr C_SelectionSelectionChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_SelectionSelectionChanged :: MonadIO m => SelectionSelectionChangedCallback -> m (GClosure C_SelectionSelectionChangedCallback)+genClosure_SelectionSelectionChanged cb = liftIO $ do+ let cb' = wrap_SelectionSelectionChangedCallback cb+ mk_SelectionSelectionChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `SelectionSelectionChangedCallback` into a `C_SelectionSelectionChangedCallback`.+wrap_SelectionSelectionChangedCallback ::+ SelectionSelectionChangedCallback ->+ C_SelectionSelectionChangedCallback+wrap_SelectionSelectionChangedCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@selection-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' selection #selectionChanged callback+@+-}+onSelectionSelectionChanged :: (IsSelection a, MonadIO m) => a -> SelectionSelectionChangedCallback -> m SignalHandlerId+onSelectionSelectionChanged obj cb = liftIO $ do+ let cb' = wrap_SelectionSelectionChangedCallback cb+ cb'' <- mk_SelectionSelectionChangedCallback cb'+ connectSignalFunPtr obj "selection-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@selection-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' selection #selectionChanged callback+@+-}+afterSelectionSelectionChanged :: (IsSelection a, MonadIO m) => a -> SelectionSelectionChangedCallback -> m SignalHandlerId+afterSelectionSelectionChanged obj cb = liftIO $ do+ let cb' = wrap_SelectionSelectionChangedCallback cb+ cb'' <- mk_SelectionSelectionChangedCallback cb'+ connectSignalFunPtr obj "selection-changed" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+data SelectionSelectionChangedSignalInfo+instance SignalInfo SelectionSelectionChangedSignalInfo where+ type HaskellCallbackType SelectionSelectionChangedSignalInfo = SelectionSelectionChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_SelectionSelectionChangedCallback cb+ cb'' <- mk_SelectionSelectionChangedCallback cb'+ connectSignalFunPtr obj "selection-changed" cb'' connectMode++type instance O.SignalList Selection = SelectionSignalList+type SelectionSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("selectionChanged", SelectionSelectionChangedSignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "atk_selection_get_type"+ c_atk_selection_get_type :: IO GType++instance GObject Selection where+ gobjectType = c_atk_selection_get_type+ ++-- | Type class for types which can be safely cast to `Selection`, for instance with `toSelection`.+class (GObject o, O.IsDescendantOf Selection o) => IsSelection o+instance (GObject o, O.IsDescendantOf Selection o) => IsSelection o++instance O.HasParentTypes Selection+type instance O.ParentTypes Selection = '[GObject.Object.Object]++-- | Cast to `Selection`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toSelection :: (MonadIO m, IsSelection o) => o -> m Selection+toSelection = liftIO . unsafeCastTo Selection++#if ENABLE_OVERLOADING+instance O.HasAttributeList Selection+type instance O.AttributeList Selection = SelectionAttributeList+type SelectionAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveSelectionMethod (t :: Symbol) (o :: *) :: * where+ ResolveSelectionMethod "addSelection" o = SelectionAddSelectionMethodInfo+ ResolveSelectionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveSelectionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveSelectionMethod "clearSelection" o = SelectionClearSelectionMethodInfo+ ResolveSelectionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveSelectionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveSelectionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveSelectionMethod "isChildSelected" o = SelectionIsChildSelectedMethodInfo+ ResolveSelectionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveSelectionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveSelectionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveSelectionMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveSelectionMethod "refSelection" o = SelectionRefSelectionMethodInfo+ ResolveSelectionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveSelectionMethod "removeSelection" o = SelectionRemoveSelectionMethodInfo+ ResolveSelectionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveSelectionMethod "selectAllSelection" o = SelectionSelectAllSelectionMethodInfo+ ResolveSelectionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveSelectionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveSelectionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveSelectionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveSelectionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveSelectionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveSelectionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveSelectionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveSelectionMethod "getSelectionCount" o = SelectionGetSelectionCountMethodInfo+ ResolveSelectionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveSelectionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveSelectionMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveSelectionMethod t Selection, O.MethodInfo info Selection p) => OL.IsLabel t (Selection -> 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 Selection::add_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Atk", name = "Selection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkSelectionIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint specifying the child index.", 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 "atk_selection_add_selection" atk_selection_add_selection :: + Ptr Selection -> -- selection : TInterface (Name {namespace = "Atk", name = "Selection"})+ Int32 -> -- i : TBasicType TInt+ IO CInt++{- |+Adds the specified accessible child of the object to the+object\'s selection.+-}+selectionAddSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsSelection a) =>+ a+ {- ^ /@selection@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkSelectionIface -}+ -> Int32+ {- ^ /@i@/: a @/gint/@ specifying the child index. -}+ -> m Bool+ {- ^ __Returns:__ TRUE if success, FALSE otherwise. -}+selectionAddSelection selection i = liftIO $ do+ selection' <- unsafeManagedPtrCastPtr selection+ result <- atk_selection_add_selection selection' i+ let result' = (/= 0) result+ touchManagedPtr selection+ return result'++#if ENABLE_OVERLOADING+data SelectionAddSelectionMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsSelection a) => O.MethodInfo SelectionAddSelectionMethodInfo a signature where+ overloadedMethod _ = selectionAddSelection++#endif++-- method Selection::clear_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Atk", name = "Selection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkSelectionIface", 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 "atk_selection_clear_selection" atk_selection_clear_selection :: + Ptr Selection -> -- selection : TInterface (Name {namespace = "Atk", name = "Selection"})+ IO CInt++{- |+Clears the selection in the object so that no children in the object+are selected.+-}+selectionClearSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsSelection a) =>+ a+ {- ^ /@selection@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkSelectionIface -}+ -> m Bool+ {- ^ __Returns:__ TRUE if success, FALSE otherwise. -}+selectionClearSelection selection = liftIO $ do+ selection' <- unsafeManagedPtrCastPtr selection+ result <- atk_selection_clear_selection selection'+ let result' = (/= 0) result+ touchManagedPtr selection+ return result'++#if ENABLE_OVERLOADING+data SelectionClearSelectionMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsSelection a) => O.MethodInfo SelectionClearSelectionMethodInfo a signature where+ overloadedMethod _ = selectionClearSelection++#endif++-- method Selection::get_selection_count+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Atk", name = "Selection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkSelectionIface", 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 "atk_selection_get_selection_count" atk_selection_get_selection_count :: + Ptr Selection -> -- selection : TInterface (Name {namespace = "Atk", name = "Selection"})+ IO Int32++{- |+Gets the number of accessible children currently selected.+Note: callers should not rely on 'Nothing' or on a zero value for+indication of whether AtkSelectionIface is implemented, they should+use type checking\/interface checking macros or the+@/atk_get_accessible_value()/@ convenience method.+-}+selectionGetSelectionCount ::+ (B.CallStack.HasCallStack, MonadIO m, IsSelection a) =>+ a+ {- ^ /@selection@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkSelectionIface -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the number of items selected, or 0+if /@selection@/ does not implement this interface. -}+selectionGetSelectionCount selection = liftIO $ do+ selection' <- unsafeManagedPtrCastPtr selection+ result <- atk_selection_get_selection_count selection'+ touchManagedPtr selection+ return result++#if ENABLE_OVERLOADING+data SelectionGetSelectionCountMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsSelection a) => O.MethodInfo SelectionGetSelectionCountMethodInfo a signature where+ overloadedMethod _ = selectionGetSelectionCount++#endif++-- method Selection::is_child_selected+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Atk", name = "Selection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkSelectionIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint specifying the child index.", 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 "atk_selection_is_child_selected" atk_selection_is_child_selected :: + Ptr Selection -> -- selection : TInterface (Name {namespace = "Atk", name = "Selection"})+ Int32 -> -- i : TBasicType TInt+ IO CInt++{- |+Determines if the current child of this object is selected+Note: callers should not rely on 'Nothing' or on a zero value for+indication of whether AtkSelectionIface is implemented, they should+use type checking\/interface checking macros or the+@/atk_get_accessible_value()/@ convenience method.+-}+selectionIsChildSelected ::+ (B.CallStack.HasCallStack, MonadIO m, IsSelection a) =>+ a+ {- ^ /@selection@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkSelectionIface -}+ -> Int32+ {- ^ /@i@/: a @/gint/@ specifying the child index. -}+ -> m Bool+ {- ^ __Returns:__ a gboolean representing the specified child is selected, or 0+if /@selection@/ does not implement this interface. -}+selectionIsChildSelected selection i = liftIO $ do+ selection' <- unsafeManagedPtrCastPtr selection+ result <- atk_selection_is_child_selected selection' i+ let result' = (/= 0) result+ touchManagedPtr selection+ return result'++#if ENABLE_OVERLOADING+data SelectionIsChildSelectedMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsSelection a) => O.MethodInfo SelectionIsChildSelectedMethodInfo a signature where+ overloadedMethod _ = selectionIsChildSelected++#endif++-- method Selection::ref_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Atk", name = "Selection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkSelectionIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint specifying the index in the selection set. (e.g. the\nith selection as opposed to the ith child).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_selection_ref_selection" atk_selection_ref_selection :: + Ptr Selection -> -- selection : TInterface (Name {namespace = "Atk", name = "Selection"})+ Int32 -> -- i : TBasicType TInt+ IO (Ptr Atk.Object.Object)++{- |+Gets a reference to the accessible object representing the specified+selected child of the object.+Note: callers should not rely on 'Nothing' or on a zero value for+indication of whether AtkSelectionIface is implemented, they should+use type checking\/interface checking macros or the+@/atk_get_accessible_value()/@ convenience method.+-}+selectionRefSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsSelection a) =>+ a+ {- ^ /@selection@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkSelectionIface -}+ -> Int32+ {- ^ /@i@/: a @/gint/@ specifying the index in the selection set. (e.g. the+ith selection as opposed to the ith child). -}+ -> m (Maybe Atk.Object.Object)+ {- ^ __Returns:__ an 'GI.Atk.Objects.Object.Object' representing the+selected accessible, or 'Nothing' if /@selection@/ does not implement this+interface. -}+selectionRefSelection selection i = liftIO $ do+ selection' <- unsafeManagedPtrCastPtr selection+ result <- atk_selection_ref_selection selection' i+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- (wrapObject Atk.Object.Object) result'+ return result''+ touchManagedPtr selection+ return maybeResult++#if ENABLE_OVERLOADING+data SelectionRefSelectionMethodInfo+instance (signature ~ (Int32 -> m (Maybe Atk.Object.Object)), MonadIO m, IsSelection a) => O.MethodInfo SelectionRefSelectionMethodInfo a signature where+ overloadedMethod _ = selectionRefSelection++#endif++-- method Selection::remove_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Atk", name = "Selection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkSelectionIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint specifying the index in the selection set. (e.g. the\nith selection as opposed to the ith child).", 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 "atk_selection_remove_selection" atk_selection_remove_selection :: + Ptr Selection -> -- selection : TInterface (Name {namespace = "Atk", name = "Selection"})+ Int32 -> -- i : TBasicType TInt+ IO CInt++{- |+Removes the specified child of the object from the object\'s selection.+-}+selectionRemoveSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsSelection a) =>+ a+ {- ^ /@selection@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkSelectionIface -}+ -> Int32+ {- ^ /@i@/: a @/gint/@ specifying the index in the selection set. (e.g. the+ith selection as opposed to the ith child). -}+ -> m Bool+ {- ^ __Returns:__ TRUE if success, FALSE otherwise. -}+selectionRemoveSelection selection i = liftIO $ do+ selection' <- unsafeManagedPtrCastPtr selection+ result <- atk_selection_remove_selection selection' i+ let result' = (/= 0) result+ touchManagedPtr selection+ return result'++#if ENABLE_OVERLOADING+data SelectionRemoveSelectionMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsSelection a) => O.MethodInfo SelectionRemoveSelectionMethodInfo a signature where+ overloadedMethod _ = selectionRemoveSelection++#endif++-- method Selection::select_all_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Atk", name = "Selection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject instance that implements AtkSelectionIface", 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 "atk_selection_select_all_selection" atk_selection_select_all_selection :: + Ptr Selection -> -- selection : TInterface (Name {namespace = "Atk", name = "Selection"})+ IO CInt++{- |+Causes every child of the object to be selected if the object+supports multiple selections.+-}+selectionSelectAllSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsSelection a) =>+ a+ {- ^ /@selection@/: a 'GI.GObject.Objects.Object.Object' instance that implements AtkSelectionIface -}+ -> m Bool+ {- ^ __Returns:__ TRUE if success, FALSE otherwise. -}+selectionSelectAllSelection selection = liftIO $ do+ selection' <- unsafeManagedPtrCastPtr selection+ result <- atk_selection_select_all_selection selection'+ let result' = (/= 0) result+ touchManagedPtr selection+ return result'++#if ENABLE_OVERLOADING+data SelectionSelectAllSelectionMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsSelection a) => O.MethodInfo SelectionSelectAllSelectionMethodInfo a signature where+ overloadedMethod _ = selectionSelectAllSelection++#endif++
+ GI/Atk/Interfaces/Selection.hs-boot view
@@ -0,0 +1,53 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.Selection 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++newtype Selection = Selection (ManagedPtr Selection)+#if ENABLE_OVERLOADING+data SelectionSelectionChangedSignalInfo+#endif+instance GObject Selection where+class (GObject o, O.IsDescendantOf Selection o) => IsSelection o+instance (GObject o, O.IsDescendantOf Selection o) => IsSelection o+instance O.HasParentTypes Selection+#if ENABLE_OVERLOADING+data SelectionAddSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data SelectionClearSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data SelectionGetSelectionCountMethodInfo+#endif+#if ENABLE_OVERLOADING+data SelectionIsChildSelectedMethodInfo+#endif+#if ENABLE_OVERLOADING+data SelectionRefSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data SelectionRemoveSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data SelectionSelectAllSelectionMethodInfo+#endif
+ GI/Atk/Interfaces/StreamableContent.hs view
@@ -0,0 +1,307 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++An interface whereby an object allows its backing content to be+streamed to clients. Typical implementors would be images or+icons, HTML content, or multimedia display\/rendering widgets.++Negotiation of content type is allowed. Clients may examine the+backing data and transform, convert, or parse the content in order+to present it in an alternate form to end-users.++The AtkStreamableContent interface is particularly useful for+saving, printing, or post-processing entire documents, or for+persisting alternate views of a document. If document content+itself is being serialized, stored, or converted, then use of the+AtkStreamableContent interface can help address performance+issues. Unlike most ATK interfaces, this interface is not strongly+tied to the current user-agent view of the a particular document,+but may in some cases give access to the underlying model data.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.StreamableContent+ ( ++-- * Exported types+ StreamableContent(..) ,+ noStreamableContent ,+ IsStreamableContent ,+++ -- * Methods+-- ** getMimeType #method:getMimeType#++#if ENABLE_OVERLOADING+ StreamableContentGetMimeTypeMethodInfo ,+#endif+ streamableContentGetMimeType ,+++-- ** getNMimeTypes #method:getNMimeTypes#++#if ENABLE_OVERLOADING+ StreamableContentGetNMimeTypesMethodInfo,+#endif+ streamableContentGetNMimeTypes ,+++-- ** getStream #method:getStream#++#if ENABLE_OVERLOADING+ StreamableContentGetStreamMethodInfo ,+#endif+ streamableContentGetStream ,+++-- ** getUri #method:getUri#++#if ENABLE_OVERLOADING+ StreamableContentGetUriMethodInfo ,+#endif+ streamableContentGetUri ,+++++ ) 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.GLib.Structs.IOChannel as GLib.IOChannel++-- interface StreamableContent +-- | Memory-managed wrapper type.+newtype StreamableContent = StreamableContent (ManagedPtr StreamableContent)+-- | A convenience alias for `Nothing` :: `Maybe` `StreamableContent`.+noStreamableContent :: Maybe StreamableContent+noStreamableContent = Nothing++#if ENABLE_OVERLOADING+type instance O.SignalList StreamableContent = StreamableContentSignalList+type StreamableContentSignalList = ('[ ] :: [(Symbol, *)])++#endif++-- | Type class for types which implement `StreamableContent`.+class ManagedPtrNewtype a => IsStreamableContent a+instance IsStreamableContent StreamableContent+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr StreamableContent where+ wrappedPtrCalloc = return nullPtr+ wrappedPtrCopy = return+ wrappedPtrFree = Nothing+++#if ENABLE_OVERLOADING+type family ResolveStreamableContentMethod (t :: Symbol) (o :: *) :: * where+ ResolveStreamableContentMethod "getMimeType" o = StreamableContentGetMimeTypeMethodInfo+ ResolveStreamableContentMethod "getNMimeTypes" o = StreamableContentGetNMimeTypesMethodInfo+ ResolveStreamableContentMethod "getStream" o = StreamableContentGetStreamMethodInfo+ ResolveStreamableContentMethod "getUri" o = StreamableContentGetUriMethodInfo+ ResolveStreamableContentMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveStreamableContentMethod t StreamableContent, O.MethodInfo info StreamableContent p) => OL.IsLabel t (StreamableContent -> 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 StreamableContent::get_mime_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "streamable", argType = TInterface (Name {namespace = "Atk", name = "StreamableContent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkStreamableContent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a gint representing the position of the mime type starting from 0", 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 "atk_streamable_content_get_mime_type" atk_streamable_content_get_mime_type :: + Ptr StreamableContent -> -- streamable : TInterface (Name {namespace = "Atk", name = "StreamableContent"})+ Int32 -> -- i : TBasicType TInt+ IO CString++{- |+Gets the character string of the specified mime type. The first mime+type is at position 0, the second at position 1, and so on.+-}+streamableContentGetMimeType ::+ (B.CallStack.HasCallStack, MonadIO m, IsStreamableContent a) =>+ a+ {- ^ /@streamable@/: a GObject instance that implements AtkStreamableContent -}+ -> Int32+ {- ^ /@i@/: a gint representing the position of the mime type starting from 0 -}+ -> m T.Text+ {- ^ __Returns:__ a gchar* representing the specified mime type; the caller+should not free the character string. -}+streamableContentGetMimeType streamable i = liftIO $ do+ streamable' <- unsafeManagedPtrCastPtr streamable+ result <- atk_streamable_content_get_mime_type streamable' i+ checkUnexpectedReturnNULL "streamableContentGetMimeType" result+ result' <- cstringToText result+ touchManagedPtr streamable+ return result'++#if ENABLE_OVERLOADING+data StreamableContentGetMimeTypeMethodInfo+instance (signature ~ (Int32 -> m T.Text), MonadIO m, IsStreamableContent a) => O.MethodInfo StreamableContentGetMimeTypeMethodInfo a signature where+ overloadedMethod _ = streamableContentGetMimeType++#endif++-- method StreamableContent::get_n_mime_types+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "streamable", argType = TInterface (Name {namespace = "Atk", name = "StreamableContent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkStreamableContentIface", 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 "atk_streamable_content_get_n_mime_types" atk_streamable_content_get_n_mime_types :: + Ptr StreamableContent -> -- streamable : TInterface (Name {namespace = "Atk", name = "StreamableContent"})+ IO Int32++{- |+Gets the number of mime types supported by this object.+-}+streamableContentGetNMimeTypes ::+ (B.CallStack.HasCallStack, MonadIO m, IsStreamableContent a) =>+ a+ {- ^ /@streamable@/: a GObject instance that implements AtkStreamableContentIface -}+ -> m Int32+ {- ^ __Returns:__ a gint which is the number of mime types supported by the object. -}+streamableContentGetNMimeTypes streamable = liftIO $ do+ streamable' <- unsafeManagedPtrCastPtr streamable+ result <- atk_streamable_content_get_n_mime_types streamable'+ touchManagedPtr streamable+ return result++#if ENABLE_OVERLOADING+data StreamableContentGetNMimeTypesMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsStreamableContent a) => O.MethodInfo StreamableContentGetNMimeTypesMethodInfo a signature where+ overloadedMethod _ = streamableContentGetNMimeTypes++#endif++-- method StreamableContent::get_stream+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "streamable", argType = TInterface (Name {namespace = "Atk", name = "StreamableContent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkStreamableContentIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a gchar* representing the mime type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOChannel"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_streamable_content_get_stream" atk_streamable_content_get_stream :: + Ptr StreamableContent -> -- streamable : TInterface (Name {namespace = "Atk", name = "StreamableContent"})+ CString -> -- mime_type : TBasicType TUTF8+ IO (Ptr GLib.IOChannel.IOChannel)++{- |+Gets the content in the specified mime type.+-}+streamableContentGetStream ::+ (B.CallStack.HasCallStack, MonadIO m, IsStreamableContent a) =>+ a+ {- ^ /@streamable@/: a GObject instance that implements AtkStreamableContentIface -}+ -> T.Text+ {- ^ /@mimeType@/: a gchar* representing the mime type -}+ -> m GLib.IOChannel.IOChannel+ {- ^ __Returns:__ A 'GI.GLib.Structs.IOChannel.IOChannel' which contains the content in the+specified mime type. -}+streamableContentGetStream streamable mimeType = liftIO $ do+ streamable' <- unsafeManagedPtrCastPtr streamable+ mimeType' <- textToCString mimeType+ result <- atk_streamable_content_get_stream streamable' mimeType'+ checkUnexpectedReturnNULL "streamableContentGetStream" result+ result' <- (wrapBoxed GLib.IOChannel.IOChannel) result+ touchManagedPtr streamable+ freeMem mimeType'+ return result'++#if ENABLE_OVERLOADING+data StreamableContentGetStreamMethodInfo+instance (signature ~ (T.Text -> m GLib.IOChannel.IOChannel), MonadIO m, IsStreamableContent a) => O.MethodInfo StreamableContentGetStreamMethodInfo a signature where+ overloadedMethod _ = streamableContentGetStream++#endif++-- method StreamableContent::get_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "streamable", argType = TInterface (Name {namespace = "Atk", name = "StreamableContent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkStreamableContentIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a gchar* representing the mime type, or NULL to request a URI\nfor the default mime type.", 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 "atk_streamable_content_get_uri" atk_streamable_content_get_uri :: + Ptr StreamableContent -> -- streamable : TInterface (Name {namespace = "Atk", name = "StreamableContent"})+ CString -> -- mime_type : TBasicType TUTF8+ IO CString++{- |+Get a string representing a URI in IETF standard format+(see http:\/\/www.ietf.org\/rfc\/rfc2396.txt) from which the object\'s content+may be streamed in the specified mime-type, if one is available.+If mime_type is NULL, the URI for the default (and possibly only) mime-type is+returned.++Note that it is possible for get_uri to return NULL but for+get_stream to work nonetheless, since not all GIOChannels connect to URIs.++/Since: 1.12/+-}+streamableContentGetUri ::+ (B.CallStack.HasCallStack, MonadIO m, IsStreamableContent a) =>+ a+ {- ^ /@streamable@/: a GObject instance that implements AtkStreamableContentIface -}+ -> T.Text+ {- ^ /@mimeType@/: a gchar* representing the mime type, or NULL to request a URI+for the default mime type. -}+ -> m (Maybe T.Text)+ {- ^ __Returns:__ Returns a string representing a URI, or 'Nothing'+if no corresponding URI can be constructed. -}+streamableContentGetUri streamable mimeType = liftIO $ do+ streamable' <- unsafeManagedPtrCastPtr streamable+ mimeType' <- textToCString mimeType+ result <- atk_streamable_content_get_uri streamable' mimeType'+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- cstringToText result'+ return result''+ touchManagedPtr streamable+ freeMem mimeType'+ return maybeResult++#if ENABLE_OVERLOADING+data StreamableContentGetUriMethodInfo+instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsStreamableContent a) => O.MethodInfo StreamableContentGetUriMethodInfo a signature where+ overloadedMethod _ = streamableContentGetUri++#endif++
+ GI/Atk/Interfaces/StreamableContent.hs-boot view
@@ -0,0 +1,39 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.StreamableContent 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++newtype StreamableContent = StreamableContent (ManagedPtr StreamableContent)+class ManagedPtrNewtype a => IsStreamableContent a+instance WrappedPtr StreamableContent where+#if ENABLE_OVERLOADING+data StreamableContentGetMimeTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data StreamableContentGetNMimeTypesMethodInfo+#endif+#if ENABLE_OVERLOADING+data StreamableContentGetStreamMethodInfo+#endif+#if ENABLE_OVERLOADING+data StreamableContentGetUriMethodInfo+#endif
+ GI/Atk/Interfaces/Table.hs view
@@ -0,0 +1,2227 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Atk.Interfaces.Table.Table' should be implemented by components which present+elements ordered via rows and columns. It may also be used to+present tree-structured information if the nodes of the trees can+be said to contain multiple \"columns\". Individual elements of an+'GI.Atk.Interfaces.Table.Table' are typically referred to as \"cells\". Those cells should+implement the interface 'GI.Atk.Interfaces.TableCell.TableCell', but @/Atk/@ doesn\'t require+them to be direct children of the current 'GI.Atk.Interfaces.Table.Table'. They can be+grand-children, grand-grand-children etc. 'GI.Atk.Interfaces.Table.Table' provides the+API needed to get a individual cell based on the row and column+numbers.++Children of 'GI.Atk.Interfaces.Table.Table' are frequently \"lightweight\" objects, that+is, they may not have backing widgets in the host UI toolkit. They+are therefore often transient.++Since tables are often very complex, 'GI.Atk.Interfaces.Table.Table' includes provision+for offering simplified summary information, as well as row and+column headers and captions. Headers and captions are @/AtkObjects/@+which may implement other interfaces ('GI.Atk.Interfaces.Text.Text', 'GI.Atk.Interfaces.Image.Image', etc.) as+appropriate. 'GI.Atk.Interfaces.Table.Table' summaries may themselves be (simplified)+@/AtkTables/@, etc.++Note for implementors: in the past, 'GI.Atk.Interfaces.Table.Table' required that all the+cells should be direct children of 'GI.Atk.Interfaces.Table.Table', and provided some+index based methods to request the cells. The practice showed that+that forcing made 'GI.Atk.Interfaces.Table.Table' implementation complex, and hard to+expose other kind of children, like rows or captions. Right now,+index-based methods are deprecated.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.Table+ ( ++-- * Exported types+ Table(..) ,+ noTable ,+ IsTable ,+ toTable ,+++ -- * Methods+-- ** addColumnSelection #method:addColumnSelection#++#if ENABLE_OVERLOADING+ TableAddColumnSelectionMethodInfo ,+#endif+ tableAddColumnSelection ,+++-- ** addRowSelection #method:addRowSelection#++#if ENABLE_OVERLOADING+ TableAddRowSelectionMethodInfo ,+#endif+ tableAddRowSelection ,+++-- ** getCaption #method:getCaption#++#if ENABLE_OVERLOADING+ TableGetCaptionMethodInfo ,+#endif+ tableGetCaption ,+++-- ** getColumnAtIndex #method:getColumnAtIndex#++#if ENABLE_OVERLOADING+ TableGetColumnAtIndexMethodInfo ,+#endif+ tableGetColumnAtIndex ,+++-- ** getColumnDescription #method:getColumnDescription#++#if ENABLE_OVERLOADING+ TableGetColumnDescriptionMethodInfo ,+#endif+ tableGetColumnDescription ,+++-- ** getColumnExtentAt #method:getColumnExtentAt#++#if ENABLE_OVERLOADING+ TableGetColumnExtentAtMethodInfo ,+#endif+ tableGetColumnExtentAt ,+++-- ** getColumnHeader #method:getColumnHeader#++#if ENABLE_OVERLOADING+ TableGetColumnHeaderMethodInfo ,+#endif+ tableGetColumnHeader ,+++-- ** getIndexAt #method:getIndexAt#++#if ENABLE_OVERLOADING+ TableGetIndexAtMethodInfo ,+#endif+ tableGetIndexAt ,+++-- ** getNColumns #method:getNColumns#++#if ENABLE_OVERLOADING+ TableGetNColumnsMethodInfo ,+#endif+ tableGetNColumns ,+++-- ** getNRows #method:getNRows#++#if ENABLE_OVERLOADING+ TableGetNRowsMethodInfo ,+#endif+ tableGetNRows ,+++-- ** getRowAtIndex #method:getRowAtIndex#++#if ENABLE_OVERLOADING+ TableGetRowAtIndexMethodInfo ,+#endif+ tableGetRowAtIndex ,+++-- ** getRowDescription #method:getRowDescription#++#if ENABLE_OVERLOADING+ TableGetRowDescriptionMethodInfo ,+#endif+ tableGetRowDescription ,+++-- ** getRowExtentAt #method:getRowExtentAt#++#if ENABLE_OVERLOADING+ TableGetRowExtentAtMethodInfo ,+#endif+ tableGetRowExtentAt ,+++-- ** getRowHeader #method:getRowHeader#++#if ENABLE_OVERLOADING+ TableGetRowHeaderMethodInfo ,+#endif+ tableGetRowHeader ,+++-- ** getSelectedColumns #method:getSelectedColumns#++#if ENABLE_OVERLOADING+ TableGetSelectedColumnsMethodInfo ,+#endif+ tableGetSelectedColumns ,+++-- ** getSelectedRows #method:getSelectedRows#++#if ENABLE_OVERLOADING+ TableGetSelectedRowsMethodInfo ,+#endif+ tableGetSelectedRows ,+++-- ** getSummary #method:getSummary#++#if ENABLE_OVERLOADING+ TableGetSummaryMethodInfo ,+#endif+ tableGetSummary ,+++-- ** isColumnSelected #method:isColumnSelected#++#if ENABLE_OVERLOADING+ TableIsColumnSelectedMethodInfo ,+#endif+ tableIsColumnSelected ,+++-- ** isRowSelected #method:isRowSelected#++#if ENABLE_OVERLOADING+ TableIsRowSelectedMethodInfo ,+#endif+ tableIsRowSelected ,+++-- ** isSelected #method:isSelected#++#if ENABLE_OVERLOADING+ TableIsSelectedMethodInfo ,+#endif+ tableIsSelected ,+++-- ** refAt #method:refAt#++#if ENABLE_OVERLOADING+ TableRefAtMethodInfo ,+#endif+ tableRefAt ,+++-- ** removeColumnSelection #method:removeColumnSelection#++#if ENABLE_OVERLOADING+ TableRemoveColumnSelectionMethodInfo ,+#endif+ tableRemoveColumnSelection ,+++-- ** removeRowSelection #method:removeRowSelection#++#if ENABLE_OVERLOADING+ TableRemoveRowSelectionMethodInfo ,+#endif+ tableRemoveRowSelection ,+++-- ** setCaption #method:setCaption#++#if ENABLE_OVERLOADING+ TableSetCaptionMethodInfo ,+#endif+ tableSetCaption ,+++-- ** setColumnDescription #method:setColumnDescription#++#if ENABLE_OVERLOADING+ TableSetColumnDescriptionMethodInfo ,+#endif+ tableSetColumnDescription ,+++-- ** setColumnHeader #method:setColumnHeader#++#if ENABLE_OVERLOADING+ TableSetColumnHeaderMethodInfo ,+#endif+ tableSetColumnHeader ,+++-- ** setRowDescription #method:setRowDescription#++#if ENABLE_OVERLOADING+ TableSetRowDescriptionMethodInfo ,+#endif+ tableSetRowDescription ,+++-- ** setRowHeader #method:setRowHeader#++#if ENABLE_OVERLOADING+ TableSetRowHeaderMethodInfo ,+#endif+ tableSetRowHeader ,+++-- ** setSummary #method:setSummary#++#if ENABLE_OVERLOADING+ TableSetSummaryMethodInfo ,+#endif+ tableSetSummary ,+++++ -- * Signals+-- ** columnDeleted #signal:columnDeleted#++ C_TableColumnDeletedCallback ,+ TableColumnDeletedCallback ,+#if ENABLE_OVERLOADING+ TableColumnDeletedSignalInfo ,+#endif+ afterTableColumnDeleted ,+ genClosure_TableColumnDeleted ,+ mk_TableColumnDeletedCallback ,+ noTableColumnDeletedCallback ,+ onTableColumnDeleted ,+ wrap_TableColumnDeletedCallback ,+++-- ** columnInserted #signal:columnInserted#++ C_TableColumnInsertedCallback ,+ TableColumnInsertedCallback ,+#if ENABLE_OVERLOADING+ TableColumnInsertedSignalInfo ,+#endif+ afterTableColumnInserted ,+ genClosure_TableColumnInserted ,+ mk_TableColumnInsertedCallback ,+ noTableColumnInsertedCallback ,+ onTableColumnInserted ,+ wrap_TableColumnInsertedCallback ,+++-- ** columnReordered #signal:columnReordered#++ C_TableColumnReorderedCallback ,+ TableColumnReorderedCallback ,+#if ENABLE_OVERLOADING+ TableColumnReorderedSignalInfo ,+#endif+ afterTableColumnReordered ,+ genClosure_TableColumnReordered ,+ mk_TableColumnReorderedCallback ,+ noTableColumnReorderedCallback ,+ onTableColumnReordered ,+ wrap_TableColumnReorderedCallback ,+++-- ** modelChanged #signal:modelChanged#++ C_TableModelChangedCallback ,+ TableModelChangedCallback ,+#if ENABLE_OVERLOADING+ TableModelChangedSignalInfo ,+#endif+ afterTableModelChanged ,+ genClosure_TableModelChanged ,+ mk_TableModelChangedCallback ,+ noTableModelChangedCallback ,+ onTableModelChanged ,+ wrap_TableModelChangedCallback ,+++-- ** rowDeleted #signal:rowDeleted#++ C_TableRowDeletedCallback ,+ TableRowDeletedCallback ,+#if ENABLE_OVERLOADING+ TableRowDeletedSignalInfo ,+#endif+ afterTableRowDeleted ,+ genClosure_TableRowDeleted ,+ mk_TableRowDeletedCallback ,+ noTableRowDeletedCallback ,+ onTableRowDeleted ,+ wrap_TableRowDeletedCallback ,+++-- ** rowInserted #signal:rowInserted#++ C_TableRowInsertedCallback ,+ TableRowInsertedCallback ,+#if ENABLE_OVERLOADING+ TableRowInsertedSignalInfo ,+#endif+ afterTableRowInserted ,+ genClosure_TableRowInserted ,+ mk_TableRowInsertedCallback ,+ noTableRowInsertedCallback ,+ onTableRowInserted ,+ wrap_TableRowInsertedCallback ,+++-- ** rowReordered #signal:rowReordered#++ C_TableRowReorderedCallback ,+ TableRowReorderedCallback ,+#if ENABLE_OVERLOADING+ TableRowReorderedSignalInfo ,+#endif+ afterTableRowReordered ,+ genClosure_TableRowReordered ,+ mk_TableRowReorderedCallback ,+ noTableRowReorderedCallback ,+ onTableRowReordered ,+ wrap_TableRowReorderedCallback ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object++-- interface Table +-- | Memory-managed wrapper type.+newtype Table = Table (ManagedPtr Table)+-- | A convenience alias for `Nothing` :: `Maybe` `Table`.+noTable :: Maybe Table+noTable = Nothing++-- signal Table::column-deleted+{- |+The \"column-deleted\" signal is emitted by an object which+implements the AtkTable interface when a column is deleted.+-}+type TableColumnDeletedCallback =+ Int32+ {- ^ /@arg1@/: The index of the first column deleted. -}+ -> Int32+ {- ^ /@arg2@/: The number of columns deleted. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TableColumnDeletedCallback`@.+noTableColumnDeletedCallback :: Maybe TableColumnDeletedCallback+noTableColumnDeletedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TableColumnDeletedCallback =+ Ptr () -> -- object+ Int32 ->+ Int32 ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TableColumnDeletedCallback`.+foreign import ccall "wrapper"+ mk_TableColumnDeletedCallback :: C_TableColumnDeletedCallback -> IO (FunPtr C_TableColumnDeletedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TableColumnDeleted :: MonadIO m => TableColumnDeletedCallback -> m (GClosure C_TableColumnDeletedCallback)+genClosure_TableColumnDeleted cb = liftIO $ do+ let cb' = wrap_TableColumnDeletedCallback cb+ mk_TableColumnDeletedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TableColumnDeletedCallback` into a `C_TableColumnDeletedCallback`.+wrap_TableColumnDeletedCallback ::+ TableColumnDeletedCallback ->+ C_TableColumnDeletedCallback+wrap_TableColumnDeletedCallback _cb _ arg1 arg2 _ = do+ _cb arg1 arg2+++{- |+Connect a signal handler for the “@column-deleted@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' table #columnDeleted callback+@+-}+onTableColumnDeleted :: (IsTable a, MonadIO m) => a -> TableColumnDeletedCallback -> m SignalHandlerId+onTableColumnDeleted obj cb = liftIO $ do+ let cb' = wrap_TableColumnDeletedCallback cb+ cb'' <- mk_TableColumnDeletedCallback cb'+ connectSignalFunPtr obj "column-deleted" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@column-deleted@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' table #columnDeleted callback+@+-}+afterTableColumnDeleted :: (IsTable a, MonadIO m) => a -> TableColumnDeletedCallback -> m SignalHandlerId+afterTableColumnDeleted obj cb = liftIO $ do+ let cb' = wrap_TableColumnDeletedCallback cb+ cb'' <- mk_TableColumnDeletedCallback cb'+ connectSignalFunPtr obj "column-deleted" cb'' SignalConnectAfter+++-- signal Table::column-inserted+{- |+The \"column-inserted\" signal is emitted by an object which+implements the AtkTable interface when a column is inserted.+-}+type TableColumnInsertedCallback =+ Int32+ {- ^ /@arg1@/: The index of the column inserted. -}+ -> Int32+ {- ^ /@arg2@/: The number of colums inserted. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TableColumnInsertedCallback`@.+noTableColumnInsertedCallback :: Maybe TableColumnInsertedCallback+noTableColumnInsertedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TableColumnInsertedCallback =+ Ptr () -> -- object+ Int32 ->+ Int32 ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TableColumnInsertedCallback`.+foreign import ccall "wrapper"+ mk_TableColumnInsertedCallback :: C_TableColumnInsertedCallback -> IO (FunPtr C_TableColumnInsertedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TableColumnInserted :: MonadIO m => TableColumnInsertedCallback -> m (GClosure C_TableColumnInsertedCallback)+genClosure_TableColumnInserted cb = liftIO $ do+ let cb' = wrap_TableColumnInsertedCallback cb+ mk_TableColumnInsertedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TableColumnInsertedCallback` into a `C_TableColumnInsertedCallback`.+wrap_TableColumnInsertedCallback ::+ TableColumnInsertedCallback ->+ C_TableColumnInsertedCallback+wrap_TableColumnInsertedCallback _cb _ arg1 arg2 _ = do+ _cb arg1 arg2+++{- |+Connect a signal handler for the “@column-inserted@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' table #columnInserted callback+@+-}+onTableColumnInserted :: (IsTable a, MonadIO m) => a -> TableColumnInsertedCallback -> m SignalHandlerId+onTableColumnInserted obj cb = liftIO $ do+ let cb' = wrap_TableColumnInsertedCallback cb+ cb'' <- mk_TableColumnInsertedCallback cb'+ connectSignalFunPtr obj "column-inserted" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@column-inserted@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' table #columnInserted callback+@+-}+afterTableColumnInserted :: (IsTable a, MonadIO m) => a -> TableColumnInsertedCallback -> m SignalHandlerId+afterTableColumnInserted obj cb = liftIO $ do+ let cb' = wrap_TableColumnInsertedCallback cb+ cb'' <- mk_TableColumnInsertedCallback cb'+ connectSignalFunPtr obj "column-inserted" cb'' SignalConnectAfter+++-- signal Table::column-reordered+{- |+The \"column-reordered\" signal is emitted by an object which+implements the AtkTable interface when the columns are+reordered.+-}+type TableColumnReorderedCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TableColumnReorderedCallback`@.+noTableColumnReorderedCallback :: Maybe TableColumnReorderedCallback+noTableColumnReorderedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TableColumnReorderedCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TableColumnReorderedCallback`.+foreign import ccall "wrapper"+ mk_TableColumnReorderedCallback :: C_TableColumnReorderedCallback -> IO (FunPtr C_TableColumnReorderedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TableColumnReordered :: MonadIO m => TableColumnReorderedCallback -> m (GClosure C_TableColumnReorderedCallback)+genClosure_TableColumnReordered cb = liftIO $ do+ let cb' = wrap_TableColumnReorderedCallback cb+ mk_TableColumnReorderedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TableColumnReorderedCallback` into a `C_TableColumnReorderedCallback`.+wrap_TableColumnReorderedCallback ::+ TableColumnReorderedCallback ->+ C_TableColumnReorderedCallback+wrap_TableColumnReorderedCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@column-reordered@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' table #columnReordered callback+@+-}+onTableColumnReordered :: (IsTable a, MonadIO m) => a -> TableColumnReorderedCallback -> m SignalHandlerId+onTableColumnReordered obj cb = liftIO $ do+ let cb' = wrap_TableColumnReorderedCallback cb+ cb'' <- mk_TableColumnReorderedCallback cb'+ connectSignalFunPtr obj "column-reordered" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@column-reordered@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' table #columnReordered callback+@+-}+afterTableColumnReordered :: (IsTable a, MonadIO m) => a -> TableColumnReorderedCallback -> m SignalHandlerId+afterTableColumnReordered obj cb = liftIO $ do+ let cb' = wrap_TableColumnReorderedCallback cb+ cb'' <- mk_TableColumnReorderedCallback cb'+ connectSignalFunPtr obj "column-reordered" cb'' SignalConnectAfter+++-- signal Table::model-changed+{- |+The \"model-changed\" signal is emitted by an object which+implements the AtkTable interface when the model displayed by+the table changes.+-}+type TableModelChangedCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TableModelChangedCallback`@.+noTableModelChangedCallback :: Maybe TableModelChangedCallback+noTableModelChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TableModelChangedCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TableModelChangedCallback`.+foreign import ccall "wrapper"+ mk_TableModelChangedCallback :: C_TableModelChangedCallback -> IO (FunPtr C_TableModelChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TableModelChanged :: MonadIO m => TableModelChangedCallback -> m (GClosure C_TableModelChangedCallback)+genClosure_TableModelChanged cb = liftIO $ do+ let cb' = wrap_TableModelChangedCallback cb+ mk_TableModelChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TableModelChangedCallback` into a `C_TableModelChangedCallback`.+wrap_TableModelChangedCallback ::+ TableModelChangedCallback ->+ C_TableModelChangedCallback+wrap_TableModelChangedCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@model-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' table #modelChanged callback+@+-}+onTableModelChanged :: (IsTable a, MonadIO m) => a -> TableModelChangedCallback -> m SignalHandlerId+onTableModelChanged obj cb = liftIO $ do+ let cb' = wrap_TableModelChangedCallback cb+ cb'' <- mk_TableModelChangedCallback cb'+ connectSignalFunPtr obj "model-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@model-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' table #modelChanged callback+@+-}+afterTableModelChanged :: (IsTable a, MonadIO m) => a -> TableModelChangedCallback -> m SignalHandlerId+afterTableModelChanged obj cb = liftIO $ do+ let cb' = wrap_TableModelChangedCallback cb+ cb'' <- mk_TableModelChangedCallback cb'+ connectSignalFunPtr obj "model-changed" cb'' SignalConnectAfter+++-- signal Table::row-deleted+{- |+The \"row-deleted\" signal is emitted by an object which+implements the AtkTable interface when a row is deleted.+-}+type TableRowDeletedCallback =+ Int32+ {- ^ /@arg1@/: The index of the first row deleted. -}+ -> Int32+ {- ^ /@arg2@/: The number of rows deleted. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TableRowDeletedCallback`@.+noTableRowDeletedCallback :: Maybe TableRowDeletedCallback+noTableRowDeletedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TableRowDeletedCallback =+ Ptr () -> -- object+ Int32 ->+ Int32 ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TableRowDeletedCallback`.+foreign import ccall "wrapper"+ mk_TableRowDeletedCallback :: C_TableRowDeletedCallback -> IO (FunPtr C_TableRowDeletedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TableRowDeleted :: MonadIO m => TableRowDeletedCallback -> m (GClosure C_TableRowDeletedCallback)+genClosure_TableRowDeleted cb = liftIO $ do+ let cb' = wrap_TableRowDeletedCallback cb+ mk_TableRowDeletedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TableRowDeletedCallback` into a `C_TableRowDeletedCallback`.+wrap_TableRowDeletedCallback ::+ TableRowDeletedCallback ->+ C_TableRowDeletedCallback+wrap_TableRowDeletedCallback _cb _ arg1 arg2 _ = do+ _cb arg1 arg2+++{- |+Connect a signal handler for the “@row-deleted@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' table #rowDeleted callback+@+-}+onTableRowDeleted :: (IsTable a, MonadIO m) => a -> TableRowDeletedCallback -> m SignalHandlerId+onTableRowDeleted obj cb = liftIO $ do+ let cb' = wrap_TableRowDeletedCallback cb+ cb'' <- mk_TableRowDeletedCallback cb'+ connectSignalFunPtr obj "row-deleted" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@row-deleted@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' table #rowDeleted callback+@+-}+afterTableRowDeleted :: (IsTable a, MonadIO m) => a -> TableRowDeletedCallback -> m SignalHandlerId+afterTableRowDeleted obj cb = liftIO $ do+ let cb' = wrap_TableRowDeletedCallback cb+ cb'' <- mk_TableRowDeletedCallback cb'+ connectSignalFunPtr obj "row-deleted" cb'' SignalConnectAfter+++-- signal Table::row-inserted+{- |+The \"row-inserted\" signal is emitted by an object which+implements the AtkTable interface when a row is inserted.+-}+type TableRowInsertedCallback =+ Int32+ {- ^ /@arg1@/: The index of the first row inserted. -}+ -> Int32+ {- ^ /@arg2@/: The number of rows inserted. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TableRowInsertedCallback`@.+noTableRowInsertedCallback :: Maybe TableRowInsertedCallback+noTableRowInsertedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TableRowInsertedCallback =+ Ptr () -> -- object+ Int32 ->+ Int32 ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TableRowInsertedCallback`.+foreign import ccall "wrapper"+ mk_TableRowInsertedCallback :: C_TableRowInsertedCallback -> IO (FunPtr C_TableRowInsertedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TableRowInserted :: MonadIO m => TableRowInsertedCallback -> m (GClosure C_TableRowInsertedCallback)+genClosure_TableRowInserted cb = liftIO $ do+ let cb' = wrap_TableRowInsertedCallback cb+ mk_TableRowInsertedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TableRowInsertedCallback` into a `C_TableRowInsertedCallback`.+wrap_TableRowInsertedCallback ::+ TableRowInsertedCallback ->+ C_TableRowInsertedCallback+wrap_TableRowInsertedCallback _cb _ arg1 arg2 _ = do+ _cb arg1 arg2+++{- |+Connect a signal handler for the “@row-inserted@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' table #rowInserted callback+@+-}+onTableRowInserted :: (IsTable a, MonadIO m) => a -> TableRowInsertedCallback -> m SignalHandlerId+onTableRowInserted obj cb = liftIO $ do+ let cb' = wrap_TableRowInsertedCallback cb+ cb'' <- mk_TableRowInsertedCallback cb'+ connectSignalFunPtr obj "row-inserted" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@row-inserted@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' table #rowInserted callback+@+-}+afterTableRowInserted :: (IsTable a, MonadIO m) => a -> TableRowInsertedCallback -> m SignalHandlerId+afterTableRowInserted obj cb = liftIO $ do+ let cb' = wrap_TableRowInsertedCallback cb+ cb'' <- mk_TableRowInsertedCallback cb'+ connectSignalFunPtr obj "row-inserted" cb'' SignalConnectAfter+++-- signal Table::row-reordered+{- |+The \"row-reordered\" signal is emitted by an object which+implements the AtkTable interface when the rows are+reordered.+-}+type TableRowReorderedCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TableRowReorderedCallback`@.+noTableRowReorderedCallback :: Maybe TableRowReorderedCallback+noTableRowReorderedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TableRowReorderedCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TableRowReorderedCallback`.+foreign import ccall "wrapper"+ mk_TableRowReorderedCallback :: C_TableRowReorderedCallback -> IO (FunPtr C_TableRowReorderedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TableRowReordered :: MonadIO m => TableRowReorderedCallback -> m (GClosure C_TableRowReorderedCallback)+genClosure_TableRowReordered cb = liftIO $ do+ let cb' = wrap_TableRowReorderedCallback cb+ mk_TableRowReorderedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TableRowReorderedCallback` into a `C_TableRowReorderedCallback`.+wrap_TableRowReorderedCallback ::+ TableRowReorderedCallback ->+ C_TableRowReorderedCallback+wrap_TableRowReorderedCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@row-reordered@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' table #rowReordered callback+@+-}+onTableRowReordered :: (IsTable a, MonadIO m) => a -> TableRowReorderedCallback -> m SignalHandlerId+onTableRowReordered obj cb = liftIO $ do+ let cb' = wrap_TableRowReorderedCallback cb+ cb'' <- mk_TableRowReorderedCallback cb'+ connectSignalFunPtr obj "row-reordered" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@row-reordered@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' table #rowReordered callback+@+-}+afterTableRowReordered :: (IsTable a, MonadIO m) => a -> TableRowReorderedCallback -> m SignalHandlerId+afterTableRowReordered obj cb = liftIO $ do+ let cb' = wrap_TableRowReorderedCallback cb+ cb'' <- mk_TableRowReorderedCallback cb'+ connectSignalFunPtr obj "row-reordered" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+data TableColumnDeletedSignalInfo+instance SignalInfo TableColumnDeletedSignalInfo where+ type HaskellCallbackType TableColumnDeletedSignalInfo = TableColumnDeletedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TableColumnDeletedCallback cb+ cb'' <- mk_TableColumnDeletedCallback cb'+ connectSignalFunPtr obj "column-deleted" cb'' connectMode++data TableColumnInsertedSignalInfo+instance SignalInfo TableColumnInsertedSignalInfo where+ type HaskellCallbackType TableColumnInsertedSignalInfo = TableColumnInsertedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TableColumnInsertedCallback cb+ cb'' <- mk_TableColumnInsertedCallback cb'+ connectSignalFunPtr obj "column-inserted" cb'' connectMode++data TableColumnReorderedSignalInfo+instance SignalInfo TableColumnReorderedSignalInfo where+ type HaskellCallbackType TableColumnReorderedSignalInfo = TableColumnReorderedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TableColumnReorderedCallback cb+ cb'' <- mk_TableColumnReorderedCallback cb'+ connectSignalFunPtr obj "column-reordered" cb'' connectMode++data TableModelChangedSignalInfo+instance SignalInfo TableModelChangedSignalInfo where+ type HaskellCallbackType TableModelChangedSignalInfo = TableModelChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TableModelChangedCallback cb+ cb'' <- mk_TableModelChangedCallback cb'+ connectSignalFunPtr obj "model-changed" cb'' connectMode++data TableRowDeletedSignalInfo+instance SignalInfo TableRowDeletedSignalInfo where+ type HaskellCallbackType TableRowDeletedSignalInfo = TableRowDeletedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TableRowDeletedCallback cb+ cb'' <- mk_TableRowDeletedCallback cb'+ connectSignalFunPtr obj "row-deleted" cb'' connectMode++data TableRowInsertedSignalInfo+instance SignalInfo TableRowInsertedSignalInfo where+ type HaskellCallbackType TableRowInsertedSignalInfo = TableRowInsertedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TableRowInsertedCallback cb+ cb'' <- mk_TableRowInsertedCallback cb'+ connectSignalFunPtr obj "row-inserted" cb'' connectMode++data TableRowReorderedSignalInfo+instance SignalInfo TableRowReorderedSignalInfo where+ type HaskellCallbackType TableRowReorderedSignalInfo = TableRowReorderedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TableRowReorderedCallback cb+ cb'' <- mk_TableRowReorderedCallback cb'+ connectSignalFunPtr obj "row-reordered" cb'' connectMode++type instance O.SignalList Table = TableSignalList+type TableSignalList = ('[ '("columnDeleted", TableColumnDeletedSignalInfo), '("columnInserted", TableColumnInsertedSignalInfo), '("columnReordered", TableColumnReorderedSignalInfo), '("modelChanged", TableModelChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("rowDeleted", TableRowDeletedSignalInfo), '("rowInserted", TableRowInsertedSignalInfo), '("rowReordered", TableRowReorderedSignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "atk_table_get_type"+ c_atk_table_get_type :: IO GType++instance GObject Table where+ gobjectType = c_atk_table_get_type+ ++-- | Type class for types which can be safely cast to `Table`, for instance with `toTable`.+class (GObject o, O.IsDescendantOf Table o) => IsTable o+instance (GObject o, O.IsDescendantOf Table o) => IsTable o++instance O.HasParentTypes Table+type instance O.ParentTypes Table = '[GObject.Object.Object]++-- | Cast to `Table`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toTable :: (MonadIO m, IsTable o) => o -> m Table+toTable = liftIO . unsafeCastTo Table++#if ENABLE_OVERLOADING+instance O.HasAttributeList Table+type instance O.AttributeList Table = TableAttributeList+type TableAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveTableMethod (t :: Symbol) (o :: *) :: * where+ ResolveTableMethod "addColumnSelection" o = TableAddColumnSelectionMethodInfo+ ResolveTableMethod "addRowSelection" o = TableAddRowSelectionMethodInfo+ ResolveTableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveTableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveTableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveTableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveTableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveTableMethod "isColumnSelected" o = TableIsColumnSelectedMethodInfo+ ResolveTableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveTableMethod "isRowSelected" o = TableIsRowSelectedMethodInfo+ ResolveTableMethod "isSelected" o = TableIsSelectedMethodInfo+ ResolveTableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveTableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveTableMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveTableMethod "refAt" o = TableRefAtMethodInfo+ ResolveTableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveTableMethod "removeColumnSelection" o = TableRemoveColumnSelectionMethodInfo+ ResolveTableMethod "removeRowSelection" o = TableRemoveRowSelectionMethodInfo+ ResolveTableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveTableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveTableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveTableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveTableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveTableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveTableMethod "getCaption" o = TableGetCaptionMethodInfo+ ResolveTableMethod "getColumnAtIndex" o = TableGetColumnAtIndexMethodInfo+ ResolveTableMethod "getColumnDescription" o = TableGetColumnDescriptionMethodInfo+ ResolveTableMethod "getColumnExtentAt" o = TableGetColumnExtentAtMethodInfo+ ResolveTableMethod "getColumnHeader" o = TableGetColumnHeaderMethodInfo+ ResolveTableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveTableMethod "getIndexAt" o = TableGetIndexAtMethodInfo+ ResolveTableMethod "getNColumns" o = TableGetNColumnsMethodInfo+ ResolveTableMethod "getNRows" o = TableGetNRowsMethodInfo+ ResolveTableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveTableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveTableMethod "getRowAtIndex" o = TableGetRowAtIndexMethodInfo+ ResolveTableMethod "getRowDescription" o = TableGetRowDescriptionMethodInfo+ ResolveTableMethod "getRowExtentAt" o = TableGetRowExtentAtMethodInfo+ ResolveTableMethod "getRowHeader" o = TableGetRowHeaderMethodInfo+ ResolveTableMethod "getSelectedColumns" o = TableGetSelectedColumnsMethodInfo+ ResolveTableMethod "getSelectedRows" o = TableGetSelectedRowsMethodInfo+ ResolveTableMethod "getSummary" o = TableGetSummaryMethodInfo+ ResolveTableMethod "setCaption" o = TableSetCaptionMethodInfo+ ResolveTableMethod "setColumnDescription" o = TableSetColumnDescriptionMethodInfo+ ResolveTableMethod "setColumnHeader" o = TableSetColumnHeaderMethodInfo+ ResolveTableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveTableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveTableMethod "setRowDescription" o = TableSetRowDescriptionMethodInfo+ ResolveTableMethod "setRowHeader" o = TableSetRowHeaderMethodInfo+ ResolveTableMethod "setSummary" o = TableSetSummaryMethodInfo+ ResolveTableMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveTableMethod t Table, O.MethodInfo info Table p) => OL.IsLabel t (Table -> 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 Table::add_column_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", 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 "atk_table_add_column_selection" atk_table_add_column_selection :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- column : TBasicType TInt+ IO CInt++{- |+Adds the specified /@column@/ to the selection.+-}+tableAddColumnSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> m Bool+ {- ^ __Returns:__ a gboolean representing if the column was successfully added to+the selection, or 0 if value does not implement this interface. -}+tableAddColumnSelection table column = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_add_column_selection table' column+ let result' = (/= 0) result+ touchManagedPtr table+ return result'++#if ENABLE_OVERLOADING+data TableAddColumnSelectionMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsTable a) => O.MethodInfo TableAddColumnSelectionMethodInfo a signature where+ overloadedMethod _ = tableAddColumnSelection++#endif++-- method Table::add_row_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", 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 "atk_table_add_row_selection" atk_table_add_row_selection :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ IO CInt++{- |+Adds the specified /@row@/ to the selection.+-}+tableAddRowSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> m Bool+ {- ^ __Returns:__ a gboolean representing if row was successfully added to selection,+or 0 if value does not implement this interface. -}+tableAddRowSelection table row = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_add_row_selection table' row+ let result' = (/= 0) result+ touchManagedPtr table+ return result'++#if ENABLE_OVERLOADING+data TableAddRowSelectionMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsTable a) => O.MethodInfo TableAddRowSelectionMethodInfo a signature where+ overloadedMethod _ = tableAddRowSelection++#endif++-- method Table::get_caption+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableInterface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_get_caption" atk_table_get_caption :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ IO (Ptr Atk.Object.Object)++{- |+Gets the caption for the /@table@/.+-}+tableGetCaption ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableInterface -}+ -> m (Maybe Atk.Object.Object)+ {- ^ __Returns:__ a AtkObject* representing the+table caption, or 'Nothing' if value does not implement this interface. -}+tableGetCaption table = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_caption table'+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- (newObject Atk.Object.Object) result'+ return result''+ touchManagedPtr table+ return maybeResult++#if ENABLE_OVERLOADING+data TableGetCaptionMethodInfo+instance (signature ~ (m (Maybe Atk.Object.Object)), MonadIO m, IsTable a) => O.MethodInfo TableGetCaptionMethodInfo a signature where+ overloadedMethod _ = tableGetCaption++#endif++-- method Table::get_column_at_index+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableInterface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing an index in @table", 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 "atk_table_get_column_at_index" atk_table_get_column_at_index :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- index_ : TBasicType TInt+ IO Int32++{-# DEPRECATED tableGetColumnAtIndex ["Since 2.12."] #-}+{- |+Gets a @/gint/@ representing the column at the specified /@index_@/.+-}+tableGetColumnAtIndex ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableInterface -}+ -> Int32+ {- ^ /@index_@/: a @/gint/@ representing an index in /@table@/ -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the column at the specified index,+or -1 if the table does not implement this method. -}+tableGetColumnAtIndex table index_ = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_column_at_index table' index_+ touchManagedPtr table+ return result++#if ENABLE_OVERLOADING+data TableGetColumnAtIndexMethodInfo+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsTable a) => O.MethodInfo TableGetColumnAtIndexMethodInfo a signature where+ overloadedMethod _ = tableGetColumnAtIndex++#endif++-- method Table::get_column_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", 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 "atk_table_get_column_description" atk_table_get_column_description :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- column : TBasicType TInt+ IO CString++{- |+Gets the description text of the specified /@column@/ in the table+-}+tableGetColumnDescription ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> m T.Text+ {- ^ __Returns:__ a gchar* representing the column description, or 'Nothing'+if value does not implement this interface. -}+tableGetColumnDescription table column = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_column_description table' column+ checkUnexpectedReturnNULL "tableGetColumnDescription" result+ result' <- cstringToText result+ touchManagedPtr table+ return result'++#if ENABLE_OVERLOADING+data TableGetColumnDescriptionMethodInfo+instance (signature ~ (Int32 -> m T.Text), MonadIO m, IsTable a) => O.MethodInfo TableGetColumnDescriptionMethodInfo a signature where+ overloadedMethod _ = tableGetColumnDescription++#endif++-- method Table::get_column_extent_at+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", 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 "atk_table_get_column_extent_at" atk_table_get_column_extent_at :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ Int32 -> -- column : TBasicType TInt+ IO Int32++{- |+Gets the number of columns occupied by the accessible object+at the specified /@row@/ and /@column@/ in the /@table@/.+-}+tableGetColumnExtentAt ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the column extent at specified position, or 0+if value does not implement this interface. -}+tableGetColumnExtentAt table row column = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_column_extent_at table' row column+ touchManagedPtr table+ return result++#if ENABLE_OVERLOADING+data TableGetColumnExtentAtMethodInfo+instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m, IsTable a) => O.MethodInfo TableGetColumnExtentAtMethodInfo a signature where+ overloadedMethod _ = tableGetColumnExtentAt++#endif++-- method Table::get_column_header+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in the table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_get_column_header" atk_table_get_column_header :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- column : TBasicType TInt+ IO (Ptr Atk.Object.Object)++{- |+Gets the column header of a specified column in an accessible table.+-}+tableGetColumnHeader ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in the table -}+ -> m (Maybe Atk.Object.Object)+ {- ^ __Returns:__ a AtkObject* representing the+specified column header, or 'Nothing' if value does not implement this+interface. -}+tableGetColumnHeader table column = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_column_header table' column+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- (newObject Atk.Object.Object) result'+ return result''+ touchManagedPtr table+ return maybeResult++#if ENABLE_OVERLOADING+data TableGetColumnHeaderMethodInfo+instance (signature ~ (Int32 -> m (Maybe Atk.Object.Object)), MonadIO m, IsTable a) => O.MethodInfo TableGetColumnHeaderMethodInfo a signature where+ overloadedMethod _ = tableGetColumnHeader++#endif++-- method Table::get_index_at+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", 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 "atk_table_get_index_at" atk_table_get_index_at :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ Int32 -> -- column : TBasicType TInt+ IO Int32++{-# DEPRECATED tableGetIndexAt ["Since 2.12. Use 'GI.Atk.Interfaces.Table.tableRefAt' in order to get the","accessible that represents the cell at (/@row@/, /@column@/)"] #-}+{- |+Gets a @/gint/@ representing the index at the specified /@row@/ and+/@column@/.+-}+tableGetIndexAt ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> m Int32+ {- ^ __Returns:__ a @/gint/@ representing the index at specified position.+The value -1 is returned if the object at row,column is not a child+of table or table does not implement this interface. -}+tableGetIndexAt table row column = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_index_at table' row column+ touchManagedPtr table+ return result++#if ENABLE_OVERLOADING+data TableGetIndexAtMethodInfo+instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m, IsTable a) => O.MethodInfo TableGetIndexAtMethodInfo a signature where+ overloadedMethod _ = tableGetIndexAt++#endif++-- method Table::get_n_columns+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", 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 "atk_table_get_n_columns" atk_table_get_n_columns :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ IO Int32++{- |+Gets the number of columns in the table.+-}+tableGetNColumns ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the number of columns, or 0+if value does not implement this interface. -}+tableGetNColumns table = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_n_columns table'+ touchManagedPtr table+ return result++#if ENABLE_OVERLOADING+data TableGetNColumnsMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsTable a) => O.MethodInfo TableGetNColumnsMethodInfo a signature where+ overloadedMethod _ = tableGetNColumns++#endif++-- method Table::get_n_rows+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", 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 "atk_table_get_n_rows" atk_table_get_n_rows :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ IO Int32++{- |+Gets the number of rows in the table.+-}+tableGetNRows ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the number of rows, or 0+if value does not implement this interface. -}+tableGetNRows table = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_n_rows table'+ touchManagedPtr table+ return result++#if ENABLE_OVERLOADING+data TableGetNRowsMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsTable a) => O.MethodInfo TableGetNRowsMethodInfo a signature where+ overloadedMethod _ = tableGetNRows++#endif++-- method Table::get_row_at_index+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableInterface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing an index in @table", 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 "atk_table_get_row_at_index" atk_table_get_row_at_index :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- index_ : TBasicType TInt+ IO Int32++{-# DEPRECATED tableGetRowAtIndex ["since 2.12."] #-}+{- |+Gets a @/gint/@ representing the row at the specified /@index_@/.+-}+tableGetRowAtIndex ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableInterface -}+ -> Int32+ {- ^ /@index_@/: a @/gint/@ representing an index in /@table@/ -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the row at the specified index,+or -1 if the table does not implement this method. -}+tableGetRowAtIndex table index_ = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_row_at_index table' index_+ touchManagedPtr table+ return result++#if ENABLE_OVERLOADING+data TableGetRowAtIndexMethodInfo+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsTable a) => O.MethodInfo TableGetRowAtIndexMethodInfo a signature where+ overloadedMethod _ = tableGetRowAtIndex++#endif++-- method Table::get_row_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", 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 "atk_table_get_row_description" atk_table_get_row_description :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ IO CString++{- |+Gets the description text of the specified row in the table+-}+tableGetRowDescription ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> m (Maybe T.Text)+ {- ^ __Returns:__ a gchar* representing the row description, or+'Nothing' if value does not implement this interface. -}+tableGetRowDescription table row = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_row_description table' row+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- cstringToText result'+ return result''+ touchManagedPtr table+ return maybeResult++#if ENABLE_OVERLOADING+data TableGetRowDescriptionMethodInfo+instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m, IsTable a) => O.MethodInfo TableGetRowDescriptionMethodInfo a signature where+ overloadedMethod _ = tableGetRowDescription++#endif++-- method Table::get_row_extent_at+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", 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 "atk_table_get_row_extent_at" atk_table_get_row_extent_at :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ Int32 -> -- column : TBasicType TInt+ IO Int32++{- |+Gets the number of rows occupied by the accessible object+at a specified /@row@/ and /@column@/ in the /@table@/.+-}+tableGetRowExtentAt ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the row extent at specified position, or 0+if value does not implement this interface. -}+tableGetRowExtentAt table row column = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_row_extent_at table' row column+ touchManagedPtr table+ return result++#if ENABLE_OVERLOADING+data TableGetRowExtentAtMethodInfo+instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m, IsTable a) => O.MethodInfo TableGetRowExtentAtMethodInfo a signature where+ overloadedMethod _ = tableGetRowExtentAt++#endif++-- method Table::get_row_header+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in the table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_get_row_header" atk_table_get_row_header :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ IO (Ptr Atk.Object.Object)++{- |+Gets the row header of a specified row in an accessible table.+-}+tableGetRowHeader ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in the table -}+ -> m (Maybe Atk.Object.Object)+ {- ^ __Returns:__ a AtkObject* representing the+specified row header, or 'Nothing' if value does not implement this+interface. -}+tableGetRowHeader table row = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_row_header table' row+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- (newObject Atk.Object.Object) result'+ return result''+ touchManagedPtr table+ return maybeResult++#if ENABLE_OVERLOADING+data TableGetRowHeaderMethodInfo+instance (signature ~ (Int32 -> m (Maybe Atk.Object.Object)), MonadIO m, IsTable a) => O.MethodInfo TableGetRowHeaderMethodInfo a signature where+ overloadedMethod _ = tableGetRowHeader++#endif++-- method Table::get_selected_columns+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selected", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint** that is to contain the selected columns numbers", 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 "atk_table_get_selected_columns" atk_table_get_selected_columns :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- selected : TBasicType TInt+ IO Int32++{- |+Gets the selected columns of the table by initializing **selected with+the selected column numbers. This array should be freed by the caller.+-}+tableGetSelectedColumns ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@selected@/: a @/gint/@** that is to contain the selected columns numbers -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the number of selected columns,+or @/0/@ if value does not implement this interface. -}+tableGetSelectedColumns table selected = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_selected_columns table' selected+ touchManagedPtr table+ return result++#if ENABLE_OVERLOADING+data TableGetSelectedColumnsMethodInfo+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsTable a) => O.MethodInfo TableGetSelectedColumnsMethodInfo a signature where+ overloadedMethod _ = tableGetSelectedColumns++#endif++-- method Table::get_selected_rows+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selected", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint** that is to contain the selected row numbers", 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 "atk_table_get_selected_rows" atk_table_get_selected_rows :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- selected : TBasicType TInt+ IO Int32++{- |+Gets the selected rows of the table by initializing **selected with+the selected row numbers. This array should be freed by the caller.+-}+tableGetSelectedRows ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@selected@/: a @/gint/@** that is to contain the selected row numbers -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the number of selected rows,+or zero if value does not implement this interface. -}+tableGetSelectedRows table selected = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_selected_rows table' selected+ touchManagedPtr table+ return result++#if ENABLE_OVERLOADING+data TableGetSelectedRowsMethodInfo+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsTable a) => O.MethodInfo TableGetSelectedRowsMethodInfo a signature where+ overloadedMethod _ = tableGetSelectedRows++#endif++-- method Table::get_summary+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_get_summary" atk_table_get_summary :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ IO (Ptr Atk.Object.Object)++{- |+Gets the summary description of the table.+-}+tableGetSummary ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> m Atk.Object.Object+ {- ^ __Returns:__ a AtkObject* representing a summary description+of the table, or zero if value does not implement this interface. -}+tableGetSummary table = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_get_summary table'+ checkUnexpectedReturnNULL "tableGetSummary" result+ result' <- (wrapObject Atk.Object.Object) result+ touchManagedPtr table+ return result'++#if ENABLE_OVERLOADING+data TableGetSummaryMethodInfo+instance (signature ~ (m Atk.Object.Object), MonadIO m, IsTable a) => O.MethodInfo TableGetSummaryMethodInfo a signature where+ overloadedMethod _ = tableGetSummary++#endif++-- method Table::is_column_selected+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", 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 "atk_table_is_column_selected" atk_table_is_column_selected :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- column : TBasicType TInt+ IO CInt++{- |+Gets a boolean value indicating whether the specified /@column@/+is selected+-}+tableIsColumnSelected ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> m Bool+ {- ^ __Returns:__ a gboolean representing if the column is selected, or 0+if value does not implement this interface. -}+tableIsColumnSelected table column = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_is_column_selected table' column+ let result' = (/= 0) result+ touchManagedPtr table+ return result'++#if ENABLE_OVERLOADING+data TableIsColumnSelectedMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsTable a) => O.MethodInfo TableIsColumnSelectedMethodInfo a signature where+ overloadedMethod _ = tableIsColumnSelected++#endif++-- method Table::is_row_selected+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", 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 "atk_table_is_row_selected" atk_table_is_row_selected :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ IO CInt++{- |+Gets a boolean value indicating whether the specified /@row@/+is selected+-}+tableIsRowSelected ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> m Bool+ {- ^ __Returns:__ a gboolean representing if the row is selected, or 0+if value does not implement this interface. -}+tableIsRowSelected table row = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_is_row_selected table' row+ let result' = (/= 0) result+ touchManagedPtr table+ return result'++#if ENABLE_OVERLOADING+data TableIsRowSelectedMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsTable a) => O.MethodInfo TableIsRowSelectedMethodInfo a signature where+ overloadedMethod _ = tableIsRowSelected++#endif++-- method Table::is_selected+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", 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 "atk_table_is_selected" atk_table_is_selected :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ Int32 -> -- column : TBasicType TInt+ IO CInt++{- |+Gets a boolean value indicating whether the accessible object+at the specified /@row@/ and /@column@/ is selected+-}+tableIsSelected ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> m Bool+ {- ^ __Returns:__ a gboolean representing if the cell is selected, or 0+if value does not implement this interface. -}+tableIsSelected table row column = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_is_selected table' row column+ let result' = (/= 0) result+ touchManagedPtr table+ return result'++#if ENABLE_OVERLOADING+data TableIsSelectedMethodInfo+instance (signature ~ (Int32 -> Int32 -> m Bool), MonadIO m, IsTable a) => O.MethodInfo TableIsSelectedMethodInfo a signature where+ overloadedMethod _ = tableIsSelected++#endif++-- method Table::ref_at+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_ref_at" atk_table_ref_at :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ Int32 -> -- column : TBasicType TInt+ IO (Ptr Atk.Object.Object)++{- |+Get a reference to the table cell at /@row@/, /@column@/. This cell+should implement the interface 'GI.Atk.Interfaces.TableCell.TableCell'+-}+tableRefAt ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> m Atk.Object.Object+ {- ^ __Returns:__ an 'GI.Atk.Objects.Object.Object' representing the referred+to accessible -}+tableRefAt table row column = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_ref_at table' row column+ checkUnexpectedReturnNULL "tableRefAt" result+ result' <- (wrapObject Atk.Object.Object) result+ touchManagedPtr table+ return result'++#if ENABLE_OVERLOADING+data TableRefAtMethodInfo+instance (signature ~ (Int32 -> Int32 -> m Atk.Object.Object), MonadIO m, IsTable a) => O.MethodInfo TableRefAtMethodInfo a signature where+ overloadedMethod _ = tableRefAt++#endif++-- method Table::remove_column_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", 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 "atk_table_remove_column_selection" atk_table_remove_column_selection :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- column : TBasicType TInt+ IO CInt++{- |+Adds the specified /@column@/ to the selection.+-}+tableRemoveColumnSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> m Bool+ {- ^ __Returns:__ a gboolean representing if the column was successfully removed from+the selection, or 0 if value does not implement this interface. -}+tableRemoveColumnSelection table column = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_remove_column_selection table' column+ let result' = (/= 0) result+ touchManagedPtr table+ return result'++#if ENABLE_OVERLOADING+data TableRemoveColumnSelectionMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsTable a) => O.MethodInfo TableRemoveColumnSelectionMethodInfo a signature where+ overloadedMethod _ = tableRemoveColumnSelection++#endif++-- method Table::remove_row_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", 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 "atk_table_remove_row_selection" atk_table_remove_row_selection :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ IO CInt++{- |+Removes the specified /@row@/ from the selection.+-}+tableRemoveRowSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> m Bool+ {- ^ __Returns:__ a gboolean representing if the row was successfully removed from+the selection, or 0 if value does not implement this interface. -}+tableRemoveRowSelection table row = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ result <- atk_table_remove_row_selection table' row+ let result' = (/= 0) result+ touchManagedPtr table+ return result'++#if ENABLE_OVERLOADING+data TableRemoveRowSelectionMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsTable a) => O.MethodInfo TableRemoveRowSelectionMethodInfo a signature where+ overloadedMethod _ = tableRemoveRowSelection++#endif++-- method Table::set_caption+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caption", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #AtkObject representing the caption to set for @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_set_caption" atk_table_set_caption :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Ptr Atk.Object.Object -> -- caption : TInterface (Name {namespace = "Atk", name = "Object"})+ IO ()++{- |+Sets the caption for the table.+-}+tableSetCaption ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a, Atk.Object.IsObject b) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> b+ {- ^ /@caption@/: a 'GI.Atk.Objects.Object.Object' representing the caption to set for /@table@/ -}+ -> m ()+tableSetCaption table caption = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ caption' <- unsafeManagedPtrCastPtr caption+ atk_table_set_caption table' caption'+ touchManagedPtr table+ touchManagedPtr caption+ return ()++#if ENABLE_OVERLOADING+data TableSetCaptionMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsTable a, Atk.Object.IsObject b) => O.MethodInfo TableSetCaptionMethodInfo a signature where+ overloadedMethod _ = tableSetCaption++#endif++-- method Table::set_column_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gchar representing the description text\nto set for the specified @column of the @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_set_column_description" atk_table_set_column_description :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- column : TBasicType TInt+ CString -> -- description : TBasicType TUTF8+ IO ()++{- |+Sets the description text for the specified /@column@/ of the /@table@/.+-}+tableSetColumnDescription ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> T.Text+ {- ^ /@description@/: a @/gchar/@ representing the description text+to set for the specified /@column@/ of the /@table@/ -}+ -> m ()+tableSetColumnDescription table column description = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ description' <- textToCString description+ atk_table_set_column_description table' column description'+ touchManagedPtr table+ freeMem description'+ return ()++#if ENABLE_OVERLOADING+data TableSetColumnDescriptionMethodInfo+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m, IsTable a) => O.MethodInfo TableSetColumnDescriptionMethodInfo a signature where+ overloadedMethod _ = tableSetColumnDescription++#endif++-- method Table::set_column_header+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a column in @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "header", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_set_column_header" atk_table_set_column_header :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- column : TBasicType TInt+ Ptr Atk.Object.Object -> -- header : TInterface (Name {namespace = "Atk", name = "Object"})+ IO ()++{- |+Sets the specified column header to /@header@/.+-}+tableSetColumnHeader ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a, Atk.Object.IsObject b) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@column@/: a @/gint/@ representing a column in /@table@/ -}+ -> b+ {- ^ /@header@/: an 'GI.Atk.Interfaces.Table.Table' -}+ -> m ()+tableSetColumnHeader table column header = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ header' <- unsafeManagedPtrCastPtr header+ atk_table_set_column_header table' column header'+ touchManagedPtr table+ touchManagedPtr header+ return ()++#if ENABLE_OVERLOADING+data TableSetColumnHeaderMethodInfo+instance (signature ~ (Int32 -> b -> m ()), MonadIO m, IsTable a, Atk.Object.IsObject b) => O.MethodInfo TableSetColumnHeaderMethodInfo a signature where+ overloadedMethod _ = tableSetColumnHeader++#endif++-- method Table::set_row_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gchar representing the description text\nto set for the specified @row of @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_set_row_description" atk_table_set_row_description :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ CString -> -- description : TBasicType TUTF8+ IO ()++{- |+Sets the description text for the specified /@row@/ of /@table@/.+-}+tableSetRowDescription ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> T.Text+ {- ^ /@description@/: a @/gchar/@ representing the description text+to set for the specified /@row@/ of /@table@/ -}+ -> m ()+tableSetRowDescription table row description = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ description' <- textToCString description+ atk_table_set_row_description table' row description'+ touchManagedPtr table+ freeMem description'+ return ()++#if ENABLE_OVERLOADING+data TableSetRowDescriptionMethodInfo+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m, IsTable a) => O.MethodInfo TableSetRowDescriptionMethodInfo a signature where+ overloadedMethod _ = tableSetRowDescription++#endif++-- method Table::set_row_header+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gint representing a row in @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "header", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_set_row_header" atk_table_set_row_header :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Int32 -> -- row : TBasicType TInt+ Ptr Atk.Object.Object -> -- header : TInterface (Name {namespace = "Atk", name = "Object"})+ IO ()++{- |+Sets the specified row header to /@header@/.+-}+tableSetRowHeader ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a, Atk.Object.IsObject b) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> Int32+ {- ^ /@row@/: a @/gint/@ representing a row in /@table@/ -}+ -> b+ {- ^ /@header@/: an 'GI.Atk.Interfaces.Table.Table' -}+ -> m ()+tableSetRowHeader table row header = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ header' <- unsafeManagedPtrCastPtr header+ atk_table_set_row_header table' row header'+ touchManagedPtr table+ touchManagedPtr header+ return ()++#if ENABLE_OVERLOADING+data TableSetRowHeaderMethodInfo+instance (signature ~ (Int32 -> b -> m ()), MonadIO m, IsTable a, Atk.Object.IsObject b) => O.MethodInfo TableSetRowHeaderMethodInfo a signature where+ overloadedMethod _ = tableSetRowHeader++#endif++-- method Table::set_summary+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Atk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject representing the summary description\nto set for @table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_set_summary" atk_table_set_summary :: + Ptr Table -> -- table : TInterface (Name {namespace = "Atk", name = "Table"})+ Ptr Atk.Object.Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO ()++{- |+Sets the summary description of the table.+-}+tableSetSummary ::+ (B.CallStack.HasCallStack, MonadIO m, IsTable a, Atk.Object.IsObject b) =>+ a+ {- ^ /@table@/: a GObject instance that implements AtkTableIface -}+ -> b+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' representing the summary description+to set for /@table@/ -}+ -> m ()+tableSetSummary table accessible = liftIO $ do+ table' <- unsafeManagedPtrCastPtr table+ accessible' <- unsafeManagedPtrCastPtr accessible+ atk_table_set_summary table' accessible'+ touchManagedPtr table+ touchManagedPtr accessible+ return ()++#if ENABLE_OVERLOADING+data TableSetSummaryMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsTable a, Atk.Object.IsObject b) => O.MethodInfo TableSetSummaryMethodInfo a signature where+ overloadedMethod _ = tableSetSummary++#endif++
+ GI/Atk/Interfaces/Table.hs-boot view
@@ -0,0 +1,137 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.Table 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++newtype Table = Table (ManagedPtr Table)+#if ENABLE_OVERLOADING+data TableColumnDeletedSignalInfo+#endif+#if ENABLE_OVERLOADING+data TableColumnInsertedSignalInfo+#endif+#if ENABLE_OVERLOADING+data TableColumnReorderedSignalInfo+#endif+#if ENABLE_OVERLOADING+data TableModelChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data TableRowDeletedSignalInfo+#endif+#if ENABLE_OVERLOADING+data TableRowInsertedSignalInfo+#endif+#if ENABLE_OVERLOADING+data TableRowReorderedSignalInfo+#endif+instance GObject Table where+class (GObject o, O.IsDescendantOf Table o) => IsTable o+instance (GObject o, O.IsDescendantOf Table o) => IsTable o+instance O.HasParentTypes Table+#if ENABLE_OVERLOADING+data TableAddColumnSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableAddRowSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetCaptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetColumnAtIndexMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetColumnDescriptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetColumnExtentAtMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetColumnHeaderMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetIndexAtMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetNColumnsMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetNRowsMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetRowAtIndexMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetRowDescriptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetRowExtentAtMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetRowHeaderMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetSelectedColumnsMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetSelectedRowsMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableGetSummaryMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableIsColumnSelectedMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableIsRowSelectedMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableIsSelectedMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableRefAtMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableRemoveColumnSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableRemoveRowSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableSetCaptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableSetColumnDescriptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableSetColumnHeaderMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableSetRowDescriptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableSetRowHeaderMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableSetSummaryMethodInfo+#endif
+ GI/Atk/Interfaces/TableCell.hs view
@@ -0,0 +1,512 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Being 'GI.Atk.Interfaces.Table.Table' a component which present elements ordered via rows+and columns, an 'GI.Atk.Interfaces.TableCell.TableCell' is the interface which each of those+elements, so \"cells\" should implement.++See also 'GI.Atk.Interfaces.Table.Table'.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.TableCell+ ( ++-- * Exported types+ TableCell(..) ,+ noTableCell ,+ IsTableCell ,+ toTableCell ,+++ -- * Methods+-- ** getColumnHeaderCells #method:getColumnHeaderCells#++#if ENABLE_OVERLOADING+ TableCellGetColumnHeaderCellsMethodInfo ,+#endif+ tableCellGetColumnHeaderCells ,+++-- ** getColumnSpan #method:getColumnSpan#++#if ENABLE_OVERLOADING+ TableCellGetColumnSpanMethodInfo ,+#endif+ tableCellGetColumnSpan ,+++-- ** getPosition #method:getPosition#++#if ENABLE_OVERLOADING+ TableCellGetPositionMethodInfo ,+#endif+ tableCellGetPosition ,+++-- ** getRowColumnSpan #method:getRowColumnSpan#++#if ENABLE_OVERLOADING+ TableCellGetRowColumnSpanMethodInfo ,+#endif+ tableCellGetRowColumnSpan ,+++-- ** getRowHeaderCells #method:getRowHeaderCells#++#if ENABLE_OVERLOADING+ TableCellGetRowHeaderCellsMethodInfo ,+#endif+ tableCellGetRowHeaderCells ,+++-- ** getRowSpan #method:getRowSpan#++#if ENABLE_OVERLOADING+ TableCellGetRowSpanMethodInfo ,+#endif+ tableCellGetRowSpan ,+++-- ** getTable #method:getTable#++#if ENABLE_OVERLOADING+ TableCellGetTableMethodInfo ,+#endif+ tableCellGetTable ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object++-- interface TableCell +-- | Memory-managed wrapper type.+newtype TableCell = TableCell (ManagedPtr TableCell)+-- | A convenience alias for `Nothing` :: `Maybe` `TableCell`.+noTableCell :: Maybe TableCell+noTableCell = Nothing++#if ENABLE_OVERLOADING+type instance O.SignalList TableCell = TableCellSignalList+type TableCellSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "atk_table_cell_get_type"+ c_atk_table_cell_get_type :: IO GType++instance GObject TableCell where+ gobjectType = c_atk_table_cell_get_type+ ++-- | Type class for types which can be safely cast to `TableCell`, for instance with `toTableCell`.+class (GObject o, O.IsDescendantOf TableCell o) => IsTableCell o+instance (GObject o, O.IsDescendantOf TableCell o) => IsTableCell o++instance O.HasParentTypes TableCell+type instance O.ParentTypes TableCell = '[Atk.Object.Object, GObject.Object.Object]++-- | Cast to `TableCell`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toTableCell :: (MonadIO m, IsTableCell o) => o -> m TableCell+toTableCell = liftIO . unsafeCastTo TableCell++#if ENABLE_OVERLOADING+instance O.HasAttributeList TableCell+type instance O.AttributeList TableCell = TableCellAttributeList+type TableCellAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveTableCellMethod (t :: Symbol) (o :: *) :: * where+ ResolveTableCellMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo+ ResolveTableCellMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveTableCellMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveTableCellMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveTableCellMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveTableCellMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveTableCellMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo+ ResolveTableCellMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveTableCellMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveTableCellMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveTableCellMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo+ ResolveTableCellMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo+ ResolveTableCellMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveTableCellMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo+ ResolveTableCellMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo+ ResolveTableCellMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveTableCellMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo+ ResolveTableCellMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo+ ResolveTableCellMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo+ ResolveTableCellMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveTableCellMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveTableCellMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveTableCellMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveTableCellMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveTableCellMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveTableCellMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo+ ResolveTableCellMethod "getColumnHeaderCells" o = TableCellGetColumnHeaderCellsMethodInfo+ ResolveTableCellMethod "getColumnSpan" o = TableCellGetColumnSpanMethodInfo+ ResolveTableCellMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveTableCellMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo+ ResolveTableCellMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo+ ResolveTableCellMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo+ ResolveTableCellMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo+ ResolveTableCellMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo+ ResolveTableCellMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo+ ResolveTableCellMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo+ ResolveTableCellMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo+ ResolveTableCellMethod "getPosition" o = TableCellGetPositionMethodInfo+ ResolveTableCellMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveTableCellMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveTableCellMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo+ ResolveTableCellMethod "getRowColumnSpan" o = TableCellGetRowColumnSpanMethodInfo+ ResolveTableCellMethod "getRowHeaderCells" o = TableCellGetRowHeaderCellsMethodInfo+ ResolveTableCellMethod "getRowSpan" o = TableCellGetRowSpanMethodInfo+ ResolveTableCellMethod "getTable" o = TableCellGetTableMethodInfo+ ResolveTableCellMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveTableCellMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo+ ResolveTableCellMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo+ ResolveTableCellMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo+ ResolveTableCellMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveTableCellMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo+ ResolveTableCellMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveTableCellMethod t TableCell, O.MethodInfo info TableCell p) => OL.IsLabel t (TableCell -> 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 TableCell::get_column_header_cells+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Atk", name = "TableCell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableCellIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TPtrArray (TInterface (Name {namespace = "Atk", name = "Object"})))+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_cell_get_column_header_cells" atk_table_cell_get_column_header_cells :: + Ptr TableCell -> -- cell : TInterface (Name {namespace = "Atk", name = "TableCell"})+ IO (Ptr (GPtrArray (Ptr Atk.Object.Object)))++{- |+Returns the column headers as an array of cell accessibles.++/Since: 2.12/+-}+tableCellGetColumnHeaderCells ::+ (B.CallStack.HasCallStack, MonadIO m, IsTableCell a) =>+ a+ {- ^ /@cell@/: a GObject instance that implements AtkTableCellIface -}+ -> m [Atk.Object.Object]+ {- ^ __Returns:__ a GPtrArray of AtkObjects+representing the column header cells. -}+tableCellGetColumnHeaderCells cell = liftIO $ do+ cell' <- unsafeManagedPtrCastPtr cell+ result <- atk_table_cell_get_column_header_cells cell'+ checkUnexpectedReturnNULL "tableCellGetColumnHeaderCells" result+ result' <- unpackGPtrArray result+ result'' <- mapM (wrapObject Atk.Object.Object) result'+ unrefPtrArray result+ touchManagedPtr cell+ return result''++#if ENABLE_OVERLOADING+data TableCellGetColumnHeaderCellsMethodInfo+instance (signature ~ (m [Atk.Object.Object]), MonadIO m, IsTableCell a) => O.MethodInfo TableCellGetColumnHeaderCellsMethodInfo a signature where+ overloadedMethod _ = tableCellGetColumnHeaderCells++#endif++-- method TableCell::get_column_span+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Atk", name = "TableCell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableCellIface", 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 "atk_table_cell_get_column_span" atk_table_cell_get_column_span :: + Ptr TableCell -> -- cell : TInterface (Name {namespace = "Atk", name = "TableCell"})+ IO Int32++{- |+Returns the number of columns occupied by this cell accessible.++/Since: 2.12/+-}+tableCellGetColumnSpan ::+ (B.CallStack.HasCallStack, MonadIO m, IsTableCell a) =>+ a+ {- ^ /@cell@/: a GObject instance that implements AtkTableCellIface -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the number of columns occupied by this cell,+or 0 if the cell does not implement this method. -}+tableCellGetColumnSpan cell = liftIO $ do+ cell' <- unsafeManagedPtrCastPtr cell+ result <- atk_table_cell_get_column_span cell'+ touchManagedPtr cell+ return result++#if ENABLE_OVERLOADING+data TableCellGetColumnSpanMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsTableCell a) => O.MethodInfo TableCellGetColumnSpanMethodInfo a signature where+ overloadedMethod _ = tableCellGetColumnSpan++#endif++-- method TableCell::get_position+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Atk", name = "TableCell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableCellIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row of the given cell.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column of the given cell.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_cell_get_position" atk_table_cell_get_position :: + Ptr TableCell -> -- cell : TInterface (Name {namespace = "Atk", name = "TableCell"})+ Ptr Int32 -> -- row : TBasicType TInt+ Ptr Int32 -> -- column : TBasicType TInt+ IO CInt++{- |+Retrieves the tabular position of this cell.++/Since: 2.12/+-}+tableCellGetPosition ::+ (B.CallStack.HasCallStack, MonadIO m, IsTableCell a) =>+ a+ {- ^ /@cell@/: a GObject instance that implements AtkTableCellIface -}+ -> m ((Bool, Int32, Int32))+ {- ^ __Returns:__ TRUE if successful; FALSE otherwise. -}+tableCellGetPosition cell = liftIO $ do+ cell' <- unsafeManagedPtrCastPtr cell+ row <- allocMem :: IO (Ptr Int32)+ column <- allocMem :: IO (Ptr Int32)+ result <- atk_table_cell_get_position cell' row column+ let result' = (/= 0) result+ row' <- peek row+ column' <- peek column+ touchManagedPtr cell+ freeMem row+ freeMem column+ return (result', row', column')++#if ENABLE_OVERLOADING+data TableCellGetPositionMethodInfo+instance (signature ~ (m ((Bool, Int32, Int32))), MonadIO m, IsTableCell a) => O.MethodInfo TableCellGetPositionMethodInfo a signature where+ overloadedMethod _ = tableCellGetPosition++#endif++-- method TableCell::get_row_column_span+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Atk", name = "TableCell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableCellIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row index of the given cell.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column index of the given cell.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "row_span", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of rows occupied by this cell.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "column_span", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of columns occupied by this cell.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_cell_get_row_column_span" atk_table_cell_get_row_column_span :: + Ptr TableCell -> -- cell : TInterface (Name {namespace = "Atk", name = "TableCell"})+ Ptr Int32 -> -- row : TBasicType TInt+ Ptr Int32 -> -- column : TBasicType TInt+ Ptr Int32 -> -- row_span : TBasicType TInt+ Ptr Int32 -> -- column_span : TBasicType TInt+ IO CInt++{- |+Gets the row and column indexes and span of this cell accessible.++Note: If the object does not implement this function, then, by default, atk+will implement this function by calling get_row_span and get_column_span+on the object.++/Since: 2.12/+-}+tableCellGetRowColumnSpan ::+ (B.CallStack.HasCallStack, MonadIO m, IsTableCell a) =>+ a+ {- ^ /@cell@/: a GObject instance that implements AtkTableCellIface -}+ -> m ((Bool, Int32, Int32, Int32, Int32))+ {- ^ __Returns:__ TRUE if successful; FALSE otherwise. -}+tableCellGetRowColumnSpan cell = liftIO $ do+ cell' <- unsafeManagedPtrCastPtr cell+ row <- allocMem :: IO (Ptr Int32)+ column <- allocMem :: IO (Ptr Int32)+ rowSpan <- allocMem :: IO (Ptr Int32)+ columnSpan <- allocMem :: IO (Ptr Int32)+ result <- atk_table_cell_get_row_column_span cell' row column rowSpan columnSpan+ let result' = (/= 0) result+ row' <- peek row+ column' <- peek column+ rowSpan' <- peek rowSpan+ columnSpan' <- peek columnSpan+ touchManagedPtr cell+ freeMem row+ freeMem column+ freeMem rowSpan+ freeMem columnSpan+ return (result', row', column', rowSpan', columnSpan')++#if ENABLE_OVERLOADING+data TableCellGetRowColumnSpanMethodInfo+instance (signature ~ (m ((Bool, Int32, Int32, Int32, Int32))), MonadIO m, IsTableCell a) => O.MethodInfo TableCellGetRowColumnSpanMethodInfo a signature where+ overloadedMethod _ = tableCellGetRowColumnSpan++#endif++-- method TableCell::get_row_header_cells+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Atk", name = "TableCell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableCellIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TPtrArray (TInterface (Name {namespace = "Atk", name = "Object"})))+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_cell_get_row_header_cells" atk_table_cell_get_row_header_cells :: + Ptr TableCell -> -- cell : TInterface (Name {namespace = "Atk", name = "TableCell"})+ IO (Ptr (GPtrArray (Ptr Atk.Object.Object)))++{- |+Returns the row headers as an array of cell accessibles.++/Since: 2.12/+-}+tableCellGetRowHeaderCells ::+ (B.CallStack.HasCallStack, MonadIO m, IsTableCell a) =>+ a+ {- ^ /@cell@/: a GObject instance that implements AtkTableCellIface -}+ -> m [Atk.Object.Object]+ {- ^ __Returns:__ a GPtrArray of AtkObjects+representing the row header cells. -}+tableCellGetRowHeaderCells cell = liftIO $ do+ cell' <- unsafeManagedPtrCastPtr cell+ result <- atk_table_cell_get_row_header_cells cell'+ checkUnexpectedReturnNULL "tableCellGetRowHeaderCells" result+ result' <- unpackGPtrArray result+ result'' <- mapM (wrapObject Atk.Object.Object) result'+ unrefPtrArray result+ touchManagedPtr cell+ return result''++#if ENABLE_OVERLOADING+data TableCellGetRowHeaderCellsMethodInfo+instance (signature ~ (m [Atk.Object.Object]), MonadIO m, IsTableCell a) => O.MethodInfo TableCellGetRowHeaderCellsMethodInfo a signature where+ overloadedMethod _ = tableCellGetRowHeaderCells++#endif++-- method TableCell::get_row_span+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Atk", name = "TableCell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableCellIface", 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 "atk_table_cell_get_row_span" atk_table_cell_get_row_span :: + Ptr TableCell -> -- cell : TInterface (Name {namespace = "Atk", name = "TableCell"})+ IO Int32++{- |+Returns the number of rows occupied by this cell accessible.++/Since: 2.12/+-}+tableCellGetRowSpan ::+ (B.CallStack.HasCallStack, MonadIO m, IsTableCell a) =>+ a+ {- ^ /@cell@/: a GObject instance that implements AtkTableCellIface -}+ -> m Int32+ {- ^ __Returns:__ a gint representing the number of rows occupied by this cell,+or 0 if the cell does not implement this method. -}+tableCellGetRowSpan cell = liftIO $ do+ cell' <- unsafeManagedPtrCastPtr cell+ result <- atk_table_cell_get_row_span cell'+ touchManagedPtr cell+ return result++#if ENABLE_OVERLOADING+data TableCellGetRowSpanMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsTableCell a) => O.MethodInfo TableCellGetRowSpanMethodInfo a signature where+ overloadedMethod _ = tableCellGetRowSpan++#endif++-- method TableCell::get_table+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Atk", name = "TableCell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkTableCellIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_table_cell_get_table" atk_table_cell_get_table :: + Ptr TableCell -> -- cell : TInterface (Name {namespace = "Atk", name = "TableCell"})+ IO (Ptr Atk.Object.Object)++{- |+Returns a reference to the accessible of the containing table.++/Since: 2.12/+-}+tableCellGetTable ::+ (B.CallStack.HasCallStack, MonadIO m, IsTableCell a) =>+ a+ {- ^ /@cell@/: a GObject instance that implements AtkTableCellIface -}+ -> m Atk.Object.Object+ {- ^ __Returns:__ the atk object for the containing table. -}+tableCellGetTable cell = liftIO $ do+ cell' <- unsafeManagedPtrCastPtr cell+ result <- atk_table_cell_get_table cell'+ checkUnexpectedReturnNULL "tableCellGetTable" result+ result' <- (wrapObject Atk.Object.Object) result+ touchManagedPtr cell+ return result'++#if ENABLE_OVERLOADING+data TableCellGetTableMethodInfo+instance (signature ~ (m Atk.Object.Object), MonadIO m, IsTableCell a) => O.MethodInfo TableCellGetTableMethodInfo a signature where+ overloadedMethod _ = tableCellGetTable++#endif++
+ GI/Atk/Interfaces/TableCell.hs-boot view
@@ -0,0 +1,50 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.TableCell 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++newtype TableCell = TableCell (ManagedPtr TableCell)+instance GObject TableCell where+class (GObject o, O.IsDescendantOf TableCell o) => IsTableCell o+instance (GObject o, O.IsDescendantOf TableCell o) => IsTableCell o+instance O.HasParentTypes TableCell+#if ENABLE_OVERLOADING+data TableCellGetColumnHeaderCellsMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableCellGetColumnSpanMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableCellGetPositionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableCellGetRowColumnSpanMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableCellGetRowHeaderCellsMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableCellGetRowSpanMethodInfo+#endif+#if ENABLE_OVERLOADING+data TableCellGetTableMethodInfo+#endif
+ GI/Atk/Interfaces/Text.hs view
@@ -0,0 +1,2062 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Atk.Interfaces.Text.Text' should be implemented by @/AtkObjects/@ on behalf of widgets+that have text content which is either attributed or otherwise+non-trivial. @/AtkObjects/@ whose text content is simple,+unattributed, and very brief may expose that content via+@/atk_object_get_name/@ instead; however if the text is editable,+multi-line, typically longer than three or four words, attributed,+selectable, or if the object already uses the \'name\' ATK property+for other information, the 'GI.Atk.Interfaces.Text.Text' interface should be used to+expose the text content. In the case of editable text content,+'GI.Atk.Interfaces.EditableText.EditableText' (a subtype of the 'GI.Atk.Interfaces.Text.Text' interface) should be+implemented instead.++ 'GI.Atk.Interfaces.Text.Text' provides not only traversal facilities and change+notification for text content, but also caret tracking and glyph+bounding box calculations. Note that the text strings are exposed+as UTF-8, and are therefore potentially multi-byte, and+caret-to-byte offset mapping makes no assumptions about the+character length; also bounding box glyph-to-offset mapping may be+complex for languages which use ligatures.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.Text+ ( ++-- * Exported types+ Text(..) ,+ noText ,+ IsText ,+ toText ,+++ -- * Methods+-- ** addSelection #method:addSelection#++#if ENABLE_OVERLOADING+ TextAddSelectionMethodInfo ,+#endif+ textAddSelection ,+++-- ** freeRanges #method:freeRanges#++ textFreeRanges ,+++-- ** getBoundedRanges #method:getBoundedRanges#++#if ENABLE_OVERLOADING+ TextGetBoundedRangesMethodInfo ,+#endif+ textGetBoundedRanges ,+++-- ** getCaretOffset #method:getCaretOffset#++#if ENABLE_OVERLOADING+ TextGetCaretOffsetMethodInfo ,+#endif+ textGetCaretOffset ,+++-- ** getCharacterAtOffset #method:getCharacterAtOffset#++#if ENABLE_OVERLOADING+ TextGetCharacterAtOffsetMethodInfo ,+#endif+ textGetCharacterAtOffset ,+++-- ** getCharacterCount #method:getCharacterCount#++#if ENABLE_OVERLOADING+ TextGetCharacterCountMethodInfo ,+#endif+ textGetCharacterCount ,+++-- ** getCharacterExtents #method:getCharacterExtents#++#if ENABLE_OVERLOADING+ TextGetCharacterExtentsMethodInfo ,+#endif+ textGetCharacterExtents ,+++-- ** getDefaultAttributes #method:getDefaultAttributes#++#if ENABLE_OVERLOADING+ TextGetDefaultAttributesMethodInfo ,+#endif+ textGetDefaultAttributes ,+++-- ** getNSelections #method:getNSelections#++#if ENABLE_OVERLOADING+ TextGetNSelectionsMethodInfo ,+#endif+ textGetNSelections ,+++-- ** getOffsetAtPoint #method:getOffsetAtPoint#++#if ENABLE_OVERLOADING+ TextGetOffsetAtPointMethodInfo ,+#endif+ textGetOffsetAtPoint ,+++-- ** getRangeExtents #method:getRangeExtents#++#if ENABLE_OVERLOADING+ TextGetRangeExtentsMethodInfo ,+#endif+ textGetRangeExtents ,+++-- ** getRunAttributes #method:getRunAttributes#++#if ENABLE_OVERLOADING+ TextGetRunAttributesMethodInfo ,+#endif+ textGetRunAttributes ,+++-- ** getSelection #method:getSelection#++#if ENABLE_OVERLOADING+ TextGetSelectionMethodInfo ,+#endif+ textGetSelection ,+++-- ** getStringAtOffset #method:getStringAtOffset#++#if ENABLE_OVERLOADING+ TextGetStringAtOffsetMethodInfo ,+#endif+ textGetStringAtOffset ,+++-- ** getText #method:getText#++#if ENABLE_OVERLOADING+ TextGetTextMethodInfo ,+#endif+ textGetText ,+++-- ** getTextAfterOffset #method:getTextAfterOffset#++#if ENABLE_OVERLOADING+ TextGetTextAfterOffsetMethodInfo ,+#endif+ textGetTextAfterOffset ,+++-- ** getTextAtOffset #method:getTextAtOffset#++#if ENABLE_OVERLOADING+ TextGetTextAtOffsetMethodInfo ,+#endif+ textGetTextAtOffset ,+++-- ** getTextBeforeOffset #method:getTextBeforeOffset#++#if ENABLE_OVERLOADING+ TextGetTextBeforeOffsetMethodInfo ,+#endif+ textGetTextBeforeOffset ,+++-- ** removeSelection #method:removeSelection#++#if ENABLE_OVERLOADING+ TextRemoveSelectionMethodInfo ,+#endif+ textRemoveSelection ,+++-- ** scrollSubstringTo #method:scrollSubstringTo#++#if ENABLE_OVERLOADING+ TextScrollSubstringToMethodInfo ,+#endif+ textScrollSubstringTo ,+++-- ** scrollSubstringToPoint #method:scrollSubstringToPoint#++#if ENABLE_OVERLOADING+ TextScrollSubstringToPointMethodInfo ,+#endif+ textScrollSubstringToPoint ,+++-- ** setCaretOffset #method:setCaretOffset#++#if ENABLE_OVERLOADING+ TextSetCaretOffsetMethodInfo ,+#endif+ textSetCaretOffset ,+++-- ** setSelection #method:setSelection#++#if ENABLE_OVERLOADING+ TextSetSelectionMethodInfo ,+#endif+ textSetSelection ,+++++ -- * Signals+-- ** textAttributesChanged #signal:textAttributesChanged#++ C_TextTextAttributesChangedCallback ,+ TextTextAttributesChangedCallback ,+#if ENABLE_OVERLOADING+ TextTextAttributesChangedSignalInfo ,+#endif+ afterTextTextAttributesChanged ,+ genClosure_TextTextAttributesChanged ,+ mk_TextTextAttributesChangedCallback ,+ noTextTextAttributesChangedCallback ,+ onTextTextAttributesChanged ,+ wrap_TextTextAttributesChangedCallback ,+++-- ** textCaretMoved #signal:textCaretMoved#++ C_TextTextCaretMovedCallback ,+ TextTextCaretMovedCallback ,+#if ENABLE_OVERLOADING+ TextTextCaretMovedSignalInfo ,+#endif+ afterTextTextCaretMoved ,+ genClosure_TextTextCaretMoved ,+ mk_TextTextCaretMovedCallback ,+ noTextTextCaretMovedCallback ,+ onTextTextCaretMoved ,+ wrap_TextTextCaretMovedCallback ,+++-- ** textChanged #signal:textChanged#++ C_TextTextChangedCallback ,+ TextTextChangedCallback ,+#if ENABLE_OVERLOADING+ TextTextChangedSignalInfo ,+#endif+ afterTextTextChanged ,+ genClosure_TextTextChanged ,+ mk_TextTextChangedCallback ,+ noTextTextChangedCallback ,+ onTextTextChanged ,+ wrap_TextTextChangedCallback ,+++-- ** textInsert #signal:textInsert#++ C_TextTextInsertCallback ,+ TextTextInsertCallback ,+#if ENABLE_OVERLOADING+ TextTextInsertSignalInfo ,+#endif+ afterTextTextInsert ,+ genClosure_TextTextInsert ,+ mk_TextTextInsertCallback ,+ noTextTextInsertCallback ,+ onTextTextInsert ,+ wrap_TextTextInsertCallback ,+++-- ** textRemove #signal:textRemove#++ C_TextTextRemoveCallback ,+ TextTextRemoveCallback ,+#if ENABLE_OVERLOADING+ TextTextRemoveSignalInfo ,+#endif+ afterTextTextRemove ,+ genClosure_TextTextRemove ,+ mk_TextTextRemoveCallback ,+ noTextTextRemoveCallback ,+ onTextTextRemove ,+ wrap_TextTextRemoveCallback ,+++-- ** textSelectionChanged #signal:textSelectionChanged#++ C_TextTextSelectionChangedCallback ,+ TextTextSelectionChangedCallback ,+#if ENABLE_OVERLOADING+ TextTextSelectionChangedSignalInfo ,+#endif+ afterTextTextSelectionChanged ,+ genClosure_TextTextSelectionChanged ,+ mk_TextTextSelectionChangedCallback ,+ noTextTextSelectionChangedCallback ,+ onTextTextSelectionChanged ,+ wrap_TextTextSelectionChangedCallback ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Enums as Atk.Enums+import {-# SOURCE #-} qualified GI.Atk.Structs.TextRange as Atk.TextRange+import {-# SOURCE #-} qualified GI.Atk.Structs.TextRectangle as Atk.TextRectangle+import qualified GI.GObject.Objects.Object as GObject.Object++-- interface Text +-- | Memory-managed wrapper type.+newtype Text = Text (ManagedPtr Text)+-- | A convenience alias for `Nothing` :: `Maybe` `Text`.+noText :: Maybe Text+noText = Nothing++-- signal Text::text-attributes-changed+{- |+The \"text-attributes-changed\" signal is emitted when the text+attributes of the text of an object which implements AtkText+changes.+-}+type TextTextAttributesChangedCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTextAttributesChangedCallback`@.+noTextTextAttributesChangedCallback :: Maybe TextTextAttributesChangedCallback+noTextTextAttributesChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TextTextAttributesChangedCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TextTextAttributesChangedCallback`.+foreign import ccall "wrapper"+ mk_TextTextAttributesChangedCallback :: C_TextTextAttributesChangedCallback -> IO (FunPtr C_TextTextAttributesChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TextTextAttributesChanged :: MonadIO m => TextTextAttributesChangedCallback -> m (GClosure C_TextTextAttributesChangedCallback)+genClosure_TextTextAttributesChanged cb = liftIO $ do+ let cb' = wrap_TextTextAttributesChangedCallback cb+ mk_TextTextAttributesChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TextTextAttributesChangedCallback` into a `C_TextTextAttributesChangedCallback`.+wrap_TextTextAttributesChangedCallback ::+ TextTextAttributesChangedCallback ->+ C_TextTextAttributesChangedCallback+wrap_TextTextAttributesChangedCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@text-attributes-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' text #textAttributesChanged callback+@+-}+onTextTextAttributesChanged :: (IsText a, MonadIO m) => a -> TextTextAttributesChangedCallback -> m SignalHandlerId+onTextTextAttributesChanged obj cb = liftIO $ do+ let cb' = wrap_TextTextAttributesChangedCallback cb+ cb'' <- mk_TextTextAttributesChangedCallback cb'+ connectSignalFunPtr obj "text-attributes-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@text-attributes-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' text #textAttributesChanged callback+@+-}+afterTextTextAttributesChanged :: (IsText a, MonadIO m) => a -> TextTextAttributesChangedCallback -> m SignalHandlerId+afterTextTextAttributesChanged obj cb = liftIO $ do+ let cb' = wrap_TextTextAttributesChangedCallback cb+ cb'' <- mk_TextTextAttributesChangedCallback cb'+ connectSignalFunPtr obj "text-attributes-changed" cb'' SignalConnectAfter+++-- signal Text::text-caret-moved+{- |+The \"text-caret-moved\" signal is emitted when the caret+position of the text of an object which implements AtkText+changes.+-}+type TextTextCaretMovedCallback =+ Int32+ {- ^ /@arg1@/: The new position of the text caret. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTextCaretMovedCallback`@.+noTextTextCaretMovedCallback :: Maybe TextTextCaretMovedCallback+noTextTextCaretMovedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TextTextCaretMovedCallback =+ Ptr () -> -- object+ Int32 ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TextTextCaretMovedCallback`.+foreign import ccall "wrapper"+ mk_TextTextCaretMovedCallback :: C_TextTextCaretMovedCallback -> IO (FunPtr C_TextTextCaretMovedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TextTextCaretMoved :: MonadIO m => TextTextCaretMovedCallback -> m (GClosure C_TextTextCaretMovedCallback)+genClosure_TextTextCaretMoved cb = liftIO $ do+ let cb' = wrap_TextTextCaretMovedCallback cb+ mk_TextTextCaretMovedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TextTextCaretMovedCallback` into a `C_TextTextCaretMovedCallback`.+wrap_TextTextCaretMovedCallback ::+ TextTextCaretMovedCallback ->+ C_TextTextCaretMovedCallback+wrap_TextTextCaretMovedCallback _cb _ arg1 _ = do+ _cb arg1+++{- |+Connect a signal handler for the “@text-caret-moved@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' text #textCaretMoved callback+@+-}+onTextTextCaretMoved :: (IsText a, MonadIO m) => a -> TextTextCaretMovedCallback -> m SignalHandlerId+onTextTextCaretMoved obj cb = liftIO $ do+ let cb' = wrap_TextTextCaretMovedCallback cb+ cb'' <- mk_TextTextCaretMovedCallback cb'+ connectSignalFunPtr obj "text-caret-moved" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@text-caret-moved@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' text #textCaretMoved callback+@+-}+afterTextTextCaretMoved :: (IsText a, MonadIO m) => a -> TextTextCaretMovedCallback -> m SignalHandlerId+afterTextTextCaretMoved obj cb = liftIO $ do+ let cb' = wrap_TextTextCaretMovedCallback cb+ cb'' <- mk_TextTextCaretMovedCallback cb'+ connectSignalFunPtr obj "text-caret-moved" cb'' SignalConnectAfter+++-- signal Text::text-changed+{-# DEPRECATED TextTextChangedCallback ["(Since version 2.9.4)","Use 'GI.Atk.Objects.Object.Object'::@/text-insert/@ or","'GI.Atk.Objects.Object.Object'::@/text-remove/@ instead."] #-}+{- |+The \"text-changed\" signal is emitted when the text of the+object which implements the AtkText interface changes, This+signal will have a detail which is either \"insert\" or+\"delete\" which identifies whether the text change was an+insertion or a deletion.+-}+type TextTextChangedCallback =+ Int32+ {- ^ /@arg1@/: The position (character offset) of the insertion or deletion. -}+ -> Int32+ {- ^ /@arg2@/: The length (in characters) of text inserted or deleted. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTextChangedCallback`@.+noTextTextChangedCallback :: Maybe TextTextChangedCallback+noTextTextChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TextTextChangedCallback =+ Ptr () -> -- object+ Int32 ->+ Int32 ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TextTextChangedCallback`.+foreign import ccall "wrapper"+ mk_TextTextChangedCallback :: C_TextTextChangedCallback -> IO (FunPtr C_TextTextChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TextTextChanged :: MonadIO m => TextTextChangedCallback -> m (GClosure C_TextTextChangedCallback)+genClosure_TextTextChanged cb = liftIO $ do+ let cb' = wrap_TextTextChangedCallback cb+ mk_TextTextChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TextTextChangedCallback` into a `C_TextTextChangedCallback`.+wrap_TextTextChangedCallback ::+ TextTextChangedCallback ->+ C_TextTextChangedCallback+wrap_TextTextChangedCallback _cb _ arg1 arg2 _ = do+ _cb arg1 arg2+++{- |+Connect a signal handler for the “@text-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' text #textChanged callback+@+-}+onTextTextChanged :: (IsText a, MonadIO m) => a -> TextTextChangedCallback -> m SignalHandlerId+onTextTextChanged obj cb = liftIO $ do+ let cb' = wrap_TextTextChangedCallback cb+ cb'' <- mk_TextTextChangedCallback cb'+ connectSignalFunPtr obj "text-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@text-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' text #textChanged callback+@+-}+afterTextTextChanged :: (IsText a, MonadIO m) => a -> TextTextChangedCallback -> m SignalHandlerId+afterTextTextChanged obj cb = liftIO $ do+ let cb' = wrap_TextTextChangedCallback cb+ cb'' <- mk_TextTextChangedCallback cb'+ connectSignalFunPtr obj "text-changed" cb'' SignalConnectAfter+++-- signal Text::text-insert+{- |+The \"text-insert\" signal is emitted when a new text is+inserted. If the signal was not triggered by the user+(e.g. typing or pasting text), the \"system\" detail should be+included.+-}+type TextTextInsertCallback =+ Int32+ {- ^ /@arg1@/: The position (character offset) of the insertion. -}+ -> Int32+ {- ^ /@arg2@/: The length (in characters) of text inserted. -}+ -> T.Text+ {- ^ /@arg3@/: The new text inserted -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTextInsertCallback`@.+noTextTextInsertCallback :: Maybe TextTextInsertCallback+noTextTextInsertCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TextTextInsertCallback =+ Ptr () -> -- object+ Int32 ->+ Int32 ->+ CString ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TextTextInsertCallback`.+foreign import ccall "wrapper"+ mk_TextTextInsertCallback :: C_TextTextInsertCallback -> IO (FunPtr C_TextTextInsertCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TextTextInsert :: MonadIO m => TextTextInsertCallback -> m (GClosure C_TextTextInsertCallback)+genClosure_TextTextInsert cb = liftIO $ do+ let cb' = wrap_TextTextInsertCallback cb+ mk_TextTextInsertCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TextTextInsertCallback` into a `C_TextTextInsertCallback`.+wrap_TextTextInsertCallback ::+ TextTextInsertCallback ->+ C_TextTextInsertCallback+wrap_TextTextInsertCallback _cb _ arg1 arg2 arg3 _ = do+ arg3' <- cstringToText arg3+ _cb arg1 arg2 arg3'+++{- |+Connect a signal handler for the “@text-insert@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' text #textInsert callback+@+-}+onTextTextInsert :: (IsText a, MonadIO m) => a -> TextTextInsertCallback -> m SignalHandlerId+onTextTextInsert obj cb = liftIO $ do+ let cb' = wrap_TextTextInsertCallback cb+ cb'' <- mk_TextTextInsertCallback cb'+ connectSignalFunPtr obj "text-insert" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@text-insert@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' text #textInsert callback+@+-}+afterTextTextInsert :: (IsText a, MonadIO m) => a -> TextTextInsertCallback -> m SignalHandlerId+afterTextTextInsert obj cb = liftIO $ do+ let cb' = wrap_TextTextInsertCallback cb+ cb'' <- mk_TextTextInsertCallback cb'+ connectSignalFunPtr obj "text-insert" cb'' SignalConnectAfter+++-- signal Text::text-remove+{- |+The \"text-remove\" signal is emitted when a new text is+removed. If the signal was not triggered by the user+(e.g. typing or pasting text), the \"system\" detail should be+included.+-}+type TextTextRemoveCallback =+ Int32+ {- ^ /@arg1@/: The position (character offset) of the removal. -}+ -> Int32+ {- ^ /@arg2@/: The length (in characters) of text removed. -}+ -> T.Text+ {- ^ /@arg3@/: The old text removed -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTextRemoveCallback`@.+noTextTextRemoveCallback :: Maybe TextTextRemoveCallback+noTextTextRemoveCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TextTextRemoveCallback =+ Ptr () -> -- object+ Int32 ->+ Int32 ->+ CString ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TextTextRemoveCallback`.+foreign import ccall "wrapper"+ mk_TextTextRemoveCallback :: C_TextTextRemoveCallback -> IO (FunPtr C_TextTextRemoveCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TextTextRemove :: MonadIO m => TextTextRemoveCallback -> m (GClosure C_TextTextRemoveCallback)+genClosure_TextTextRemove cb = liftIO $ do+ let cb' = wrap_TextTextRemoveCallback cb+ mk_TextTextRemoveCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TextTextRemoveCallback` into a `C_TextTextRemoveCallback`.+wrap_TextTextRemoveCallback ::+ TextTextRemoveCallback ->+ C_TextTextRemoveCallback+wrap_TextTextRemoveCallback _cb _ arg1 arg2 arg3 _ = do+ arg3' <- cstringToText arg3+ _cb arg1 arg2 arg3'+++{- |+Connect a signal handler for the “@text-remove@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' text #textRemove callback+@+-}+onTextTextRemove :: (IsText a, MonadIO m) => a -> TextTextRemoveCallback -> m SignalHandlerId+onTextTextRemove obj cb = liftIO $ do+ let cb' = wrap_TextTextRemoveCallback cb+ cb'' <- mk_TextTextRemoveCallback cb'+ connectSignalFunPtr obj "text-remove" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@text-remove@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' text #textRemove callback+@+-}+afterTextTextRemove :: (IsText a, MonadIO m) => a -> TextTextRemoveCallback -> m SignalHandlerId+afterTextTextRemove obj cb = liftIO $ do+ let cb' = wrap_TextTextRemoveCallback cb+ cb'' <- mk_TextTextRemoveCallback cb'+ connectSignalFunPtr obj "text-remove" cb'' SignalConnectAfter+++-- signal Text::text-selection-changed+{- |+The \"text-selection-changed\" signal is emitted when the+selected text of an object which implements AtkText changes.+-}+type TextTextSelectionChangedCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTextSelectionChangedCallback`@.+noTextTextSelectionChangedCallback :: Maybe TextTextSelectionChangedCallback+noTextTextSelectionChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_TextTextSelectionChangedCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_TextTextSelectionChangedCallback`.+foreign import ccall "wrapper"+ mk_TextTextSelectionChangedCallback :: C_TextTextSelectionChangedCallback -> IO (FunPtr C_TextTextSelectionChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_TextTextSelectionChanged :: MonadIO m => TextTextSelectionChangedCallback -> m (GClosure C_TextTextSelectionChangedCallback)+genClosure_TextTextSelectionChanged cb = liftIO $ do+ let cb' = wrap_TextTextSelectionChangedCallback cb+ mk_TextTextSelectionChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `TextTextSelectionChangedCallback` into a `C_TextTextSelectionChangedCallback`.+wrap_TextTextSelectionChangedCallback ::+ TextTextSelectionChangedCallback ->+ C_TextTextSelectionChangedCallback+wrap_TextTextSelectionChangedCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@text-selection-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' text #textSelectionChanged callback+@+-}+onTextTextSelectionChanged :: (IsText a, MonadIO m) => a -> TextTextSelectionChangedCallback -> m SignalHandlerId+onTextTextSelectionChanged obj cb = liftIO $ do+ let cb' = wrap_TextTextSelectionChangedCallback cb+ cb'' <- mk_TextTextSelectionChangedCallback cb'+ connectSignalFunPtr obj "text-selection-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@text-selection-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' text #textSelectionChanged callback+@+-}+afterTextTextSelectionChanged :: (IsText a, MonadIO m) => a -> TextTextSelectionChangedCallback -> m SignalHandlerId+afterTextTextSelectionChanged obj cb = liftIO $ do+ let cb' = wrap_TextTextSelectionChangedCallback cb+ cb'' <- mk_TextTextSelectionChangedCallback cb'+ connectSignalFunPtr obj "text-selection-changed" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+data TextTextAttributesChangedSignalInfo+instance SignalInfo TextTextAttributesChangedSignalInfo where+ type HaskellCallbackType TextTextAttributesChangedSignalInfo = TextTextAttributesChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TextTextAttributesChangedCallback cb+ cb'' <- mk_TextTextAttributesChangedCallback cb'+ connectSignalFunPtr obj "text-attributes-changed" cb'' connectMode++data TextTextCaretMovedSignalInfo+instance SignalInfo TextTextCaretMovedSignalInfo where+ type HaskellCallbackType TextTextCaretMovedSignalInfo = TextTextCaretMovedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TextTextCaretMovedCallback cb+ cb'' <- mk_TextTextCaretMovedCallback cb'+ connectSignalFunPtr obj "text-caret-moved" cb'' connectMode++data TextTextChangedSignalInfo+instance SignalInfo TextTextChangedSignalInfo where+ type HaskellCallbackType TextTextChangedSignalInfo = TextTextChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TextTextChangedCallback cb+ cb'' <- mk_TextTextChangedCallback cb'+ connectSignalFunPtr obj "text-changed" cb'' connectMode++data TextTextInsertSignalInfo+instance SignalInfo TextTextInsertSignalInfo where+ type HaskellCallbackType TextTextInsertSignalInfo = TextTextInsertCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TextTextInsertCallback cb+ cb'' <- mk_TextTextInsertCallback cb'+ connectSignalFunPtr obj "text-insert" cb'' connectMode++data TextTextRemoveSignalInfo+instance SignalInfo TextTextRemoveSignalInfo where+ type HaskellCallbackType TextTextRemoveSignalInfo = TextTextRemoveCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TextTextRemoveCallback cb+ cb'' <- mk_TextTextRemoveCallback cb'+ connectSignalFunPtr obj "text-remove" cb'' connectMode++data TextTextSelectionChangedSignalInfo+instance SignalInfo TextTextSelectionChangedSignalInfo where+ type HaskellCallbackType TextTextSelectionChangedSignalInfo = TextTextSelectionChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_TextTextSelectionChangedCallback cb+ cb'' <- mk_TextTextSelectionChangedCallback cb'+ connectSignalFunPtr obj "text-selection-changed" cb'' connectMode++type instance O.SignalList Text = TextSignalList+type TextSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("textAttributesChanged", TextTextAttributesChangedSignalInfo), '("textCaretMoved", TextTextCaretMovedSignalInfo), '("textChanged", TextTextChangedSignalInfo), '("textInsert", TextTextInsertSignalInfo), '("textRemove", TextTextRemoveSignalInfo), '("textSelectionChanged", TextTextSelectionChangedSignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "atk_text_get_type"+ c_atk_text_get_type :: IO GType++instance GObject Text where+ gobjectType = c_atk_text_get_type+ ++-- | Type class for types which can be safely cast to `Text`, for instance with `toText`.+class (GObject o, O.IsDescendantOf Text o) => IsText o+instance (GObject o, O.IsDescendantOf Text o) => IsText o++instance O.HasParentTypes Text+type instance O.ParentTypes Text = '[GObject.Object.Object]++-- | Cast to `Text`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toText :: (MonadIO m, IsText o) => o -> m Text+toText = liftIO . unsafeCastTo Text++#if ENABLE_OVERLOADING+instance O.HasAttributeList Text+type instance O.AttributeList Text = TextAttributeList+type TextAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveTextMethod (t :: Symbol) (o :: *) :: * where+ ResolveTextMethod "addSelection" o = TextAddSelectionMethodInfo+ ResolveTextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveTextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveTextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveTextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveTextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveTextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveTextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveTextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveTextMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveTextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveTextMethod "removeSelection" o = TextRemoveSelectionMethodInfo+ ResolveTextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveTextMethod "scrollSubstringTo" o = TextScrollSubstringToMethodInfo+ ResolveTextMethod "scrollSubstringToPoint" o = TextScrollSubstringToPointMethodInfo+ ResolveTextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveTextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveTextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveTextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveTextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveTextMethod "getBoundedRanges" o = TextGetBoundedRangesMethodInfo+ ResolveTextMethod "getCaretOffset" o = TextGetCaretOffsetMethodInfo+ ResolveTextMethod "getCharacterAtOffset" o = TextGetCharacterAtOffsetMethodInfo+ ResolveTextMethod "getCharacterCount" o = TextGetCharacterCountMethodInfo+ ResolveTextMethod "getCharacterExtents" o = TextGetCharacterExtentsMethodInfo+ ResolveTextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveTextMethod "getDefaultAttributes" o = TextGetDefaultAttributesMethodInfo+ ResolveTextMethod "getNSelections" o = TextGetNSelectionsMethodInfo+ ResolveTextMethod "getOffsetAtPoint" o = TextGetOffsetAtPointMethodInfo+ ResolveTextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveTextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveTextMethod "getRangeExtents" o = TextGetRangeExtentsMethodInfo+ ResolveTextMethod "getRunAttributes" o = TextGetRunAttributesMethodInfo+ ResolveTextMethod "getSelection" o = TextGetSelectionMethodInfo+ ResolveTextMethod "getStringAtOffset" o = TextGetStringAtOffsetMethodInfo+ ResolveTextMethod "getText" o = TextGetTextMethodInfo+ ResolveTextMethod "getTextAfterOffset" o = TextGetTextAfterOffsetMethodInfo+ ResolveTextMethod "getTextAtOffset" o = TextGetTextAtOffsetMethodInfo+ ResolveTextMethod "getTextBeforeOffset" o = TextGetTextBeforeOffsetMethodInfo+ ResolveTextMethod "setCaretOffset" o = TextSetCaretOffsetMethodInfo+ ResolveTextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveTextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveTextMethod "setSelection" o = TextSetSelectionMethodInfo+ ResolveTextMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveTextMethod t Text, O.MethodInfo info Text p) => OL.IsLabel t (Text -> 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 Text::add_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the starting character offset of the selected region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset of the first character after the selected region.", 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 "atk_text_add_selection" atk_text_add_selection :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- start_offset : TBasicType TInt+ Int32 -> -- end_offset : TBasicType TInt+ IO CInt++{- |+Adds a selection bounded by the specified offsets.+-}+textAddSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@startOffset@/: the starting character offset of the selected region -}+ -> Int32+ {- ^ /@endOffset@/: the offset of the first character after the selected region. -}+ -> m Bool+ {- ^ __Returns:__ 'True' if successful, 'False' otherwise -}+textAddSelection text startOffset endOffset = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ result <- atk_text_add_selection text' startOffset endOffset+ let result' = (/= 0) result+ touchManagedPtr text+ return result'++#if ENABLE_OVERLOADING+data TextAddSelectionMethodInfo+instance (signature ~ (Int32 -> Int32 -> m Bool), MonadIO m, IsText a) => O.MethodInfo TextAddSelectionMethodInfo a signature where+ overloadedMethod _ = textAddSelection++#endif++-- method Text::get_bounded_ranges+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Atk", name = "TextRectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An AtkTextRectangle giving the dimensions of the bounding box.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Specify whether coordinates are relative to the screen or widget window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_clip_type", argType = TInterface (Name {namespace = "Atk", name = "TextClipType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Specify the horizontal clip type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y_clip_type", argType = TInterface (Name {namespace = "Atk", name = "TextClipType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Specify the vertical clip type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray True (-1) (-1) (TInterface (Name {namespace = "Atk", name = "TextRange"})))+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_bounded_ranges" atk_text_get_bounded_ranges :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Ptr Atk.TextRectangle.TextRectangle -> -- rect : TInterface (Name {namespace = "Atk", name = "TextRectangle"})+ CUInt -> -- coord_type : TInterface (Name {namespace = "Atk", name = "CoordType"})+ CUInt -> -- x_clip_type : TInterface (Name {namespace = "Atk", name = "TextClipType"})+ CUInt -> -- y_clip_type : TInterface (Name {namespace = "Atk", name = "TextClipType"})+ IO (Ptr (Ptr Atk.TextRange.TextRange))++{- |+Get the ranges of text in the specified bounding box.++/Since: 1.3/+-}+textGetBoundedRanges ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Atk.TextRectangle.TextRectangle+ {- ^ /@rect@/: An AtkTextRectangle giving the dimensions of the bounding box. -}+ -> Atk.Enums.CoordType+ {- ^ /@coordType@/: Specify whether coordinates are relative to the screen or widget window. -}+ -> Atk.Enums.TextClipType+ {- ^ /@xClipType@/: Specify the horizontal clip type. -}+ -> Atk.Enums.TextClipType+ {- ^ /@yClipType@/: Specify the vertical clip type. -}+ -> m [Atk.TextRange.TextRange]+ {- ^ __Returns:__ Array of AtkTextRange. The last+ element of the array returned by this function will be NULL. -}+textGetBoundedRanges text rect coordType xClipType yClipType = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ rect' <- unsafeManagedPtrGetPtr rect+ let coordType' = (fromIntegral . fromEnum) coordType+ let xClipType' = (fromIntegral . fromEnum) xClipType+ let yClipType' = (fromIntegral . fromEnum) yClipType+ result <- atk_text_get_bounded_ranges text' rect' coordType' xClipType' yClipType'+ checkUnexpectedReturnNULL "textGetBoundedRanges" result+ result' <- unpackZeroTerminatedPtrArray result+ result'' <- mapM (wrapBoxed Atk.TextRange.TextRange) result'+ freeMem result+ touchManagedPtr text+ touchManagedPtr rect+ return result''++#if ENABLE_OVERLOADING+data TextGetBoundedRangesMethodInfo+instance (signature ~ (Atk.TextRectangle.TextRectangle -> Atk.Enums.CoordType -> Atk.Enums.TextClipType -> Atk.Enums.TextClipType -> m [Atk.TextRange.TextRange]), MonadIO m, IsText a) => O.MethodInfo TextGetBoundedRangesMethodInfo a signature where+ overloadedMethod _ = textGetBoundedRanges++#endif++-- method Text::get_caret_offset+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", 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 "atk_text_get_caret_offset" atk_text_get_caret_offset :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ IO Int32++{- |+Gets the offset of the position of the caret (cursor).+-}+textGetCaretOffset ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> m Int32+ {- ^ __Returns:__ the character offset of the position of the caret or 0 if+ the caret is not located inside the element or in the case of+ any other failure. -}+textGetCaretOffset text = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ result <- atk_text_get_caret_offset text'+ touchManagedPtr text+ return result++#if ENABLE_OVERLOADING+data TextGetCaretOffsetMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsText a) => O.MethodInfo TextGetCaretOffsetMethodInfo a signature where+ overloadedMethod _ = textGetCaretOffset++#endif++-- method Text::get_character_at_offset+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character offset within @text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUniChar)+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_character_at_offset" atk_text_get_character_at_offset :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- offset : TBasicType TInt+ IO CInt++{- |+Gets the specified text.+-}+textGetCharacterAtOffset ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@offset@/: a character offset within /@text@/ -}+ -> m Char+ {- ^ __Returns:__ the character at /@offset@/ or 0 in the case of failure. -}+textGetCharacterAtOffset text offset = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ result <- atk_text_get_character_at_offset text' offset+ let result' = (chr . fromIntegral) result+ touchManagedPtr text+ return result'++#if ENABLE_OVERLOADING+data TextGetCharacterAtOffsetMethodInfo+instance (signature ~ (Int32 -> m Char), MonadIO m, IsText a) => O.MethodInfo TextGetCharacterAtOffsetMethodInfo a signature where+ overloadedMethod _ = textGetCharacterAtOffset++#endif++-- method Text::get_character_count+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", 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 "atk_text_get_character_count" atk_text_get_character_count :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ IO Int32++{- |+Gets the character count.+-}+textGetCharacterCount ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> m Int32+ {- ^ __Returns:__ the number of characters or -1 in case of failure. -}+textGetCharacterCount text = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ result <- atk_text_get_character_count text'+ touchManagedPtr text+ return result++#if ENABLE_OVERLOADING+data TextGetCharacterCountMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsText a) => O.MethodInfo TextGetCharacterCountMethodInfo a signature where+ overloadedMethod _ = textGetCharacterCount++#endif++-- method Text::get_character_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The offset of the text character for which bounding information is required.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer for the x coordinate of the bounding box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer for the y coordinate of the bounding box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer for the width of the bounding box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer for the height of the bounding box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "coords", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specify whether coordinates are relative to the screen or widget window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_character_extents" atk_text_get_character_extents :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- offset : TBasicType TInt+ Ptr Int32 -> -- x : TBasicType TInt+ Ptr Int32 -> -- y : TBasicType TInt+ Ptr Int32 -> -- width : TBasicType TInt+ Ptr Int32 -> -- height : TBasicType TInt+ CUInt -> -- coords : TInterface (Name {namespace = "Atk", name = "CoordType"})+ IO ()++{- |+Get the bounding box containing the glyph representing the character at+ a particular text offset.+-}+textGetCharacterExtents ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@offset@/: The offset of the text character for which bounding information is required. -}+ -> Atk.Enums.CoordType+ {- ^ /@coords@/: specify whether coordinates are relative to the screen or widget window -}+ -> m ((Int32, Int32, Int32, Int32))+textGetCharacterExtents text offset coords = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ x <- allocMem :: IO (Ptr Int32)+ y <- allocMem :: IO (Ptr Int32)+ width <- allocMem :: IO (Ptr Int32)+ height <- allocMem :: IO (Ptr Int32)+ let coords' = (fromIntegral . fromEnum) coords+ atk_text_get_character_extents text' offset x y width height coords'+ x' <- peek x+ y' <- peek y+ width' <- peek width+ height' <- peek height+ touchManagedPtr text+ freeMem x+ freeMem y+ freeMem width+ freeMem height+ return (x', y', width', height')++#if ENABLE_OVERLOADING+data TextGetCharacterExtentsMethodInfo+instance (signature ~ (Int32 -> Atk.Enums.CoordType -> m ((Int32, Int32, Int32, Int32))), MonadIO m, IsText a) => O.MethodInfo TextGetCharacterExtentsMethodInfo a signature where+ overloadedMethod _ = textGetCharacterExtents++#endif++-- method Text::get_default_attributes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGSList (TBasicType TPtr))+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_default_attributes" atk_text_get_default_attributes :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ IO (Ptr (GSList (Ptr ())))++{- |+Creates an @/AtkAttributeSet/@ which consists of the default values of+attributes for the text. See the enum AtkTextAttribute for types of text+attributes that can be returned. Note that other attributes may also be+returned.+-}+textGetDefaultAttributes ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> m ([Ptr ()])+ {- ^ __Returns:__ an @/AtkAttributeSet/@ which contains the default values+ of attributes. at /@offset@/. this @/atkattributeset/@ should be freed by+ a call to 'GI.Atk.Functions.attributeSetFree'. -}+textGetDefaultAttributes text = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ result <- atk_text_get_default_attributes text'+ result' <- unpackGSList result+ g_slist_free result+ touchManagedPtr text+ return result'++#if ENABLE_OVERLOADING+data TextGetDefaultAttributesMethodInfo+instance (signature ~ (m ([Ptr ()])), MonadIO m, IsText a) => O.MethodInfo TextGetDefaultAttributesMethodInfo a signature where+ overloadedMethod _ = textGetDefaultAttributes++#endif++-- method Text::get_n_selections+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", 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 "atk_text_get_n_selections" atk_text_get_n_selections :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ IO Int32++{- |+Gets the number of selected regions.+-}+textGetNSelections ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> m Int32+ {- ^ __Returns:__ The number of selected regions, or -1 in the case of failure. -}+textGetNSelections text = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ result <- atk_text_get_n_selections text'+ touchManagedPtr text+ return result++#if ENABLE_OVERLOADING+data TextGetNSelectionsMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsText a) => O.MethodInfo TextGetNSelectionsMethodInfo a signature where+ overloadedMethod _ = textGetNSelections++#endif++-- method Text::get_offset_at_point+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "screen x-position of character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "screen y-position of character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coords", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specify whether coordinates are relative to the screen or\nwidget window", 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 "atk_text_get_offset_at_point" atk_text_get_offset_at_point :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- x : TBasicType TInt+ Int32 -> -- y : TBasicType TInt+ CUInt -> -- coords : TInterface (Name {namespace = "Atk", name = "CoordType"})+ IO Int32++{- |+Gets the offset of the character located at coordinates /@x@/ and /@y@/. /@x@/ and /@y@/+are interpreted as being relative to the screen or this widget\'s window+depending on /@coords@/.+-}+textGetOffsetAtPoint ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@x@/: screen x-position of character -}+ -> Int32+ {- ^ /@y@/: screen y-position of character -}+ -> Atk.Enums.CoordType+ {- ^ /@coords@/: specify whether coordinates are relative to the screen or+widget window -}+ -> m Int32+ {- ^ __Returns:__ the offset to the character which is located at the specified+ /@x@/ and /@y@/ coordinates of -1 in case of failure. -}+textGetOffsetAtPoint text x y coords = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ let coords' = (fromIntegral . fromEnum) coords+ result <- atk_text_get_offset_at_point text' x y coords'+ touchManagedPtr text+ return result++#if ENABLE_OVERLOADING+data TextGetOffsetAtPointMethodInfo+instance (signature ~ (Int32 -> Int32 -> Atk.Enums.CoordType -> m Int32), MonadIO m, IsText a) => O.MethodInfo TextGetOffsetAtPointMethodInfo a signature where+ overloadedMethod _ = textGetOffsetAtPoint++#endif++-- method Text::get_range_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The offset of the first text character for which boundary\n information is required.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The offset of the text character after the last character\n for which boundary information is required.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Specify whether coordinates are relative to the screen or widget window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Atk", name = "TextRectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a AtkTextRectangle which is filled in by this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_range_extents" atk_text_get_range_extents :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- start_offset : TBasicType TInt+ Int32 -> -- end_offset : TBasicType TInt+ CUInt -> -- coord_type : TInterface (Name {namespace = "Atk", name = "CoordType"})+ Ptr Atk.TextRectangle.TextRectangle -> -- rect : TInterface (Name {namespace = "Atk", name = "TextRectangle"})+ IO ()++{- |+Get the bounding box for text within the specified range.++/Since: 1.3/+-}+textGetRangeExtents ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@startOffset@/: The offset of the first text character for which boundary+ information is required. -}+ -> Int32+ {- ^ /@endOffset@/: The offset of the text character after the last character+ for which boundary information is required. -}+ -> Atk.Enums.CoordType+ {- ^ /@coordType@/: Specify whether coordinates are relative to the screen or widget window. -}+ -> m (Atk.TextRectangle.TextRectangle)+textGetRangeExtents text startOffset endOffset coordType = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ let coordType' = (fromIntegral . fromEnum) coordType+ rect <- callocBytes 16 :: IO (Ptr Atk.TextRectangle.TextRectangle)+ atk_text_get_range_extents text' startOffset endOffset coordType' rect+ rect' <- (wrapPtr Atk.TextRectangle.TextRectangle) rect+ touchManagedPtr text+ return rect'++#if ENABLE_OVERLOADING+data TextGetRangeExtentsMethodInfo+instance (signature ~ (Int32 -> Int32 -> Atk.Enums.CoordType -> m (Atk.TextRectangle.TextRectangle)), MonadIO m, IsText a) => O.MethodInfo TextGetRangeExtentsMethodInfo a signature where+ overloadedMethod _ = textGetRangeExtents++#endif++-- method Text::get_run_attributes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the character offset at which to get the attributes, -1 means the offset of\nthe character to be inserted at the caret location.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the address to put the start offset of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the address to put the end offset of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TGSList (TBasicType TPtr))+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_run_attributes" atk_text_get_run_attributes :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- offset : TBasicType TInt+ Ptr Int32 -> -- start_offset : TBasicType TInt+ Ptr Int32 -> -- end_offset : TBasicType TInt+ IO (Ptr (GSList (Ptr ())))++{- |+Creates an @/AtkAttributeSet/@ which consists of the attributes explicitly+set at the position /@offset@/ in the text. /@startOffset@/ and /@endOffset@/ are+set to the start and end of the range around /@offset@/ where the attributes are+invariant. Note that /@endOffset@/ is the offset of the first character+after the range. See the enum AtkTextAttribute for types of text+attributes that can be returned. Note that other attributes may also be+returned.+-}+textGetRunAttributes ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@offset@/: the character offset at which to get the attributes, -1 means the offset of+the character to be inserted at the caret location. -}+ -> m (([Ptr ()], Int32, Int32))+ {- ^ __Returns:__ an @/AtkAttributeSet/@ which contains the attributes+ explicitly set at /@offset@/. This @/AtkAttributeSet/@ should be freed by+ a call to 'GI.Atk.Functions.attributeSetFree'. -}+textGetRunAttributes text offset = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ startOffset <- allocMem :: IO (Ptr Int32)+ endOffset <- allocMem :: IO (Ptr Int32)+ result <- atk_text_get_run_attributes text' offset startOffset endOffset+ result' <- unpackGSList result+ g_slist_free result+ startOffset' <- peek startOffset+ endOffset' <- peek endOffset+ touchManagedPtr text+ freeMem startOffset+ freeMem endOffset+ return (result', startOffset', endOffset')++#if ENABLE_OVERLOADING+data TextGetRunAttributesMethodInfo+instance (signature ~ (Int32 -> m (([Ptr ()], Int32, Int32))), MonadIO m, IsText a) => O.MethodInfo TextGetRunAttributesMethodInfo a signature where+ overloadedMethod _ = textGetRunAttributes++#endif++-- method Text::get_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The selection number. The selected regions are\nassigned numbers that correspond to how far the region is from the\nstart of the text. The selected region closest to the beginning\nof the text region is assigned the number 0, etc. Note that adding,\nmoving or deleting a selected region can change the numbering.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "passes back the starting character offset of the selected region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "passes back the ending character offset (offset immediately past)\nof the selected region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_selection" atk_text_get_selection :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- selection_num : TBasicType TInt+ Ptr Int32 -> -- start_offset : TBasicType TInt+ Ptr Int32 -> -- end_offset : TBasicType TInt+ IO CString++{- |+Gets the text from the specified selection.+-}+textGetSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@selectionNum@/: The selection number. The selected regions are+assigned numbers that correspond to how far the region is from the+start of the text. The selected region closest to the beginning+of the text region is assigned the number 0, etc. Note that adding,+moving or deleting a selected region can change the numbering. -}+ -> m ((T.Text, Int32, Int32))+ {- ^ __Returns:__ a newly allocated string containing the selected text. Use 'GI.GLib.Functions.free'+ to free the returned string. -}+textGetSelection text selectionNum = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ startOffset <- allocMem :: IO (Ptr Int32)+ endOffset <- allocMem :: IO (Ptr Int32)+ result <- atk_text_get_selection text' selectionNum startOffset endOffset+ checkUnexpectedReturnNULL "textGetSelection" result+ result' <- cstringToText result+ freeMem result+ startOffset' <- peek startOffset+ endOffset' <- peek endOffset+ touchManagedPtr text+ freeMem startOffset+ freeMem endOffset+ return (result', startOffset', endOffset')++#if ENABLE_OVERLOADING+data TextGetSelectionMethodInfo+instance (signature ~ (Int32 -> m ((T.Text, Int32, Int32))), MonadIO m, IsText a) => O.MethodInfo TextGetSelectionMethodInfo a signature where+ overloadedMethod _ = textGetSelection++#endif++-- method Text::get_string_at_offset+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "granularity", argType = TInterface (Name {namespace = "Atk", name = "TextGranularity"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #AtkTextGranularity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the starting character offset of the returned string, or -1\n in the case of error (e.g. invalid offset, not implemented)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset of the first character after the returned string,\n or -1 in the case of error (e.g. invalid offset, not implemented)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_string_at_offset" atk_text_get_string_at_offset :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- offset : TBasicType TInt+ CUInt -> -- granularity : TInterface (Name {namespace = "Atk", name = "TextGranularity"})+ Ptr Int32 -> -- start_offset : TBasicType TInt+ Ptr Int32 -> -- end_offset : TBasicType TInt+ IO CString++{- |+Gets a portion of the text exposed through an 'GI.Atk.Interfaces.Text.Text' according to a given /@offset@/+and a specific /@granularity@/, along with the start and end offsets defining the+boundaries of such a portion of text.++If /@granularity@/ is ATK_TEXT_GRANULARITY_CHAR the character at the+offset is returned.++If /@granularity@/ is ATK_TEXT_GRANULARITY_WORD the returned string+is from the word start at or before the offset to the word start after+the offset.++The returned string will contain the word at the offset if the offset+is inside a word and will contain the word before the offset if the+offset is not inside a word.++If /@granularity@/ is ATK_TEXT_GRANULARITY_SENTENCE the returned string+is from the sentence start at or before the offset to the sentence+start after the offset.++The returned string will contain the sentence at the offset if the offset+is inside a sentence and will contain the sentence before the offset+if the offset is not inside a sentence.++If /@granularity@/ is ATK_TEXT_GRANULARITY_LINE the returned string+is from the line start at or before the offset to the line+start after the offset.++If /@granularity@/ is ATK_TEXT_GRANULARITY_PARAGRAPH the returned string+is from the start of the paragraph at or before the offset to the start+of the following paragraph after the offset.++/Since: 2.10/+-}+textGetStringAtOffset ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@offset@/: position -}+ -> Atk.Enums.TextGranularity+ {- ^ /@granularity@/: An 'GI.Atk.Enums.TextGranularity' -}+ -> m ((Maybe T.Text, Int32, Int32))+ {- ^ __Returns:__ a newly allocated string containing the text at+ the /@offset@/ bounded by the specified /@granularity@/. Use 'GI.GLib.Functions.free'+ to free the returned string. Returns 'Nothing' if the offset is invalid+ or no implementation is available. -}+textGetStringAtOffset text offset granularity = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ let granularity' = (fromIntegral . fromEnum) granularity+ startOffset <- allocMem :: IO (Ptr Int32)+ endOffset <- allocMem :: IO (Ptr Int32)+ result <- atk_text_get_string_at_offset text' offset granularity' startOffset endOffset+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- cstringToText result'+ freeMem result'+ return result''+ startOffset' <- peek startOffset+ endOffset' <- peek endOffset+ touchManagedPtr text+ freeMem startOffset+ freeMem endOffset+ return (maybeResult, startOffset', endOffset')++#if ENABLE_OVERLOADING+data TextGetStringAtOffsetMethodInfo+instance (signature ~ (Int32 -> Atk.Enums.TextGranularity -> m ((Maybe T.Text, Int32, Int32))), MonadIO m, IsText a) => O.MethodInfo TextGetStringAtOffsetMethodInfo a signature where+ overloadedMethod _ = textGetStringAtOffset++#endif++-- method Text::get_text+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a starting character offset within @text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ending character offset within @text, or -1 for the end of the string.", 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 "atk_text_get_text" atk_text_get_text :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- start_offset : TBasicType TInt+ Int32 -> -- end_offset : TBasicType TInt+ IO CString++{- |+Gets the specified text.+-}+textGetText ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@startOffset@/: a starting character offset within /@text@/ -}+ -> Int32+ {- ^ /@endOffset@/: an ending character offset within /@text@/, or -1 for the end of the string. -}+ -> m T.Text+ {- ^ __Returns:__ a newly allocated string containing the text from /@startOffset@/ up+ to, but not including /@endOffset@/. Use 'GI.GLib.Functions.free' to free the returned+ string. -}+textGetText text startOffset endOffset = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ result <- atk_text_get_text text' startOffset endOffset+ checkUnexpectedReturnNULL "textGetText" result+ result' <- cstringToText result+ freeMem result+ touchManagedPtr text+ return result'++#if ENABLE_OVERLOADING+data TextGetTextMethodInfo+instance (signature ~ (Int32 -> Int32 -> m T.Text), MonadIO m, IsText a) => O.MethodInfo TextGetTextMethodInfo a signature where+ overloadedMethod _ = textGetText++#endif++-- method Text::get_text_after_offset+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boundary_type", argType = TInterface (Name {namespace = "Atk", name = "TextBoundary"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #AtkTextBoundary", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the starting character offset of the returned string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset of the first character after the\n returned substring", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_text_after_offset" atk_text_get_text_after_offset :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- offset : TBasicType TInt+ CUInt -> -- boundary_type : TInterface (Name {namespace = "Atk", name = "TextBoundary"})+ Ptr Int32 -> -- start_offset : TBasicType TInt+ Ptr Int32 -> -- end_offset : TBasicType TInt+ IO CString++{-# DEPRECATED textGetTextAfterOffset ["(Since version 2.9.3)","Please use 'GI.Atk.Interfaces.Text.textGetStringAtOffset' instead."] #-}+{- |+Gets the specified text.+-}+textGetTextAfterOffset ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@offset@/: position -}+ -> Atk.Enums.TextBoundary+ {- ^ /@boundaryType@/: An 'GI.Atk.Enums.TextBoundary' -}+ -> m ((T.Text, Int32, Int32))+ {- ^ __Returns:__ a newly allocated string containing the text after /@offset@/ bounded+ by the specified /@boundaryType@/. Use 'GI.GLib.Functions.free' to free the returned+ string. -}+textGetTextAfterOffset text offset boundaryType = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ let boundaryType' = (fromIntegral . fromEnum) boundaryType+ startOffset <- allocMem :: IO (Ptr Int32)+ endOffset <- allocMem :: IO (Ptr Int32)+ result <- atk_text_get_text_after_offset text' offset boundaryType' startOffset endOffset+ checkUnexpectedReturnNULL "textGetTextAfterOffset" result+ result' <- cstringToText result+ freeMem result+ startOffset' <- peek startOffset+ endOffset' <- peek endOffset+ touchManagedPtr text+ freeMem startOffset+ freeMem endOffset+ return (result', startOffset', endOffset')++#if ENABLE_OVERLOADING+data TextGetTextAfterOffsetMethodInfo+instance (signature ~ (Int32 -> Atk.Enums.TextBoundary -> m ((T.Text, Int32, Int32))), MonadIO m, IsText a) => O.MethodInfo TextGetTextAfterOffsetMethodInfo a signature where+ overloadedMethod _ = textGetTextAfterOffset++#endif++-- method Text::get_text_at_offset+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boundary_type", argType = TInterface (Name {namespace = "Atk", name = "TextBoundary"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #AtkTextBoundary", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the starting character offset of the returned string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset of the first character after the\n returned substring", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_text_at_offset" atk_text_get_text_at_offset :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- offset : TBasicType TInt+ CUInt -> -- boundary_type : TInterface (Name {namespace = "Atk", name = "TextBoundary"})+ Ptr Int32 -> -- start_offset : TBasicType TInt+ Ptr Int32 -> -- end_offset : TBasicType TInt+ IO CString++{-# DEPRECATED textGetTextAtOffset ["This method is deprecated since ATK version","2.9.4. Please use 'GI.Atk.Interfaces.Text.textGetStringAtOffset' instead."] #-}+{- |+Gets the specified text.++If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the+offset is returned.++If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string+is from the word start at or before the offset to the word start after+the offset.++The returned string will contain the word at the offset if the offset+is inside a word and will contain the word before the offset if the+offset is not inside a word.++If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned+string is from the sentence start at or before the offset to the sentence+start after the offset.++The returned string will contain the sentence at the offset if the offset+is inside a sentence and will contain the sentence before the offset+if the offset is not inside a sentence.++If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned+string is from the line start at or before the offset to the line+start after the offset.+-}+textGetTextAtOffset ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@offset@/: position -}+ -> Atk.Enums.TextBoundary+ {- ^ /@boundaryType@/: An 'GI.Atk.Enums.TextBoundary' -}+ -> m ((T.Text, Int32, Int32))+ {- ^ __Returns:__ a newly allocated string containing the text at /@offset@/ bounded+ by the specified /@boundaryType@/. Use 'GI.GLib.Functions.free' to free the returned+ string. -}+textGetTextAtOffset text offset boundaryType = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ let boundaryType' = (fromIntegral . fromEnum) boundaryType+ startOffset <- allocMem :: IO (Ptr Int32)+ endOffset <- allocMem :: IO (Ptr Int32)+ result <- atk_text_get_text_at_offset text' offset boundaryType' startOffset endOffset+ checkUnexpectedReturnNULL "textGetTextAtOffset" result+ result' <- cstringToText result+ freeMem result+ startOffset' <- peek startOffset+ endOffset' <- peek endOffset+ touchManagedPtr text+ freeMem startOffset+ freeMem endOffset+ return (result', startOffset', endOffset')++#if ENABLE_OVERLOADING+data TextGetTextAtOffsetMethodInfo+instance (signature ~ (Int32 -> Atk.Enums.TextBoundary -> m ((T.Text, Int32, Int32))), MonadIO m, IsText a) => O.MethodInfo TextGetTextAtOffsetMethodInfo a signature where+ overloadedMethod _ = textGetTextAtOffset++#endif++-- method Text::get_text_before_offset+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boundary_type", argType = TInterface (Name {namespace = "Atk", name = "TextBoundary"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #AtkTextBoundary", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the starting character offset of the returned string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset of the first character after the\n returned substring", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_get_text_before_offset" atk_text_get_text_before_offset :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- offset : TBasicType TInt+ CUInt -> -- boundary_type : TInterface (Name {namespace = "Atk", name = "TextBoundary"})+ Ptr Int32 -> -- start_offset : TBasicType TInt+ Ptr Int32 -> -- end_offset : TBasicType TInt+ IO CString++{-# DEPRECATED textGetTextBeforeOffset ["(Since version 2.9.3)","Please use 'GI.Atk.Interfaces.Text.textGetStringAtOffset' instead."] #-}+{- |+Gets the specified text.+-}+textGetTextBeforeOffset ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@offset@/: position -}+ -> Atk.Enums.TextBoundary+ {- ^ /@boundaryType@/: An 'GI.Atk.Enums.TextBoundary' -}+ -> m ((T.Text, Int32, Int32))+ {- ^ __Returns:__ a newly allocated string containing the text before /@offset@/ bounded+ by the specified /@boundaryType@/. Use 'GI.GLib.Functions.free' to free the returned+ string. -}+textGetTextBeforeOffset text offset boundaryType = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ let boundaryType' = (fromIntegral . fromEnum) boundaryType+ startOffset <- allocMem :: IO (Ptr Int32)+ endOffset <- allocMem :: IO (Ptr Int32)+ result <- atk_text_get_text_before_offset text' offset boundaryType' startOffset endOffset+ checkUnexpectedReturnNULL "textGetTextBeforeOffset" result+ result' <- cstringToText result+ freeMem result+ startOffset' <- peek startOffset+ endOffset' <- peek endOffset+ touchManagedPtr text+ freeMem startOffset+ freeMem endOffset+ return (result', startOffset', endOffset')++#if ENABLE_OVERLOADING+data TextGetTextBeforeOffsetMethodInfo+instance (signature ~ (Int32 -> Atk.Enums.TextBoundary -> m ((T.Text, Int32, Int32))), MonadIO m, IsText a) => O.MethodInfo TextGetTextBeforeOffsetMethodInfo a signature where+ overloadedMethod _ = textGetTextBeforeOffset++#endif++-- method Text::remove_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The selection number. The selected regions are\nassigned numbers that correspond to how far the region is from the\nstart of the text. The selected region closest to the beginning\nof the text region is assigned the number 0, etc. Note that adding,\nmoving or deleting a selected region can change the numbering.", 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 "atk_text_remove_selection" atk_text_remove_selection :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- selection_num : TBasicType TInt+ IO CInt++{- |+Removes the specified selection.+-}+textRemoveSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@selectionNum@/: The selection number. The selected regions are+assigned numbers that correspond to how far the region is from the+start of the text. The selected region closest to the beginning+of the text region is assigned the number 0, etc. Note that adding,+moving or deleting a selected region can change the numbering. -}+ -> m Bool+ {- ^ __Returns:__ 'True' if successful, 'False' otherwise -}+textRemoveSelection text selectionNum = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ result <- atk_text_remove_selection text' selectionNum+ let result' = (/= 0) result+ touchManagedPtr text+ return result'++#if ENABLE_OVERLOADING+data TextRemoveSelectionMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsText a) => O.MethodInfo TextRemoveSelectionMethodInfo a signature where+ overloadedMethod _ = textRemoveSelection++#endif++-- method Text::scroll_substring_to+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end position, or -1 for the end of the string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Atk", name = "ScrollType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specify where the object should be made visible.", 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 "atk_text_scroll_substring_to" atk_text_scroll_substring_to :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- start_offset : TBasicType TInt+ Int32 -> -- end_offset : TBasicType TInt+ CUInt -> -- type : TInterface (Name {namespace = "Atk", name = "ScrollType"})+ IO CInt++{- |+Makes /@text@/ visible on the screen by scrolling all necessary parents.++Contrary to atk_text_set_position, this does not actually move+/@text@/ in its parent, this only makes the parents scroll so that the+object shows up on the screen, given its current position within the parents.++/Since: 2.32/+-}+textScrollSubstringTo ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@startOffset@/: start position -}+ -> Int32+ {- ^ /@endOffset@/: end position, or -1 for the end of the string. -}+ -> Atk.Enums.ScrollType+ {- ^ /@type@/: specify where the object should be made visible. -}+ -> m Bool+ {- ^ __Returns:__ whether scrolling was successful. -}+textScrollSubstringTo text startOffset endOffset type_ = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ let type_' = (fromIntegral . fromEnum) type_+ result <- atk_text_scroll_substring_to text' startOffset endOffset type_'+ let result' = (/= 0) result+ touchManagedPtr text+ return result'++#if ENABLE_OVERLOADING+data TextScrollSubstringToMethodInfo+instance (signature ~ (Int32 -> Int32 -> Atk.Enums.ScrollType -> m Bool), MonadIO m, IsText a) => O.MethodInfo TextScrollSubstringToMethodInfo a signature where+ overloadedMethod _ = textScrollSubstringTo++#endif++-- method Text::scroll_substring_to_point+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end position, or -1 for the end of the string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coords", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specify whether coordinates are relative to the screen or to the\nparent object.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x-position where to scroll to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y-position where to scroll to", 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 "atk_text_scroll_substring_to_point" atk_text_scroll_substring_to_point :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- start_offset : TBasicType TInt+ Int32 -> -- end_offset : TBasicType TInt+ CUInt -> -- coords : TInterface (Name {namespace = "Atk", name = "CoordType"})+ Int32 -> -- x : TBasicType TInt+ Int32 -> -- y : TBasicType TInt+ IO CInt++{- |+Makes an object visible on the screen at a given position by scrolling all+necessary parents.++/Since: 2.32/+-}+textScrollSubstringToPoint ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@startOffset@/: start position -}+ -> Int32+ {- ^ /@endOffset@/: end position, or -1 for the end of the string. -}+ -> Atk.Enums.CoordType+ {- ^ /@coords@/: specify whether coordinates are relative to the screen or to the+parent object. -}+ -> Int32+ {- ^ /@x@/: x-position where to scroll to -}+ -> Int32+ {- ^ /@y@/: y-position where to scroll to -}+ -> m Bool+ {- ^ __Returns:__ whether scrolling was successful. -}+textScrollSubstringToPoint text startOffset endOffset coords x y = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ let coords' = (fromIntegral . fromEnum) coords+ result <- atk_text_scroll_substring_to_point text' startOffset endOffset coords' x y+ let result' = (/= 0) result+ touchManagedPtr text+ return result'++#if ENABLE_OVERLOADING+data TextScrollSubstringToPointMethodInfo+instance (signature ~ (Int32 -> Int32 -> Atk.Enums.CoordType -> Int32 -> Int32 -> m Bool), MonadIO m, IsText a) => O.MethodInfo TextScrollSubstringToPointMethodInfo a signature where+ overloadedMethod _ = textScrollSubstringToPoint++#endif++-- method Text::set_caret_offset+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the character offset of the new caret position", 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 "atk_text_set_caret_offset" atk_text_set_caret_offset :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- offset : TBasicType TInt+ IO CInt++{- |+Sets the caret (cursor) position to the specified /@offset@/.+-}+textSetCaretOffset ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@offset@/: the character offset of the new caret position -}+ -> m Bool+ {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}+textSetCaretOffset text offset = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ result <- atk_text_set_caret_offset text' offset+ let result' = (/= 0) result+ touchManagedPtr text+ return result'++#if ENABLE_OVERLOADING+data TextSetCaretOffsetMethodInfo+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsText a) => O.MethodInfo TextSetCaretOffsetMethodInfo a signature where+ overloadedMethod _ = textSetCaretOffset++#endif++-- method Text::set_selection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "text", argType = TInterface (Name {namespace = "Atk", name = "Text"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The selection number. The selected regions are\nassigned numbers that correspond to how far the region is from the\nstart of the text. The selected region closest to the beginning\nof the text region is assigned the number 0, etc. Note that adding,\nmoving or deleting a selected region can change the numbering.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new starting character offset of the selection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new end position of (e.g. offset immediately past)\nthe selection", 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 "atk_text_set_selection" atk_text_set_selection :: + Ptr Text -> -- text : TInterface (Name {namespace = "Atk", name = "Text"})+ Int32 -> -- selection_num : TBasicType TInt+ Int32 -> -- start_offset : TBasicType TInt+ Int32 -> -- end_offset : TBasicType TInt+ IO CInt++{- |+Changes the start and end offset of the specified selection.+-}+textSetSelection ::+ (B.CallStack.HasCallStack, MonadIO m, IsText a) =>+ a+ {- ^ /@text@/: an 'GI.Atk.Interfaces.Text.Text' -}+ -> Int32+ {- ^ /@selectionNum@/: The selection number. The selected regions are+assigned numbers that correspond to how far the region is from the+start of the text. The selected region closest to the beginning+of the text region is assigned the number 0, etc. Note that adding,+moving or deleting a selected region can change the numbering. -}+ -> Int32+ {- ^ /@startOffset@/: the new starting character offset of the selection -}+ -> Int32+ {- ^ /@endOffset@/: the new end position of (e.g. offset immediately past)+the selection -}+ -> m Bool+ {- ^ __Returns:__ 'True' if successful, 'False' otherwise -}+textSetSelection text selectionNum startOffset endOffset = liftIO $ do+ text' <- unsafeManagedPtrCastPtr text+ result <- atk_text_set_selection text' selectionNum startOffset endOffset+ let result' = (/= 0) result+ touchManagedPtr text+ return result'++#if ENABLE_OVERLOADING+data TextSetSelectionMethodInfo+instance (signature ~ (Int32 -> Int32 -> Int32 -> m Bool), MonadIO m, IsText a) => O.MethodInfo TextSetSelectionMethodInfo a signature where+ overloadedMethod _ = textSetSelection++#endif++-- method Text::free_ranges+-- method type : MemberFunction+-- Args : [Arg {argCName = "ranges", argType = TCArray False (-1) (-1) (TInterface (Name {namespace = "Atk", name = "TextRange"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to an array of #AtkTextRange which is\n to be freed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_text_free_ranges" atk_text_free_ranges :: + Ptr Atk.TextRange.TextRange -> -- ranges : TCArray False (-1) (-1) (TInterface (Name {namespace = "Atk", name = "TextRange"}))+ IO ()++{- |+Frees the memory associated with an array of AtkTextRange. It is assumed+that the array was returned by the function atk_text_get_bounded_ranges+and is NULL terminated.++/Since: 1.3/+-}+textFreeRanges ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ [Atk.TextRange.TextRange]+ {- ^ /@ranges@/: A pointer to an array of 'GI.Atk.Structs.TextRange.TextRange' which is+ to be freed. -}+ -> m ()+textFreeRanges ranges = liftIO $ do+ ranges' <- mapM unsafeManagedPtrGetPtr ranges+ ranges'' <- packBlockArray 32 ranges'+ atk_text_free_ranges ranges''+ mapM_ touchManagedPtr ranges+ freeMem ranges''+ return ()++#if ENABLE_OVERLOADING+#endif++
+ GI/Atk/Interfaces/Text.hs-boot view
@@ -0,0 +1,113 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.Text 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++newtype Text = Text (ManagedPtr Text)+#if ENABLE_OVERLOADING+data TextTextAttributesChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data TextTextCaretMovedSignalInfo+#endif+#if ENABLE_OVERLOADING+data TextTextChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data TextTextInsertSignalInfo+#endif+#if ENABLE_OVERLOADING+data TextTextRemoveSignalInfo+#endif+#if ENABLE_OVERLOADING+data TextTextSelectionChangedSignalInfo+#endif+instance GObject Text where+class (GObject o, O.IsDescendantOf Text o) => IsText o+instance (GObject o, O.IsDescendantOf Text o) => IsText o+instance O.HasParentTypes Text+#if ENABLE_OVERLOADING+data TextAddSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetBoundedRangesMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetCaretOffsetMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetCharacterAtOffsetMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetCharacterCountMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetCharacterExtentsMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetDefaultAttributesMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetNSelectionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetOffsetAtPointMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetRangeExtentsMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetRunAttributesMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetStringAtOffsetMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetTextMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetTextAfterOffsetMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetTextAtOffsetMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextGetTextBeforeOffsetMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextRemoveSelectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextScrollSubstringToMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextScrollSubstringToPointMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextSetCaretOffsetMethodInfo+#endif+#if ENABLE_OVERLOADING+data TextSetSelectionMethodInfo+#endif
+ GI/Atk/Interfaces/Value.hs view
@@ -0,0 +1,885 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Atk.Interfaces.Value.Value' should be implemented for components which either display+a value from a bounded range, or which allow the user to specify a+value from a bounded range, or both. For instance, most sliders and+range controls, as well as dials, should have 'GI.Atk.Objects.Object.Object'+representations which implement 'GI.Atk.Interfaces.Value.Value' on the component\'s+behalf. @/AtKValues/@ may be read-only, in which case attempts to+alter the value return would fail.++\<refsect1 id=\"current-value-text\">+\<title>On the subject of current value text\<\/title>+\<para>+In addition to providing the current value, implementors can+optionally provide an end-user-consumable textual description+associated with this value. This description should be included+when the numeric value fails to convey the full, on-screen+representation seen by users.+\<\/para>++\<example>+\<title>Password strength\<\/title>+A password strength meter whose value changes as the user types+their new password. Red is used for values less than 4.0, yellow+for values between 4.0 and 7.0, and green for values greater than+7.0. In this instance, value text should be provided by the+implementor. Appropriate value text would be \"weak\", \"acceptable,\"+and \"strong\" respectively.+\<\/example>++A level bar whose value changes to reflect the battery charge. The+color remains the same regardless of the charge and there is no+on-screen text reflecting the fullness of the battery. In this+case, because the position within the bar is the only indication+the user has of the current charge, value text should not be+provided by the implementor.++\<refsect2 id=\"implementor-notes\">+\<title>Implementor Notes\<\/title>+\<para>+Implementors should bear in mind that assistive technologies will+likely prefer the value text provided over the numeric value when+presenting a widget\'s value. As a result, strings not intended for+end users should not be exposed in the value text, and strings+which are exposed should be localized. In the case of widgets which+display value text on screen, for instance through a separate label+in close proximity to the value-displaying widget, it is still+expected that implementors will expose the value text using the+above API.+\<\/para>++\<para>+'GI.Atk.Interfaces.Value.Value' should NOT be implemented for widgets whose displayed+value is not reflective of a meaningful amount. For instance, a+progress pulse indicator whose value alternates between 0.0 and 1.0+to indicate that some process is still taking place should not+implement 'GI.Atk.Interfaces.Value.Value' because the current value does not reflect+progress towards completion.+\<\/para>+\<\/refsect2>+\<\/refsect1>++\<refsect1 id=\"ranges\">+\<title>On the subject of ranges\<\/title>+\<para>+In addition to providing the minimum and maximum values,+implementors can optionally provide details about subranges+associated with the widget. These details should be provided by the+implementor when both of the following are communicated visually to+the end user:+\<\/para>+\<itemizedlist>+ \<listitem>The existence of distinct ranges such as \"weak\",+ \"acceptable\", and \"strong\" indicated by color, bar tick marks,+ and\/or on-screen text.\<\/listitem>+ \<listitem>Where the current value stands within a given subrange,+ for instance illustrating progression from very \"weak\" towards+ nearly \"acceptable\" through changes in shade and\/or position on+ the bar within the \"weak\" subrange.\<\/listitem>+\<\/itemizedlist>+\<para>+If both of the above do not apply to the widget, it should be+sufficient to expose the numeric value, along with the value text+if appropriate, to make the widget accessible.+\<\/para>++\<refsect2 id=\"ranges-implementor-notes\">+\<title>Implementor Notes\<\/title>+\<para>+If providing subrange details is deemed necessary, all possible+values of the widget are expected to fall within one of the+subranges defined by the implementor.+\<\/para>+\<\/refsect2>+\<\/refsect1>++\<refsect1 id=\"localization\">+\<title>On the subject of localization of end-user-consumable text+values\<\/title>+\<para>+Because value text and subrange descriptors are human-consumable,+implementors are expected to provide localized strings which can be+directly presented to end users via their assistive technology. In+order to simplify this for implementors, implementors can use+'GI.Atk.Functions.valueTypeGetLocalizedName' with the following+already-localized constants for commonly-needed values can be used:+\<\/para>++\<itemizedlist>+ \<listitem>ATK_VALUE_VERY_WEAK\<\/listitem>+ \<listitem>ATK_VALUE_WEAK\<\/listitem>+ \<listitem>ATK_VALUE_ACCEPTABLE\<\/listitem>+ \<listitem>ATK_VALUE_STRONG\<\/listitem>+ \<listitem>ATK_VALUE_VERY_STRONG\<\/listitem>+ \<listitem>ATK_VALUE_VERY_LOW\<\/listitem>+ \<listitem>ATK_VALUE_LOW\<\/listitem>+ \<listitem>ATK_VALUE_MEDIUM\<\/listitem>+ \<listitem>ATK_VALUE_HIGH\<\/listitem>+ \<listitem>ATK_VALUE_VERY_HIGH\<\/listitem>+ \<listitem>ATK_VALUE_VERY_BAD\<\/listitem>+ \<listitem>ATK_VALUE_BAD\<\/listitem>+ \<listitem>ATK_VALUE_GOOD\<\/listitem>+ \<listitem>ATK_VALUE_VERY_GOOD\<\/listitem>+ \<listitem>ATK_VALUE_BEST\<\/listitem>+ \<listitem>ATK_VALUE_SUBSUBOPTIMAL\<\/listitem>+ \<listitem>ATK_VALUE_SUBOPTIMAL\<\/listitem>+ \<listitem>ATK_VALUE_OPTIMAL\<\/listitem>+\<\/itemizedlist>+\<para>+Proposals for additional constants, along with their use cases,+should be submitted to the GNOME Accessibility Team.+\<\/para>+\<\/refsect1>++\<refsect1 id=\"changes\">+\<title>On the subject of changes\<\/title>+\<para>+Note that if there is a textual description associated with the new+numeric value, that description should be included regardless of+whether or not it has also changed.+\<\/para>+\<\/refsect1>+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.Value+ ( ++-- * Exported types+ Value(..) ,+ noValue ,+ IsValue ,+ toValue ,+++ -- * Methods+-- ** getCurrentValue #method:getCurrentValue#++#if ENABLE_OVERLOADING+ ValueGetCurrentValueMethodInfo ,+#endif+ valueGetCurrentValue ,+++-- ** getIncrement #method:getIncrement#++#if ENABLE_OVERLOADING+ ValueGetIncrementMethodInfo ,+#endif+ valueGetIncrement ,+++-- ** getMaximumValue #method:getMaximumValue#++#if ENABLE_OVERLOADING+ ValueGetMaximumValueMethodInfo ,+#endif+ valueGetMaximumValue ,+++-- ** getMinimumIncrement #method:getMinimumIncrement#++#if ENABLE_OVERLOADING+ ValueGetMinimumIncrementMethodInfo ,+#endif+ valueGetMinimumIncrement ,+++-- ** getMinimumValue #method:getMinimumValue#++#if ENABLE_OVERLOADING+ ValueGetMinimumValueMethodInfo ,+#endif+ valueGetMinimumValue ,+++-- ** getRange #method:getRange#++#if ENABLE_OVERLOADING+ ValueGetRangeMethodInfo ,+#endif+ valueGetRange ,+++-- ** getSubRanges #method:getSubRanges#++#if ENABLE_OVERLOADING+ ValueGetSubRangesMethodInfo ,+#endif+ valueGetSubRanges ,+++-- ** getValueAndText #method:getValueAndText#++#if ENABLE_OVERLOADING+ ValueGetValueAndTextMethodInfo ,+#endif+ valueGetValueAndText ,+++-- ** setCurrentValue #method:setCurrentValue#++#if ENABLE_OVERLOADING+ ValueSetCurrentValueMethodInfo ,+#endif+ valueSetCurrentValue ,+++-- ** setValue #method:setValue#++#if ENABLE_OVERLOADING+ ValueSetValueMethodInfo ,+#endif+ valueSetValue ,+++++ -- * Signals+-- ** valueChanged #signal:valueChanged#++ C_ValueValueChangedCallback ,+ ValueValueChangedCallback ,+#if ENABLE_OVERLOADING+ ValueValueChangedSignalInfo ,+#endif+ afterValueValueChanged ,+ genClosure_ValueValueChanged ,+ mk_ValueValueChangedCallback ,+ noValueValueChangedCallback ,+ onValueValueChanged ,+ wrap_ValueValueChangedCallback ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Structs.Range as Atk.Range+import qualified GI.GObject.Objects.Object as GObject.Object++-- interface Value +-- | Memory-managed wrapper type.+newtype Value = Value (ManagedPtr Value)+-- | A convenience alias for `Nothing` :: `Maybe` `Value`.+noValue :: Maybe Value+noValue = Nothing++-- signal Value::value-changed+{- |+The \'value-changed\' signal is emitted when the current value+that represent the object changes. /@value@/ is the numerical+representation of this new value. /@text@/ is the human+readable text alternative of /@value@/, and can be NULL if it is+not available. Note that if there is a textual description+associated with the new numeric value, that description+should be included regardless of whether or not it has also+changed.++Example: a password meter whose value changes as the user+types their new password. Appropiate value text would be+\"weak\", \"acceptable\" and \"strong\".++/Since: 2.12/+-}+type ValueValueChangedCallback =+ Double+ {- ^ /@value@/: the new value in a numerical form. -}+ -> T.Text+ {- ^ /@text@/: human readable text alternative (also called+description) of this object. NULL if not available. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ValueValueChangedCallback`@.+noValueValueChangedCallback :: Maybe ValueValueChangedCallback+noValueValueChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ValueValueChangedCallback =+ Ptr () -> -- object+ CDouble ->+ CString ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_ValueValueChangedCallback`.+foreign import ccall "wrapper"+ mk_ValueValueChangedCallback :: C_ValueValueChangedCallback -> IO (FunPtr C_ValueValueChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ValueValueChanged :: MonadIO m => ValueValueChangedCallback -> m (GClosure C_ValueValueChangedCallback)+genClosure_ValueValueChanged cb = liftIO $ do+ let cb' = wrap_ValueValueChangedCallback cb+ mk_ValueValueChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ValueValueChangedCallback` into a `C_ValueValueChangedCallback`.+wrap_ValueValueChangedCallback ::+ ValueValueChangedCallback ->+ C_ValueValueChangedCallback+wrap_ValueValueChangedCallback _cb _ value text _ = do+ let value' = realToFrac value+ text' <- cstringToText text+ _cb value' text'+++{- |+Connect a signal handler for the “@value-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' value #valueChanged callback+@+-}+onValueValueChanged :: (IsValue a, MonadIO m) => a -> ValueValueChangedCallback -> m SignalHandlerId+onValueValueChanged obj cb = liftIO $ do+ let cb' = wrap_ValueValueChangedCallback cb+ cb'' <- mk_ValueValueChangedCallback cb'+ connectSignalFunPtr obj "value-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@value-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' value #valueChanged callback+@+-}+afterValueValueChanged :: (IsValue a, MonadIO m) => a -> ValueValueChangedCallback -> m SignalHandlerId+afterValueValueChanged obj cb = liftIO $ do+ let cb' = wrap_ValueValueChangedCallback cb+ cb'' <- mk_ValueValueChangedCallback cb'+ connectSignalFunPtr obj "value-changed" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+data ValueValueChangedSignalInfo+instance SignalInfo ValueValueChangedSignalInfo where+ type HaskellCallbackType ValueValueChangedSignalInfo = ValueValueChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_ValueValueChangedCallback cb+ cb'' <- mk_ValueValueChangedCallback cb'+ connectSignalFunPtr obj "value-changed" cb'' connectMode++type instance O.SignalList Value = ValueSignalList+type ValueSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("valueChanged", ValueValueChangedSignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "atk_value_get_type"+ c_atk_value_get_type :: IO GType++instance GObject Value where+ gobjectType = c_atk_value_get_type+ ++-- | Type class for types which can be safely cast to `Value`, for instance with `toValue`.+class (GObject o, O.IsDescendantOf Value o) => IsValue o+instance (GObject o, O.IsDescendantOf Value o) => IsValue o++instance O.HasParentTypes Value+type instance O.ParentTypes Value = '[GObject.Object.Object]++-- | Cast to `Value`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toValue :: (MonadIO m, IsValue o) => o -> m Value+toValue = liftIO . unsafeCastTo Value++#if ENABLE_OVERLOADING+instance O.HasAttributeList Value+type instance O.AttributeList Value = ValueAttributeList+type ValueAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveValueMethod (t :: Symbol) (o :: *) :: * where+ ResolveValueMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveValueMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveValueMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveValueMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveValueMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveValueMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveValueMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveValueMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveValueMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveValueMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveValueMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveValueMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveValueMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveValueMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveValueMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveValueMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveValueMethod "getCurrentValue" o = ValueGetCurrentValueMethodInfo+ ResolveValueMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveValueMethod "getIncrement" o = ValueGetIncrementMethodInfo+ ResolveValueMethod "getMaximumValue" o = ValueGetMaximumValueMethodInfo+ ResolveValueMethod "getMinimumIncrement" o = ValueGetMinimumIncrementMethodInfo+ ResolveValueMethod "getMinimumValue" o = ValueGetMinimumValueMethodInfo+ ResolveValueMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveValueMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveValueMethod "getRange" o = ValueGetRangeMethodInfo+ ResolveValueMethod "getSubRanges" o = ValueGetSubRangesMethodInfo+ ResolveValueMethod "getValueAndText" o = ValueGetValueAndTextMethodInfo+ ResolveValueMethod "setCurrentValue" o = ValueSetCurrentValueMethodInfo+ ResolveValueMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveValueMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveValueMethod "setValue" o = ValueSetValueMethodInfo+ ResolveValueMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveValueMethod t Value, O.MethodInfo info Value p) => OL.IsLabel t (Value -> 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 Value::get_current_value+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkValueIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue representing the current accessible value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_value_get_current_value" atk_value_get_current_value :: + Ptr Value -> -- obj : TInterface (Name {namespace = "Atk", name = "Value"})+ Ptr GValue -> -- value : TInterface (Name {namespace = "GObject", name = "Value"})+ IO ()++{-# DEPRECATED valueGetCurrentValue ["Since 2.12. Use 'GI.Atk.Interfaces.Value.valueGetValueAndText'","instead."] #-}+{- |+Gets the value of this object.+-}+valueGetCurrentValue ::+ (B.CallStack.HasCallStack, MonadIO m, IsValue a) =>+ a+ {- ^ /@obj@/: a GObject instance that implements AtkValueIface -}+ -> m (GValue)+valueGetCurrentValue obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ value <- callocBoxedBytes 24 :: IO (Ptr GValue)+ atk_value_get_current_value obj' value+ value' <- (wrapBoxed GValue) value+ touchManagedPtr obj+ return value'++#if ENABLE_OVERLOADING+data ValueGetCurrentValueMethodInfo+instance (signature ~ (m (GValue)), MonadIO m, IsValue a) => O.MethodInfo ValueGetCurrentValueMethodInfo a signature where+ overloadedMethod _ = valueGetCurrentValue++#endif++-- method Value::get_increment+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkValueIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TDouble)+-- throws : False+-- Skip return : False++foreign import ccall "atk_value_get_increment" atk_value_get_increment :: + Ptr Value -> -- obj : TInterface (Name {namespace = "Atk", name = "Value"})+ IO CDouble++{- |+Gets the minimum increment by which the value of this object may be+changed. If zero, the minimum increment is undefined, which may+mean that it is limited only by the floating point precision of the+platform.++/Since: 2.12/+-}+valueGetIncrement ::+ (B.CallStack.HasCallStack, MonadIO m, IsValue a) =>+ a+ {- ^ /@obj@/: a GObject instance that implements AtkValueIface -}+ -> m Double+ {- ^ __Returns:__ the minimum increment by which the value of this+object may be changed. zero if undefined. -}+valueGetIncrement obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ result <- atk_value_get_increment obj'+ let result' = realToFrac result+ touchManagedPtr obj+ return result'++#if ENABLE_OVERLOADING+data ValueGetIncrementMethodInfo+instance (signature ~ (m Double), MonadIO m, IsValue a) => O.MethodInfo ValueGetIncrementMethodInfo a signature where+ overloadedMethod _ = valueGetIncrement++#endif++-- method Value::get_maximum_value+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkValueIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue representing the maximum accessible value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_value_get_maximum_value" atk_value_get_maximum_value :: + Ptr Value -> -- obj : TInterface (Name {namespace = "Atk", name = "Value"})+ Ptr GValue -> -- value : TInterface (Name {namespace = "GObject", name = "Value"})+ IO ()++{-# DEPRECATED valueGetMaximumValue ["Since 2.12. Use 'GI.Atk.Interfaces.Value.valueGetRange' instead."] #-}+{- |+Gets the maximum value of this object.+-}+valueGetMaximumValue ::+ (B.CallStack.HasCallStack, MonadIO m, IsValue a) =>+ a+ {- ^ /@obj@/: a GObject instance that implements AtkValueIface -}+ -> m (GValue)+valueGetMaximumValue obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ value <- callocBoxedBytes 24 :: IO (Ptr GValue)+ atk_value_get_maximum_value obj' value+ value' <- (wrapBoxed GValue) value+ touchManagedPtr obj+ return value'++#if ENABLE_OVERLOADING+data ValueGetMaximumValueMethodInfo+instance (signature ~ (m (GValue)), MonadIO m, IsValue a) => O.MethodInfo ValueGetMaximumValueMethodInfo a signature where+ overloadedMethod _ = valueGetMaximumValue++#endif++-- method Value::get_minimum_increment+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkValueIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue representing the minimum increment by which the accessible value may be changed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_value_get_minimum_increment" atk_value_get_minimum_increment :: + Ptr Value -> -- obj : TInterface (Name {namespace = "Atk", name = "Value"})+ Ptr GValue -> -- value : TInterface (Name {namespace = "GObject", name = "Value"})+ IO ()++{-# DEPRECATED valueGetMinimumIncrement ["Since 2.12. Use 'GI.Atk.Interfaces.Value.valueGetIncrement' instead."] #-}+{- |+Gets the minimum increment by which the value of this object may be changed. If zero,+the minimum increment is undefined, which may mean that it is limited only by the+floating point precision of the platform.++/Since: 1.12/+-}+valueGetMinimumIncrement ::+ (B.CallStack.HasCallStack, MonadIO m, IsValue a) =>+ a+ {- ^ /@obj@/: a GObject instance that implements AtkValueIface -}+ -> m (GValue)+valueGetMinimumIncrement obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ value <- callocBoxedBytes 24 :: IO (Ptr GValue)+ atk_value_get_minimum_increment obj' value+ value' <- (wrapBoxed GValue) value+ touchManagedPtr obj+ return value'++#if ENABLE_OVERLOADING+data ValueGetMinimumIncrementMethodInfo+instance (signature ~ (m (GValue)), MonadIO m, IsValue a) => O.MethodInfo ValueGetMinimumIncrementMethodInfo a signature where+ overloadedMethod _ = valueGetMinimumIncrement++#endif++-- method Value::get_minimum_value+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkValueIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue representing the minimum accessible value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_value_get_minimum_value" atk_value_get_minimum_value :: + Ptr Value -> -- obj : TInterface (Name {namespace = "Atk", name = "Value"})+ Ptr GValue -> -- value : TInterface (Name {namespace = "GObject", name = "Value"})+ IO ()++{-# DEPRECATED valueGetMinimumValue ["Since 2.12. Use 'GI.Atk.Interfaces.Value.valueGetRange' instead."] #-}+{- |+Gets the minimum value of this object.+-}+valueGetMinimumValue ::+ (B.CallStack.HasCallStack, MonadIO m, IsValue a) =>+ a+ {- ^ /@obj@/: a GObject instance that implements AtkValueIface -}+ -> m (GValue)+valueGetMinimumValue obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ value <- callocBoxedBytes 24 :: IO (Ptr GValue)+ atk_value_get_minimum_value obj' value+ value' <- (wrapBoxed GValue) value+ touchManagedPtr obj+ return value'++#if ENABLE_OVERLOADING+data ValueGetMinimumValueMethodInfo+instance (signature ~ (m (GValue)), MonadIO m, IsValue a) => O.MethodInfo ValueGetMinimumValueMethodInfo a signature where+ overloadedMethod _ = valueGetMinimumValue++#endif++-- method Value::get_range+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkValueIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Range"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_value_get_range" atk_value_get_range :: + Ptr Value -> -- obj : TInterface (Name {namespace = "Atk", name = "Value"})+ IO (Ptr Atk.Range.Range)++{- |+Gets the range of this object.++/Since: 2.12/+-}+valueGetRange ::+ (B.CallStack.HasCallStack, MonadIO m, IsValue a) =>+ a+ {- ^ /@obj@/: a GObject instance that implements AtkValueIface -}+ -> m (Maybe Atk.Range.Range)+ {- ^ __Returns:__ a newly allocated 'GI.Atk.Structs.Range.Range'+that represents the minimum, maximum and descriptor (if available)+of /@obj@/. NULL if that range is not defined. -}+valueGetRange obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ result <- atk_value_get_range obj'+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- (wrapBoxed Atk.Range.Range) result'+ return result''+ touchManagedPtr obj+ return maybeResult++#if ENABLE_OVERLOADING+data ValueGetRangeMethodInfo+instance (signature ~ (m (Maybe Atk.Range.Range)), MonadIO m, IsValue a) => O.MethodInfo ValueGetRangeMethodInfo a signature where+ overloadedMethod _ = valueGetRange++#endif++-- method Value::get_sub_ranges+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkValueIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGSList (TInterface (Name {namespace = "Atk", name = "Range"})))+-- throws : False+-- Skip return : False++foreign import ccall "atk_value_get_sub_ranges" atk_value_get_sub_ranges :: + Ptr Value -> -- obj : TInterface (Name {namespace = "Atk", name = "Value"})+ IO (Ptr (GSList (Ptr Atk.Range.Range)))++{- |+Gets the list of subranges defined for this object. See 'GI.Atk.Interfaces.Value.Value'+introduction for examples of subranges and when to expose them.++/Since: 2.12/+-}+valueGetSubRanges ::+ (B.CallStack.HasCallStack, MonadIO m, IsValue a) =>+ a+ {- ^ /@obj@/: a GObject instance that implements AtkValueIface -}+ -> m [Atk.Range.Range]+ {- ^ __Returns:__ an 'GI.GLib.Structs.SList.SList' of+'GI.Atk.Structs.Range.Range' which each of the subranges defined for this object. Free+the returns list with @/g_slist_free()/@. -}+valueGetSubRanges obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ result <- atk_value_get_sub_ranges obj'+ result' <- unpackGSList result+ result'' <- mapM (wrapBoxed Atk.Range.Range) result'+ g_slist_free result+ touchManagedPtr obj+ return result''++#if ENABLE_OVERLOADING+data ValueGetSubRangesMethodInfo+instance (signature ~ (m [Atk.Range.Range]), MonadIO m, IsValue a) => O.MethodInfo ValueGetSubRangesMethodInfo a signature where+ overloadedMethod _ = valueGetSubRanges++#endif++-- method Value::get_value_and_text+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkValueIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gdouble to put the current value of @obj", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of #gchar to put the human\nreadable text alternative for @value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_value_get_value_and_text" atk_value_get_value_and_text :: + Ptr Value -> -- obj : TInterface (Name {namespace = "Atk", name = "Value"})+ Ptr CDouble -> -- value : TBasicType TDouble+ Ptr CString -> -- text : TBasicType TUTF8+ IO ()++{- |+Gets the current value and the human readable text alternative of+/@obj@/. /@text@/ is a newly created string, that must be freed by the+caller. Can be NULL if no descriptor is available.++/Since: 2.12/+-}+valueGetValueAndText ::+ (B.CallStack.HasCallStack, MonadIO m, IsValue a) =>+ a+ {- ^ /@obj@/: a GObject instance that implements AtkValueIface -}+ -> m ((Double, T.Text))+valueGetValueAndText obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ value <- allocMem :: IO (Ptr CDouble)+ text <- allocMem :: IO (Ptr CString)+ atk_value_get_value_and_text obj' value text+ value' <- peek value+ let value'' = realToFrac value'+ text' <- peek text+ text'' <- cstringToText text'+ freeMem text'+ touchManagedPtr obj+ freeMem value+ freeMem text+ return (value'', text'')++#if ENABLE_OVERLOADING+data ValueGetValueAndTextMethodInfo+instance (signature ~ (m ((Double, T.Text))), MonadIO m, IsValue a) => O.MethodInfo ValueGetValueAndTextMethodInfo a signature where+ overloadedMethod _ = valueGetValueAndText++#endif++-- method Value::set_current_value+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkValueIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue which is the desired new accessible value.", 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 "atk_value_set_current_value" atk_value_set_current_value :: + Ptr Value -> -- obj : TInterface (Name {namespace = "Atk", name = "Value"})+ Ptr GValue -> -- value : TInterface (Name {namespace = "GObject", name = "Value"})+ IO CInt++{-# DEPRECATED valueSetCurrentValue ["Since 2.12. Use 'GI.Atk.Interfaces.Value.valueSetValue' instead."] #-}+{- |+Sets the value of this object.+-}+valueSetCurrentValue ::+ (B.CallStack.HasCallStack, MonadIO m, IsValue a) =>+ a+ {- ^ /@obj@/: a GObject instance that implements AtkValueIface -}+ -> GValue+ {- ^ /@value@/: a 'GI.GObject.Structs.Value.Value' which is the desired new accessible value. -}+ -> m Bool+ {- ^ __Returns:__ 'True' if new value is successfully set, 'False' otherwise. -}+valueSetCurrentValue obj value = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ value' <- unsafeManagedPtrGetPtr value+ result <- atk_value_set_current_value obj' value'+ let result' = (/= 0) result+ touchManagedPtr obj+ touchManagedPtr value+ return result'++#if ENABLE_OVERLOADING+data ValueSetCurrentValueMethodInfo+instance (signature ~ (GValue -> m Bool), MonadIO m, IsValue a) => O.MethodInfo ValueSetCurrentValueMethodInfo a signature where+ overloadedMethod _ = valueSetCurrentValue++#endif++-- method Value::set_value+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GObject instance that implements AtkValueIface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a double which is the desired new accessible value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_value_set_value" atk_value_set_value :: + Ptr Value -> -- obj : TInterface (Name {namespace = "Atk", name = "Value"})+ CDouble -> -- new_value : TBasicType TDouble+ IO ()++{- |+Sets the value of this object.++This method is intended to provide a way to change the value of the+object. In any case, it is possible that the value can\'t be+modified (ie: a read-only component). If the value changes due this+call, it is possible that the text could change, and will trigger+an 'GI.Atk.Interfaces.Value.Value'::@/value-changed/@ signal emission.++Note for implementors: the deprecated 'GI.Atk.Interfaces.Value.valueSetCurrentValue'+method returned TRUE or FALSE depending if the value was assigned+or not. In the practice several implementors were not able to+decide it, and returned TRUE in any case. For that reason it is not+required anymore to return if the value was properly assigned or+not.++/Since: 2.12/+-}+valueSetValue ::+ (B.CallStack.HasCallStack, MonadIO m, IsValue a) =>+ a+ {- ^ /@obj@/: a GObject instance that implements AtkValueIface -}+ -> Double+ {- ^ /@newValue@/: a double which is the desired new accessible value. -}+ -> m ()+valueSetValue obj newValue = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ let newValue' = realToFrac newValue+ atk_value_set_value obj' newValue'+ touchManagedPtr obj+ return ()++#if ENABLE_OVERLOADING+data ValueSetValueMethodInfo+instance (signature ~ (Double -> m ()), MonadIO m, IsValue a) => O.MethodInfo ValueSetValueMethodInfo a signature where+ overloadedMethod _ = valueSetValue++#endif++
+ GI/Atk/Interfaces/Value.hs-boot view
@@ -0,0 +1,62 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.Value 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++newtype Value = Value (ManagedPtr Value)+#if ENABLE_OVERLOADING+data ValueValueChangedSignalInfo+#endif+instance GObject Value where+class (GObject o, O.IsDescendantOf Value o) => IsValue o+instance (GObject o, O.IsDescendantOf Value o) => IsValue o+instance O.HasParentTypes Value+#if ENABLE_OVERLOADING+data ValueGetCurrentValueMethodInfo+#endif+#if ENABLE_OVERLOADING+data ValueGetIncrementMethodInfo+#endif+#if ENABLE_OVERLOADING+data ValueGetMaximumValueMethodInfo+#endif+#if ENABLE_OVERLOADING+data ValueGetMinimumIncrementMethodInfo+#endif+#if ENABLE_OVERLOADING+data ValueGetMinimumValueMethodInfo+#endif+#if ENABLE_OVERLOADING+data ValueGetRangeMethodInfo+#endif+#if ENABLE_OVERLOADING+data ValueGetSubRangesMethodInfo+#endif+#if ENABLE_OVERLOADING+data ValueGetValueAndTextMethodInfo+#endif+#if ENABLE_OVERLOADING+data ValueSetCurrentValueMethodInfo+#endif+#if ENABLE_OVERLOADING+data ValueSetValueMethodInfo+#endif
+ GI/Atk/Interfaces/Window.hs view
@@ -0,0 +1,970 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Atk.Interfaces.Window.Window' should be implemented by the UI elements that represent+a top-level window, such as the main window of an application or+dialog.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Interfaces.Window+ ( ++-- * Exported types+ Window(..) ,+ noWindow ,+ IsWindow ,+ toWindow ,+++ -- * Signals+-- ** activate #signal:activate#++ C_WindowActivateCallback ,+ WindowActivateCallback ,+#if ENABLE_OVERLOADING+ WindowActivateSignalInfo ,+#endif+ afterWindowActivate ,+ genClosure_WindowActivate ,+ mk_WindowActivateCallback ,+ noWindowActivateCallback ,+ onWindowActivate ,+ wrap_WindowActivateCallback ,+++-- ** create #signal:create#++ C_WindowCreateCallback ,+ WindowCreateCallback ,+#if ENABLE_OVERLOADING+ WindowCreateSignalInfo ,+#endif+ afterWindowCreate ,+ genClosure_WindowCreate ,+ mk_WindowCreateCallback ,+ noWindowCreateCallback ,+ onWindowCreate ,+ wrap_WindowCreateCallback ,+++-- ** deactivate #signal:deactivate#++ C_WindowDeactivateCallback ,+ WindowDeactivateCallback ,+#if ENABLE_OVERLOADING+ WindowDeactivateSignalInfo ,+#endif+ afterWindowDeactivate ,+ genClosure_WindowDeactivate ,+ mk_WindowDeactivateCallback ,+ noWindowDeactivateCallback ,+ onWindowDeactivate ,+ wrap_WindowDeactivateCallback ,+++-- ** destroy #signal:destroy#++ C_WindowDestroyCallback ,+ WindowDestroyCallback ,+#if ENABLE_OVERLOADING+ WindowDestroySignalInfo ,+#endif+ afterWindowDestroy ,+ genClosure_WindowDestroy ,+ mk_WindowDestroyCallback ,+ noWindowDestroyCallback ,+ onWindowDestroy ,+ wrap_WindowDestroyCallback ,+++-- ** maximize #signal:maximize#++ C_WindowMaximizeCallback ,+ WindowMaximizeCallback ,+#if ENABLE_OVERLOADING+ WindowMaximizeSignalInfo ,+#endif+ afterWindowMaximize ,+ genClosure_WindowMaximize ,+ mk_WindowMaximizeCallback ,+ noWindowMaximizeCallback ,+ onWindowMaximize ,+ wrap_WindowMaximizeCallback ,+++-- ** minimize #signal:minimize#++ C_WindowMinimizeCallback ,+ WindowMinimizeCallback ,+#if ENABLE_OVERLOADING+ WindowMinimizeSignalInfo ,+#endif+ afterWindowMinimize ,+ genClosure_WindowMinimize ,+ mk_WindowMinimizeCallback ,+ noWindowMinimizeCallback ,+ onWindowMinimize ,+ wrap_WindowMinimizeCallback ,+++-- ** move #signal:move#++ C_WindowMoveCallback ,+ WindowMoveCallback ,+#if ENABLE_OVERLOADING+ WindowMoveSignalInfo ,+#endif+ afterWindowMove ,+ genClosure_WindowMove ,+ mk_WindowMoveCallback ,+ noWindowMoveCallback ,+ onWindowMove ,+ wrap_WindowMoveCallback ,+++-- ** resize #signal:resize#++ C_WindowResizeCallback ,+ WindowResizeCallback ,+#if ENABLE_OVERLOADING+ WindowResizeSignalInfo ,+#endif+ afterWindowResize ,+ genClosure_WindowResize ,+ mk_WindowResizeCallback ,+ noWindowResizeCallback ,+ onWindowResize ,+ wrap_WindowResizeCallback ,+++-- ** restore #signal:restore#++ C_WindowRestoreCallback ,+ WindowRestoreCallback ,+#if ENABLE_OVERLOADING+ WindowRestoreSignalInfo ,+#endif+ afterWindowRestore ,+ genClosure_WindowRestore ,+ mk_WindowRestoreCallback ,+ noWindowRestoreCallback ,+ onWindowRestore ,+ wrap_WindowRestoreCallback ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object++-- interface Window +-- | Memory-managed wrapper type.+newtype Window = Window (ManagedPtr Window)+-- | A convenience alias for `Nothing` :: `Maybe` `Window`.+noWindow :: Maybe Window+noWindow = Nothing++-- signal Window::activate+{- |+The signal 'GI.Atk.Interfaces.Window.Window'::@/activate/@ is emitted when a window+becomes the active window of the application or session.++/Since: 2.2/+-}+type WindowActivateCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowActivateCallback`@.+noWindowActivateCallback :: Maybe WindowActivateCallback+noWindowActivateCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowActivateCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowActivateCallback`.+foreign import ccall "wrapper"+ mk_WindowActivateCallback :: C_WindowActivateCallback -> IO (FunPtr C_WindowActivateCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowActivate :: MonadIO m => WindowActivateCallback -> m (GClosure C_WindowActivateCallback)+genClosure_WindowActivate cb = liftIO $ do+ let cb' = wrap_WindowActivateCallback cb+ mk_WindowActivateCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowActivateCallback` into a `C_WindowActivateCallback`.+wrap_WindowActivateCallback ::+ WindowActivateCallback ->+ C_WindowActivateCallback+wrap_WindowActivateCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@activate@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #activate callback+@+-}+onWindowActivate :: (IsWindow a, MonadIO m) => a -> WindowActivateCallback -> m SignalHandlerId+onWindowActivate obj cb = liftIO $ do+ let cb' = wrap_WindowActivateCallback cb+ cb'' <- mk_WindowActivateCallback cb'+ connectSignalFunPtr obj "activate" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@activate@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #activate callback+@+-}+afterWindowActivate :: (IsWindow a, MonadIO m) => a -> WindowActivateCallback -> m SignalHandlerId+afterWindowActivate obj cb = liftIO $ do+ let cb' = wrap_WindowActivateCallback cb+ cb'' <- mk_WindowActivateCallback cb'+ connectSignalFunPtr obj "activate" cb'' SignalConnectAfter+++-- signal Window::create+{- |+The signal 'GI.Atk.Interfaces.Window.Window'::@/create/@ is emitted when a new window+is created.++/Since: 2.2/+-}+type WindowCreateCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowCreateCallback`@.+noWindowCreateCallback :: Maybe WindowCreateCallback+noWindowCreateCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowCreateCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowCreateCallback`.+foreign import ccall "wrapper"+ mk_WindowCreateCallback :: C_WindowCreateCallback -> IO (FunPtr C_WindowCreateCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowCreate :: MonadIO m => WindowCreateCallback -> m (GClosure C_WindowCreateCallback)+genClosure_WindowCreate cb = liftIO $ do+ let cb' = wrap_WindowCreateCallback cb+ mk_WindowCreateCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowCreateCallback` into a `C_WindowCreateCallback`.+wrap_WindowCreateCallback ::+ WindowCreateCallback ->+ C_WindowCreateCallback+wrap_WindowCreateCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@create@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #create callback+@+-}+onWindowCreate :: (IsWindow a, MonadIO m) => a -> WindowCreateCallback -> m SignalHandlerId+onWindowCreate obj cb = liftIO $ do+ let cb' = wrap_WindowCreateCallback cb+ cb'' <- mk_WindowCreateCallback cb'+ connectSignalFunPtr obj "create" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@create@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #create callback+@+-}+afterWindowCreate :: (IsWindow a, MonadIO m) => a -> WindowCreateCallback -> m SignalHandlerId+afterWindowCreate obj cb = liftIO $ do+ let cb' = wrap_WindowCreateCallback cb+ cb'' <- mk_WindowCreateCallback cb'+ connectSignalFunPtr obj "create" cb'' SignalConnectAfter+++-- signal Window::deactivate+{- |+The signal 'GI.Atk.Interfaces.Window.Window'::@/deactivate/@ is emitted when a window is+no longer the active window of the application or session.++/Since: 2.2/+-}+type WindowDeactivateCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowDeactivateCallback`@.+noWindowDeactivateCallback :: Maybe WindowDeactivateCallback+noWindowDeactivateCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowDeactivateCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowDeactivateCallback`.+foreign import ccall "wrapper"+ mk_WindowDeactivateCallback :: C_WindowDeactivateCallback -> IO (FunPtr C_WindowDeactivateCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowDeactivate :: MonadIO m => WindowDeactivateCallback -> m (GClosure C_WindowDeactivateCallback)+genClosure_WindowDeactivate cb = liftIO $ do+ let cb' = wrap_WindowDeactivateCallback cb+ mk_WindowDeactivateCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowDeactivateCallback` into a `C_WindowDeactivateCallback`.+wrap_WindowDeactivateCallback ::+ WindowDeactivateCallback ->+ C_WindowDeactivateCallback+wrap_WindowDeactivateCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@deactivate@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #deactivate callback+@+-}+onWindowDeactivate :: (IsWindow a, MonadIO m) => a -> WindowDeactivateCallback -> m SignalHandlerId+onWindowDeactivate obj cb = liftIO $ do+ let cb' = wrap_WindowDeactivateCallback cb+ cb'' <- mk_WindowDeactivateCallback cb'+ connectSignalFunPtr obj "deactivate" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@deactivate@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #deactivate callback+@+-}+afterWindowDeactivate :: (IsWindow a, MonadIO m) => a -> WindowDeactivateCallback -> m SignalHandlerId+afterWindowDeactivate obj cb = liftIO $ do+ let cb' = wrap_WindowDeactivateCallback cb+ cb'' <- mk_WindowDeactivateCallback cb'+ connectSignalFunPtr obj "deactivate" cb'' SignalConnectAfter+++-- signal Window::destroy+{- |+The signal 'GI.Atk.Interfaces.Window.Window'::@/destroy/@ is emitted when a window is+destroyed.++/Since: 2.2/+-}+type WindowDestroyCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowDestroyCallback`@.+noWindowDestroyCallback :: Maybe WindowDestroyCallback+noWindowDestroyCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowDestroyCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowDestroyCallback`.+foreign import ccall "wrapper"+ mk_WindowDestroyCallback :: C_WindowDestroyCallback -> IO (FunPtr C_WindowDestroyCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowDestroy :: MonadIO m => WindowDestroyCallback -> m (GClosure C_WindowDestroyCallback)+genClosure_WindowDestroy cb = liftIO $ do+ let cb' = wrap_WindowDestroyCallback cb+ mk_WindowDestroyCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowDestroyCallback` into a `C_WindowDestroyCallback`.+wrap_WindowDestroyCallback ::+ WindowDestroyCallback ->+ C_WindowDestroyCallback+wrap_WindowDestroyCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@destroy@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #destroy callback+@+-}+onWindowDestroy :: (IsWindow a, MonadIO m) => a -> WindowDestroyCallback -> m SignalHandlerId+onWindowDestroy obj cb = liftIO $ do+ let cb' = wrap_WindowDestroyCallback cb+ cb'' <- mk_WindowDestroyCallback cb'+ connectSignalFunPtr obj "destroy" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@destroy@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #destroy callback+@+-}+afterWindowDestroy :: (IsWindow a, MonadIO m) => a -> WindowDestroyCallback -> m SignalHandlerId+afterWindowDestroy obj cb = liftIO $ do+ let cb' = wrap_WindowDestroyCallback cb+ cb'' <- mk_WindowDestroyCallback cb'+ connectSignalFunPtr obj "destroy" cb'' SignalConnectAfter+++-- signal Window::maximize+{- |+The signal 'GI.Atk.Interfaces.Window.Window'::@/maximize/@ is emitted when a window+is maximized.++/Since: 2.2/+-}+type WindowMaximizeCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowMaximizeCallback`@.+noWindowMaximizeCallback :: Maybe WindowMaximizeCallback+noWindowMaximizeCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowMaximizeCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowMaximizeCallback`.+foreign import ccall "wrapper"+ mk_WindowMaximizeCallback :: C_WindowMaximizeCallback -> IO (FunPtr C_WindowMaximizeCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowMaximize :: MonadIO m => WindowMaximizeCallback -> m (GClosure C_WindowMaximizeCallback)+genClosure_WindowMaximize cb = liftIO $ do+ let cb' = wrap_WindowMaximizeCallback cb+ mk_WindowMaximizeCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowMaximizeCallback` into a `C_WindowMaximizeCallback`.+wrap_WindowMaximizeCallback ::+ WindowMaximizeCallback ->+ C_WindowMaximizeCallback+wrap_WindowMaximizeCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@maximize@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #maximize callback+@+-}+onWindowMaximize :: (IsWindow a, MonadIO m) => a -> WindowMaximizeCallback -> m SignalHandlerId+onWindowMaximize obj cb = liftIO $ do+ let cb' = wrap_WindowMaximizeCallback cb+ cb'' <- mk_WindowMaximizeCallback cb'+ connectSignalFunPtr obj "maximize" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@maximize@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #maximize callback+@+-}+afterWindowMaximize :: (IsWindow a, MonadIO m) => a -> WindowMaximizeCallback -> m SignalHandlerId+afterWindowMaximize obj cb = liftIO $ do+ let cb' = wrap_WindowMaximizeCallback cb+ cb'' <- mk_WindowMaximizeCallback cb'+ connectSignalFunPtr obj "maximize" cb'' SignalConnectAfter+++-- signal Window::minimize+{- |+The signal 'GI.Atk.Interfaces.Window.Window'::@/minimize/@ is emitted when a window+is minimized.++/Since: 2.2/+-}+type WindowMinimizeCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowMinimizeCallback`@.+noWindowMinimizeCallback :: Maybe WindowMinimizeCallback+noWindowMinimizeCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowMinimizeCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowMinimizeCallback`.+foreign import ccall "wrapper"+ mk_WindowMinimizeCallback :: C_WindowMinimizeCallback -> IO (FunPtr C_WindowMinimizeCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowMinimize :: MonadIO m => WindowMinimizeCallback -> m (GClosure C_WindowMinimizeCallback)+genClosure_WindowMinimize cb = liftIO $ do+ let cb' = wrap_WindowMinimizeCallback cb+ mk_WindowMinimizeCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowMinimizeCallback` into a `C_WindowMinimizeCallback`.+wrap_WindowMinimizeCallback ::+ WindowMinimizeCallback ->+ C_WindowMinimizeCallback+wrap_WindowMinimizeCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@minimize@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #minimize callback+@+-}+onWindowMinimize :: (IsWindow a, MonadIO m) => a -> WindowMinimizeCallback -> m SignalHandlerId+onWindowMinimize obj cb = liftIO $ do+ let cb' = wrap_WindowMinimizeCallback cb+ cb'' <- mk_WindowMinimizeCallback cb'+ connectSignalFunPtr obj "minimize" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@minimize@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #minimize callback+@+-}+afterWindowMinimize :: (IsWindow a, MonadIO m) => a -> WindowMinimizeCallback -> m SignalHandlerId+afterWindowMinimize obj cb = liftIO $ do+ let cb' = wrap_WindowMinimizeCallback cb+ cb'' <- mk_WindowMinimizeCallback cb'+ connectSignalFunPtr obj "minimize" cb'' SignalConnectAfter+++-- signal Window::move+{- |+The signal 'GI.Atk.Interfaces.Window.Window'::@/move/@ is emitted when a window+is moved.++/Since: 2.2/+-}+type WindowMoveCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowMoveCallback`@.+noWindowMoveCallback :: Maybe WindowMoveCallback+noWindowMoveCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowMoveCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowMoveCallback`.+foreign import ccall "wrapper"+ mk_WindowMoveCallback :: C_WindowMoveCallback -> IO (FunPtr C_WindowMoveCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowMove :: MonadIO m => WindowMoveCallback -> m (GClosure C_WindowMoveCallback)+genClosure_WindowMove cb = liftIO $ do+ let cb' = wrap_WindowMoveCallback cb+ mk_WindowMoveCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowMoveCallback` into a `C_WindowMoveCallback`.+wrap_WindowMoveCallback ::+ WindowMoveCallback ->+ C_WindowMoveCallback+wrap_WindowMoveCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@move@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #move callback+@+-}+onWindowMove :: (IsWindow a, MonadIO m) => a -> WindowMoveCallback -> m SignalHandlerId+onWindowMove obj cb = liftIO $ do+ let cb' = wrap_WindowMoveCallback cb+ cb'' <- mk_WindowMoveCallback cb'+ connectSignalFunPtr obj "move" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@move@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #move callback+@+-}+afterWindowMove :: (IsWindow a, MonadIO m) => a -> WindowMoveCallback -> m SignalHandlerId+afterWindowMove obj cb = liftIO $ do+ let cb' = wrap_WindowMoveCallback cb+ cb'' <- mk_WindowMoveCallback cb'+ connectSignalFunPtr obj "move" cb'' SignalConnectAfter+++-- signal Window::resize+{- |+The signal 'GI.Atk.Interfaces.Window.Window'::@/resize/@ is emitted when a window+is resized.++/Since: 2.2/+-}+type WindowResizeCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowResizeCallback`@.+noWindowResizeCallback :: Maybe WindowResizeCallback+noWindowResizeCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowResizeCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowResizeCallback`.+foreign import ccall "wrapper"+ mk_WindowResizeCallback :: C_WindowResizeCallback -> IO (FunPtr C_WindowResizeCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowResize :: MonadIO m => WindowResizeCallback -> m (GClosure C_WindowResizeCallback)+genClosure_WindowResize cb = liftIO $ do+ let cb' = wrap_WindowResizeCallback cb+ mk_WindowResizeCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowResizeCallback` into a `C_WindowResizeCallback`.+wrap_WindowResizeCallback ::+ WindowResizeCallback ->+ C_WindowResizeCallback+wrap_WindowResizeCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@resize@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #resize callback+@+-}+onWindowResize :: (IsWindow a, MonadIO m) => a -> WindowResizeCallback -> m SignalHandlerId+onWindowResize obj cb = liftIO $ do+ let cb' = wrap_WindowResizeCallback cb+ cb'' <- mk_WindowResizeCallback cb'+ connectSignalFunPtr obj "resize" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@resize@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #resize callback+@+-}+afterWindowResize :: (IsWindow a, MonadIO m) => a -> WindowResizeCallback -> m SignalHandlerId+afterWindowResize obj cb = liftIO $ do+ let cb' = wrap_WindowResizeCallback cb+ cb'' <- mk_WindowResizeCallback cb'+ connectSignalFunPtr obj "resize" cb'' SignalConnectAfter+++-- signal Window::restore+{- |+The signal 'GI.Atk.Interfaces.Window.Window'::@/restore/@ is emitted when a window+is restored.++/Since: 2.2/+-}+type WindowRestoreCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowRestoreCallback`@.+noWindowRestoreCallback :: Maybe WindowRestoreCallback+noWindowRestoreCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_WindowRestoreCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_WindowRestoreCallback`.+foreign import ccall "wrapper"+ mk_WindowRestoreCallback :: C_WindowRestoreCallback -> IO (FunPtr C_WindowRestoreCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_WindowRestore :: MonadIO m => WindowRestoreCallback -> m (GClosure C_WindowRestoreCallback)+genClosure_WindowRestore cb = liftIO $ do+ let cb' = wrap_WindowRestoreCallback cb+ mk_WindowRestoreCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `WindowRestoreCallback` into a `C_WindowRestoreCallback`.+wrap_WindowRestoreCallback ::+ WindowRestoreCallback ->+ C_WindowRestoreCallback+wrap_WindowRestoreCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@restore@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' window #restore callback+@+-}+onWindowRestore :: (IsWindow a, MonadIO m) => a -> WindowRestoreCallback -> m SignalHandlerId+onWindowRestore obj cb = liftIO $ do+ let cb' = wrap_WindowRestoreCallback cb+ cb'' <- mk_WindowRestoreCallback cb'+ connectSignalFunPtr obj "restore" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@restore@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' window #restore callback+@+-}+afterWindowRestore :: (IsWindow a, MonadIO m) => a -> WindowRestoreCallback -> m SignalHandlerId+afterWindowRestore obj cb = liftIO $ do+ let cb' = wrap_WindowRestoreCallback cb+ cb'' <- mk_WindowRestoreCallback cb'+ connectSignalFunPtr obj "restore" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+data WindowActivateSignalInfo+instance SignalInfo WindowActivateSignalInfo where+ type HaskellCallbackType WindowActivateSignalInfo = WindowActivateCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_WindowActivateCallback cb+ cb'' <- mk_WindowActivateCallback cb'+ connectSignalFunPtr obj "activate" cb'' connectMode++data WindowCreateSignalInfo+instance SignalInfo WindowCreateSignalInfo where+ type HaskellCallbackType WindowCreateSignalInfo = WindowCreateCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_WindowCreateCallback cb+ cb'' <- mk_WindowCreateCallback cb'+ connectSignalFunPtr obj "create" cb'' connectMode++data WindowDeactivateSignalInfo+instance SignalInfo WindowDeactivateSignalInfo where+ type HaskellCallbackType WindowDeactivateSignalInfo = WindowDeactivateCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_WindowDeactivateCallback cb+ cb'' <- mk_WindowDeactivateCallback cb'+ connectSignalFunPtr obj "deactivate" cb'' connectMode++data WindowDestroySignalInfo+instance SignalInfo WindowDestroySignalInfo where+ type HaskellCallbackType WindowDestroySignalInfo = WindowDestroyCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_WindowDestroyCallback cb+ cb'' <- mk_WindowDestroyCallback cb'+ connectSignalFunPtr obj "destroy" cb'' connectMode++data WindowMaximizeSignalInfo+instance SignalInfo WindowMaximizeSignalInfo where+ type HaskellCallbackType WindowMaximizeSignalInfo = WindowMaximizeCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_WindowMaximizeCallback cb+ cb'' <- mk_WindowMaximizeCallback cb'+ connectSignalFunPtr obj "maximize" cb'' connectMode++data WindowMinimizeSignalInfo+instance SignalInfo WindowMinimizeSignalInfo where+ type HaskellCallbackType WindowMinimizeSignalInfo = WindowMinimizeCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_WindowMinimizeCallback cb+ cb'' <- mk_WindowMinimizeCallback cb'+ connectSignalFunPtr obj "minimize" cb'' connectMode++data WindowMoveSignalInfo+instance SignalInfo WindowMoveSignalInfo where+ type HaskellCallbackType WindowMoveSignalInfo = WindowMoveCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_WindowMoveCallback cb+ cb'' <- mk_WindowMoveCallback cb'+ connectSignalFunPtr obj "move" cb'' connectMode++data WindowResizeSignalInfo+instance SignalInfo WindowResizeSignalInfo where+ type HaskellCallbackType WindowResizeSignalInfo = WindowResizeCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_WindowResizeCallback cb+ cb'' <- mk_WindowResizeCallback cb'+ connectSignalFunPtr obj "resize" cb'' connectMode++data WindowRestoreSignalInfo+instance SignalInfo WindowRestoreSignalInfo where+ type HaskellCallbackType WindowRestoreSignalInfo = WindowRestoreCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_WindowRestoreCallback cb+ cb'' <- mk_WindowRestoreCallback cb'+ connectSignalFunPtr obj "restore" cb'' connectMode++type instance O.SignalList Window = WindowSignalList+type WindowSignalList = ('[ '("activate", WindowActivateSignalInfo), '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("create", WindowCreateSignalInfo), '("deactivate", WindowDeactivateSignalInfo), '("destroy", WindowDestroySignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("maximize", WindowMaximizeSignalInfo), '("minimize", WindowMinimizeSignalInfo), '("move", WindowMoveSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("resize", WindowResizeSignalInfo), '("restore", WindowRestoreSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "atk_window_get_type"+ c_atk_window_get_type :: IO GType++instance GObject Window where+ gobjectType = c_atk_window_get_type+ ++-- | Type class for types which can be safely cast to `Window`, for instance with `toWindow`.+class (GObject o, O.IsDescendantOf Window o) => IsWindow o+instance (GObject o, O.IsDescendantOf Window o) => IsWindow o++instance O.HasParentTypes Window+type instance O.ParentTypes Window = '[GObject.Object.Object, Atk.Object.Object]++-- | Cast to `Window`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toWindow :: (MonadIO m, IsWindow o) => o -> m Window+toWindow = liftIO . unsafeCastTo Window++#if ENABLE_OVERLOADING+instance O.HasAttributeList Window+type instance O.AttributeList Window = WindowAttributeList+type WindowAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveWindowMethod (t :: Symbol) (o :: *) :: * where+ ResolveWindowMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo+ ResolveWindowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveWindowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveWindowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveWindowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveWindowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveWindowMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo+ ResolveWindowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveWindowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveWindowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveWindowMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo+ ResolveWindowMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo+ ResolveWindowMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveWindowMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo+ ResolveWindowMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo+ ResolveWindowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveWindowMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo+ ResolveWindowMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo+ ResolveWindowMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo+ ResolveWindowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveWindowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveWindowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveWindowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveWindowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveWindowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveWindowMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo+ ResolveWindowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveWindowMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo+ ResolveWindowMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo+ ResolveWindowMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo+ ResolveWindowMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo+ ResolveWindowMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo+ ResolveWindowMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo+ ResolveWindowMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo+ ResolveWindowMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo+ ResolveWindowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveWindowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveWindowMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo+ ResolveWindowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveWindowMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo+ ResolveWindowMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo+ ResolveWindowMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo+ ResolveWindowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveWindowMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo+ ResolveWindowMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveWindowMethod t Window, O.MethodInfo info Window p) => OL.IsLabel t (Window -> 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++
+ GI/Atk/Interfaces/Window.hs-boot view
@@ -0,0 +1,56 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Interfaces.Window 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++newtype Window = Window (ManagedPtr Window)+#if ENABLE_OVERLOADING+data WindowActivateSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowCreateSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowDeactivateSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowDestroySignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowMaximizeSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowMinimizeSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowMoveSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowResizeSignalInfo+#endif+#if ENABLE_OVERLOADING+data WindowRestoreSignalInfo+#endif+instance GObject Window where+class (GObject o, O.IsDescendantOf Window o) => IsWindow o+instance (GObject o, O.IsDescendantOf Window o) => IsWindow o+instance O.HasParentTypes Window
+ GI/Atk/Objects.hs view
@@ -0,0 +1,67 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects+ ( module GI.Atk.Objects.GObjectAccessible ,+ module GI.Atk.Objects.Hyperlink ,+ module GI.Atk.Objects.Misc ,+ module GI.Atk.Objects.NoOpObject ,+ module GI.Atk.Objects.NoOpObjectFactory ,+ module GI.Atk.Objects.Object ,+ module GI.Atk.Objects.ObjectFactory ,+ module GI.Atk.Objects.Plug ,+ module GI.Atk.Objects.Registry ,+ module GI.Atk.Objects.Relation ,+ module GI.Atk.Objects.RelationSet ,+ module GI.Atk.Objects.Socket ,+ module GI.Atk.Objects.StateSet ,+ module GI.Atk.Objects.Util ,+++ ) where++import GI.Atk.Objects.GObjectAccessible+import GI.Atk.Objects.Hyperlink+import GI.Atk.Objects.Misc+import GI.Atk.Objects.NoOpObject+import GI.Atk.Objects.NoOpObjectFactory+import GI.Atk.Objects.Object+import GI.Atk.Objects.ObjectFactory+import GI.Atk.Objects.Plug+import GI.Atk.Objects.Registry+import GI.Atk.Objects.Relation+import GI.Atk.Objects.RelationSet+import GI.Atk.Objects.Socket+import GI.Atk.Objects.StateSet+import GI.Atk.Objects.Util++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+++
+ GI/Atk/Objects/GObjectAccessible.hs view
@@ -0,0 +1,235 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++This object class is derived from AtkObject. It can be used as a+basis for implementing accessible objects for GObjects which are+not derived from GtkWidget. One example of its use is in providing+an accessible object for GnomeCanvasItem in the GAIL library.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.GObjectAccessible+ ( ++-- * Exported types+ GObjectAccessible(..) ,+ IsGObjectAccessible ,+ toGObjectAccessible ,+ noGObjectAccessible ,+++ -- * Methods+-- ** forObject #method:forObject#++ gObjectAccessibleForObject ,+++-- ** getObject #method:getObject#++#if ENABLE_OVERLOADING+ GObjectAccessibleGetObjectMethodInfo ,+#endif+ gObjectAccessibleGetObject ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype GObjectAccessible = GObjectAccessible (ManagedPtr GObjectAccessible)+foreign import ccall "atk_gobject_accessible_get_type"+ c_atk_gobject_accessible_get_type :: IO GType++instance GObject GObjectAccessible where+ gobjectType = c_atk_gobject_accessible_get_type+ ++-- | Type class for types which can be safely cast to `GObjectAccessible`, for instance with `toGObjectAccessible`.+class (GObject o, O.IsDescendantOf GObjectAccessible o) => IsGObjectAccessible o+instance (GObject o, O.IsDescendantOf GObjectAccessible o) => IsGObjectAccessible o++instance O.HasParentTypes GObjectAccessible+type instance O.ParentTypes GObjectAccessible = '[Atk.Object.Object, GObject.Object.Object]++-- | Cast to `GObjectAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toGObjectAccessible :: (MonadIO m, IsGObjectAccessible o) => o -> m GObjectAccessible+toGObjectAccessible = liftIO . unsafeCastTo GObjectAccessible++-- | A convenience alias for `Nothing` :: `Maybe` `GObjectAccessible`.+noGObjectAccessible :: Maybe GObjectAccessible+noGObjectAccessible = Nothing++#if ENABLE_OVERLOADING+type family ResolveGObjectAccessibleMethod (t :: Symbol) (o :: *) :: * where+ ResolveGObjectAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo+ ResolveGObjectAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveGObjectAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveGObjectAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveGObjectAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveGObjectAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveGObjectAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo+ ResolveGObjectAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveGObjectAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveGObjectAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveGObjectAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo+ ResolveGObjectAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo+ ResolveGObjectAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveGObjectAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo+ ResolveGObjectAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo+ ResolveGObjectAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveGObjectAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo+ ResolveGObjectAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo+ ResolveGObjectAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo+ ResolveGObjectAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveGObjectAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveGObjectAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveGObjectAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveGObjectAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveGObjectAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveGObjectAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo+ ResolveGObjectAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveGObjectAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo+ ResolveGObjectAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo+ ResolveGObjectAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo+ ResolveGObjectAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo+ ResolveGObjectAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo+ ResolveGObjectAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo+ ResolveGObjectAccessibleMethod "getObject" o = GObjectAccessibleGetObjectMethodInfo+ ResolveGObjectAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo+ ResolveGObjectAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo+ ResolveGObjectAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveGObjectAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveGObjectAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo+ ResolveGObjectAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveGObjectAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo+ ResolveGObjectAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo+ ResolveGObjectAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo+ ResolveGObjectAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveGObjectAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo+ ResolveGObjectAccessibleMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveGObjectAccessibleMethod t GObjectAccessible, O.MethodInfo info GObjectAccessible p) => OL.IsLabel t (GObjectAccessible -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList GObjectAccessible+type instance O.AttributeList GObjectAccessible = GObjectAccessibleAttributeList+type GObjectAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList GObjectAccessible = GObjectAccessibleSignalList+type GObjectAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])++#endif++-- method GObjectAccessible::get_object+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "GObjectAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #AtkGObjectAccessible", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_gobject_accessible_get_object" atk_gobject_accessible_get_object :: + Ptr GObjectAccessible -> -- obj : TInterface (Name {namespace = "Atk", name = "GObjectAccessible"})+ IO (Ptr GObject.Object.Object)++{- |+Gets the GObject for which /@obj@/ is the accessible object.+-}+gObjectAccessibleGetObject ::+ (B.CallStack.HasCallStack, MonadIO m, IsGObjectAccessible a) =>+ a+ {- ^ /@obj@/: a 'GI.Atk.Objects.GObjectAccessible.GObjectAccessible' -}+ -> m GObject.Object.Object+ {- ^ __Returns:__ a 'GI.GObject.Objects.Object.Object' which is the object for which /@obj@/ is+the accessible object -}+gObjectAccessibleGetObject obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ result <- atk_gobject_accessible_get_object obj'+ checkUnexpectedReturnNULL "gObjectAccessibleGetObject" result+ result' <- (newObject GObject.Object.Object) result+ touchManagedPtr obj+ return result'++#if ENABLE_OVERLOADING+data GObjectAccessibleGetObjectMethodInfo+instance (signature ~ (m GObject.Object.Object), MonadIO m, IsGObjectAccessible a) => O.MethodInfo GObjectAccessibleGetObjectMethodInfo a signature where+ overloadedMethod _ = gObjectAccessibleGetObject++#endif++-- method GObjectAccessible::for_object+-- method type : MemberFunction+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_gobject_accessible_for_object" atk_gobject_accessible_for_object :: + Ptr GObject.Object.Object -> -- obj : TInterface (Name {namespace = "GObject", name = "Object"})+ IO (Ptr Atk.Object.Object)++{- |+Gets the accessible object for the specified /@obj@/.+-}+gObjectAccessibleForObject ::+ (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>+ a+ {- ^ /@obj@/: a 'GI.GObject.Objects.Object.Object' -}+ -> m Atk.Object.Object+ {- ^ __Returns:__ a 'GI.Atk.Objects.Object.Object' which is the accessible object for+the /@obj@/ -}+gObjectAccessibleForObject obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ result <- atk_gobject_accessible_for_object obj'+ checkUnexpectedReturnNULL "gObjectAccessibleForObject" result+ result' <- (newObject Atk.Object.Object) result+ touchManagedPtr obj+ return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/Atk/Objects/GObjectAccessible.hs-boot view
@@ -0,0 +1,32 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.GObjectAccessible 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++newtype GObjectAccessible = GObjectAccessible (ManagedPtr GObjectAccessible)+instance GObject GObjectAccessible where+class (GObject o, O.IsDescendantOf GObjectAccessible o) => IsGObjectAccessible o+instance (GObject o, O.IsDescendantOf GObjectAccessible o) => IsGObjectAccessible o+instance O.HasParentTypes GObjectAccessible+#if ENABLE_OVERLOADING+data GObjectAccessibleGetObjectMethodInfo+#endif
+ GI/Atk/Objects/Hyperlink.hs view
@@ -0,0 +1,791 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++An ATK object which encapsulates a link or set of links (for+instance in the case of client-side image maps) in a hypertext+document. It may implement the AtkAction interface. AtkHyperlink+may also be used to refer to inline embedded content, since it+allows specification of a start and end offset within the host+AtkHypertext object.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.Hyperlink+ ( ++-- * Exported types+ Hyperlink(..) ,+ IsHyperlink ,+ toHyperlink ,+ noHyperlink ,+++ -- * Methods+-- ** getEndIndex #method:getEndIndex#++#if ENABLE_OVERLOADING+ HyperlinkGetEndIndexMethodInfo ,+#endif+ hyperlinkGetEndIndex ,+++-- ** getNAnchors #method:getNAnchors#++#if ENABLE_OVERLOADING+ HyperlinkGetNAnchorsMethodInfo ,+#endif+ hyperlinkGetNAnchors ,+++-- ** getObject #method:getObject#++#if ENABLE_OVERLOADING+ HyperlinkGetObjectMethodInfo ,+#endif+ hyperlinkGetObject ,+++-- ** getStartIndex #method:getStartIndex#++#if ENABLE_OVERLOADING+ HyperlinkGetStartIndexMethodInfo ,+#endif+ hyperlinkGetStartIndex ,+++-- ** getUri #method:getUri#++#if ENABLE_OVERLOADING+ HyperlinkGetUriMethodInfo ,+#endif+ hyperlinkGetUri ,+++-- ** isInline #method:isInline#++#if ENABLE_OVERLOADING+ HyperlinkIsInlineMethodInfo ,+#endif+ hyperlinkIsInline ,+++-- ** isSelectedLink #method:isSelectedLink#++#if ENABLE_OVERLOADING+ HyperlinkIsSelectedLinkMethodInfo ,+#endif+ hyperlinkIsSelectedLink ,+++-- ** isValid #method:isValid#++#if ENABLE_OVERLOADING+ HyperlinkIsValidMethodInfo ,+#endif+ hyperlinkIsValid ,+++++ -- * Properties+-- ** endIndex #attr:endIndex#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ HyperlinkEndIndexPropertyInfo ,+#endif+ getHyperlinkEndIndex ,+#if ENABLE_OVERLOADING+ hyperlinkEndIndex ,+#endif+++-- ** numberOfAnchors #attr:numberOfAnchors#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ HyperlinkNumberOfAnchorsPropertyInfo ,+#endif+ getHyperlinkNumberOfAnchors ,+#if ENABLE_OVERLOADING+ hyperlinkNumberOfAnchors ,+#endif+++-- ** selectedLink #attr:selectedLink#+{- | Selected link+-}+#if ENABLE_OVERLOADING+ HyperlinkSelectedLinkPropertyInfo ,+#endif+ getHyperlinkSelectedLink ,+#if ENABLE_OVERLOADING+ hyperlinkSelectedLink ,+#endif+++-- ** startIndex #attr:startIndex#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ HyperlinkStartIndexPropertyInfo ,+#endif+ getHyperlinkStartIndex ,+#if ENABLE_OVERLOADING+ hyperlinkStartIndex ,+#endif+++++ -- * Signals+-- ** linkActivated #signal:linkActivated#++ C_HyperlinkLinkActivatedCallback ,+ HyperlinkLinkActivatedCallback ,+#if ENABLE_OVERLOADING+ HyperlinkLinkActivatedSignalInfo ,+#endif+ afterHyperlinkLinkActivated ,+ genClosure_HyperlinkLinkActivated ,+ mk_HyperlinkLinkActivatedCallback ,+ noHyperlinkLinkActivatedCallback ,+ onHyperlinkLinkActivated ,+ wrap_HyperlinkLinkActivatedCallback ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Interfaces.Action as Atk.Action+import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype Hyperlink = Hyperlink (ManagedPtr Hyperlink)+foreign import ccall "atk_hyperlink_get_type"+ c_atk_hyperlink_get_type :: IO GType++instance GObject Hyperlink where+ gobjectType = c_atk_hyperlink_get_type+ ++-- | Type class for types which can be safely cast to `Hyperlink`, for instance with `toHyperlink`.+class (GObject o, O.IsDescendantOf Hyperlink o) => IsHyperlink o+instance (GObject o, O.IsDescendantOf Hyperlink o) => IsHyperlink o++instance O.HasParentTypes Hyperlink+type instance O.ParentTypes Hyperlink = '[GObject.Object.Object, Atk.Action.Action]++-- | Cast to `Hyperlink`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toHyperlink :: (MonadIO m, IsHyperlink o) => o -> m Hyperlink+toHyperlink = liftIO . unsafeCastTo Hyperlink++-- | A convenience alias for `Nothing` :: `Maybe` `Hyperlink`.+noHyperlink :: Maybe Hyperlink+noHyperlink = Nothing++#if ENABLE_OVERLOADING+type family ResolveHyperlinkMethod (t :: Symbol) (o :: *) :: * where+ ResolveHyperlinkMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveHyperlinkMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveHyperlinkMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo+ ResolveHyperlinkMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveHyperlinkMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveHyperlinkMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveHyperlinkMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveHyperlinkMethod "isInline" o = HyperlinkIsInlineMethodInfo+ ResolveHyperlinkMethod "isSelectedLink" o = HyperlinkIsSelectedLinkMethodInfo+ ResolveHyperlinkMethod "isValid" o = HyperlinkIsValidMethodInfo+ ResolveHyperlinkMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveHyperlinkMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveHyperlinkMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveHyperlinkMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveHyperlinkMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveHyperlinkMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveHyperlinkMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveHyperlinkMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveHyperlinkMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveHyperlinkMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveHyperlinkMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveHyperlinkMethod "getDescription" o = Atk.Action.ActionGetDescriptionMethodInfo+ ResolveHyperlinkMethod "getEndIndex" o = HyperlinkGetEndIndexMethodInfo+ ResolveHyperlinkMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo+ ResolveHyperlinkMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo+ ResolveHyperlinkMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo+ ResolveHyperlinkMethod "getNAnchors" o = HyperlinkGetNAnchorsMethodInfo+ ResolveHyperlinkMethod "getName" o = Atk.Action.ActionGetNameMethodInfo+ ResolveHyperlinkMethod "getObject" o = HyperlinkGetObjectMethodInfo+ ResolveHyperlinkMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveHyperlinkMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveHyperlinkMethod "getStartIndex" o = HyperlinkGetStartIndexMethodInfo+ ResolveHyperlinkMethod "getUri" o = HyperlinkGetUriMethodInfo+ ResolveHyperlinkMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveHyperlinkMethod "setDescription" o = Atk.Action.ActionSetDescriptionMethodInfo+ ResolveHyperlinkMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveHyperlinkMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveHyperlinkMethod t Hyperlink, O.MethodInfo info Hyperlink p) => OL.IsLabel t (Hyperlink -> 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++-- signal Hyperlink::link-activated+{- |+The signal link-activated is emitted when a link is activated.+-}+type HyperlinkLinkActivatedCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `HyperlinkLinkActivatedCallback`@.+noHyperlinkLinkActivatedCallback :: Maybe HyperlinkLinkActivatedCallback+noHyperlinkLinkActivatedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_HyperlinkLinkActivatedCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_HyperlinkLinkActivatedCallback`.+foreign import ccall "wrapper"+ mk_HyperlinkLinkActivatedCallback :: C_HyperlinkLinkActivatedCallback -> IO (FunPtr C_HyperlinkLinkActivatedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_HyperlinkLinkActivated :: MonadIO m => HyperlinkLinkActivatedCallback -> m (GClosure C_HyperlinkLinkActivatedCallback)+genClosure_HyperlinkLinkActivated cb = liftIO $ do+ let cb' = wrap_HyperlinkLinkActivatedCallback cb+ mk_HyperlinkLinkActivatedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `HyperlinkLinkActivatedCallback` into a `C_HyperlinkLinkActivatedCallback`.+wrap_HyperlinkLinkActivatedCallback ::+ HyperlinkLinkActivatedCallback ->+ C_HyperlinkLinkActivatedCallback+wrap_HyperlinkLinkActivatedCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@link-activated@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' hyperlink #linkActivated callback+@+-}+onHyperlinkLinkActivated :: (IsHyperlink a, MonadIO m) => a -> HyperlinkLinkActivatedCallback -> m SignalHandlerId+onHyperlinkLinkActivated obj cb = liftIO $ do+ let cb' = wrap_HyperlinkLinkActivatedCallback cb+ cb'' <- mk_HyperlinkLinkActivatedCallback cb'+ connectSignalFunPtr obj "link-activated" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@link-activated@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' hyperlink #linkActivated callback+@+-}+afterHyperlinkLinkActivated :: (IsHyperlink a, MonadIO m) => a -> HyperlinkLinkActivatedCallback -> m SignalHandlerId+afterHyperlinkLinkActivated obj cb = liftIO $ do+ let cb' = wrap_HyperlinkLinkActivatedCallback cb+ cb'' <- mk_HyperlinkLinkActivatedCallback cb'+ connectSignalFunPtr obj "link-activated" cb'' SignalConnectAfter+++-- VVV Prop "end-index"+ -- Type: TBasicType TInt+ -- Flags: [PropertyReadable]+ -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@end-index@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' hyperlink #endIndex+@+-}+getHyperlinkEndIndex :: (MonadIO m, IsHyperlink o) => o -> m Int32+getHyperlinkEndIndex obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "end-index"++#if ENABLE_OVERLOADING+data HyperlinkEndIndexPropertyInfo+instance AttrInfo HyperlinkEndIndexPropertyInfo where+ type AttrAllowedOps HyperlinkEndIndexPropertyInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint HyperlinkEndIndexPropertyInfo = (~) ()+ type AttrBaseTypeConstraint HyperlinkEndIndexPropertyInfo = IsHyperlink+ type AttrGetType HyperlinkEndIndexPropertyInfo = Int32+ type AttrLabel HyperlinkEndIndexPropertyInfo = "end-index"+ type AttrOrigin HyperlinkEndIndexPropertyInfo = Hyperlink+ attrGet _ = getHyperlinkEndIndex+ attrSet _ = undefined+ attrConstruct _ = undefined+ attrClear _ = undefined+#endif++-- VVV Prop "number-of-anchors"+ -- Type: TBasicType TInt+ -- Flags: [PropertyReadable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@number-of-anchors@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' hyperlink #numberOfAnchors+@+-}+getHyperlinkNumberOfAnchors :: (MonadIO m, IsHyperlink o) => o -> m Int32+getHyperlinkNumberOfAnchors obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "number-of-anchors"++#if ENABLE_OVERLOADING+data HyperlinkNumberOfAnchorsPropertyInfo+instance AttrInfo HyperlinkNumberOfAnchorsPropertyInfo where+ type AttrAllowedOps HyperlinkNumberOfAnchorsPropertyInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint HyperlinkNumberOfAnchorsPropertyInfo = (~) ()+ type AttrBaseTypeConstraint HyperlinkNumberOfAnchorsPropertyInfo = IsHyperlink+ type AttrGetType HyperlinkNumberOfAnchorsPropertyInfo = Int32+ type AttrLabel HyperlinkNumberOfAnchorsPropertyInfo = "number-of-anchors"+ type AttrOrigin HyperlinkNumberOfAnchorsPropertyInfo = Hyperlink+ attrGet _ = getHyperlinkNumberOfAnchors+ attrSet _ = undefined+ attrConstruct _ = undefined+ attrClear _ = undefined+#endif++-- VVV Prop "selected-link"+ -- Type: TBasicType TBoolean+ -- Flags: [PropertyReadable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@selected-link@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' hyperlink #selectedLink+@+-}+getHyperlinkSelectedLink :: (MonadIO m, IsHyperlink o) => o -> m Bool+getHyperlinkSelectedLink obj = liftIO $ B.Properties.getObjectPropertyBool obj "selected-link"++#if ENABLE_OVERLOADING+data HyperlinkSelectedLinkPropertyInfo+instance AttrInfo HyperlinkSelectedLinkPropertyInfo where+ type AttrAllowedOps HyperlinkSelectedLinkPropertyInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint HyperlinkSelectedLinkPropertyInfo = (~) ()+ type AttrBaseTypeConstraint HyperlinkSelectedLinkPropertyInfo = IsHyperlink+ type AttrGetType HyperlinkSelectedLinkPropertyInfo = Bool+ type AttrLabel HyperlinkSelectedLinkPropertyInfo = "selected-link"+ type AttrOrigin HyperlinkSelectedLinkPropertyInfo = Hyperlink+ attrGet _ = getHyperlinkSelectedLink+ attrSet _ = undefined+ attrConstruct _ = undefined+ attrClear _ = undefined+#endif++-- VVV Prop "start-index"+ -- Type: TBasicType TInt+ -- Flags: [PropertyReadable]+ -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@start-index@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' hyperlink #startIndex+@+-}+getHyperlinkStartIndex :: (MonadIO m, IsHyperlink o) => o -> m Int32+getHyperlinkStartIndex obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "start-index"++#if ENABLE_OVERLOADING+data HyperlinkStartIndexPropertyInfo+instance AttrInfo HyperlinkStartIndexPropertyInfo where+ type AttrAllowedOps HyperlinkStartIndexPropertyInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint HyperlinkStartIndexPropertyInfo = (~) ()+ type AttrBaseTypeConstraint HyperlinkStartIndexPropertyInfo = IsHyperlink+ type AttrGetType HyperlinkStartIndexPropertyInfo = Int32+ type AttrLabel HyperlinkStartIndexPropertyInfo = "start-index"+ type AttrOrigin HyperlinkStartIndexPropertyInfo = Hyperlink+ attrGet _ = getHyperlinkStartIndex+ attrSet _ = undefined+ attrConstruct _ = undefined+ attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Hyperlink+type instance O.AttributeList Hyperlink = HyperlinkAttributeList+type HyperlinkAttributeList = ('[ '("endIndex", HyperlinkEndIndexPropertyInfo), '("numberOfAnchors", HyperlinkNumberOfAnchorsPropertyInfo), '("selectedLink", HyperlinkSelectedLinkPropertyInfo), '("startIndex", HyperlinkStartIndexPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+hyperlinkEndIndex :: AttrLabelProxy "endIndex"+hyperlinkEndIndex = AttrLabelProxy++hyperlinkNumberOfAnchors :: AttrLabelProxy "numberOfAnchors"+hyperlinkNumberOfAnchors = AttrLabelProxy++hyperlinkSelectedLink :: AttrLabelProxy "selectedLink"+hyperlinkSelectedLink = AttrLabelProxy++hyperlinkStartIndex :: AttrLabelProxy "startIndex"+hyperlinkStartIndex = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data HyperlinkLinkActivatedSignalInfo+instance SignalInfo HyperlinkLinkActivatedSignalInfo where+ type HaskellCallbackType HyperlinkLinkActivatedSignalInfo = HyperlinkLinkActivatedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_HyperlinkLinkActivatedCallback cb+ cb'' <- mk_HyperlinkLinkActivatedCallback cb'+ connectSignalFunPtr obj "link-activated" cb'' connectMode++type instance O.SignalList Hyperlink = HyperlinkSignalList+type HyperlinkSignalList = ('[ '("linkActivated", HyperlinkLinkActivatedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Hyperlink::get_end_index+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "link_", argType = TInterface (Name {namespace = "Atk", name = "Hyperlink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHyperlink", 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 "atk_hyperlink_get_end_index" atk_hyperlink_get_end_index :: + Ptr Hyperlink -> -- link_ : TInterface (Name {namespace = "Atk", name = "Hyperlink"})+ IO Int32++{- |+Gets the index with the hypertext document at which this link ends.+-}+hyperlinkGetEndIndex ::+ (B.CallStack.HasCallStack, MonadIO m, IsHyperlink a) =>+ a+ {- ^ /@link_@/: an 'GI.Atk.Objects.Hyperlink.Hyperlink' -}+ -> m Int32+ {- ^ __Returns:__ the index with the hypertext document at which this link ends -}+hyperlinkGetEndIndex link_ = liftIO $ do+ link_' <- unsafeManagedPtrCastPtr link_+ result <- atk_hyperlink_get_end_index link_'+ touchManagedPtr link_+ return result++#if ENABLE_OVERLOADING+data HyperlinkGetEndIndexMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsHyperlink a) => O.MethodInfo HyperlinkGetEndIndexMethodInfo a signature where+ overloadedMethod _ = hyperlinkGetEndIndex++#endif++-- method Hyperlink::get_n_anchors+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "link_", argType = TInterface (Name {namespace = "Atk", name = "Hyperlink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHyperlink", 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 "atk_hyperlink_get_n_anchors" atk_hyperlink_get_n_anchors :: + Ptr Hyperlink -> -- link_ : TInterface (Name {namespace = "Atk", name = "Hyperlink"})+ IO Int32++{- |+Gets the number of anchors associated with this hyperlink.+-}+hyperlinkGetNAnchors ::+ (B.CallStack.HasCallStack, MonadIO m, IsHyperlink a) =>+ a+ {- ^ /@link_@/: an 'GI.Atk.Objects.Hyperlink.Hyperlink' -}+ -> m Int32+ {- ^ __Returns:__ the number of anchors associated with this hyperlink -}+hyperlinkGetNAnchors link_ = liftIO $ do+ link_' <- unsafeManagedPtrCastPtr link_+ result <- atk_hyperlink_get_n_anchors link_'+ touchManagedPtr link_+ return result++#if ENABLE_OVERLOADING+data HyperlinkGetNAnchorsMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsHyperlink a) => O.MethodInfo HyperlinkGetNAnchorsMethodInfo a signature where+ overloadedMethod _ = hyperlinkGetNAnchors++#endif++-- method Hyperlink::get_object+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "link_", argType = TInterface (Name {namespace = "Atk", name = "Hyperlink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHyperlink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a (zero-index) integer specifying the desired anchor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_hyperlink_get_object" atk_hyperlink_get_object :: + Ptr Hyperlink -> -- link_ : TInterface (Name {namespace = "Atk", name = "Hyperlink"})+ Int32 -> -- i : TBasicType TInt+ IO (Ptr Atk.Object.Object)++{- |+Returns the item associated with this hyperlinks nth anchor.+For instance, the returned 'GI.Atk.Objects.Object.Object' will implement 'GI.Atk.Interfaces.Text.Text'+if /@link_@/ is a text hyperlink, 'GI.Atk.Interfaces.Image.Image' if /@link_@/ is an image+hyperlink etc.++Multiple anchors are primarily used by client-side image maps.+-}+hyperlinkGetObject ::+ (B.CallStack.HasCallStack, MonadIO m, IsHyperlink a) =>+ a+ {- ^ /@link_@/: an 'GI.Atk.Objects.Hyperlink.Hyperlink' -}+ -> Int32+ {- ^ /@i@/: a (zero-index) integer specifying the desired anchor -}+ -> m Atk.Object.Object+ {- ^ __Returns:__ an 'GI.Atk.Objects.Object.Object' associated with this hyperlinks+i-th anchor -}+hyperlinkGetObject link_ i = liftIO $ do+ link_' <- unsafeManagedPtrCastPtr link_+ result <- atk_hyperlink_get_object link_' i+ checkUnexpectedReturnNULL "hyperlinkGetObject" result+ result' <- (newObject Atk.Object.Object) result+ touchManagedPtr link_+ return result'++#if ENABLE_OVERLOADING+data HyperlinkGetObjectMethodInfo+instance (signature ~ (Int32 -> m Atk.Object.Object), MonadIO m, IsHyperlink a) => O.MethodInfo HyperlinkGetObjectMethodInfo a signature where+ overloadedMethod _ = hyperlinkGetObject++#endif++-- method Hyperlink::get_start_index+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "link_", argType = TInterface (Name {namespace = "Atk", name = "Hyperlink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHyperlink", 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 "atk_hyperlink_get_start_index" atk_hyperlink_get_start_index :: + Ptr Hyperlink -> -- link_ : TInterface (Name {namespace = "Atk", name = "Hyperlink"})+ IO Int32++{- |+Gets the index with the hypertext document at which this link begins.+-}+hyperlinkGetStartIndex ::+ (B.CallStack.HasCallStack, MonadIO m, IsHyperlink a) =>+ a+ {- ^ /@link_@/: an 'GI.Atk.Objects.Hyperlink.Hyperlink' -}+ -> m Int32+ {- ^ __Returns:__ the index with the hypertext document at which this link begins -}+hyperlinkGetStartIndex link_ = liftIO $ do+ link_' <- unsafeManagedPtrCastPtr link_+ result <- atk_hyperlink_get_start_index link_'+ touchManagedPtr link_+ return result++#if ENABLE_OVERLOADING+data HyperlinkGetStartIndexMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsHyperlink a) => O.MethodInfo HyperlinkGetStartIndexMethodInfo a signature where+ overloadedMethod _ = hyperlinkGetStartIndex++#endif++-- method Hyperlink::get_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "link_", argType = TInterface (Name {namespace = "Atk", name = "Hyperlink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHyperlink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a (zero-index) integer specifying the desired anchor", 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 "atk_hyperlink_get_uri" atk_hyperlink_get_uri :: + Ptr Hyperlink -> -- link_ : TInterface (Name {namespace = "Atk", name = "Hyperlink"})+ Int32 -> -- i : TBasicType TInt+ IO CString++{- |+Get a the URI associated with the anchor specified+by /@i@/ of /@link_@/.++Multiple anchors are primarily used by client-side image maps.+-}+hyperlinkGetUri ::+ (B.CallStack.HasCallStack, MonadIO m, IsHyperlink a) =>+ a+ {- ^ /@link_@/: an 'GI.Atk.Objects.Hyperlink.Hyperlink' -}+ -> Int32+ {- ^ /@i@/: a (zero-index) integer specifying the desired anchor -}+ -> m T.Text+ {- ^ __Returns:__ a string specifying the URI -}+hyperlinkGetUri link_ i = liftIO $ do+ link_' <- unsafeManagedPtrCastPtr link_+ result <- atk_hyperlink_get_uri link_' i+ checkUnexpectedReturnNULL "hyperlinkGetUri" result+ result' <- cstringToText result+ freeMem result+ touchManagedPtr link_+ return result'++#if ENABLE_OVERLOADING+data HyperlinkGetUriMethodInfo+instance (signature ~ (Int32 -> m T.Text), MonadIO m, IsHyperlink a) => O.MethodInfo HyperlinkGetUriMethodInfo a signature where+ overloadedMethod _ = hyperlinkGetUri++#endif++-- method Hyperlink::is_inline+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "link_", argType = TInterface (Name {namespace = "Atk", name = "Hyperlink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHyperlink", 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 "atk_hyperlink_is_inline" atk_hyperlink_is_inline :: + Ptr Hyperlink -> -- link_ : TInterface (Name {namespace = "Atk", name = "Hyperlink"})+ IO CInt++{- |+Indicates whether the link currently displays some or all of its+ content inline. Ordinary HTML links will usually return+ 'False', but an inline <src> HTML element will return+ 'True'.+-}+hyperlinkIsInline ::+ (B.CallStack.HasCallStack, MonadIO m, IsHyperlink a) =>+ a+ {- ^ /@link_@/: an 'GI.Atk.Objects.Hyperlink.Hyperlink' -}+ -> m Bool+ {- ^ __Returns:__ whether or not this link displays its content inline. -}+hyperlinkIsInline link_ = liftIO $ do+ link_' <- unsafeManagedPtrCastPtr link_+ result <- atk_hyperlink_is_inline link_'+ let result' = (/= 0) result+ touchManagedPtr link_+ return result'++#if ENABLE_OVERLOADING+data HyperlinkIsInlineMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsHyperlink a) => O.MethodInfo HyperlinkIsInlineMethodInfo a signature where+ overloadedMethod _ = hyperlinkIsInline++#endif++-- method Hyperlink::is_selected_link+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "link_", argType = TInterface (Name {namespace = "Atk", name = "Hyperlink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHyperlink", 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 "atk_hyperlink_is_selected_link" atk_hyperlink_is_selected_link :: + Ptr Hyperlink -> -- link_ : TInterface (Name {namespace = "Atk", name = "Hyperlink"})+ IO CInt++{-# DEPRECATED hyperlinkIsSelectedLink ["(Since version 1.8)","Please use ATK_STATE_FOCUSABLE for all links,","and ATK_STATE_FOCUSED for focused links."] #-}+{- |+Determines whether this AtkHyperlink is selected++/Since: 1.4/+-}+hyperlinkIsSelectedLink ::+ (B.CallStack.HasCallStack, MonadIO m, IsHyperlink a) =>+ a+ {- ^ /@link_@/: an 'GI.Atk.Objects.Hyperlink.Hyperlink' -}+ -> m Bool+ {- ^ __Returns:__ True if the AtkHyperlink is selected, False otherwise -}+hyperlinkIsSelectedLink link_ = liftIO $ do+ link_' <- unsafeManagedPtrCastPtr link_+ result <- atk_hyperlink_is_selected_link link_'+ let result' = (/= 0) result+ touchManagedPtr link_+ return result'++#if ENABLE_OVERLOADING+data HyperlinkIsSelectedLinkMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsHyperlink a) => O.MethodInfo HyperlinkIsSelectedLinkMethodInfo a signature where+ overloadedMethod _ = hyperlinkIsSelectedLink++#endif++-- method Hyperlink::is_valid+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "link_", argType = TInterface (Name {namespace = "Atk", name = "Hyperlink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkHyperlink", 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 "atk_hyperlink_is_valid" atk_hyperlink_is_valid :: + Ptr Hyperlink -> -- link_ : TInterface (Name {namespace = "Atk", name = "Hyperlink"})+ IO CInt++{- |+Since the document that a link is associated with may have changed+this method returns 'True' if the link is still valid (with+respect to the document it references) and 'False' otherwise.+-}+hyperlinkIsValid ::+ (B.CallStack.HasCallStack, MonadIO m, IsHyperlink a) =>+ a+ {- ^ /@link_@/: an 'GI.Atk.Objects.Hyperlink.Hyperlink' -}+ -> m Bool+ {- ^ __Returns:__ whether or not this link is still valid -}+hyperlinkIsValid link_ = liftIO $ do+ link_' <- unsafeManagedPtrCastPtr link_+ result <- atk_hyperlink_is_valid link_'+ let result' = (/= 0) result+ touchManagedPtr link_+ return result'++#if ENABLE_OVERLOADING+data HyperlinkIsValidMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsHyperlink a) => O.MethodInfo HyperlinkIsValidMethodInfo a signature where+ overloadedMethod _ = hyperlinkIsValid++#endif++
+ GI/Atk/Objects/Hyperlink.hs-boot view
@@ -0,0 +1,68 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.Hyperlink 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++newtype Hyperlink = Hyperlink (ManagedPtr Hyperlink)+instance GObject Hyperlink where+class (GObject o, O.IsDescendantOf Hyperlink o) => IsHyperlink o+instance (GObject o, O.IsDescendantOf Hyperlink o) => IsHyperlink o+instance O.HasParentTypes Hyperlink+#if ENABLE_OVERLOADING+data HyperlinkEndIndexPropertyInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkNumberOfAnchorsPropertyInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkSelectedLinkPropertyInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkStartIndexPropertyInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkLinkActivatedSignalInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkGetEndIndexMethodInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkGetNAnchorsMethodInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkGetObjectMethodInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkGetStartIndexMethodInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkGetUriMethodInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkIsInlineMethodInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkIsSelectedLinkMethodInfo+#endif+#if ENABLE_OVERLOADING+data HyperlinkIsValidMethodInfo+#endif
+ GI/Atk/Objects/Misc.hs view
@@ -0,0 +1,261 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A set of utility functions for thread locking. This interface and+all his related methods are deprecated since 2.12.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.Misc+ ( ++-- * Exported types+ Misc(..) ,+ IsMisc ,+ toMisc ,+ noMisc ,+++ -- * Methods+-- ** getInstance #method:getInstance#++ miscGetInstance ,+++-- ** threadsEnter #method:threadsEnter#++#if ENABLE_OVERLOADING+ MiscThreadsEnterMethodInfo ,+#endif+ miscThreadsEnter ,+++-- ** threadsLeave #method:threadsLeave#++#if ENABLE_OVERLOADING+ MiscThreadsLeaveMethodInfo ,+#endif+ miscThreadsLeave ,+++++ ) 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++-- | Memory-managed wrapper type.+newtype Misc = Misc (ManagedPtr Misc)+foreign import ccall "atk_misc_get_type"+ c_atk_misc_get_type :: IO GType++instance GObject Misc where+ gobjectType = c_atk_misc_get_type+ ++-- | Type class for types which can be safely cast to `Misc`, for instance with `toMisc`.+class (GObject o, O.IsDescendantOf Misc o) => IsMisc o+instance (GObject o, O.IsDescendantOf Misc o) => IsMisc o++instance O.HasParentTypes Misc+type instance O.ParentTypes Misc = '[GObject.Object.Object]++-- | Cast to `Misc`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toMisc :: (MonadIO m, IsMisc o) => o -> m Misc+toMisc = liftIO . unsafeCastTo Misc++-- | A convenience alias for `Nothing` :: `Maybe` `Misc`.+noMisc :: Maybe Misc+noMisc = Nothing++#if ENABLE_OVERLOADING+type family ResolveMiscMethod (t :: Symbol) (o :: *) :: * where+ ResolveMiscMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveMiscMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveMiscMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveMiscMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveMiscMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveMiscMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveMiscMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveMiscMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveMiscMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveMiscMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveMiscMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveMiscMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveMiscMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveMiscMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveMiscMethod "threadsEnter" o = MiscThreadsEnterMethodInfo+ ResolveMiscMethod "threadsLeave" o = MiscThreadsLeaveMethodInfo+ ResolveMiscMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveMiscMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveMiscMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveMiscMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveMiscMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveMiscMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveMiscMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveMiscMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveMiscMethod t Misc, O.MethodInfo info Misc p) => OL.IsLabel t (Misc -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList Misc+type instance O.AttributeList Misc = MiscAttributeList+type MiscAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList Misc = MiscSignalList+type MiscSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Misc::threads_enter+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "misc", argType = TInterface (Name {namespace = "Atk", name = "Misc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an AtkMisc instance for this application.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_misc_threads_enter" atk_misc_threads_enter :: + Ptr Misc -> -- misc : TInterface (Name {namespace = "Atk", name = "Misc"})+ IO ()++{-# DEPRECATED miscThreadsEnter ["Since 2.12."] #-}+{- |+Take the thread mutex for the GUI toolkit,+if one exists.+(This method is implemented by the toolkit ATK implementation layer;+ for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER).++/Since: 1.13/+-}+miscThreadsEnter ::+ (B.CallStack.HasCallStack, MonadIO m, IsMisc a) =>+ a+ {- ^ /@misc@/: an AtkMisc instance for this application. -}+ -> m ()+miscThreadsEnter misc = liftIO $ do+ misc' <- unsafeManagedPtrCastPtr misc+ atk_misc_threads_enter misc'+ touchManagedPtr misc+ return ()++#if ENABLE_OVERLOADING+data MiscThreadsEnterMethodInfo+instance (signature ~ (m ()), MonadIO m, IsMisc a) => O.MethodInfo MiscThreadsEnterMethodInfo a signature where+ overloadedMethod _ = miscThreadsEnter++#endif++-- method Misc::threads_leave+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "misc", argType = TInterface (Name {namespace = "Atk", name = "Misc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an AtkMisc instance for this application.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_misc_threads_leave" atk_misc_threads_leave :: + Ptr Misc -> -- misc : TInterface (Name {namespace = "Atk", name = "Misc"})+ IO ()++{-# DEPRECATED miscThreadsLeave ["Since 2.12."] #-}+{- |+Release the thread mutex for the GUI toolkit,+if one exists. This method, and atk_misc_threads_enter,+are needed in some situations by threaded application code which+services ATK requests, since fulfilling ATK requests often+requires calling into the GUI toolkit. If a long-running or+potentially blocking call takes place inside such a block, it should+be bracketed by atk_misc_threads_leave\/atk_misc_threads_enter calls.+(This method is implemented by the toolkit ATK implementation layer;+ for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE).++/Since: 1.13/+-}+miscThreadsLeave ::+ (B.CallStack.HasCallStack, MonadIO m, IsMisc a) =>+ a+ {- ^ /@misc@/: an AtkMisc instance for this application. -}+ -> m ()+miscThreadsLeave misc = liftIO $ do+ misc' <- unsafeManagedPtrCastPtr misc+ atk_misc_threads_leave misc'+ touchManagedPtr misc+ return ()++#if ENABLE_OVERLOADING+data MiscThreadsLeaveMethodInfo+instance (signature ~ (m ()), MonadIO m, IsMisc a) => O.MethodInfo MiscThreadsLeaveMethodInfo a signature where+ overloadedMethod _ = miscThreadsLeave++#endif++-- method Misc::get_instance+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Misc"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_misc_get_instance" atk_misc_get_instance :: + IO (Ptr Misc)++{-# DEPRECATED miscGetInstance ["Since 2.12."] #-}+{- |+Obtain the singleton instance of AtkMisc for this application.++/Since: 1.13/+-}+miscGetInstance ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Misc+ {- ^ __Returns:__ The singleton instance of AtkMisc for this application. -}+miscGetInstance = liftIO $ do+ result <- atk_misc_get_instance+ checkUnexpectedReturnNULL "miscGetInstance" result+ result' <- (newObject Misc) result+ return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/Atk/Objects/Misc.hs-boot view
@@ -0,0 +1,35 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.Misc 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++newtype Misc = Misc (ManagedPtr Misc)+instance GObject Misc where+class (GObject o, O.IsDescendantOf Misc o) => IsMisc o+instance (GObject o, O.IsDescendantOf Misc o) => IsMisc o+instance O.HasParentTypes Misc+#if ENABLE_OVERLOADING+data MiscThreadsEnterMethodInfo+#endif+#if ENABLE_OVERLOADING+data MiscThreadsLeaveMethodInfo+#endif
+ GI/Atk/Objects/NoOpObject.hs view
@@ -0,0 +1,312 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++An AtkNoOpObject is an AtkObject which purports to implement all+ATK interfaces. It is the type of AtkObject which is created if an+accessible object is requested for an object type for which no+factory type is specified.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.NoOpObject+ ( ++-- * Exported types+ NoOpObject(..) ,+ IsNoOpObject ,+ toNoOpObject ,+ noNoOpObject ,+++ -- * Methods+-- ** new #method:new#++ noOpObjectNew ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Interfaces.Action as Atk.Action+import {-# SOURCE #-} qualified GI.Atk.Interfaces.Component as Atk.Component+import {-# SOURCE #-} qualified GI.Atk.Interfaces.Document as Atk.Document+import {-# SOURCE #-} qualified GI.Atk.Interfaces.EditableText as Atk.EditableText+import {-# SOURCE #-} qualified GI.Atk.Interfaces.Hypertext as Atk.Hypertext+import {-# SOURCE #-} qualified GI.Atk.Interfaces.Image as Atk.Image+import {-# SOURCE #-} qualified GI.Atk.Interfaces.Selection as Atk.Selection+import {-# SOURCE #-} qualified GI.Atk.Interfaces.Table as Atk.Table+import {-# SOURCE #-} qualified GI.Atk.Interfaces.TableCell as Atk.TableCell+import {-# SOURCE #-} qualified GI.Atk.Interfaces.Text as Atk.Text+import {-# SOURCE #-} qualified GI.Atk.Interfaces.Value as Atk.Value+import {-# SOURCE #-} qualified GI.Atk.Interfaces.Window as Atk.Window+import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype NoOpObject = NoOpObject (ManagedPtr NoOpObject)+foreign import ccall "atk_no_op_object_get_type"+ c_atk_no_op_object_get_type :: IO GType++instance GObject NoOpObject where+ gobjectType = c_atk_no_op_object_get_type+ ++-- | Type class for types which can be safely cast to `NoOpObject`, for instance with `toNoOpObject`.+class (GObject o, O.IsDescendantOf NoOpObject o) => IsNoOpObject o+instance (GObject o, O.IsDescendantOf NoOpObject o) => IsNoOpObject o++instance O.HasParentTypes NoOpObject+type instance O.ParentTypes NoOpObject = '[Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Document.Document, Atk.EditableText.EditableText, Atk.Hypertext.Hypertext, Atk.Image.Image, Atk.Selection.Selection, Atk.Table.Table, Atk.TableCell.TableCell, Atk.Text.Text, Atk.Value.Value, Atk.Window.Window]++-- | Cast to `NoOpObject`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toNoOpObject :: (MonadIO m, IsNoOpObject o) => o -> m NoOpObject+toNoOpObject = liftIO . unsafeCastTo NoOpObject++-- | A convenience alias for `Nothing` :: `Maybe` `NoOpObject`.+noNoOpObject :: Maybe NoOpObject+noNoOpObject = Nothing++#if ENABLE_OVERLOADING+type family ResolveNoOpObjectMethod (t :: Symbol) (o :: *) :: * where+ ResolveNoOpObjectMethod "addColumnSelection" o = Atk.Table.TableAddColumnSelectionMethodInfo+ ResolveNoOpObjectMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo+ ResolveNoOpObjectMethod "addRowSelection" o = Atk.Table.TableAddRowSelectionMethodInfo+ ResolveNoOpObjectMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo+ ResolveNoOpObjectMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveNoOpObjectMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveNoOpObjectMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo+ ResolveNoOpObjectMethod "contains" o = Atk.Component.ComponentContainsMethodInfo+ ResolveNoOpObjectMethod "copyText" o = Atk.EditableText.EditableTextCopyTextMethodInfo+ ResolveNoOpObjectMethod "cutText" o = Atk.EditableText.EditableTextCutTextMethodInfo+ ResolveNoOpObjectMethod "deleteText" o = Atk.EditableText.EditableTextDeleteTextMethodInfo+ ResolveNoOpObjectMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo+ ResolveNoOpObjectMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveNoOpObjectMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveNoOpObjectMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveNoOpObjectMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo+ ResolveNoOpObjectMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo+ ResolveNoOpObjectMethod "insertText" o = Atk.EditableText.EditableTextInsertTextMethodInfo+ ResolveNoOpObjectMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo+ ResolveNoOpObjectMethod "isColumnSelected" o = Atk.Table.TableIsColumnSelectedMethodInfo+ ResolveNoOpObjectMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveNoOpObjectMethod "isRowSelected" o = Atk.Table.TableIsRowSelectedMethodInfo+ ResolveNoOpObjectMethod "isSelected" o = Atk.Table.TableIsSelectedMethodInfo+ ResolveNoOpObjectMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveNoOpObjectMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveNoOpObjectMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo+ ResolveNoOpObjectMethod "pasteText" o = Atk.EditableText.EditableTextPasteTextMethodInfo+ ResolveNoOpObjectMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo+ ResolveNoOpObjectMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveNoOpObjectMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo+ ResolveNoOpObjectMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo+ ResolveNoOpObjectMethod "refAt" o = Atk.Table.TableRefAtMethodInfo+ ResolveNoOpObjectMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo+ ResolveNoOpObjectMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo+ ResolveNoOpObjectMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveNoOpObjectMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo+ ResolveNoOpObjectMethod "removeColumnSelection" o = Atk.Table.TableRemoveColumnSelectionMethodInfo+ ResolveNoOpObjectMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo+ ResolveNoOpObjectMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo+ ResolveNoOpObjectMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo+ ResolveNoOpObjectMethod "removeRowSelection" o = Atk.Table.TableRemoveRowSelectionMethodInfo+ ResolveNoOpObjectMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo+ ResolveNoOpObjectMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveNoOpObjectMethod "scrollSubstringTo" o = Atk.Text.TextScrollSubstringToMethodInfo+ ResolveNoOpObjectMethod "scrollSubstringToPoint" o = Atk.Text.TextScrollSubstringToPointMethodInfo+ ResolveNoOpObjectMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo+ ResolveNoOpObjectMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo+ ResolveNoOpObjectMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo+ ResolveNoOpObjectMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveNoOpObjectMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveNoOpObjectMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveNoOpObjectMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveNoOpObjectMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveNoOpObjectMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo+ ResolveNoOpObjectMethod "getAttributeValue" o = Atk.Document.DocumentGetAttributeValueMethodInfo+ ResolveNoOpObjectMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo+ ResolveNoOpObjectMethod "getBoundedRanges" o = Atk.Text.TextGetBoundedRangesMethodInfo+ ResolveNoOpObjectMethod "getCaption" o = Atk.Table.TableGetCaptionMethodInfo+ ResolveNoOpObjectMethod "getCaretOffset" o = Atk.Text.TextGetCaretOffsetMethodInfo+ ResolveNoOpObjectMethod "getCharacterAtOffset" o = Atk.Text.TextGetCharacterAtOffsetMethodInfo+ ResolveNoOpObjectMethod "getCharacterCount" o = Atk.Text.TextGetCharacterCountMethodInfo+ ResolveNoOpObjectMethod "getCharacterExtents" o = Atk.Text.TextGetCharacterExtentsMethodInfo+ ResolveNoOpObjectMethod "getColumnAtIndex" o = Atk.Table.TableGetColumnAtIndexMethodInfo+ ResolveNoOpObjectMethod "getColumnDescription" o = Atk.Table.TableGetColumnDescriptionMethodInfo+ ResolveNoOpObjectMethod "getColumnExtentAt" o = Atk.Table.TableGetColumnExtentAtMethodInfo+ ResolveNoOpObjectMethod "getColumnHeader" o = Atk.Table.TableGetColumnHeaderMethodInfo+ ResolveNoOpObjectMethod "getColumnHeaderCells" o = Atk.TableCell.TableCellGetColumnHeaderCellsMethodInfo+ ResolveNoOpObjectMethod "getColumnSpan" o = Atk.TableCell.TableCellGetColumnSpanMethodInfo+ ResolveNoOpObjectMethod "getCurrentPageNumber" o = Atk.Document.DocumentGetCurrentPageNumberMethodInfo+ ResolveNoOpObjectMethod "getCurrentValue" o = Atk.Value.ValueGetCurrentValueMethodInfo+ ResolveNoOpObjectMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveNoOpObjectMethod "getDefaultAttributes" o = Atk.Text.TextGetDefaultAttributesMethodInfo+ ResolveNoOpObjectMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo+ ResolveNoOpObjectMethod "getDocument" o = Atk.Document.DocumentGetDocumentMethodInfo+ ResolveNoOpObjectMethod "getDocumentType" o = Atk.Document.DocumentGetDocumentTypeMethodInfo+ ResolveNoOpObjectMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo+ ResolveNoOpObjectMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo+ ResolveNoOpObjectMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo+ ResolveNoOpObjectMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo+ ResolveNoOpObjectMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo+ ResolveNoOpObjectMethod "getIncrement" o = Atk.Value.ValueGetIncrementMethodInfo+ ResolveNoOpObjectMethod "getIndexAt" o = Atk.Table.TableGetIndexAtMethodInfo+ ResolveNoOpObjectMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo+ ResolveNoOpObjectMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo+ ResolveNoOpObjectMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo+ ResolveNoOpObjectMethod "getLink" o = Atk.Hypertext.HypertextGetLinkMethodInfo+ ResolveNoOpObjectMethod "getLinkIndex" o = Atk.Hypertext.HypertextGetLinkIndexMethodInfo+ ResolveNoOpObjectMethod "getLocale" o = Atk.Document.DocumentGetLocaleMethodInfo+ ResolveNoOpObjectMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo+ ResolveNoOpObjectMethod "getMaximumValue" o = Atk.Value.ValueGetMaximumValueMethodInfo+ ResolveNoOpObjectMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo+ ResolveNoOpObjectMethod "getMinimumIncrement" o = Atk.Value.ValueGetMinimumIncrementMethodInfo+ ResolveNoOpObjectMethod "getMinimumValue" o = Atk.Value.ValueGetMinimumValueMethodInfo+ ResolveNoOpObjectMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo+ ResolveNoOpObjectMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo+ ResolveNoOpObjectMethod "getNColumns" o = Atk.Table.TableGetNColumnsMethodInfo+ ResolveNoOpObjectMethod "getNLinks" o = Atk.Hypertext.HypertextGetNLinksMethodInfo+ ResolveNoOpObjectMethod "getNRows" o = Atk.Table.TableGetNRowsMethodInfo+ ResolveNoOpObjectMethod "getNSelections" o = Atk.Text.TextGetNSelectionsMethodInfo+ ResolveNoOpObjectMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo+ ResolveNoOpObjectMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo+ ResolveNoOpObjectMethod "getOffsetAtPoint" o = Atk.Text.TextGetOffsetAtPointMethodInfo+ ResolveNoOpObjectMethod "getPageCount" o = Atk.Document.DocumentGetPageCountMethodInfo+ ResolveNoOpObjectMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo+ ResolveNoOpObjectMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo+ ResolveNoOpObjectMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveNoOpObjectMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveNoOpObjectMethod "getRange" o = Atk.Value.ValueGetRangeMethodInfo+ ResolveNoOpObjectMethod "getRangeExtents" o = Atk.Text.TextGetRangeExtentsMethodInfo+ ResolveNoOpObjectMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo+ ResolveNoOpObjectMethod "getRowAtIndex" o = Atk.Table.TableGetRowAtIndexMethodInfo+ ResolveNoOpObjectMethod "getRowColumnSpan" o = Atk.TableCell.TableCellGetRowColumnSpanMethodInfo+ ResolveNoOpObjectMethod "getRowDescription" o = Atk.Table.TableGetRowDescriptionMethodInfo+ ResolveNoOpObjectMethod "getRowExtentAt" o = Atk.Table.TableGetRowExtentAtMethodInfo+ ResolveNoOpObjectMethod "getRowHeader" o = Atk.Table.TableGetRowHeaderMethodInfo+ ResolveNoOpObjectMethod "getRowHeaderCells" o = Atk.TableCell.TableCellGetRowHeaderCellsMethodInfo+ ResolveNoOpObjectMethod "getRowSpan" o = Atk.TableCell.TableCellGetRowSpanMethodInfo+ ResolveNoOpObjectMethod "getRunAttributes" o = Atk.Text.TextGetRunAttributesMethodInfo+ ResolveNoOpObjectMethod "getSelectedColumns" o = Atk.Table.TableGetSelectedColumnsMethodInfo+ ResolveNoOpObjectMethod "getSelectedRows" o = Atk.Table.TableGetSelectedRowsMethodInfo+ ResolveNoOpObjectMethod "getSelection" o = Atk.Text.TextGetSelectionMethodInfo+ ResolveNoOpObjectMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo+ ResolveNoOpObjectMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo+ ResolveNoOpObjectMethod "getStringAtOffset" o = Atk.Text.TextGetStringAtOffsetMethodInfo+ ResolveNoOpObjectMethod "getSubRanges" o = Atk.Value.ValueGetSubRangesMethodInfo+ ResolveNoOpObjectMethod "getSummary" o = Atk.Table.TableGetSummaryMethodInfo+ ResolveNoOpObjectMethod "getTable" o = Atk.TableCell.TableCellGetTableMethodInfo+ ResolveNoOpObjectMethod "getText" o = Atk.Text.TextGetTextMethodInfo+ ResolveNoOpObjectMethod "getTextAfterOffset" o = Atk.Text.TextGetTextAfterOffsetMethodInfo+ ResolveNoOpObjectMethod "getTextAtOffset" o = Atk.Text.TextGetTextAtOffsetMethodInfo+ ResolveNoOpObjectMethod "getTextBeforeOffset" o = Atk.Text.TextGetTextBeforeOffsetMethodInfo+ ResolveNoOpObjectMethod "getValueAndText" o = Atk.Value.ValueGetValueAndTextMethodInfo+ ResolveNoOpObjectMethod "setAttributeValue" o = Atk.Document.DocumentSetAttributeValueMethodInfo+ ResolveNoOpObjectMethod "setCaption" o = Atk.Table.TableSetCaptionMethodInfo+ ResolveNoOpObjectMethod "setCaretOffset" o = Atk.Text.TextSetCaretOffsetMethodInfo+ ResolveNoOpObjectMethod "setColumnDescription" o = Atk.Table.TableSetColumnDescriptionMethodInfo+ ResolveNoOpObjectMethod "setColumnHeader" o = Atk.Table.TableSetColumnHeaderMethodInfo+ ResolveNoOpObjectMethod "setCurrentValue" o = Atk.Value.ValueSetCurrentValueMethodInfo+ ResolveNoOpObjectMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveNoOpObjectMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo+ ResolveNoOpObjectMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo+ ResolveNoOpObjectMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo+ ResolveNoOpObjectMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo+ ResolveNoOpObjectMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo+ ResolveNoOpObjectMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo+ ResolveNoOpObjectMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveNoOpObjectMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo+ ResolveNoOpObjectMethod "setRowDescription" o = Atk.Table.TableSetRowDescriptionMethodInfo+ ResolveNoOpObjectMethod "setRowHeader" o = Atk.Table.TableSetRowHeaderMethodInfo+ ResolveNoOpObjectMethod "setRunAttributes" o = Atk.EditableText.EditableTextSetRunAttributesMethodInfo+ ResolveNoOpObjectMethod "setSelection" o = Atk.Text.TextSetSelectionMethodInfo+ ResolveNoOpObjectMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo+ ResolveNoOpObjectMethod "setSummary" o = Atk.Table.TableSetSummaryMethodInfo+ ResolveNoOpObjectMethod "setTextContents" o = Atk.EditableText.EditableTextSetTextContentsMethodInfo+ ResolveNoOpObjectMethod "setValue" o = Atk.Value.ValueSetValueMethodInfo+ ResolveNoOpObjectMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveNoOpObjectMethod t NoOpObject, O.MethodInfo info NoOpObject p) => OL.IsLabel t (NoOpObject -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList NoOpObject+type instance O.AttributeList NoOpObject = NoOpObjectAttributeList+type NoOpObjectAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList NoOpObject = NoOpObjectSignalList+type NoOpObjectSignalList = ('[ '("activate", Atk.Window.WindowActivateSignalInfo), '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("columnDeleted", Atk.Table.TableColumnDeletedSignalInfo), '("columnInserted", Atk.Table.TableColumnInsertedSignalInfo), '("columnReordered", Atk.Table.TableColumnReorderedSignalInfo), '("create", Atk.Window.WindowCreateSignalInfo), '("deactivate", Atk.Window.WindowDeactivateSignalInfo), '("destroy", Atk.Window.WindowDestroySignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("linkSelected", Atk.Hypertext.HypertextLinkSelectedSignalInfo), '("loadComplete", Atk.Document.DocumentLoadCompleteSignalInfo), '("loadStopped", Atk.Document.DocumentLoadStoppedSignalInfo), '("maximize", Atk.Window.WindowMaximizeSignalInfo), '("minimize", Atk.Window.WindowMinimizeSignalInfo), '("modelChanged", Atk.Table.TableModelChangedSignalInfo), '("move", Atk.Window.WindowMoveSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pageChanged", Atk.Document.DocumentPageChangedSignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("reload", Atk.Document.DocumentReloadSignalInfo), '("resize", Atk.Window.WindowResizeSignalInfo), '("restore", Atk.Window.WindowRestoreSignalInfo), '("rowDeleted", Atk.Table.TableRowDeletedSignalInfo), '("rowInserted", Atk.Table.TableRowInsertedSignalInfo), '("rowReordered", Atk.Table.TableRowReorderedSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("textAttributesChanged", Atk.Text.TextTextAttributesChangedSignalInfo), '("textCaretMoved", Atk.Text.TextTextCaretMovedSignalInfo), '("textChanged", Atk.Text.TextTextChangedSignalInfo), '("textInsert", Atk.Text.TextTextInsertSignalInfo), '("textRemove", Atk.Text.TextTextRemoveSignalInfo), '("textSelectionChanged", Atk.Text.TextTextSelectionChangedSignalInfo), '("valueChanged", Atk.Value.ValueValueChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])++#endif++-- method NoOpObject::new+-- method type : Constructor+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "NoOpObject"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_no_op_object_new" atk_no_op_object_new :: + Ptr GObject.Object.Object -> -- obj : TInterface (Name {namespace = "GObject", name = "Object"})+ IO (Ptr NoOpObject)++{- |+Provides a default (non-functioning stub) 'GI.Atk.Objects.Object.Object'.+Application maintainers should not use this method.+-}+noOpObjectNew ::+ (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>+ a+ {- ^ /@obj@/: a 'GI.GObject.Objects.Object.Object' -}+ -> m NoOpObject+ {- ^ __Returns:__ a default (non-functioning stub) 'GI.Atk.Objects.Object.Object' -}+noOpObjectNew obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ result <- atk_no_op_object_new obj'+ checkUnexpectedReturnNULL "noOpObjectNew" result+ result' <- (wrapObject NoOpObject) result+ touchManagedPtr obj+ return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/Atk/Objects/NoOpObject.hs-boot view
@@ -0,0 +1,29 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.NoOpObject 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++newtype NoOpObject = NoOpObject (ManagedPtr NoOpObject)+instance GObject NoOpObject where+class (GObject o, O.IsDescendantOf NoOpObject o) => IsNoOpObject o+instance (GObject o, O.IsDescendantOf NoOpObject o) => IsNoOpObject o+instance O.HasParentTypes NoOpObject
+ GI/Atk/Objects/NoOpObjectFactory.hs view
@@ -0,0 +1,163 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++The AtkObjectFactory which creates an AtkNoOpObject. An instance of+this is created by an AtkRegistry if no factory type has not been+specified to create an accessible object of a particular type.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.NoOpObjectFactory+ ( ++-- * Exported types+ NoOpObjectFactory(..) ,+ IsNoOpObjectFactory ,+ toNoOpObjectFactory ,+ noNoOpObjectFactory ,+++ -- * Methods+-- ** new #method:new#++ noOpObjectFactoryNew ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.ObjectFactory as Atk.ObjectFactory+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype NoOpObjectFactory = NoOpObjectFactory (ManagedPtr NoOpObjectFactory)+foreign import ccall "atk_no_op_object_factory_get_type"+ c_atk_no_op_object_factory_get_type :: IO GType++instance GObject NoOpObjectFactory where+ gobjectType = c_atk_no_op_object_factory_get_type+ ++-- | Type class for types which can be safely cast to `NoOpObjectFactory`, for instance with `toNoOpObjectFactory`.+class (GObject o, O.IsDescendantOf NoOpObjectFactory o) => IsNoOpObjectFactory o+instance (GObject o, O.IsDescendantOf NoOpObjectFactory o) => IsNoOpObjectFactory o++instance O.HasParentTypes NoOpObjectFactory+type instance O.ParentTypes NoOpObjectFactory = '[Atk.ObjectFactory.ObjectFactory, GObject.Object.Object]++-- | Cast to `NoOpObjectFactory`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toNoOpObjectFactory :: (MonadIO m, IsNoOpObjectFactory o) => o -> m NoOpObjectFactory+toNoOpObjectFactory = liftIO . unsafeCastTo NoOpObjectFactory++-- | A convenience alias for `Nothing` :: `Maybe` `NoOpObjectFactory`.+noNoOpObjectFactory :: Maybe NoOpObjectFactory+noNoOpObjectFactory = Nothing++#if ENABLE_OVERLOADING+type family ResolveNoOpObjectFactoryMethod (t :: Symbol) (o :: *) :: * where+ ResolveNoOpObjectFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveNoOpObjectFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveNoOpObjectFactoryMethod "createAccessible" o = Atk.ObjectFactory.ObjectFactoryCreateAccessibleMethodInfo+ ResolveNoOpObjectFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveNoOpObjectFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveNoOpObjectFactoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveNoOpObjectFactoryMethod "invalidate" o = Atk.ObjectFactory.ObjectFactoryInvalidateMethodInfo+ ResolveNoOpObjectFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveNoOpObjectFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveNoOpObjectFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveNoOpObjectFactoryMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveNoOpObjectFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveNoOpObjectFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveNoOpObjectFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveNoOpObjectFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveNoOpObjectFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveNoOpObjectFactoryMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveNoOpObjectFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveNoOpObjectFactoryMethod "getAccessibleType" o = Atk.ObjectFactory.ObjectFactoryGetAccessibleTypeMethodInfo+ ResolveNoOpObjectFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveNoOpObjectFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveNoOpObjectFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveNoOpObjectFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveNoOpObjectFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveNoOpObjectFactoryMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveNoOpObjectFactoryMethod t NoOpObjectFactory, O.MethodInfo info NoOpObjectFactory p) => OL.IsLabel t (NoOpObjectFactory -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList NoOpObjectFactory+type instance O.AttributeList NoOpObjectFactory = NoOpObjectFactoryAttributeList+type NoOpObjectFactoryAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList NoOpObjectFactory = NoOpObjectFactorySignalList+type NoOpObjectFactorySignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method NoOpObjectFactory::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "NoOpObjectFactory"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_no_op_object_factory_new" atk_no_op_object_factory_new :: + IO (Ptr NoOpObjectFactory)++{- |+Creates an instance of an 'GI.Atk.Objects.ObjectFactory.ObjectFactory' which generates primitive+(non-functioning) @/AtkObjects/@.+-}+noOpObjectFactoryNew ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m NoOpObjectFactory+ {- ^ __Returns:__ an instance of an 'GI.Atk.Objects.ObjectFactory.ObjectFactory' -}+noOpObjectFactoryNew = liftIO $ do+ result <- atk_no_op_object_factory_new+ checkUnexpectedReturnNULL "noOpObjectFactoryNew" result+ result' <- (wrapObject NoOpObjectFactory) result+ return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/Atk/Objects/NoOpObjectFactory.hs-boot view
@@ -0,0 +1,29 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.NoOpObjectFactory 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++newtype NoOpObjectFactory = NoOpObjectFactory (ManagedPtr NoOpObjectFactory)+instance GObject NoOpObjectFactory where+class (GObject o, O.IsDescendantOf NoOpObjectFactory o) => IsNoOpObjectFactory o+instance (GObject o, O.IsDescendantOf NoOpObjectFactory o) => IsNoOpObjectFactory o+instance O.HasParentTypes NoOpObjectFactory
+ GI/Atk/Objects/Object.hs view
@@ -0,0 +1,2902 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++This class is the primary class for accessibility support via the+Accessibility ToolKit (ATK). Objects which are instances of+'GI.Atk.Objects.Object.Object' (or instances of AtkObject-derived types) are queried+for properties which relate basic (and generic) properties of a UI+component such as name and description. Instances of 'GI.Atk.Objects.Object.Object'+may also be queried as to whether they implement other ATK+interfaces (e.g. 'GI.Atk.Interfaces.Action.Action', 'GI.Atk.Interfaces.Component.Component', etc.), as appropriate+to the role which a given UI component plays in a user interface.++All UI components in an application which provide useful+information or services to the user must provide corresponding+'GI.Atk.Objects.Object.Object' instances on request (in GTK+, for instance, usually on+a call to @/gtk_widget_get_accessible/@ ()), either via ATK support+built into the toolkit for the widget class or ancestor class, or+in the case of custom widgets, if the inherited 'GI.Atk.Objects.Object.Object'+implementation is insufficient, via instances of a new 'GI.Atk.Objects.Object.Object'+subclass.++See also: 'GI.Atk.Objects.ObjectFactory.ObjectFactory', 'GI.Atk.Objects.Registry.Registry'. (GTK+ users see also+@/GtkAccessible/@).+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.Object+ ( ++-- * Exported types+ Object(..) ,+ IsObject ,+ toObject ,+ noObject ,+++ -- * Methods+-- ** addRelationship #method:addRelationship#++#if ENABLE_OVERLOADING+ ObjectAddRelationshipMethodInfo ,+#endif+ objectAddRelationship ,+++-- ** getAttributes #method:getAttributes#++#if ENABLE_OVERLOADING+ ObjectGetAttributesMethodInfo ,+#endif+ objectGetAttributes ,+++-- ** getDescription #method:getDescription#++#if ENABLE_OVERLOADING+ ObjectGetDescriptionMethodInfo ,+#endif+ objectGetDescription ,+++-- ** getIndexInParent #method:getIndexInParent#++#if ENABLE_OVERLOADING+ ObjectGetIndexInParentMethodInfo ,+#endif+ objectGetIndexInParent ,+++-- ** getLayer #method:getLayer#++#if ENABLE_OVERLOADING+ ObjectGetLayerMethodInfo ,+#endif+ objectGetLayer ,+++-- ** getMdiZorder #method:getMdiZorder#++#if ENABLE_OVERLOADING+ ObjectGetMdiZorderMethodInfo ,+#endif+ objectGetMdiZorder ,+++-- ** getNAccessibleChildren #method:getNAccessibleChildren#++#if ENABLE_OVERLOADING+ ObjectGetNAccessibleChildrenMethodInfo ,+#endif+ objectGetNAccessibleChildren ,+++-- ** getName #method:getName#++#if ENABLE_OVERLOADING+ ObjectGetNameMethodInfo ,+#endif+ objectGetName ,+++-- ** getObjectLocale #method:getObjectLocale#++#if ENABLE_OVERLOADING+ ObjectGetObjectLocaleMethodInfo ,+#endif+ objectGetObjectLocale ,+++-- ** getParent #method:getParent#++#if ENABLE_OVERLOADING+ ObjectGetParentMethodInfo ,+#endif+ objectGetParent ,+++-- ** getRole #method:getRole#++#if ENABLE_OVERLOADING+ ObjectGetRoleMethodInfo ,+#endif+ objectGetRole ,+++-- ** initialize #method:initialize#++#if ENABLE_OVERLOADING+ ObjectInitializeMethodInfo ,+#endif+ objectInitialize ,+++-- ** notifyStateChange #method:notifyStateChange#++#if ENABLE_OVERLOADING+ ObjectNotifyStateChangeMethodInfo ,+#endif+ objectNotifyStateChange ,+++-- ** peekParent #method:peekParent#++#if ENABLE_OVERLOADING+ ObjectPeekParentMethodInfo ,+#endif+ objectPeekParent ,+++-- ** refAccessibleChild #method:refAccessibleChild#++#if ENABLE_OVERLOADING+ ObjectRefAccessibleChildMethodInfo ,+#endif+ objectRefAccessibleChild ,+++-- ** refRelationSet #method:refRelationSet#++#if ENABLE_OVERLOADING+ ObjectRefRelationSetMethodInfo ,+#endif+ objectRefRelationSet ,+++-- ** refStateSet #method:refStateSet#++#if ENABLE_OVERLOADING+ ObjectRefStateSetMethodInfo ,+#endif+ objectRefStateSet ,+++-- ** removePropertyChangeHandler #method:removePropertyChangeHandler#++#if ENABLE_OVERLOADING+ ObjectRemovePropertyChangeHandlerMethodInfo,+#endif+ objectRemovePropertyChangeHandler ,+++-- ** removeRelationship #method:removeRelationship#++#if ENABLE_OVERLOADING+ ObjectRemoveRelationshipMethodInfo ,+#endif+ objectRemoveRelationship ,+++-- ** setDescription #method:setDescription#++#if ENABLE_OVERLOADING+ ObjectSetDescriptionMethodInfo ,+#endif+ objectSetDescription ,+++-- ** setName #method:setName#++#if ENABLE_OVERLOADING+ ObjectSetNameMethodInfo ,+#endif+ objectSetName ,+++-- ** setParent #method:setParent#++#if ENABLE_OVERLOADING+ ObjectSetParentMethodInfo ,+#endif+ objectSetParent ,+++-- ** setRole #method:setRole#++#if ENABLE_OVERLOADING+ ObjectSetRoleMethodInfo ,+#endif+ objectSetRole ,+++++ -- * Properties+-- ** accessibleComponentLayer #attr:accessibleComponentLayer#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleComponentLayerPropertyInfo,+#endif+ getObjectAccessibleComponentLayer ,+#if ENABLE_OVERLOADING+ objectAccessibleComponentLayer ,+#endif+++-- ** accessibleComponentMdiZorder #attr:accessibleComponentMdiZorder#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleComponentMdiZorderPropertyInfo,+#endif+ getObjectAccessibleComponentMdiZorder ,+#if ENABLE_OVERLOADING+ objectAccessibleComponentMdiZorder ,+#endif+++-- ** accessibleDescription #attr:accessibleDescription#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleDescriptionPropertyInfo ,+#endif+ clearObjectAccessibleDescription ,+ constructObjectAccessibleDescription ,+ getObjectAccessibleDescription ,+#if ENABLE_OVERLOADING+ objectAccessibleDescription ,+#endif+ setObjectAccessibleDescription ,+++-- ** accessibleHypertextNlinks #attr:accessibleHypertextNlinks#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleHypertextNlinksPropertyInfo,+#endif+ getObjectAccessibleHypertextNlinks ,+#if ENABLE_OVERLOADING+ objectAccessibleHypertextNlinks ,+#endif+++-- ** accessibleName #attr:accessibleName#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleNamePropertyInfo ,+#endif+ clearObjectAccessibleName ,+ constructObjectAccessibleName ,+ getObjectAccessibleName ,+#if ENABLE_OVERLOADING+ objectAccessibleName ,+#endif+ setObjectAccessibleName ,+++-- ** accessibleParent #attr:accessibleParent#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleParentPropertyInfo ,+#endif+ clearObjectAccessibleParent ,+ constructObjectAccessibleParent ,+ getObjectAccessibleParent ,+#if ENABLE_OVERLOADING+ objectAccessibleParent ,+#endif+ setObjectAccessibleParent ,+++-- ** accessibleRole #attr:accessibleRole#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleRolePropertyInfo ,+#endif+ constructObjectAccessibleRole ,+ getObjectAccessibleRole ,+#if ENABLE_OVERLOADING+ objectAccessibleRole ,+#endif+ setObjectAccessibleRole ,+++-- ** accessibleTableCaption #attr:accessibleTableCaption#+{- | Table caption.+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleTableCaptionPropertyInfo,+#endif+ clearObjectAccessibleTableCaption ,+ constructObjectAccessibleTableCaption ,+ getObjectAccessibleTableCaption ,+#if ENABLE_OVERLOADING+ objectAccessibleTableCaption ,+#endif+ setObjectAccessibleTableCaption ,+++-- ** accessibleTableCaptionObject #attr:accessibleTableCaptionObject#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleTableCaptionObjectPropertyInfo,+#endif+ clearObjectAccessibleTableCaptionObject ,+ constructObjectAccessibleTableCaptionObject,+ getObjectAccessibleTableCaptionObject ,+#if ENABLE_OVERLOADING+ objectAccessibleTableCaptionObject ,+#endif+ setObjectAccessibleTableCaptionObject ,+++-- ** accessibleTableColumnDescription #attr:accessibleTableColumnDescription#+{- | Accessible table column description.+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleTableColumnDescriptionPropertyInfo,+#endif+ clearObjectAccessibleTableColumnDescription,+ constructObjectAccessibleTableColumnDescription,+ getObjectAccessibleTableColumnDescription,+#if ENABLE_OVERLOADING+ objectAccessibleTableColumnDescription ,+#endif+ setObjectAccessibleTableColumnDescription,+++-- ** accessibleTableColumnHeader #attr:accessibleTableColumnHeader#+{- | Accessible table column header.+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleTableColumnHeaderPropertyInfo,+#endif+ clearObjectAccessibleTableColumnHeader ,+ constructObjectAccessibleTableColumnHeader,+ getObjectAccessibleTableColumnHeader ,+#if ENABLE_OVERLOADING+ objectAccessibleTableColumnHeader ,+#endif+ setObjectAccessibleTableColumnHeader ,+++-- ** accessibleTableRowDescription #attr:accessibleTableRowDescription#+{- | Accessible table row description.+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleTableRowDescriptionPropertyInfo,+#endif+ clearObjectAccessibleTableRowDescription,+ constructObjectAccessibleTableRowDescription,+ getObjectAccessibleTableRowDescription ,+#if ENABLE_OVERLOADING+ objectAccessibleTableRowDescription ,+#endif+ setObjectAccessibleTableRowDescription ,+++-- ** accessibleTableRowHeader #attr:accessibleTableRowHeader#+{- | Accessible table row header.+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleTableRowHeaderPropertyInfo,+#endif+ clearObjectAccessibleTableRowHeader ,+ constructObjectAccessibleTableRowHeader ,+ getObjectAccessibleTableRowHeader ,+#if ENABLE_OVERLOADING+ objectAccessibleTableRowHeader ,+#endif+ setObjectAccessibleTableRowHeader ,+++-- ** accessibleTableSummary #attr:accessibleTableSummary#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleTableSummaryPropertyInfo,+#endif+ clearObjectAccessibleTableSummary ,+ constructObjectAccessibleTableSummary ,+ getObjectAccessibleTableSummary ,+#if ENABLE_OVERLOADING+ objectAccessibleTableSummary ,+#endif+ setObjectAccessibleTableSummary ,+++-- ** accessibleValue #attr:accessibleValue#+{- | Numeric value of this object, in case being and AtkValue.+-}+#if ENABLE_OVERLOADING+ ObjectAccessibleValuePropertyInfo ,+#endif+ constructObjectAccessibleValue ,+ getObjectAccessibleValue ,+#if ENABLE_OVERLOADING+ objectAccessibleValue ,+#endif+ setObjectAccessibleValue ,+++++ -- * Signals+-- ** activeDescendantChanged #signal:activeDescendantChanged#++ C_ObjectActiveDescendantChangedCallback ,+ ObjectActiveDescendantChangedCallback ,+#if ENABLE_OVERLOADING+ ObjectActiveDescendantChangedSignalInfo ,+#endif+ afterObjectActiveDescendantChanged ,+ genClosure_ObjectActiveDescendantChanged,+ mk_ObjectActiveDescendantChangedCallback,+ noObjectActiveDescendantChangedCallback ,+ onObjectActiveDescendantChanged ,+ wrap_ObjectActiveDescendantChangedCallback,+++-- ** childrenChanged #signal:childrenChanged#++ C_ObjectChildrenChangedCallback ,+ ObjectChildrenChangedCallback ,+#if ENABLE_OVERLOADING+ ObjectChildrenChangedSignalInfo ,+#endif+ afterObjectChildrenChanged ,+ genClosure_ObjectChildrenChanged ,+ mk_ObjectChildrenChangedCallback ,+ noObjectChildrenChangedCallback ,+ onObjectChildrenChanged ,+ wrap_ObjectChildrenChangedCallback ,+++-- ** focusEvent #signal:focusEvent#++ C_ObjectFocusEventCallback ,+ ObjectFocusEventCallback ,+#if ENABLE_OVERLOADING+ ObjectFocusEventSignalInfo ,+#endif+ afterObjectFocusEvent ,+ genClosure_ObjectFocusEvent ,+ mk_ObjectFocusEventCallback ,+ noObjectFocusEventCallback ,+ onObjectFocusEvent ,+ wrap_ObjectFocusEventCallback ,+++-- ** propertyChange #signal:propertyChange#++ C_ObjectPropertyChangeCallback ,+ ObjectPropertyChangeCallback ,+#if ENABLE_OVERLOADING+ ObjectPropertyChangeSignalInfo ,+#endif+ afterObjectPropertyChange ,+ genClosure_ObjectPropertyChange ,+ mk_ObjectPropertyChangeCallback ,+ noObjectPropertyChangeCallback ,+ onObjectPropertyChange ,+ wrap_ObjectPropertyChangeCallback ,+++-- ** stateChange #signal:stateChange#++ C_ObjectStateChangeCallback ,+ ObjectStateChangeCallback ,+#if ENABLE_OVERLOADING+ ObjectStateChangeSignalInfo ,+#endif+ afterObjectStateChange ,+ genClosure_ObjectStateChange ,+ mk_ObjectStateChangeCallback ,+ noObjectStateChangeCallback ,+ onObjectStateChange ,+ wrap_ObjectStateChangeCallback ,+++-- ** visibleDataChanged #signal:visibleDataChanged#++ C_ObjectVisibleDataChangedCallback ,+ ObjectVisibleDataChangedCallback ,+#if ENABLE_OVERLOADING+ ObjectVisibleDataChangedSignalInfo ,+#endif+ afterObjectVisibleDataChanged ,+ genClosure_ObjectVisibleDataChanged ,+ mk_ObjectVisibleDataChangedCallback ,+ noObjectVisibleDataChangedCallback ,+ onObjectVisibleDataChanged ,+ wrap_ObjectVisibleDataChangedCallback ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Enums as Atk.Enums+import {-# SOURCE #-} qualified GI.Atk.Objects.RelationSet as Atk.RelationSet+import {-# SOURCE #-} qualified GI.Atk.Objects.StateSet as Atk.StateSet+import {-# SOURCE #-} qualified GI.Atk.Structs.PropertyValues as Atk.PropertyValues+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype Object = Object (ManagedPtr Object)+foreign import ccall "atk_object_get_type"+ c_atk_object_get_type :: IO GType++instance GObject Object where+ gobjectType = c_atk_object_get_type+ ++-- | Type class for types which can be safely cast to `Object`, for instance with `toObject`.+class (GObject o, O.IsDescendantOf Object o) => IsObject o+instance (GObject o, O.IsDescendantOf Object o) => IsObject o++instance O.HasParentTypes Object+type instance O.ParentTypes Object = '[GObject.Object.Object]++-- | Cast to `Object`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toObject :: (MonadIO m, IsObject o) => o -> m Object+toObject = liftIO . unsafeCastTo Object++-- | A convenience alias for `Nothing` :: `Maybe` `Object`.+noObject :: Maybe Object+noObject = Nothing++#if ENABLE_OVERLOADING+type family ResolveObjectMethod (t :: Symbol) (o :: *) :: * where+ ResolveObjectMethod "addRelationship" o = ObjectAddRelationshipMethodInfo+ ResolveObjectMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveObjectMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveObjectMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveObjectMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveObjectMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveObjectMethod "initialize" o = ObjectInitializeMethodInfo+ ResolveObjectMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveObjectMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveObjectMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveObjectMethod "notifyStateChange" o = ObjectNotifyStateChangeMethodInfo+ ResolveObjectMethod "peekParent" o = ObjectPeekParentMethodInfo+ ResolveObjectMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveObjectMethod "refAccessibleChild" o = ObjectRefAccessibleChildMethodInfo+ ResolveObjectMethod "refRelationSet" o = ObjectRefRelationSetMethodInfo+ ResolveObjectMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveObjectMethod "refStateSet" o = ObjectRefStateSetMethodInfo+ ResolveObjectMethod "removePropertyChangeHandler" o = ObjectRemovePropertyChangeHandlerMethodInfo+ ResolveObjectMethod "removeRelationship" o = ObjectRemoveRelationshipMethodInfo+ ResolveObjectMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveObjectMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveObjectMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveObjectMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveObjectMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveObjectMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveObjectMethod "getAttributes" o = ObjectGetAttributesMethodInfo+ ResolveObjectMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveObjectMethod "getDescription" o = ObjectGetDescriptionMethodInfo+ ResolveObjectMethod "getIndexInParent" o = ObjectGetIndexInParentMethodInfo+ ResolveObjectMethod "getLayer" o = ObjectGetLayerMethodInfo+ ResolveObjectMethod "getMdiZorder" o = ObjectGetMdiZorderMethodInfo+ ResolveObjectMethod "getNAccessibleChildren" o = ObjectGetNAccessibleChildrenMethodInfo+ ResolveObjectMethod "getName" o = ObjectGetNameMethodInfo+ ResolveObjectMethod "getObjectLocale" o = ObjectGetObjectLocaleMethodInfo+ ResolveObjectMethod "getParent" o = ObjectGetParentMethodInfo+ ResolveObjectMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveObjectMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveObjectMethod "getRole" o = ObjectGetRoleMethodInfo+ ResolveObjectMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveObjectMethod "setDescription" o = ObjectSetDescriptionMethodInfo+ ResolveObjectMethod "setName" o = ObjectSetNameMethodInfo+ ResolveObjectMethod "setParent" o = ObjectSetParentMethodInfo+ ResolveObjectMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveObjectMethod "setRole" o = ObjectSetRoleMethodInfo+ ResolveObjectMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveObjectMethod t Object, O.MethodInfo info Object p) => OL.IsLabel t (Object -> 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++-- signal Object::active-descendant-changed+{- |+The \"active-descendant-changed\" signal is emitted by an object+which has the state ATK_STATE_MANAGES_DESCENDANTS when the focus+object in the object changes. For instance, a table will emit the+signal when the cell in the table which has focus changes.+-}+type ObjectActiveDescendantChangedCallback =+ Maybe Object+ {- ^ /@arg1@/: the newly focused object. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectActiveDescendantChangedCallback`@.+noObjectActiveDescendantChangedCallback :: Maybe ObjectActiveDescendantChangedCallback+noObjectActiveDescendantChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ObjectActiveDescendantChangedCallback =+ Ptr () -> -- object+ Ptr Object ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_ObjectActiveDescendantChangedCallback`.+foreign import ccall "wrapper"+ mk_ObjectActiveDescendantChangedCallback :: C_ObjectActiveDescendantChangedCallback -> IO (FunPtr C_ObjectActiveDescendantChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ObjectActiveDescendantChanged :: MonadIO m => ObjectActiveDescendantChangedCallback -> m (GClosure C_ObjectActiveDescendantChangedCallback)+genClosure_ObjectActiveDescendantChanged cb = liftIO $ do+ let cb' = wrap_ObjectActiveDescendantChangedCallback cb+ mk_ObjectActiveDescendantChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ObjectActiveDescendantChangedCallback` into a `C_ObjectActiveDescendantChangedCallback`.+wrap_ObjectActiveDescendantChangedCallback ::+ ObjectActiveDescendantChangedCallback ->+ C_ObjectActiveDescendantChangedCallback+wrap_ObjectActiveDescendantChangedCallback _cb _ arg1 _ = do+ maybeArg1 <-+ if arg1 == nullPtr+ then return Nothing+ else do+ arg1' <- (newObject Object) arg1+ return $ Just arg1'+ _cb maybeArg1+++{- |+Connect a signal handler for the “@active-descendant-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' object #activeDescendantChanged callback+@+-}+onObjectActiveDescendantChanged :: (IsObject a, MonadIO m) => a -> ObjectActiveDescendantChangedCallback -> m SignalHandlerId+onObjectActiveDescendantChanged obj cb = liftIO $ do+ let cb' = wrap_ObjectActiveDescendantChangedCallback cb+ cb'' <- mk_ObjectActiveDescendantChangedCallback cb'+ connectSignalFunPtr obj "active-descendant-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@active-descendant-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' object #activeDescendantChanged callback+@+-}+afterObjectActiveDescendantChanged :: (IsObject a, MonadIO m) => a -> ObjectActiveDescendantChangedCallback -> m SignalHandlerId+afterObjectActiveDescendantChanged obj cb = liftIO $ do+ let cb' = wrap_ObjectActiveDescendantChangedCallback cb+ cb'' <- mk_ObjectActiveDescendantChangedCallback cb'+ connectSignalFunPtr obj "active-descendant-changed" cb'' SignalConnectAfter+++-- signal Object::children-changed+{- |+The signal \"children-changed\" is emitted when a child is added or+removed form an object. It supports two details: \"add\" and+\"remove\"+-}+type ObjectChildrenChangedCallback =+ Word32+ {- ^ /@arg1@/: The index of the added or removed child. The value can be+-1. This is used if the value is not known by the implementor+when the child is added\/removed or irrelevant. -}+ -> Maybe Object+ {- ^ /@arg2@/: A gpointer to the child AtkObject which was added or+removed. If the child was removed, it is possible that it is not+available for the implementor. In that case this pointer can be+NULL. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectChildrenChangedCallback`@.+noObjectChildrenChangedCallback :: Maybe ObjectChildrenChangedCallback+noObjectChildrenChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ObjectChildrenChangedCallback =+ Ptr () -> -- object+ Word32 ->+ Ptr Object ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_ObjectChildrenChangedCallback`.+foreign import ccall "wrapper"+ mk_ObjectChildrenChangedCallback :: C_ObjectChildrenChangedCallback -> IO (FunPtr C_ObjectChildrenChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ObjectChildrenChanged :: MonadIO m => ObjectChildrenChangedCallback -> m (GClosure C_ObjectChildrenChangedCallback)+genClosure_ObjectChildrenChanged cb = liftIO $ do+ let cb' = wrap_ObjectChildrenChangedCallback cb+ mk_ObjectChildrenChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ObjectChildrenChangedCallback` into a `C_ObjectChildrenChangedCallback`.+wrap_ObjectChildrenChangedCallback ::+ ObjectChildrenChangedCallback ->+ C_ObjectChildrenChangedCallback+wrap_ObjectChildrenChangedCallback _cb _ arg1 arg2 _ = do+ maybeArg2 <-+ if arg2 == nullPtr+ then return Nothing+ else do+ arg2' <- (newObject Object) arg2+ return $ Just arg2'+ _cb arg1 maybeArg2+++{- |+Connect a signal handler for the “@children-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' object #childrenChanged callback+@+-}+onObjectChildrenChanged :: (IsObject a, MonadIO m) => a -> ObjectChildrenChangedCallback -> m SignalHandlerId+onObjectChildrenChanged obj cb = liftIO $ do+ let cb' = wrap_ObjectChildrenChangedCallback cb+ cb'' <- mk_ObjectChildrenChangedCallback cb'+ connectSignalFunPtr obj "children-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@children-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' object #childrenChanged callback+@+-}+afterObjectChildrenChanged :: (IsObject a, MonadIO m) => a -> ObjectChildrenChangedCallback -> m SignalHandlerId+afterObjectChildrenChanged obj cb = liftIO $ do+ let cb' = wrap_ObjectChildrenChangedCallback cb+ cb'' <- mk_ObjectChildrenChangedCallback cb'+ connectSignalFunPtr obj "children-changed" cb'' SignalConnectAfter+++-- signal Object::focus-event+{-# DEPRECATED ObjectFocusEventCallback ["(Since version 2.9.4)","Use the 'GI.Atk.Objects.Object.Object'::@/state-change/@ signal instead."] #-}+{- |+The signal \"focus-event\" is emitted when an object gained or lost+focus.+-}+type ObjectFocusEventCallback =+ Bool+ {- ^ /@arg1@/: a boolean value which indicates whether the object gained+or lost focus. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectFocusEventCallback`@.+noObjectFocusEventCallback :: Maybe ObjectFocusEventCallback+noObjectFocusEventCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ObjectFocusEventCallback =+ Ptr () -> -- object+ CInt ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_ObjectFocusEventCallback`.+foreign import ccall "wrapper"+ mk_ObjectFocusEventCallback :: C_ObjectFocusEventCallback -> IO (FunPtr C_ObjectFocusEventCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ObjectFocusEvent :: MonadIO m => ObjectFocusEventCallback -> m (GClosure C_ObjectFocusEventCallback)+genClosure_ObjectFocusEvent cb = liftIO $ do+ let cb' = wrap_ObjectFocusEventCallback cb+ mk_ObjectFocusEventCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ObjectFocusEventCallback` into a `C_ObjectFocusEventCallback`.+wrap_ObjectFocusEventCallback ::+ ObjectFocusEventCallback ->+ C_ObjectFocusEventCallback+wrap_ObjectFocusEventCallback _cb _ arg1 _ = do+ let arg1' = (/= 0) arg1+ _cb arg1'+++{- |+Connect a signal handler for the “@focus-event@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' object #focusEvent callback+@+-}+onObjectFocusEvent :: (IsObject a, MonadIO m) => a -> ObjectFocusEventCallback -> m SignalHandlerId+onObjectFocusEvent obj cb = liftIO $ do+ let cb' = wrap_ObjectFocusEventCallback cb+ cb'' <- mk_ObjectFocusEventCallback cb'+ connectSignalFunPtr obj "focus-event" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@focus-event@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' object #focusEvent callback+@+-}+afterObjectFocusEvent :: (IsObject a, MonadIO m) => a -> ObjectFocusEventCallback -> m SignalHandlerId+afterObjectFocusEvent obj cb = liftIO $ do+ let cb' = wrap_ObjectFocusEventCallback cb+ cb'' <- mk_ObjectFocusEventCallback cb'+ connectSignalFunPtr obj "focus-event" cb'' SignalConnectAfter+++-- signal Object::property-change+{- |+The signal \"property-change\" is emitted when an object\'s property+value changes. /@arg1@/ contains an 'GI.Atk.Structs.PropertyValues.PropertyValues' with the name+and the new value of the property whose value has changed. Note+that, as with GObject notify, getting this signal does not+guarantee that the value of the property has actually changed; it+may also be emitted when the setter of the property is called to+reinstate the previous value.++Toolkit implementor note: ATK implementors should use+'GI.GObject.Objects.Object.objectNotify' to emit property-changed+notifications. 'GI.Atk.Objects.Object.Object'::@/property-changed/@ is needed by the+implementation of @/atk_add_global_event_listener()/@ because GObject+notify doesn\'t support emission hooks.+-}+type ObjectPropertyChangeCallback =+ Maybe Atk.PropertyValues.PropertyValues+ {- ^ /@arg1@/: an 'GI.Atk.Structs.PropertyValues.PropertyValues' containing the new+value of the property which changed. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectPropertyChangeCallback`@.+noObjectPropertyChangeCallback :: Maybe ObjectPropertyChangeCallback+noObjectPropertyChangeCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ObjectPropertyChangeCallback =+ Ptr () -> -- object+ Ptr Atk.PropertyValues.PropertyValues ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_ObjectPropertyChangeCallback`.+foreign import ccall "wrapper"+ mk_ObjectPropertyChangeCallback :: C_ObjectPropertyChangeCallback -> IO (FunPtr C_ObjectPropertyChangeCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ObjectPropertyChange :: MonadIO m => ObjectPropertyChangeCallback -> m (GClosure C_ObjectPropertyChangeCallback)+genClosure_ObjectPropertyChange cb = liftIO $ do+ let cb' = wrap_ObjectPropertyChangeCallback cb+ mk_ObjectPropertyChangeCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ObjectPropertyChangeCallback` into a `C_ObjectPropertyChangeCallback`.+wrap_ObjectPropertyChangeCallback ::+ ObjectPropertyChangeCallback ->+ C_ObjectPropertyChangeCallback+wrap_ObjectPropertyChangeCallback _cb _ arg1 _ = do+ maybeArg1 <-+ if arg1 == nullPtr+ then return Nothing+ else do+ arg1' <- (newPtr Atk.PropertyValues.PropertyValues) arg1+ return $ Just arg1'+ _cb maybeArg1+++{- |+Connect a signal handler for the “@property-change@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' object #propertyChange callback+@+-}+onObjectPropertyChange :: (IsObject a, MonadIO m) => a -> ObjectPropertyChangeCallback -> m SignalHandlerId+onObjectPropertyChange obj cb = liftIO $ do+ let cb' = wrap_ObjectPropertyChangeCallback cb+ cb'' <- mk_ObjectPropertyChangeCallback cb'+ connectSignalFunPtr obj "property-change" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@property-change@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' object #propertyChange callback+@+-}+afterObjectPropertyChange :: (IsObject a, MonadIO m) => a -> ObjectPropertyChangeCallback -> m SignalHandlerId+afterObjectPropertyChange obj cb = liftIO $ do+ let cb' = wrap_ObjectPropertyChangeCallback cb+ cb'' <- mk_ObjectPropertyChangeCallback cb'+ connectSignalFunPtr obj "property-change" cb'' SignalConnectAfter+++-- signal Object::state-change+{- |+The \"state-change\" signal is emitted when an object\'s state+changes. The detail value identifies the state type which has+changed.+-}+type ObjectStateChangeCallback =+ T.Text+ {- ^ /@arg1@/: The name of the state which has changed -}+ -> Bool+ {- ^ /@arg2@/: A boolean which indicates whether the state has been set or unset. -}+ -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectStateChangeCallback`@.+noObjectStateChangeCallback :: Maybe ObjectStateChangeCallback+noObjectStateChangeCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ObjectStateChangeCallback =+ Ptr () -> -- object+ CString ->+ CInt ->+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_ObjectStateChangeCallback`.+foreign import ccall "wrapper"+ mk_ObjectStateChangeCallback :: C_ObjectStateChangeCallback -> IO (FunPtr C_ObjectStateChangeCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ObjectStateChange :: MonadIO m => ObjectStateChangeCallback -> m (GClosure C_ObjectStateChangeCallback)+genClosure_ObjectStateChange cb = liftIO $ do+ let cb' = wrap_ObjectStateChangeCallback cb+ mk_ObjectStateChangeCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ObjectStateChangeCallback` into a `C_ObjectStateChangeCallback`.+wrap_ObjectStateChangeCallback ::+ ObjectStateChangeCallback ->+ C_ObjectStateChangeCallback+wrap_ObjectStateChangeCallback _cb _ arg1 arg2 _ = do+ arg1' <- cstringToText arg1+ let arg2' = (/= 0) arg2+ _cb arg1' arg2'+++{- |+Connect a signal handler for the “@state-change@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' object #stateChange callback+@+-}+onObjectStateChange :: (IsObject a, MonadIO m) => a -> ObjectStateChangeCallback -> m SignalHandlerId+onObjectStateChange obj cb = liftIO $ do+ let cb' = wrap_ObjectStateChangeCallback cb+ cb'' <- mk_ObjectStateChangeCallback cb'+ connectSignalFunPtr obj "state-change" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@state-change@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' object #stateChange callback+@+-}+afterObjectStateChange :: (IsObject a, MonadIO m) => a -> ObjectStateChangeCallback -> m SignalHandlerId+afterObjectStateChange obj cb = liftIO $ do+ let cb' = wrap_ObjectStateChangeCallback cb+ cb'' <- mk_ObjectStateChangeCallback cb'+ connectSignalFunPtr obj "state-change" cb'' SignalConnectAfter+++-- signal Object::visible-data-changed+{- |+The \"visible-data-changed\" signal is emitted when the visual+appearance of the object changed.+-}+type ObjectVisibleDataChangedCallback =+ IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectVisibleDataChangedCallback`@.+noObjectVisibleDataChangedCallback :: Maybe ObjectVisibleDataChangedCallback+noObjectVisibleDataChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ObjectVisibleDataChangedCallback =+ Ptr () -> -- object+ Ptr () -> -- user_data+ IO ()++-- | Generate a function pointer callable from C code, from a `C_ObjectVisibleDataChangedCallback`.+foreign import ccall "wrapper"+ mk_ObjectVisibleDataChangedCallback :: C_ObjectVisibleDataChangedCallback -> IO (FunPtr C_ObjectVisibleDataChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ObjectVisibleDataChanged :: MonadIO m => ObjectVisibleDataChangedCallback -> m (GClosure C_ObjectVisibleDataChangedCallback)+genClosure_ObjectVisibleDataChanged cb = liftIO $ do+ let cb' = wrap_ObjectVisibleDataChangedCallback cb+ mk_ObjectVisibleDataChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ObjectVisibleDataChangedCallback` into a `C_ObjectVisibleDataChangedCallback`.+wrap_ObjectVisibleDataChangedCallback ::+ ObjectVisibleDataChangedCallback ->+ C_ObjectVisibleDataChangedCallback+wrap_ObjectVisibleDataChangedCallback _cb _ _ = do+ _cb +++{- |+Connect a signal handler for the “@visible-data-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' object #visibleDataChanged callback+@+-}+onObjectVisibleDataChanged :: (IsObject a, MonadIO m) => a -> ObjectVisibleDataChangedCallback -> m SignalHandlerId+onObjectVisibleDataChanged obj cb = liftIO $ do+ let cb' = wrap_ObjectVisibleDataChangedCallback cb+ cb'' <- mk_ObjectVisibleDataChangedCallback cb'+ connectSignalFunPtr obj "visible-data-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@visible-data-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' object #visibleDataChanged callback+@+-}+afterObjectVisibleDataChanged :: (IsObject a, MonadIO m) => a -> ObjectVisibleDataChangedCallback -> m SignalHandlerId+afterObjectVisibleDataChanged obj cb = liftIO $ do+ let cb' = wrap_ObjectVisibleDataChangedCallback cb+ cb'' <- mk_ObjectVisibleDataChangedCallback cb'+ connectSignalFunPtr obj "visible-data-changed" cb'' SignalConnectAfter+++-- VVV Prop "accessible-component-layer"+ -- Type: TBasicType TInt+ -- Flags: [PropertyReadable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-component-layer@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleComponentLayer+@+-}+getObjectAccessibleComponentLayer :: (MonadIO m, IsObject o) => o -> m Int32+getObjectAccessibleComponentLayer obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "accessible-component-layer"++#if ENABLE_OVERLOADING+data ObjectAccessibleComponentLayerPropertyInfo+instance AttrInfo ObjectAccessibleComponentLayerPropertyInfo where+ type AttrAllowedOps ObjectAccessibleComponentLayerPropertyInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint ObjectAccessibleComponentLayerPropertyInfo = (~) ()+ type AttrBaseTypeConstraint ObjectAccessibleComponentLayerPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleComponentLayerPropertyInfo = Int32+ type AttrLabel ObjectAccessibleComponentLayerPropertyInfo = "accessible-component-layer"+ type AttrOrigin ObjectAccessibleComponentLayerPropertyInfo = Object+ attrGet _ = getObjectAccessibleComponentLayer+ attrSet _ = undefined+ attrConstruct _ = undefined+ attrClear _ = undefined+#endif++-- VVV Prop "accessible-component-mdi-zorder"+ -- Type: TBasicType TInt+ -- Flags: [PropertyReadable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-component-mdi-zorder@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleComponentMdiZorder+@+-}+getObjectAccessibleComponentMdiZorder :: (MonadIO m, IsObject o) => o -> m Int32+getObjectAccessibleComponentMdiZorder obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "accessible-component-mdi-zorder"++#if ENABLE_OVERLOADING+data ObjectAccessibleComponentMdiZorderPropertyInfo+instance AttrInfo ObjectAccessibleComponentMdiZorderPropertyInfo where+ type AttrAllowedOps ObjectAccessibleComponentMdiZorderPropertyInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint ObjectAccessibleComponentMdiZorderPropertyInfo = (~) ()+ type AttrBaseTypeConstraint ObjectAccessibleComponentMdiZorderPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleComponentMdiZorderPropertyInfo = Int32+ type AttrLabel ObjectAccessibleComponentMdiZorderPropertyInfo = "accessible-component-mdi-zorder"+ type AttrOrigin ObjectAccessibleComponentMdiZorderPropertyInfo = Object+ attrGet _ = getObjectAccessibleComponentMdiZorder+ attrSet _ = undefined+ attrConstruct _ = undefined+ attrClear _ = undefined+#endif++-- VVV Prop "accessible-description"+ -- Type: TBasicType TUTF8+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-description@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleDescription+@+-}+getObjectAccessibleDescription :: (MonadIO m, IsObject o) => o -> m (Maybe T.Text)+getObjectAccessibleDescription obj = liftIO $ B.Properties.getObjectPropertyString obj "accessible-description"++{- |+Set the value of the “@accessible-description@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleDescription 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleDescription :: (MonadIO m, IsObject o) => o -> T.Text -> m ()+setObjectAccessibleDescription obj val = liftIO $ B.Properties.setObjectPropertyString obj "accessible-description" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-description@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleDescription :: (IsObject o) => T.Text -> IO (GValueConstruct o)+constructObjectAccessibleDescription val = B.Properties.constructObjectPropertyString "accessible-description" (Just val)++{- |+Set the value of the “@accessible-description@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #accessibleDescription+@+-}+clearObjectAccessibleDescription :: (MonadIO m, IsObject o) => o -> m ()+clearObjectAccessibleDescription obj = liftIO $ B.Properties.setObjectPropertyString obj "accessible-description" (Nothing :: Maybe T.Text)++#if ENABLE_OVERLOADING+data ObjectAccessibleDescriptionPropertyInfo+instance AttrInfo ObjectAccessibleDescriptionPropertyInfo where+ type AttrAllowedOps ObjectAccessibleDescriptionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint ObjectAccessibleDescriptionPropertyInfo = (~) T.Text+ type AttrBaseTypeConstraint ObjectAccessibleDescriptionPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleDescriptionPropertyInfo = (Maybe T.Text)+ type AttrLabel ObjectAccessibleDescriptionPropertyInfo = "accessible-description"+ type AttrOrigin ObjectAccessibleDescriptionPropertyInfo = Object+ attrGet _ = getObjectAccessibleDescription+ attrSet _ = setObjectAccessibleDescription+ attrConstruct _ = constructObjectAccessibleDescription+ attrClear _ = clearObjectAccessibleDescription+#endif++-- VVV Prop "accessible-hypertext-nlinks"+ -- Type: TBasicType TInt+ -- Flags: [PropertyReadable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-hypertext-nlinks@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleHypertextNlinks+@+-}+getObjectAccessibleHypertextNlinks :: (MonadIO m, IsObject o) => o -> m Int32+getObjectAccessibleHypertextNlinks obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "accessible-hypertext-nlinks"++#if ENABLE_OVERLOADING+data ObjectAccessibleHypertextNlinksPropertyInfo+instance AttrInfo ObjectAccessibleHypertextNlinksPropertyInfo where+ type AttrAllowedOps ObjectAccessibleHypertextNlinksPropertyInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint ObjectAccessibleHypertextNlinksPropertyInfo = (~) ()+ type AttrBaseTypeConstraint ObjectAccessibleHypertextNlinksPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleHypertextNlinksPropertyInfo = Int32+ type AttrLabel ObjectAccessibleHypertextNlinksPropertyInfo = "accessible-hypertext-nlinks"+ type AttrOrigin ObjectAccessibleHypertextNlinksPropertyInfo = Object+ attrGet _ = getObjectAccessibleHypertextNlinks+ attrSet _ = undefined+ attrConstruct _ = undefined+ attrClear _ = undefined+#endif++-- VVV Prop "accessible-name"+ -- Type: TBasicType TUTF8+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-name@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleName+@+-}+getObjectAccessibleName :: (MonadIO m, IsObject o) => o -> m (Maybe T.Text)+getObjectAccessibleName obj = liftIO $ B.Properties.getObjectPropertyString obj "accessible-name"++{- |+Set the value of the “@accessible-name@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleName 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleName :: (MonadIO m, IsObject o) => o -> T.Text -> m ()+setObjectAccessibleName obj val = liftIO $ B.Properties.setObjectPropertyString obj "accessible-name" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleName :: (IsObject o) => T.Text -> IO (GValueConstruct o)+constructObjectAccessibleName val = B.Properties.constructObjectPropertyString "accessible-name" (Just val)++{- |+Set the value of the “@accessible-name@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #accessibleName+@+-}+clearObjectAccessibleName :: (MonadIO m, IsObject o) => o -> m ()+clearObjectAccessibleName obj = liftIO $ B.Properties.setObjectPropertyString obj "accessible-name" (Nothing :: Maybe T.Text)++#if ENABLE_OVERLOADING+data ObjectAccessibleNamePropertyInfo+instance AttrInfo ObjectAccessibleNamePropertyInfo where+ type AttrAllowedOps ObjectAccessibleNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint ObjectAccessibleNamePropertyInfo = (~) T.Text+ type AttrBaseTypeConstraint ObjectAccessibleNamePropertyInfo = IsObject+ type AttrGetType ObjectAccessibleNamePropertyInfo = (Maybe T.Text)+ type AttrLabel ObjectAccessibleNamePropertyInfo = "accessible-name"+ type AttrOrigin ObjectAccessibleNamePropertyInfo = Object+ attrGet _ = getObjectAccessibleName+ attrSet _ = setObjectAccessibleName+ attrConstruct _ = constructObjectAccessibleName+ attrClear _ = clearObjectAccessibleName+#endif++-- VVV Prop "accessible-parent"+ -- Type: TInterface (Name {namespace = "Atk", name = "Object"})+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-parent@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleParent+@+-}+getObjectAccessibleParent :: (MonadIO m, IsObject o) => o -> m (Maybe Object)+getObjectAccessibleParent obj = liftIO $ B.Properties.getObjectPropertyObject obj "accessible-parent" Object++{- |+Set the value of the “@accessible-parent@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleParent 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleParent :: (MonadIO m, IsObject o, IsObject a) => o -> a -> m ()+setObjectAccessibleParent obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accessible-parent" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-parent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleParent :: (IsObject o, IsObject a) => a -> IO (GValueConstruct o)+constructObjectAccessibleParent val = B.Properties.constructObjectPropertyObject "accessible-parent" (Just val)++{- |+Set the value of the “@accessible-parent@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #accessibleParent+@+-}+clearObjectAccessibleParent :: (MonadIO m, IsObject o) => o -> m ()+clearObjectAccessibleParent obj = liftIO $ B.Properties.setObjectPropertyObject obj "accessible-parent" (Nothing :: Maybe Object)++#if ENABLE_OVERLOADING+data ObjectAccessibleParentPropertyInfo+instance AttrInfo ObjectAccessibleParentPropertyInfo where+ type AttrAllowedOps ObjectAccessibleParentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint ObjectAccessibleParentPropertyInfo = IsObject+ type AttrBaseTypeConstraint ObjectAccessibleParentPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleParentPropertyInfo = (Maybe Object)+ type AttrLabel ObjectAccessibleParentPropertyInfo = "accessible-parent"+ type AttrOrigin ObjectAccessibleParentPropertyInfo = Object+ attrGet _ = getObjectAccessibleParent+ attrSet _ = setObjectAccessibleParent+ attrConstruct _ = constructObjectAccessibleParent+ attrClear _ = clearObjectAccessibleParent+#endif++-- VVV Prop "accessible-role"+ -- Type: TInterface (Name {namespace = "Atk", name = "Role"})+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-role@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleRole+@+-}+getObjectAccessibleRole :: (MonadIO m, IsObject o) => o -> m Atk.Enums.Role+getObjectAccessibleRole obj = liftIO $ B.Properties.getObjectPropertyEnum obj "accessible-role"++{- |+Set the value of the “@accessible-role@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleRole 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleRole :: (MonadIO m, IsObject o) => o -> Atk.Enums.Role -> m ()+setObjectAccessibleRole obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "accessible-role" val++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-role@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleRole :: (IsObject o) => Atk.Enums.Role -> IO (GValueConstruct o)+constructObjectAccessibleRole val = B.Properties.constructObjectPropertyEnum "accessible-role" val++#if ENABLE_OVERLOADING+data ObjectAccessibleRolePropertyInfo+instance AttrInfo ObjectAccessibleRolePropertyInfo where+ type AttrAllowedOps ObjectAccessibleRolePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint ObjectAccessibleRolePropertyInfo = (~) Atk.Enums.Role+ type AttrBaseTypeConstraint ObjectAccessibleRolePropertyInfo = IsObject+ type AttrGetType ObjectAccessibleRolePropertyInfo = Atk.Enums.Role+ type AttrLabel ObjectAccessibleRolePropertyInfo = "accessible-role"+ type AttrOrigin ObjectAccessibleRolePropertyInfo = Object+ attrGet _ = getObjectAccessibleRole+ attrSet _ = setObjectAccessibleRole+ attrConstruct _ = constructObjectAccessibleRole+ attrClear _ = undefined+#endif++-- VVV Prop "accessible-table-caption"+ -- Type: TBasicType TUTF8+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-table-caption@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleTableCaption+@+-}+getObjectAccessibleTableCaption :: (MonadIO m, IsObject o) => o -> m (Maybe T.Text)+getObjectAccessibleTableCaption obj = liftIO $ B.Properties.getObjectPropertyString obj "accessible-table-caption"++{- |+Set the value of the “@accessible-table-caption@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleTableCaption 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleTableCaption :: (MonadIO m, IsObject o) => o -> T.Text -> m ()+setObjectAccessibleTableCaption obj val = liftIO $ B.Properties.setObjectPropertyString obj "accessible-table-caption" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-table-caption@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleTableCaption :: (IsObject o) => T.Text -> IO (GValueConstruct o)+constructObjectAccessibleTableCaption val = B.Properties.constructObjectPropertyString "accessible-table-caption" (Just val)++{- |+Set the value of the “@accessible-table-caption@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #accessibleTableCaption+@+-}+clearObjectAccessibleTableCaption :: (MonadIO m, IsObject o) => o -> m ()+clearObjectAccessibleTableCaption obj = liftIO $ B.Properties.setObjectPropertyString obj "accessible-table-caption" (Nothing :: Maybe T.Text)++#if ENABLE_OVERLOADING+data ObjectAccessibleTableCaptionPropertyInfo+instance AttrInfo ObjectAccessibleTableCaptionPropertyInfo where+ type AttrAllowedOps ObjectAccessibleTableCaptionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint ObjectAccessibleTableCaptionPropertyInfo = (~) T.Text+ type AttrBaseTypeConstraint ObjectAccessibleTableCaptionPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleTableCaptionPropertyInfo = (Maybe T.Text)+ type AttrLabel ObjectAccessibleTableCaptionPropertyInfo = "accessible-table-caption"+ type AttrOrigin ObjectAccessibleTableCaptionPropertyInfo = Object+ attrGet _ = getObjectAccessibleTableCaption+ attrSet _ = setObjectAccessibleTableCaption+ attrConstruct _ = constructObjectAccessibleTableCaption+ attrClear _ = clearObjectAccessibleTableCaption+#endif++-- VVV Prop "accessible-table-caption-object"+ -- Type: TInterface (Name {namespace = "Atk", name = "Object"})+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-table-caption-object@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleTableCaptionObject+@+-}+getObjectAccessibleTableCaptionObject :: (MonadIO m, IsObject o) => o -> m (Maybe Object)+getObjectAccessibleTableCaptionObject obj = liftIO $ B.Properties.getObjectPropertyObject obj "accessible-table-caption-object" Object++{- |+Set the value of the “@accessible-table-caption-object@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleTableCaptionObject 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleTableCaptionObject :: (MonadIO m, IsObject o, IsObject a) => o -> a -> m ()+setObjectAccessibleTableCaptionObject obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accessible-table-caption-object" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-table-caption-object@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleTableCaptionObject :: (IsObject o, IsObject a) => a -> IO (GValueConstruct o)+constructObjectAccessibleTableCaptionObject val = B.Properties.constructObjectPropertyObject "accessible-table-caption-object" (Just val)++{- |+Set the value of the “@accessible-table-caption-object@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #accessibleTableCaptionObject+@+-}+clearObjectAccessibleTableCaptionObject :: (MonadIO m, IsObject o) => o -> m ()+clearObjectAccessibleTableCaptionObject obj = liftIO $ B.Properties.setObjectPropertyObject obj "accessible-table-caption-object" (Nothing :: Maybe Object)++#if ENABLE_OVERLOADING+data ObjectAccessibleTableCaptionObjectPropertyInfo+instance AttrInfo ObjectAccessibleTableCaptionObjectPropertyInfo where+ type AttrAllowedOps ObjectAccessibleTableCaptionObjectPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint ObjectAccessibleTableCaptionObjectPropertyInfo = IsObject+ type AttrBaseTypeConstraint ObjectAccessibleTableCaptionObjectPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleTableCaptionObjectPropertyInfo = (Maybe Object)+ type AttrLabel ObjectAccessibleTableCaptionObjectPropertyInfo = "accessible-table-caption-object"+ type AttrOrigin ObjectAccessibleTableCaptionObjectPropertyInfo = Object+ attrGet _ = getObjectAccessibleTableCaptionObject+ attrSet _ = setObjectAccessibleTableCaptionObject+ attrConstruct _ = constructObjectAccessibleTableCaptionObject+ attrClear _ = clearObjectAccessibleTableCaptionObject+#endif++-- VVV Prop "accessible-table-column-description"+ -- Type: TBasicType TUTF8+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-table-column-description@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleTableColumnDescription+@+-}+getObjectAccessibleTableColumnDescription :: (MonadIO m, IsObject o) => o -> m (Maybe T.Text)+getObjectAccessibleTableColumnDescription obj = liftIO $ B.Properties.getObjectPropertyString obj "accessible-table-column-description"++{- |+Set the value of the “@accessible-table-column-description@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleTableColumnDescription 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleTableColumnDescription :: (MonadIO m, IsObject o) => o -> T.Text -> m ()+setObjectAccessibleTableColumnDescription obj val = liftIO $ B.Properties.setObjectPropertyString obj "accessible-table-column-description" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-table-column-description@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleTableColumnDescription :: (IsObject o) => T.Text -> IO (GValueConstruct o)+constructObjectAccessibleTableColumnDescription val = B.Properties.constructObjectPropertyString "accessible-table-column-description" (Just val)++{- |+Set the value of the “@accessible-table-column-description@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #accessibleTableColumnDescription+@+-}+clearObjectAccessibleTableColumnDescription :: (MonadIO m, IsObject o) => o -> m ()+clearObjectAccessibleTableColumnDescription obj = liftIO $ B.Properties.setObjectPropertyString obj "accessible-table-column-description" (Nothing :: Maybe T.Text)++#if ENABLE_OVERLOADING+data ObjectAccessibleTableColumnDescriptionPropertyInfo+instance AttrInfo ObjectAccessibleTableColumnDescriptionPropertyInfo where+ type AttrAllowedOps ObjectAccessibleTableColumnDescriptionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint ObjectAccessibleTableColumnDescriptionPropertyInfo = (~) T.Text+ type AttrBaseTypeConstraint ObjectAccessibleTableColumnDescriptionPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleTableColumnDescriptionPropertyInfo = (Maybe T.Text)+ type AttrLabel ObjectAccessibleTableColumnDescriptionPropertyInfo = "accessible-table-column-description"+ type AttrOrigin ObjectAccessibleTableColumnDescriptionPropertyInfo = Object+ attrGet _ = getObjectAccessibleTableColumnDescription+ attrSet _ = setObjectAccessibleTableColumnDescription+ attrConstruct _ = constructObjectAccessibleTableColumnDescription+ attrClear _ = clearObjectAccessibleTableColumnDescription+#endif++-- VVV Prop "accessible-table-column-header"+ -- Type: TInterface (Name {namespace = "Atk", name = "Object"})+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-table-column-header@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleTableColumnHeader+@+-}+getObjectAccessibleTableColumnHeader :: (MonadIO m, IsObject o) => o -> m (Maybe Object)+getObjectAccessibleTableColumnHeader obj = liftIO $ B.Properties.getObjectPropertyObject obj "accessible-table-column-header" Object++{- |+Set the value of the “@accessible-table-column-header@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleTableColumnHeader 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleTableColumnHeader :: (MonadIO m, IsObject o, IsObject a) => o -> a -> m ()+setObjectAccessibleTableColumnHeader obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accessible-table-column-header" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-table-column-header@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleTableColumnHeader :: (IsObject o, IsObject a) => a -> IO (GValueConstruct o)+constructObjectAccessibleTableColumnHeader val = B.Properties.constructObjectPropertyObject "accessible-table-column-header" (Just val)++{- |+Set the value of the “@accessible-table-column-header@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #accessibleTableColumnHeader+@+-}+clearObjectAccessibleTableColumnHeader :: (MonadIO m, IsObject o) => o -> m ()+clearObjectAccessibleTableColumnHeader obj = liftIO $ B.Properties.setObjectPropertyObject obj "accessible-table-column-header" (Nothing :: Maybe Object)++#if ENABLE_OVERLOADING+data ObjectAccessibleTableColumnHeaderPropertyInfo+instance AttrInfo ObjectAccessibleTableColumnHeaderPropertyInfo where+ type AttrAllowedOps ObjectAccessibleTableColumnHeaderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint ObjectAccessibleTableColumnHeaderPropertyInfo = IsObject+ type AttrBaseTypeConstraint ObjectAccessibleTableColumnHeaderPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleTableColumnHeaderPropertyInfo = (Maybe Object)+ type AttrLabel ObjectAccessibleTableColumnHeaderPropertyInfo = "accessible-table-column-header"+ type AttrOrigin ObjectAccessibleTableColumnHeaderPropertyInfo = Object+ attrGet _ = getObjectAccessibleTableColumnHeader+ attrSet _ = setObjectAccessibleTableColumnHeader+ attrConstruct _ = constructObjectAccessibleTableColumnHeader+ attrClear _ = clearObjectAccessibleTableColumnHeader+#endif++-- VVV Prop "accessible-table-row-description"+ -- Type: TBasicType TUTF8+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-table-row-description@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleTableRowDescription+@+-}+getObjectAccessibleTableRowDescription :: (MonadIO m, IsObject o) => o -> m (Maybe T.Text)+getObjectAccessibleTableRowDescription obj = liftIO $ B.Properties.getObjectPropertyString obj "accessible-table-row-description"++{- |+Set the value of the “@accessible-table-row-description@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleTableRowDescription 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleTableRowDescription :: (MonadIO m, IsObject o) => o -> T.Text -> m ()+setObjectAccessibleTableRowDescription obj val = liftIO $ B.Properties.setObjectPropertyString obj "accessible-table-row-description" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-table-row-description@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleTableRowDescription :: (IsObject o) => T.Text -> IO (GValueConstruct o)+constructObjectAccessibleTableRowDescription val = B.Properties.constructObjectPropertyString "accessible-table-row-description" (Just val)++{- |+Set the value of the “@accessible-table-row-description@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #accessibleTableRowDescription+@+-}+clearObjectAccessibleTableRowDescription :: (MonadIO m, IsObject o) => o -> m ()+clearObjectAccessibleTableRowDescription obj = liftIO $ B.Properties.setObjectPropertyString obj "accessible-table-row-description" (Nothing :: Maybe T.Text)++#if ENABLE_OVERLOADING+data ObjectAccessibleTableRowDescriptionPropertyInfo+instance AttrInfo ObjectAccessibleTableRowDescriptionPropertyInfo where+ type AttrAllowedOps ObjectAccessibleTableRowDescriptionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint ObjectAccessibleTableRowDescriptionPropertyInfo = (~) T.Text+ type AttrBaseTypeConstraint ObjectAccessibleTableRowDescriptionPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleTableRowDescriptionPropertyInfo = (Maybe T.Text)+ type AttrLabel ObjectAccessibleTableRowDescriptionPropertyInfo = "accessible-table-row-description"+ type AttrOrigin ObjectAccessibleTableRowDescriptionPropertyInfo = Object+ attrGet _ = getObjectAccessibleTableRowDescription+ attrSet _ = setObjectAccessibleTableRowDescription+ attrConstruct _ = constructObjectAccessibleTableRowDescription+ attrClear _ = clearObjectAccessibleTableRowDescription+#endif++-- VVV Prop "accessible-table-row-header"+ -- Type: TInterface (Name {namespace = "Atk", name = "Object"})+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-table-row-header@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleTableRowHeader+@+-}+getObjectAccessibleTableRowHeader :: (MonadIO m, IsObject o) => o -> m (Maybe Object)+getObjectAccessibleTableRowHeader obj = liftIO $ B.Properties.getObjectPropertyObject obj "accessible-table-row-header" Object++{- |+Set the value of the “@accessible-table-row-header@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleTableRowHeader 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleTableRowHeader :: (MonadIO m, IsObject o, IsObject a) => o -> a -> m ()+setObjectAccessibleTableRowHeader obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accessible-table-row-header" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-table-row-header@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleTableRowHeader :: (IsObject o, IsObject a) => a -> IO (GValueConstruct o)+constructObjectAccessibleTableRowHeader val = B.Properties.constructObjectPropertyObject "accessible-table-row-header" (Just val)++{- |+Set the value of the “@accessible-table-row-header@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #accessibleTableRowHeader+@+-}+clearObjectAccessibleTableRowHeader :: (MonadIO m, IsObject o) => o -> m ()+clearObjectAccessibleTableRowHeader obj = liftIO $ B.Properties.setObjectPropertyObject obj "accessible-table-row-header" (Nothing :: Maybe Object)++#if ENABLE_OVERLOADING+data ObjectAccessibleTableRowHeaderPropertyInfo+instance AttrInfo ObjectAccessibleTableRowHeaderPropertyInfo where+ type AttrAllowedOps ObjectAccessibleTableRowHeaderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint ObjectAccessibleTableRowHeaderPropertyInfo = IsObject+ type AttrBaseTypeConstraint ObjectAccessibleTableRowHeaderPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleTableRowHeaderPropertyInfo = (Maybe Object)+ type AttrLabel ObjectAccessibleTableRowHeaderPropertyInfo = "accessible-table-row-header"+ type AttrOrigin ObjectAccessibleTableRowHeaderPropertyInfo = Object+ attrGet _ = getObjectAccessibleTableRowHeader+ attrSet _ = setObjectAccessibleTableRowHeader+ attrConstruct _ = constructObjectAccessibleTableRowHeader+ attrClear _ = clearObjectAccessibleTableRowHeader+#endif++-- VVV Prop "accessible-table-summary"+ -- Type: TInterface (Name {namespace = "Atk", name = "Object"})+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-table-summary@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleTableSummary+@+-}+getObjectAccessibleTableSummary :: (MonadIO m, IsObject o) => o -> m (Maybe Object)+getObjectAccessibleTableSummary obj = liftIO $ B.Properties.getObjectPropertyObject obj "accessible-table-summary" Object++{- |+Set the value of the “@accessible-table-summary@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleTableSummary 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleTableSummary :: (MonadIO m, IsObject o, IsObject a) => o -> a -> m ()+setObjectAccessibleTableSummary obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accessible-table-summary" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-table-summary@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleTableSummary :: (IsObject o, IsObject a) => a -> IO (GValueConstruct o)+constructObjectAccessibleTableSummary val = B.Properties.constructObjectPropertyObject "accessible-table-summary" (Just val)++{- |+Set the value of the “@accessible-table-summary@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #accessibleTableSummary+@+-}+clearObjectAccessibleTableSummary :: (MonadIO m, IsObject o) => o -> m ()+clearObjectAccessibleTableSummary obj = liftIO $ B.Properties.setObjectPropertyObject obj "accessible-table-summary" (Nothing :: Maybe Object)++#if ENABLE_OVERLOADING+data ObjectAccessibleTableSummaryPropertyInfo+instance AttrInfo ObjectAccessibleTableSummaryPropertyInfo where+ type AttrAllowedOps ObjectAccessibleTableSummaryPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint ObjectAccessibleTableSummaryPropertyInfo = IsObject+ type AttrBaseTypeConstraint ObjectAccessibleTableSummaryPropertyInfo = IsObject+ type AttrGetType ObjectAccessibleTableSummaryPropertyInfo = (Maybe Object)+ type AttrLabel ObjectAccessibleTableSummaryPropertyInfo = "accessible-table-summary"+ type AttrOrigin ObjectAccessibleTableSummaryPropertyInfo = Object+ attrGet _ = getObjectAccessibleTableSummary+ attrSet _ = setObjectAccessibleTableSummary+ attrConstruct _ = constructObjectAccessibleTableSummary+ attrClear _ = clearObjectAccessibleTableSummary+#endif++-- VVV Prop "accessible-value"+ -- Type: TBasicType TDouble+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@accessible-value@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' object #accessibleValue+@+-}+getObjectAccessibleValue :: (MonadIO m, IsObject o) => o -> m Double+getObjectAccessibleValue obj = liftIO $ B.Properties.getObjectPropertyDouble obj "accessible-value"++{- |+Set the value of the “@accessible-value@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' object [ #accessibleValue 'Data.GI.Base.Attributes.:=' value ]+@+-}+setObjectAccessibleValue :: (MonadIO m, IsObject o) => o -> Double -> m ()+setObjectAccessibleValue obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "accessible-value" val++{- |+Construct a `GValueConstruct` with valid value for the “@accessible-value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructObjectAccessibleValue :: (IsObject o) => Double -> IO (GValueConstruct o)+constructObjectAccessibleValue val = B.Properties.constructObjectPropertyDouble "accessible-value" val++#if ENABLE_OVERLOADING+data ObjectAccessibleValuePropertyInfo+instance AttrInfo ObjectAccessibleValuePropertyInfo where+ type AttrAllowedOps ObjectAccessibleValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint ObjectAccessibleValuePropertyInfo = (~) Double+ type AttrBaseTypeConstraint ObjectAccessibleValuePropertyInfo = IsObject+ type AttrGetType ObjectAccessibleValuePropertyInfo = Double+ type AttrLabel ObjectAccessibleValuePropertyInfo = "accessible-value"+ type AttrOrigin ObjectAccessibleValuePropertyInfo = Object+ attrGet _ = getObjectAccessibleValue+ attrSet _ = setObjectAccessibleValue+ attrConstruct _ = constructObjectAccessibleValue+ attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Object+type instance O.AttributeList Object = ObjectAttributeList+type ObjectAttributeList = ('[ '("accessibleComponentLayer", ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", ObjectAccessibleNamePropertyInfo), '("accessibleParent", ObjectAccessibleParentPropertyInfo), '("accessibleRole", ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+objectAccessibleComponentLayer :: AttrLabelProxy "accessibleComponentLayer"+objectAccessibleComponentLayer = AttrLabelProxy++objectAccessibleComponentMdiZorder :: AttrLabelProxy "accessibleComponentMdiZorder"+objectAccessibleComponentMdiZorder = AttrLabelProxy++objectAccessibleDescription :: AttrLabelProxy "accessibleDescription"+objectAccessibleDescription = AttrLabelProxy++objectAccessibleHypertextNlinks :: AttrLabelProxy "accessibleHypertextNlinks"+objectAccessibleHypertextNlinks = AttrLabelProxy++objectAccessibleName :: AttrLabelProxy "accessibleName"+objectAccessibleName = AttrLabelProxy++objectAccessibleParent :: AttrLabelProxy "accessibleParent"+objectAccessibleParent = AttrLabelProxy++objectAccessibleRole :: AttrLabelProxy "accessibleRole"+objectAccessibleRole = AttrLabelProxy++objectAccessibleTableCaption :: AttrLabelProxy "accessibleTableCaption"+objectAccessibleTableCaption = AttrLabelProxy++objectAccessibleTableCaptionObject :: AttrLabelProxy "accessibleTableCaptionObject"+objectAccessibleTableCaptionObject = AttrLabelProxy++objectAccessibleTableColumnDescription :: AttrLabelProxy "accessibleTableColumnDescription"+objectAccessibleTableColumnDescription = AttrLabelProxy++objectAccessibleTableColumnHeader :: AttrLabelProxy "accessibleTableColumnHeader"+objectAccessibleTableColumnHeader = AttrLabelProxy++objectAccessibleTableRowDescription :: AttrLabelProxy "accessibleTableRowDescription"+objectAccessibleTableRowDescription = AttrLabelProxy++objectAccessibleTableRowHeader :: AttrLabelProxy "accessibleTableRowHeader"+objectAccessibleTableRowHeader = AttrLabelProxy++objectAccessibleTableSummary :: AttrLabelProxy "accessibleTableSummary"+objectAccessibleTableSummary = AttrLabelProxy++objectAccessibleValue :: AttrLabelProxy "accessibleValue"+objectAccessibleValue = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data ObjectActiveDescendantChangedSignalInfo+instance SignalInfo ObjectActiveDescendantChangedSignalInfo where+ type HaskellCallbackType ObjectActiveDescendantChangedSignalInfo = ObjectActiveDescendantChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_ObjectActiveDescendantChangedCallback cb+ cb'' <- mk_ObjectActiveDescendantChangedCallback cb'+ connectSignalFunPtr obj "active-descendant-changed" cb'' connectMode++data ObjectChildrenChangedSignalInfo+instance SignalInfo ObjectChildrenChangedSignalInfo where+ type HaskellCallbackType ObjectChildrenChangedSignalInfo = ObjectChildrenChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_ObjectChildrenChangedCallback cb+ cb'' <- mk_ObjectChildrenChangedCallback cb'+ connectSignalFunPtr obj "children-changed" cb'' connectMode++data ObjectFocusEventSignalInfo+instance SignalInfo ObjectFocusEventSignalInfo where+ type HaskellCallbackType ObjectFocusEventSignalInfo = ObjectFocusEventCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_ObjectFocusEventCallback cb+ cb'' <- mk_ObjectFocusEventCallback cb'+ connectSignalFunPtr obj "focus-event" cb'' connectMode++data ObjectPropertyChangeSignalInfo+instance SignalInfo ObjectPropertyChangeSignalInfo where+ type HaskellCallbackType ObjectPropertyChangeSignalInfo = ObjectPropertyChangeCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_ObjectPropertyChangeCallback cb+ cb'' <- mk_ObjectPropertyChangeCallback cb'+ connectSignalFunPtr obj "property-change" cb'' connectMode++data ObjectStateChangeSignalInfo+instance SignalInfo ObjectStateChangeSignalInfo where+ type HaskellCallbackType ObjectStateChangeSignalInfo = ObjectStateChangeCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_ObjectStateChangeCallback cb+ cb'' <- mk_ObjectStateChangeCallback cb'+ connectSignalFunPtr obj "state-change" cb'' connectMode++data ObjectVisibleDataChangedSignalInfo+instance SignalInfo ObjectVisibleDataChangedSignalInfo where+ type HaskellCallbackType ObjectVisibleDataChangedSignalInfo = ObjectVisibleDataChangedCallback+ connectSignal _ obj cb connectMode = do+ let cb' = wrap_ObjectVisibleDataChangedCallback cb+ cb'' <- mk_ObjectVisibleDataChangedCallback cb'+ connectSignalFunPtr obj "visible-data-changed" cb'' connectMode++type instance O.SignalList Object = ObjectSignalList+type ObjectSignalList = ('[ '("activeDescendantChanged", ObjectActiveDescendantChangedSignalInfo), '("childrenChanged", ObjectChildrenChangedSignalInfo), '("focusEvent", ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", ObjectPropertyChangeSignalInfo), '("stateChange", ObjectStateChangeSignalInfo), '("visibleDataChanged", ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])++#endif++-- method Object::add_relationship+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #AtkObject to which an AtkRelation is to be added.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface (Name {namespace = "Atk", name = "RelationType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #AtkRelationType of the relation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #AtkObject which is to be the target of the relation.", 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 "atk_object_add_relationship" atk_object_add_relationship :: + Ptr Object -> -- object : TInterface (Name {namespace = "Atk", name = "Object"})+ CUInt -> -- relationship : TInterface (Name {namespace = "Atk", name = "RelationType"})+ Ptr Object -> -- target : TInterface (Name {namespace = "Atk", name = "Object"})+ IO CInt++{- |+Adds a relationship of the specified type with the specified target.+-}+objectAddRelationship ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>+ a+ {- ^ /@object@/: The 'GI.Atk.Objects.Object.Object' to which an AtkRelation is to be added. -}+ -> Atk.Enums.RelationType+ {- ^ /@relationship@/: The 'GI.Atk.Enums.RelationType' of the relation -}+ -> b+ {- ^ /@target@/: The 'GI.Atk.Objects.Object.Object' which is to be the target of the relation. -}+ -> m Bool+ {- ^ __Returns:__ TRUE if the relationship is added. -}+objectAddRelationship object relationship target = liftIO $ do+ object' <- unsafeManagedPtrCastPtr object+ let relationship' = (fromIntegral . fromEnum) relationship+ target' <- unsafeManagedPtrCastPtr target+ result <- atk_object_add_relationship object' relationship' target'+ let result' = (/= 0) result+ touchManagedPtr object+ touchManagedPtr target+ return result'++#if ENABLE_OVERLOADING+data ObjectAddRelationshipMethodInfo+instance (signature ~ (Atk.Enums.RelationType -> b -> m Bool), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectAddRelationshipMethodInfo a signature where+ overloadedMethod _ = objectAddRelationship++#endif++-- method Object::get_attributes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #AtkObject.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGSList (TBasicType TPtr))+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_get_attributes" atk_object_get_attributes :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO (Ptr (GSList (Ptr ())))++{- |+Get a list of properties applied to this object as a whole, as an @/AtkAttributeSet/@ consisting of+name-value pairs. As such these attributes may be considered weakly-typed properties or annotations,+as distinct from strongly-typed object data available via other get\/set methods.+Not all objects have explicit \"name-value pair\" @/AtkAttributeSet/@ properties.++/Since: 1.12/+-}+objectGetAttributes ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: An 'GI.Atk.Objects.Object.Object'. -}+ -> m ([Ptr ()])+ {- ^ __Returns:__ an @/AtkAttributeSet/@ consisting of all+explicit properties\/annotations applied to the object, or an empty+set if the object has no name-value pair attributes assigned to+it. This @/atkattributeset/@ should be freed by a call to+'GI.Atk.Functions.attributeSetFree'. -}+objectGetAttributes accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_get_attributes accessible'+ result' <- unpackGSList result+ g_slist_free result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectGetAttributesMethodInfo+instance (signature ~ (m ([Ptr ()])), MonadIO m, IsObject a) => O.MethodInfo ObjectGetAttributesMethodInfo a signature where+ overloadedMethod _ = objectGetAttributes++#endif++-- method Object::get_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", 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 "atk_object_get_description" atk_object_get_description :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO CString++{- |+Gets the accessible description of the accessible.+-}+objectGetDescription ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m T.Text+ {- ^ __Returns:__ a character string representing the accessible description+of the accessible. -}+objectGetDescription accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_get_description accessible'+ checkUnexpectedReturnNULL "objectGetDescription" result+ result' <- cstringToText result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectGetDescriptionMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsObject a) => O.MethodInfo ObjectGetDescriptionMethodInfo a signature where+ overloadedMethod _ = objectGetDescription++#endif++-- method Object::get_index_in_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", 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 "atk_object_get_index_in_parent" atk_object_get_index_in_parent :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO Int32++{- |+Gets the 0-based index of this accessible in its parent; returns -1 if the+accessible does not have an accessible parent.+-}+objectGetIndexInParent ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Int32+ {- ^ __Returns:__ an integer which is the index of the accessible in its parent -}+objectGetIndexInParent accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_get_index_in_parent accessible'+ touchManagedPtr accessible+ return result++#if ENABLE_OVERLOADING+data ObjectGetIndexInParentMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsObject a) => O.MethodInfo ObjectGetIndexInParentMethodInfo a signature where+ overloadedMethod _ = objectGetIndexInParent++#endif++-- method Object::get_layer+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Layer"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_get_layer" atk_object_get_layer :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO CUInt++{-# DEPRECATED objectGetLayer ["Use atk_component_get_layer instead."] #-}+{- |+Gets the layer of the accessible.+-}+objectGetLayer ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Atk.Enums.Layer+ {- ^ __Returns:__ an 'GI.Atk.Enums.Layer' which is the layer of the accessible -}+objectGetLayer accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_get_layer accessible'+ let result' = (toEnum . fromIntegral) result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectGetLayerMethodInfo+instance (signature ~ (m Atk.Enums.Layer), MonadIO m, IsObject a) => O.MethodInfo ObjectGetLayerMethodInfo a signature where+ overloadedMethod _ = objectGetLayer++#endif++-- method Object::get_mdi_zorder+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", 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 "atk_object_get_mdi_zorder" atk_object_get_mdi_zorder :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO Int32++{-# DEPRECATED objectGetMdiZorder ["Use atk_component_get_mdi_zorder instead."] #-}+{- |+Gets the zorder of the accessible. The value G_MININT will be returned+if the layer of the accessible is not ATK_LAYER_MDI.+-}+objectGetMdiZorder ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Int32+ {- ^ __Returns:__ a gint which is the zorder of the accessible, i.e. the depth at+which the component is shown in relation to other components in the same+container. -}+objectGetMdiZorder accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_get_mdi_zorder accessible'+ touchManagedPtr accessible+ return result++#if ENABLE_OVERLOADING+data ObjectGetMdiZorderMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsObject a) => O.MethodInfo ObjectGetMdiZorderMethodInfo a signature where+ overloadedMethod _ = objectGetMdiZorder++#endif++-- method Object::get_n_accessible_children+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", 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 "atk_object_get_n_accessible_children" atk_object_get_n_accessible_children :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO Int32++{- |+Gets the number of accessible children of the accessible.+-}+objectGetNAccessibleChildren ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Int32+ {- ^ __Returns:__ an integer representing the number of accessible children+of the accessible. -}+objectGetNAccessibleChildren accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_get_n_accessible_children accessible'+ touchManagedPtr accessible+ return result++#if ENABLE_OVERLOADING+data ObjectGetNAccessibleChildrenMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsObject a) => O.MethodInfo ObjectGetNAccessibleChildrenMethodInfo a signature where+ overloadedMethod _ = objectGetNAccessibleChildren++#endif++-- method Object::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", 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 "atk_object_get_name" atk_object_get_name :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO CString++{- |+Gets the accessible name of the accessible.+-}+objectGetName ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m T.Text+ {- ^ __Returns:__ a character string representing the accessible name of the object. -}+objectGetName accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_get_name accessible'+ checkUnexpectedReturnNULL "objectGetName" result+ result' <- cstringToText result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectGetNameMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsObject a) => O.MethodInfo ObjectGetNameMethodInfo a signature where+ overloadedMethod _ = objectGetName++#endif++-- method Object::get_object_locale+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", 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 "atk_object_get_object_locale" atk_object_get_object_locale :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO CString++{- |+Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale+of /@accessible@/.++/Since: 2.8/+-}+objectGetObjectLocale ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m T.Text+ {- ^ __Returns:__ a UTF-8 string indicating the POSIX-style LC_MESSAGES+ locale of /@accessible@/. -}+objectGetObjectLocale accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_get_object_locale accessible'+ checkUnexpectedReturnNULL "objectGetObjectLocale" result+ result' <- cstringToText result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectGetObjectLocaleMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsObject a) => O.MethodInfo ObjectGetObjectLocaleMethodInfo a signature where+ overloadedMethod _ = objectGetObjectLocale++#endif++-- method Object::get_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_get_parent" atk_object_get_parent :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO (Ptr Object)++{- |+Gets the accessible parent of the accessible. By default this is+the one assigned with 'GI.Atk.Objects.Object.objectSetParent', but it is assumed+that ATK implementors have ways to get the parent of the object+without the need of assigning it manually with+'GI.Atk.Objects.Object.objectSetParent', and will return it with this method.++If you are only interested on the parent assigned with+'GI.Atk.Objects.Object.objectSetParent', use 'GI.Atk.Objects.Object.objectPeekParent'.+-}+objectGetParent ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Object+ {- ^ __Returns:__ an 'GI.Atk.Objects.Object.Object' representing the accessible+parent of the accessible -}+objectGetParent accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_get_parent accessible'+ checkUnexpectedReturnNULL "objectGetParent" result+ result' <- (newObject Object) result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectGetParentMethodInfo+instance (signature ~ (m Object), MonadIO m, IsObject a) => O.MethodInfo ObjectGetParentMethodInfo a signature where+ overloadedMethod _ = objectGetParent++#endif++-- method Object::get_role+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Role"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_get_role" atk_object_get_role :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO CUInt++{- |+Gets the role of the accessible.+-}+objectGetRole ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Atk.Enums.Role+ {- ^ __Returns:__ an 'GI.Atk.Enums.Role' which is the role of the accessible -}+objectGetRole accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_get_role accessible'+ let result' = (toEnum . fromIntegral) result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectGetRoleMethodInfo+instance (signature ~ (m Atk.Enums.Role), MonadIO m, IsObject a) => O.MethodInfo ObjectGetRoleMethodInfo a signature where+ overloadedMethod _ = objectGetRole++#endif++-- method Object::initialize+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #gpointer which identifies the object for which the AtkObject was created.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_initialize" atk_object_initialize :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ Ptr () -> -- data : TBasicType TPtr+ IO ()++{- |+This function is called when implementing subclasses of 'GI.Atk.Objects.Object.Object'.+It does initialization required for the new object. It is intended+that this function should called only in the ...@/_new()/@ functions used+to create an instance of a subclass of 'GI.Atk.Objects.Object.Object'+-}+objectInitialize ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: a 'GI.Atk.Objects.Object.Object' -}+ -> Ptr ()+ {- ^ /@data@/: a @/gpointer/@ which identifies the object for which the AtkObject was created. -}+ -> m ()+objectInitialize accessible data_ = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ atk_object_initialize accessible' data_+ touchManagedPtr accessible+ return ()++#if ENABLE_OVERLOADING+data ObjectInitializeMethodInfo+instance (signature ~ (Ptr () -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectInitializeMethodInfo a signature where+ overloadedMethod _ = objectInitialize++#endif++-- method Object::notify_state_change+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkState whose state is changed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a gboolean which indicates whether the state is being set on or off", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_notify_state_change" atk_object_notify_state_change :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ Word64 -> -- state : TBasicType TUInt64+ CInt -> -- value : TBasicType TBoolean+ IO ()++{- |+Emits a state-change signal for the specified state.++Note that as a general rule when the state of an existing object changes,+emitting a notification is expected.+-}+objectNotifyStateChange ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> Word64+ {- ^ /@state@/: an @/AtkState/@ whose state is changed -}+ -> Bool+ {- ^ /@value@/: a gboolean which indicates whether the state is being set on or off -}+ -> m ()+objectNotifyStateChange accessible state value = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ let value' = (fromIntegral . fromEnum) value+ atk_object_notify_state_change accessible' state value'+ touchManagedPtr accessible+ return ()++#if ENABLE_OVERLOADING+data ObjectNotifyStateChangeMethodInfo+instance (signature ~ (Word64 -> Bool -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectNotifyStateChangeMethodInfo a signature where+ overloadedMethod _ = objectNotifyStateChange++#endif++-- method Object::peek_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_peek_parent" atk_object_peek_parent :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO (Ptr Object)++{- |+Gets the accessible parent of the accessible, if it has been+manually assigned with atk_object_set_parent. Otherwise, this+function returns 'Nothing'.++This method is intended as an utility for ATK implementors, and not+to be exposed to accessible tools. See 'GI.Atk.Objects.Object.objectGetParent' for+further reference.+-}+objectPeekParent ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Object+ {- ^ __Returns:__ an 'GI.Atk.Objects.Object.Object' representing the accessible+parent of the accessible if assigned -}+objectPeekParent accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_peek_parent accessible'+ checkUnexpectedReturnNULL "objectPeekParent" result+ result' <- (newObject Object) result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectPeekParentMethodInfo+instance (signature ~ (m Object), MonadIO m, IsObject a) => O.MethodInfo ObjectPeekParentMethodInfo a signature where+ overloadedMethod _ = objectPeekParent++#endif++-- method Object::ref_accessible_child+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a gint representing the position of the child, starting from 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_ref_accessible_child" atk_object_ref_accessible_child :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ Int32 -> -- i : TBasicType TInt+ IO (Ptr Object)++{- |+Gets a reference to the specified accessible child of the object.+The accessible children are 0-based so the first accessible child is+at index 0, the second at index 1 and so on.+-}+objectRefAccessibleChild ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> Int32+ {- ^ /@i@/: a gint representing the position of the child, starting from 0 -}+ -> m Object+ {- ^ __Returns:__ an 'GI.Atk.Objects.Object.Object' representing the specified+accessible child of the accessible. -}+objectRefAccessibleChild accessible i = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_ref_accessible_child accessible' i+ checkUnexpectedReturnNULL "objectRefAccessibleChild" result+ result' <- (wrapObject Object) result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectRefAccessibleChildMethodInfo+instance (signature ~ (Int32 -> m Object), MonadIO m, IsObject a) => O.MethodInfo ObjectRefAccessibleChildMethodInfo a signature where+ overloadedMethod _ = objectRefAccessibleChild++#endif++-- method Object::ref_relation_set+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "RelationSet"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_ref_relation_set" atk_object_ref_relation_set :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO (Ptr Atk.RelationSet.RelationSet)++{- |+Gets the 'GI.Atk.Objects.RelationSet.RelationSet' associated with the object.+-}+objectRefRelationSet ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Atk.RelationSet.RelationSet+ {- ^ __Returns:__ an 'GI.Atk.Objects.RelationSet.RelationSet' representing the relation set+of the object. -}+objectRefRelationSet accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_ref_relation_set accessible'+ checkUnexpectedReturnNULL "objectRefRelationSet" result+ result' <- (wrapObject Atk.RelationSet.RelationSet) result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectRefRelationSetMethodInfo+instance (signature ~ (m Atk.RelationSet.RelationSet), MonadIO m, IsObject a) => O.MethodInfo ObjectRefRelationSetMethodInfo a signature where+ overloadedMethod _ = objectRefRelationSet++#endif++-- method Object::ref_state_set+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "StateSet"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_ref_state_set" atk_object_ref_state_set :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ IO (Ptr Atk.StateSet.StateSet)++{- |+Gets a reference to the state set of the accessible; the caller must+unreference it when it is no longer needed.+-}+objectRefStateSet ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Atk.StateSet.StateSet+ {- ^ __Returns:__ a reference to an 'GI.Atk.Objects.StateSet.StateSet' which is the state+set of the accessible -}+objectRefStateSet accessible = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ result <- atk_object_ref_state_set accessible'+ checkUnexpectedReturnNULL "objectRefStateSet" result+ result' <- (wrapObject Atk.StateSet.StateSet) result+ touchManagedPtr accessible+ return result'++#if ENABLE_OVERLOADING+data ObjectRefStateSetMethodInfo+instance (signature ~ (m Atk.StateSet.StateSet), MonadIO m, IsObject a) => O.MethodInfo ObjectRefStateSetMethodInfo a signature where+ overloadedMethod _ = objectRefStateSet++#endif++-- method Object::remove_property_change_handler+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a guint which identifies the handler to be removed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_remove_property_change_handler" atk_object_remove_property_change_handler :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ Word32 -> -- handler_id : TBasicType TUInt+ IO ()++{-# DEPRECATED objectRemovePropertyChangeHandler ["Since 2.12.","","Removes a property change handler."] #-}+{- |+/No description available in the introspection data./+-}+objectRemovePropertyChangeHandler ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> Word32+ {- ^ /@handlerId@/: a guint which identifies the handler to be removed. -}+ -> m ()+objectRemovePropertyChangeHandler accessible handlerId = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ atk_object_remove_property_change_handler accessible' handlerId+ touchManagedPtr accessible+ return ()++#if ENABLE_OVERLOADING+data ObjectRemovePropertyChangeHandlerMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectRemovePropertyChangeHandlerMethodInfo a signature where+ overloadedMethod _ = objectRemovePropertyChangeHandler++#endif++-- method Object::remove_relationship+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #AtkObject from which an AtkRelation is to be removed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface (Name {namespace = "Atk", name = "RelationType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #AtkRelationType of the relation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #AtkObject which is the target of the relation to be removed.", 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 "atk_object_remove_relationship" atk_object_remove_relationship :: + Ptr Object -> -- object : TInterface (Name {namespace = "Atk", name = "Object"})+ CUInt -> -- relationship : TInterface (Name {namespace = "Atk", name = "RelationType"})+ Ptr Object -> -- target : TInterface (Name {namespace = "Atk", name = "Object"})+ IO CInt++{- |+Removes a relationship of the specified type with the specified target.+-}+objectRemoveRelationship ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>+ a+ {- ^ /@object@/: The 'GI.Atk.Objects.Object.Object' from which an AtkRelation is to be removed. -}+ -> Atk.Enums.RelationType+ {- ^ /@relationship@/: The 'GI.Atk.Enums.RelationType' of the relation -}+ -> b+ {- ^ /@target@/: The 'GI.Atk.Objects.Object.Object' which is the target of the relation to be removed. -}+ -> m Bool+ {- ^ __Returns:__ TRUE if the relationship is removed. -}+objectRemoveRelationship object relationship target = liftIO $ do+ object' <- unsafeManagedPtrCastPtr object+ let relationship' = (fromIntegral . fromEnum) relationship+ target' <- unsafeManagedPtrCastPtr target+ result <- atk_object_remove_relationship object' relationship' target'+ let result' = (/= 0) result+ touchManagedPtr object+ touchManagedPtr target+ return result'++#if ENABLE_OVERLOADING+data ObjectRemoveRelationshipMethodInfo+instance (signature ~ (Atk.Enums.RelationType -> b -> m Bool), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectRemoveRelationshipMethodInfo a signature where+ overloadedMethod _ = objectRemoveRelationship++#endif++-- method Object::set_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character string to be set as the accessible description", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_set_description" atk_object_set_description :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ CString -> -- description : TBasicType TUTF8+ IO ()++{- |+Sets the accessible description of the accessible. You can\'t set+the description to NULL. This is reserved for the initial value. In+this aspect NULL is similar to ATK_ROLE_UNKNOWN. If you want to set+the name to a empty value you can use \"\".+-}+objectSetDescription ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> T.Text+ {- ^ /@description@/: a character string to be set as the accessible description -}+ -> m ()+objectSetDescription accessible description = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ description' <- textToCString description+ atk_object_set_description accessible' description'+ touchManagedPtr accessible+ freeMem description'+ return ()++#if ENABLE_OVERLOADING+data ObjectSetDescriptionMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetDescriptionMethodInfo a signature where+ overloadedMethod _ = objectSetDescription++#endif++-- method Object::set_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character string to be set as the accessible name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_set_name" atk_object_set_name :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ CString -> -- name : TBasicType TUTF8+ IO ()++{- |+Sets the accessible name of the accessible. You can\'t set the name+to NULL. This is reserved for the initial value. In this aspect+NULL is similar to ATK_ROLE_UNKNOWN. If you want to set the name to+a empty value you can use \"\".+-}+objectSetName ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> T.Text+ {- ^ /@name@/: a character string to be set as the accessible name -}+ -> m ()+objectSetName accessible name = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ name' <- textToCString name+ atk_object_set_name accessible' name'+ touchManagedPtr accessible+ freeMem name'+ return ()++#if ENABLE_OVERLOADING+data ObjectSetNameMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetNameMethodInfo a signature where+ overloadedMethod _ = objectSetName++#endif++-- method Object::set_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject to be set as the accessible parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_set_parent" atk_object_set_parent :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ Ptr Object -> -- parent : TInterface (Name {namespace = "Atk", name = "Object"})+ IO ()++{- |+Sets the accessible parent of the accessible. /@parent@/ can be NULL.+-}+objectSetParent ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> b+ {- ^ /@parent@/: an 'GI.Atk.Objects.Object.Object' to be set as the accessible parent -}+ -> m ()+objectSetParent accessible parent = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ parent' <- unsafeManagedPtrCastPtr parent+ atk_object_set_parent accessible' parent'+ touchManagedPtr accessible+ touchManagedPtr parent+ return ()++#if ENABLE_OVERLOADING+data ObjectSetParentMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectSetParentMethodInfo a signature where+ overloadedMethod _ = objectSetParent++#endif++-- method Object::set_role+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "role", argType = TInterface (Name {namespace = "Atk", name = "Role"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRole to be set as the role", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_set_role" atk_object_set_role :: + Ptr Object -> -- accessible : TInterface (Name {namespace = "Atk", name = "Object"})+ CUInt -> -- role : TInterface (Name {namespace = "Atk", name = "Role"})+ IO ()++{- |+Sets the role of the accessible.+-}+objectSetRole ::+ (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>+ a+ {- ^ /@accessible@/: an 'GI.Atk.Objects.Object.Object' -}+ -> Atk.Enums.Role+ {- ^ /@role@/: an 'GI.Atk.Enums.Role' to be set as the role -}+ -> m ()+objectSetRole accessible role = liftIO $ do+ accessible' <- unsafeManagedPtrCastPtr accessible+ let role' = (fromIntegral . fromEnum) role+ atk_object_set_role accessible' role'+ touchManagedPtr accessible+ return ()++#if ENABLE_OVERLOADING+data ObjectSetRoleMethodInfo+instance (signature ~ (Atk.Enums.Role -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetRoleMethodInfo a signature where+ overloadedMethod _ = objectSetRole++#endif++
+ GI/Atk/Objects/Object.hs-boot view
@@ -0,0 +1,161 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.Object 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++newtype Object = Object (ManagedPtr Object)+instance GObject Object where+class (GObject o, O.IsDescendantOf Object o) => IsObject o+instance (GObject o, O.IsDescendantOf Object o) => IsObject o+instance O.HasParentTypes Object+#if ENABLE_OVERLOADING+data ObjectAccessibleComponentLayerPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleComponentMdiZorderPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleDescriptionPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleHypertextNlinksPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleNamePropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleParentPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleRolePropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleTableCaptionPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleTableCaptionObjectPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleTableColumnDescriptionPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleTableColumnHeaderPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleTableRowDescriptionPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleTableRowHeaderPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleTableSummaryPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAccessibleValuePropertyInfo+#endif+#if ENABLE_OVERLOADING+data ObjectActiveDescendantChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ObjectChildrenChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ObjectFocusEventSignalInfo+#endif+#if ENABLE_OVERLOADING+data ObjectPropertyChangeSignalInfo+#endif+#if ENABLE_OVERLOADING+data ObjectStateChangeSignalInfo+#endif+#if ENABLE_OVERLOADING+data ObjectVisibleDataChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ObjectAddRelationshipMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectGetAttributesMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectGetDescriptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectGetIndexInParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectGetLayerMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectGetMdiZorderMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectGetNAccessibleChildrenMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectGetNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectGetObjectLocaleMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectGetParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectGetRoleMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectInitializeMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectNotifyStateChangeMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectPeekParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectRefAccessibleChildMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectRefRelationSetMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectRefStateSetMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectRemovePropertyChangeHandlerMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectRemoveRelationshipMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectSetDescriptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectSetNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectSetParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectSetRoleMethodInfo+#endif
+ GI/Atk/Objects/ObjectFactory.hs view
@@ -0,0 +1,273 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++This class is the base object class for a factory used to create an+accessible object for a specific GType. The function+'GI.Atk.Objects.Registry.registrySetFactoryType' is normally called to store in the+registry the factory type to be used to create an accessible of a+particular GType.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.ObjectFactory+ ( ++-- * Exported types+ ObjectFactory(..) ,+ IsObjectFactory ,+ toObjectFactory ,+ noObjectFactory ,+++ -- * Methods+-- ** createAccessible #method:createAccessible#++#if ENABLE_OVERLOADING+ ObjectFactoryCreateAccessibleMethodInfo ,+#endif+ objectFactoryCreateAccessible ,+++-- ** getAccessibleType #method:getAccessibleType#++#if ENABLE_OVERLOADING+ ObjectFactoryGetAccessibleTypeMethodInfo,+#endif+ objectFactoryGetAccessibleType ,+++-- ** invalidate #method:invalidate#++#if ENABLE_OVERLOADING+ ObjectFactoryInvalidateMethodInfo ,+#endif+ objectFactoryInvalidate ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype ObjectFactory = ObjectFactory (ManagedPtr ObjectFactory)+foreign import ccall "atk_object_factory_get_type"+ c_atk_object_factory_get_type :: IO GType++instance GObject ObjectFactory where+ gobjectType = c_atk_object_factory_get_type+ ++-- | Type class for types which can be safely cast to `ObjectFactory`, for instance with `toObjectFactory`.+class (GObject o, O.IsDescendantOf ObjectFactory o) => IsObjectFactory o+instance (GObject o, O.IsDescendantOf ObjectFactory o) => IsObjectFactory o++instance O.HasParentTypes ObjectFactory+type instance O.ParentTypes ObjectFactory = '[GObject.Object.Object]++-- | Cast to `ObjectFactory`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toObjectFactory :: (MonadIO m, IsObjectFactory o) => o -> m ObjectFactory+toObjectFactory = liftIO . unsafeCastTo ObjectFactory++-- | A convenience alias for `Nothing` :: `Maybe` `ObjectFactory`.+noObjectFactory :: Maybe ObjectFactory+noObjectFactory = Nothing++#if ENABLE_OVERLOADING+type family ResolveObjectFactoryMethod (t :: Symbol) (o :: *) :: * where+ ResolveObjectFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveObjectFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveObjectFactoryMethod "createAccessible" o = ObjectFactoryCreateAccessibleMethodInfo+ ResolveObjectFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveObjectFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveObjectFactoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveObjectFactoryMethod "invalidate" o = ObjectFactoryInvalidateMethodInfo+ ResolveObjectFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveObjectFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveObjectFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveObjectFactoryMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveObjectFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveObjectFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveObjectFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveObjectFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveObjectFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveObjectFactoryMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveObjectFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveObjectFactoryMethod "getAccessibleType" o = ObjectFactoryGetAccessibleTypeMethodInfo+ ResolveObjectFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveObjectFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveObjectFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveObjectFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveObjectFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveObjectFactoryMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveObjectFactoryMethod t ObjectFactory, O.MethodInfo info ObjectFactory p) => OL.IsLabel t (ObjectFactory -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList ObjectFactory+type instance O.AttributeList ObjectFactory = ObjectFactoryAttributeList+type ObjectFactoryAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList ObjectFactory = ObjectFactorySignalList+type ObjectFactorySignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method ObjectFactory::create_accessible+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Atk", name = "ObjectFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #AtkObjectFactory associated with @obj's\nobject type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "obj", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_factory_create_accessible" atk_object_factory_create_accessible :: + Ptr ObjectFactory -> -- factory : TInterface (Name {namespace = "Atk", name = "ObjectFactory"})+ Ptr GObject.Object.Object -> -- obj : TInterface (Name {namespace = "GObject", name = "Object"})+ IO (Ptr Atk.Object.Object)++{- |+Provides an 'GI.Atk.Objects.Object.Object' that implements an accessibility interface+on behalf of /@obj@/+-}+objectFactoryCreateAccessible ::+ (B.CallStack.HasCallStack, MonadIO m, IsObjectFactory a, GObject.Object.IsObject b) =>+ a+ {- ^ /@factory@/: The 'GI.Atk.Objects.ObjectFactory.ObjectFactory' associated with /@obj@/\'s+object type -}+ -> b+ {- ^ /@obj@/: a 'GI.GObject.Objects.Object.Object' -}+ -> m Atk.Object.Object+ {- ^ __Returns:__ an 'GI.Atk.Objects.Object.Object' that implements an accessibility+interface on behalf of /@obj@/ -}+objectFactoryCreateAccessible factory obj = liftIO $ do+ factory' <- unsafeManagedPtrCastPtr factory+ obj' <- unsafeManagedPtrCastPtr obj+ result <- atk_object_factory_create_accessible factory' obj'+ checkUnexpectedReturnNULL "objectFactoryCreateAccessible" result+ result' <- (wrapObject Atk.Object.Object) result+ touchManagedPtr factory+ touchManagedPtr obj+ return result'++#if ENABLE_OVERLOADING+data ObjectFactoryCreateAccessibleMethodInfo+instance (signature ~ (b -> m Atk.Object.Object), MonadIO m, IsObjectFactory a, GObject.Object.IsObject b) => O.MethodInfo ObjectFactoryCreateAccessibleMethodInfo a signature where+ overloadedMethod _ = objectFactoryCreateAccessible++#endif++-- method ObjectFactory::get_accessible_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Atk", name = "ObjectFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObjectFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TGType)+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_factory_get_accessible_type" atk_object_factory_get_accessible_type :: + Ptr ObjectFactory -> -- factory : TInterface (Name {namespace = "Atk", name = "ObjectFactory"})+ IO CGType++{- |+Gets the GType of the accessible which is created by the factory.+-}+objectFactoryGetAccessibleType ::+ (B.CallStack.HasCallStack, MonadIO m, IsObjectFactory a) =>+ a+ {- ^ /@factory@/: an 'GI.Atk.Objects.ObjectFactory.ObjectFactory' -}+ -> m GType+ {- ^ __Returns:__ the type of the accessible which is created by the /@factory@/.+The value G_TYPE_INVALID is returned if no type if found. -}+objectFactoryGetAccessibleType factory = liftIO $ do+ factory' <- unsafeManagedPtrCastPtr factory+ result <- atk_object_factory_get_accessible_type factory'+ let result' = GType result+ touchManagedPtr factory+ return result'++#if ENABLE_OVERLOADING+data ObjectFactoryGetAccessibleTypeMethodInfo+instance (signature ~ (m GType), MonadIO m, IsObjectFactory a) => O.MethodInfo ObjectFactoryGetAccessibleTypeMethodInfo a signature where+ overloadedMethod _ = objectFactoryGetAccessibleType++#endif++-- method ObjectFactory::invalidate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Atk", name = "ObjectFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObjectFactory to invalidate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_object_factory_invalidate" atk_object_factory_invalidate :: + Ptr ObjectFactory -> -- factory : TInterface (Name {namespace = "Atk", name = "ObjectFactory"})+ IO ()++{- |+Inform /@factory@/ that it is no longer being used to create+accessibles. When called, /@factory@/ may need to inform+@/AtkObjects/@ which it has created that they need to be re-instantiated.+Note: primarily used for runtime replacement of @/AtkObjectFactorys/@+in object registries.+-}+objectFactoryInvalidate ::+ (B.CallStack.HasCallStack, MonadIO m, IsObjectFactory a) =>+ a+ {- ^ /@factory@/: an 'GI.Atk.Objects.ObjectFactory.ObjectFactory' to invalidate -}+ -> m ()+objectFactoryInvalidate factory = liftIO $ do+ factory' <- unsafeManagedPtrCastPtr factory+ atk_object_factory_invalidate factory'+ touchManagedPtr factory+ return ()++#if ENABLE_OVERLOADING+data ObjectFactoryInvalidateMethodInfo+instance (signature ~ (m ()), MonadIO m, IsObjectFactory a) => O.MethodInfo ObjectFactoryInvalidateMethodInfo a signature where+ overloadedMethod _ = objectFactoryInvalidate++#endif++
+ GI/Atk/Objects/ObjectFactory.hs-boot view
@@ -0,0 +1,38 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.ObjectFactory 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++newtype ObjectFactory = ObjectFactory (ManagedPtr ObjectFactory)+instance GObject ObjectFactory where+class (GObject o, O.IsDescendantOf ObjectFactory o) => IsObjectFactory o+instance (GObject o, O.IsDescendantOf ObjectFactory o) => IsObjectFactory o+instance O.HasParentTypes ObjectFactory+#if ENABLE_OVERLOADING+data ObjectFactoryCreateAccessibleMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectFactoryGetAccessibleTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data ObjectFactoryInvalidateMethodInfo+#endif
+ GI/Atk/Objects/Plug.hs view
@@ -0,0 +1,248 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++See 'GI.Atk.Objects.Socket.Socket'+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.Plug+ ( ++-- * Exported types+ Plug(..) ,+ IsPlug ,+ toPlug ,+ noPlug ,+++ -- * Methods+-- ** getId #method:getId#++#if ENABLE_OVERLOADING+ PlugGetIdMethodInfo ,+#endif+ plugGetId ,+++-- ** new #method:new#++ plugNew ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Interfaces.Component as Atk.Component+import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype Plug = Plug (ManagedPtr Plug)+foreign import ccall "atk_plug_get_type"+ c_atk_plug_get_type :: IO GType++instance GObject Plug where+ gobjectType = c_atk_plug_get_type+ ++-- | Type class for types which can be safely cast to `Plug`, for instance with `toPlug`.+class (GObject o, O.IsDescendantOf Plug o) => IsPlug o+instance (GObject o, O.IsDescendantOf Plug o) => IsPlug o++instance O.HasParentTypes Plug+type instance O.ParentTypes Plug = '[Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]++-- | Cast to `Plug`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toPlug :: (MonadIO m, IsPlug o) => o -> m Plug+toPlug = liftIO . unsafeCastTo Plug++-- | A convenience alias for `Nothing` :: `Maybe` `Plug`.+noPlug :: Maybe Plug+noPlug = Nothing++#if ENABLE_OVERLOADING+type family ResolvePlugMethod (t :: Symbol) (o :: *) :: * where+ ResolvePlugMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo+ ResolvePlugMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolvePlugMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolvePlugMethod "contains" o = Atk.Component.ComponentContainsMethodInfo+ ResolvePlugMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolvePlugMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolvePlugMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolvePlugMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo+ ResolvePlugMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo+ ResolvePlugMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolvePlugMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolvePlugMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolvePlugMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo+ ResolvePlugMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo+ ResolvePlugMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolvePlugMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo+ ResolvePlugMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo+ ResolvePlugMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo+ ResolvePlugMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolvePlugMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo+ ResolvePlugMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo+ ResolvePlugMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo+ ResolvePlugMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo+ ResolvePlugMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolvePlugMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo+ ResolvePlugMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo+ ResolvePlugMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolvePlugMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolvePlugMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolvePlugMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolvePlugMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolvePlugMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo+ ResolvePlugMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo+ ResolvePlugMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolvePlugMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo+ ResolvePlugMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo+ ResolvePlugMethod "getId" o = PlugGetIdMethodInfo+ ResolvePlugMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo+ ResolvePlugMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo+ ResolvePlugMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo+ ResolvePlugMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo+ ResolvePlugMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo+ ResolvePlugMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo+ ResolvePlugMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo+ ResolvePlugMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo+ ResolvePlugMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolvePlugMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolvePlugMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo+ ResolvePlugMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo+ ResolvePlugMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolvePlugMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo+ ResolvePlugMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo+ ResolvePlugMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo+ ResolvePlugMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo+ ResolvePlugMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo+ ResolvePlugMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolvePlugMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo+ ResolvePlugMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo+ ResolvePlugMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolvePlugMethod t Plug, O.MethodInfo info Plug p) => OL.IsLabel t (Plug -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList Plug+type instance O.AttributeList Plug = PlugAttributeList+type PlugAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList Plug = PlugSignalList+type PlugSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])++#endif++-- method Plug::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Plug"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_plug_new" atk_plug_new :: + IO (Ptr Plug)++{- |+/No description available in the introspection data./+-}+plugNew ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Plug+plugNew = liftIO $ do+ result <- atk_plug_new+ checkUnexpectedReturnNULL "plugNew" result+ result' <- (wrapObject Plug) result+ return result'++#if ENABLE_OVERLOADING+#endif++-- method Plug::get_id+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "plug", argType = TInterface (Name {namespace = "Atk", name = "Plug"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkPlug", 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 "atk_plug_get_id" atk_plug_get_id :: + Ptr Plug -> -- plug : TInterface (Name {namespace = "Atk", name = "Plug"})+ IO CString++{- |+Gets the unique ID of an 'GI.Atk.Objects.Plug.Plug' object, which can be used to+embed inside of an 'GI.Atk.Objects.Socket.Socket' using 'GI.Atk.Objects.Socket.socketEmbed'.++Internally, this calls a class function that should be registered+by the IPC layer (usually at-spi2-atk). The implementor of an+'GI.Atk.Objects.Plug.Plug' object should call this function (after atk-bridge is+loaded) and pass the value to the process implementing the+'GI.Atk.Objects.Socket.Socket', so it could embed the plug.++/Since: 1.30/+-}+plugGetId ::+ (B.CallStack.HasCallStack, MonadIO m, IsPlug a) =>+ a+ {- ^ /@plug@/: an 'GI.Atk.Objects.Plug.Plug' -}+ -> m T.Text+ {- ^ __Returns:__ the unique ID for the plug -}+plugGetId plug = liftIO $ do+ plug' <- unsafeManagedPtrCastPtr plug+ result <- atk_plug_get_id plug'+ checkUnexpectedReturnNULL "plugGetId" result+ result' <- cstringToText result+ freeMem result+ touchManagedPtr plug+ return result'++#if ENABLE_OVERLOADING+data PlugGetIdMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsPlug a) => O.MethodInfo PlugGetIdMethodInfo a signature where+ overloadedMethod _ = plugGetId++#endif++
+ GI/Atk/Objects/Plug.hs-boot view
@@ -0,0 +1,32 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.Plug 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++newtype Plug = Plug (ManagedPtr Plug)+instance GObject Plug where+class (GObject o, O.IsDescendantOf Plug o) => IsPlug o+instance (GObject o, O.IsDescendantOf Plug o) => IsPlug o+instance O.HasParentTypes Plug+#if ENABLE_OVERLOADING+data PlugGetIdMethodInfo+#endif
+ GI/Atk/Objects/Registry.hs view
@@ -0,0 +1,285 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++The AtkRegistry is normally used to create appropriate ATK \"peers\"+for user interface components. Application developers usually need+only interact with the AtkRegistry by associating appropriate ATK+implementation classes with GObject classes via the+atk_registry_set_factory_type call, passing the appropriate GType+for application custom widget classes.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.Registry+ ( ++-- * Exported types+ Registry(..) ,+ IsRegistry ,+ toRegistry ,+ noRegistry ,+++ -- * Methods+-- ** getFactory #method:getFactory#++#if ENABLE_OVERLOADING+ RegistryGetFactoryMethodInfo ,+#endif+ registryGetFactory ,+++-- ** getFactoryType #method:getFactoryType#++#if ENABLE_OVERLOADING+ RegistryGetFactoryTypeMethodInfo ,+#endif+ registryGetFactoryType ,+++-- ** setFactoryType #method:setFactoryType#++#if ENABLE_OVERLOADING+ RegistrySetFactoryTypeMethodInfo ,+#endif+ registrySetFactoryType ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.ObjectFactory as Atk.ObjectFactory+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype Registry = Registry (ManagedPtr Registry)+foreign import ccall "atk_registry_get_type"+ c_atk_registry_get_type :: IO GType++instance GObject Registry where+ gobjectType = c_atk_registry_get_type+ ++-- | Type class for types which can be safely cast to `Registry`, for instance with `toRegistry`.+class (GObject o, O.IsDescendantOf Registry o) => IsRegistry o+instance (GObject o, O.IsDescendantOf Registry o) => IsRegistry o++instance O.HasParentTypes Registry+type instance O.ParentTypes Registry = '[GObject.Object.Object]++-- | Cast to `Registry`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRegistry :: (MonadIO m, IsRegistry o) => o -> m Registry+toRegistry = liftIO . unsafeCastTo Registry++-- | A convenience alias for `Nothing` :: `Maybe` `Registry`.+noRegistry :: Maybe Registry+noRegistry = Nothing++#if ENABLE_OVERLOADING+type family ResolveRegistryMethod (t :: Symbol) (o :: *) :: * where+ ResolveRegistryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveRegistryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveRegistryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveRegistryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveRegistryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveRegistryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveRegistryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveRegistryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveRegistryMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveRegistryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveRegistryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveRegistryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveRegistryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveRegistryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveRegistryMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveRegistryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveRegistryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveRegistryMethod "getFactory" o = RegistryGetFactoryMethodInfo+ ResolveRegistryMethod "getFactoryType" o = RegistryGetFactoryTypeMethodInfo+ ResolveRegistryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveRegistryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveRegistryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveRegistryMethod "setFactoryType" o = RegistrySetFactoryTypeMethodInfo+ ResolveRegistryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveRegistryMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRegistryMethod t Registry, O.MethodInfo info Registry p) => OL.IsLabel t (Registry -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList Registry+type instance O.AttributeList Registry = RegistryAttributeList+type RegistryAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList Registry = RegistrySignalList+type RegistrySignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Registry::get_factory+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Atk", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRegistry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType with which to look up the associated #AtkObjectFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "ObjectFactory"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_registry_get_factory" atk_registry_get_factory :: + Ptr Registry -> -- registry : TInterface (Name {namespace = "Atk", name = "Registry"})+ CGType -> -- type : TBasicType TGType+ IO (Ptr Atk.ObjectFactory.ObjectFactory)++{- |+Gets an 'GI.Atk.Objects.ObjectFactory.ObjectFactory' appropriate for creating @/AtkObjects/@+appropriate for /@type@/.+-}+registryGetFactory ::+ (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>+ a+ {- ^ /@registry@/: an 'GI.Atk.Objects.Registry.Registry' -}+ -> GType+ {- ^ /@type@/: a 'GType' with which to look up the associated 'GI.Atk.Objects.ObjectFactory.ObjectFactory' -}+ -> m Atk.ObjectFactory.ObjectFactory+ {- ^ __Returns:__ an 'GI.Atk.Objects.ObjectFactory.ObjectFactory' appropriate for creating+@/AtkObjects/@ appropriate for /@type@/. -}+registryGetFactory registry type_ = liftIO $ do+ registry' <- unsafeManagedPtrCastPtr registry+ let type_' = gtypeToCGType type_+ result <- atk_registry_get_factory registry' type_'+ checkUnexpectedReturnNULL "registryGetFactory" result+ result' <- (newObject Atk.ObjectFactory.ObjectFactory) result+ touchManagedPtr registry+ return result'++#if ENABLE_OVERLOADING+data RegistryGetFactoryMethodInfo+instance (signature ~ (GType -> m Atk.ObjectFactory.ObjectFactory), MonadIO m, IsRegistry a) => O.MethodInfo RegistryGetFactoryMethodInfo a signature where+ overloadedMethod _ = registryGetFactory++#endif++-- method Registry::get_factory_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Atk", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRegistry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType with which to look up the associated #AtkObjectFactory\nsubclass", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TGType)+-- throws : False+-- Skip return : False++foreign import ccall "atk_registry_get_factory_type" atk_registry_get_factory_type :: + Ptr Registry -> -- registry : TInterface (Name {namespace = "Atk", name = "Registry"})+ CGType -> -- type : TBasicType TGType+ IO CGType++{- |+Provides a 'GType' indicating the 'GI.Atk.Objects.ObjectFactory.ObjectFactory' subclass+associated with /@type@/.+-}+registryGetFactoryType ::+ (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>+ a+ {- ^ /@registry@/: an 'GI.Atk.Objects.Registry.Registry' -}+ -> GType+ {- ^ /@type@/: a 'GType' with which to look up the associated 'GI.Atk.Objects.ObjectFactory.ObjectFactory'+subclass -}+ -> m GType+ {- ^ __Returns:__ a 'GType' associated with type /@type@/ -}+registryGetFactoryType registry type_ = liftIO $ do+ registry' <- unsafeManagedPtrCastPtr registry+ let type_' = gtypeToCGType type_+ result <- atk_registry_get_factory_type registry' type_'+ let result' = GType result+ touchManagedPtr registry+ return result'++#if ENABLE_OVERLOADING+data RegistryGetFactoryTypeMethodInfo+instance (signature ~ (GType -> m GType), MonadIO m, IsRegistry a) => O.MethodInfo RegistryGetFactoryTypeMethodInfo a signature where+ overloadedMethod _ = registryGetFactoryType++#endif++-- method Registry::set_factory_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Atk", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #AtkRegistry in which to register the type association", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "factory_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObjectFactory type to associate with @type. Must\nimplement AtkObject appropriate for @type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_registry_set_factory_type" atk_registry_set_factory_type :: + Ptr Registry -> -- registry : TInterface (Name {namespace = "Atk", name = "Registry"})+ CGType -> -- type : TBasicType TGType+ CGType -> -- factory_type : TBasicType TGType+ IO ()++{- |+Associate an 'GI.Atk.Objects.ObjectFactory.ObjectFactory' subclass with a 'GType'. Note:+The associated /@factoryType@/ will thereafter be responsible for+the creation of new 'GI.Atk.Objects.Object.Object' implementations for instances+appropriate for /@type@/.+-}+registrySetFactoryType ::+ (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>+ a+ {- ^ /@registry@/: the 'GI.Atk.Objects.Registry.Registry' in which to register the type association -}+ -> GType+ {- ^ /@type@/: an 'GI.Atk.Objects.Object.Object' type -}+ -> GType+ {- ^ /@factoryType@/: an 'GI.Atk.Objects.ObjectFactory.ObjectFactory' type to associate with /@type@/. Must+implement AtkObject appropriate for /@type@/. -}+ -> m ()+registrySetFactoryType registry type_ factoryType = liftIO $ do+ registry' <- unsafeManagedPtrCastPtr registry+ let type_' = gtypeToCGType type_+ let factoryType' = gtypeToCGType factoryType+ atk_registry_set_factory_type registry' type_' factoryType'+ touchManagedPtr registry+ return ()++#if ENABLE_OVERLOADING+data RegistrySetFactoryTypeMethodInfo+instance (signature ~ (GType -> GType -> m ()), MonadIO m, IsRegistry a) => O.MethodInfo RegistrySetFactoryTypeMethodInfo a signature where+ overloadedMethod _ = registrySetFactoryType++#endif++
+ GI/Atk/Objects/Registry.hs-boot view
@@ -0,0 +1,38 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.Registry 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++newtype Registry = Registry (ManagedPtr Registry)+instance GObject Registry where+class (GObject o, O.IsDescendantOf Registry o) => IsRegistry o+instance (GObject o, O.IsDescendantOf Registry o) => IsRegistry o+instance O.HasParentTypes Registry+#if ENABLE_OVERLOADING+data RegistryGetFactoryMethodInfo+#endif+#if ENABLE_OVERLOADING+data RegistryGetFactoryTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RegistrySetFactoryTypeMethodInfo+#endif
+ GI/Atk/Objects/Relation.hs view
@@ -0,0 +1,512 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++An AtkRelation describes a relation between an object and one or+more other objects. The actual relations that an object has with+other objects are defined as an AtkRelationSet, which is a set of+AtkRelations.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.Relation+ ( ++-- * Exported types+ Relation(..) ,+ IsRelation ,+ toRelation ,+ noRelation ,+++ -- * Methods+-- ** addTarget #method:addTarget#++#if ENABLE_OVERLOADING+ RelationAddTargetMethodInfo ,+#endif+ relationAddTarget ,+++-- ** getRelationType #method:getRelationType#++#if ENABLE_OVERLOADING+ RelationGetRelationTypeMethodInfo ,+#endif+ relationGetRelationType ,+++-- ** getTarget #method:getTarget#++#if ENABLE_OVERLOADING+ RelationGetTargetMethodInfo ,+#endif+ relationGetTarget ,+++-- ** new #method:new#++ relationNew ,+++-- ** removeTarget #method:removeTarget#++#if ENABLE_OVERLOADING+ RelationRemoveTargetMethodInfo ,+#endif+ relationRemoveTarget ,+++++ -- * Properties+-- ** relationType #attr:relationType#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ RelationRelationTypePropertyInfo ,+#endif+ constructRelationRelationType ,+ getRelationRelationType ,+#if ENABLE_OVERLOADING+ relationRelationType ,+#endif+ setRelationRelationType ,+++-- ** target #attr:target#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+ RelationTargetPropertyInfo ,+#endif+ clearRelationTarget ,+ constructRelationTarget ,+ getRelationTarget ,+#if ENABLE_OVERLOADING+ relationTarget ,+#endif+ setRelationTarget ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Enums as Atk.Enums+import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object+import qualified GI.GObject.Structs.ValueArray as GObject.ValueArray++-- | Memory-managed wrapper type.+newtype Relation = Relation (ManagedPtr Relation)+foreign import ccall "atk_relation_get_type"+ c_atk_relation_get_type :: IO GType++instance GObject Relation where+ gobjectType = c_atk_relation_get_type+ ++-- | Type class for types which can be safely cast to `Relation`, for instance with `toRelation`.+class (GObject o, O.IsDescendantOf Relation o) => IsRelation o+instance (GObject o, O.IsDescendantOf Relation o) => IsRelation o++instance O.HasParentTypes Relation+type instance O.ParentTypes Relation = '[GObject.Object.Object]++-- | Cast to `Relation`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRelation :: (MonadIO m, IsRelation o) => o -> m Relation+toRelation = liftIO . unsafeCastTo Relation++-- | A convenience alias for `Nothing` :: `Maybe` `Relation`.+noRelation :: Maybe Relation+noRelation = Nothing++#if ENABLE_OVERLOADING+type family ResolveRelationMethod (t :: Symbol) (o :: *) :: * where+ ResolveRelationMethod "addTarget" o = RelationAddTargetMethodInfo+ ResolveRelationMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveRelationMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveRelationMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveRelationMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveRelationMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveRelationMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveRelationMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveRelationMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveRelationMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveRelationMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveRelationMethod "removeTarget" o = RelationRemoveTargetMethodInfo+ ResolveRelationMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveRelationMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveRelationMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveRelationMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveRelationMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveRelationMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveRelationMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveRelationMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveRelationMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveRelationMethod "getRelationType" o = RelationGetRelationTypeMethodInfo+ ResolveRelationMethod "getTarget" o = RelationGetTargetMethodInfo+ ResolveRelationMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveRelationMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveRelationMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRelationMethod t Relation, O.MethodInfo info Relation p) => OL.IsLabel t (Relation -> 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++-- VVV Prop "relation-type"+ -- Type: TInterface (Name {namespace = "Atk", name = "RelationType"})+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@relation-type@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' relation #relationType+@+-}+getRelationRelationType :: (MonadIO m, IsRelation o) => o -> m Atk.Enums.RelationType+getRelationRelationType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "relation-type"++{- |+Set the value of the “@relation-type@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' relation [ #relationType 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRelationRelationType :: (MonadIO m, IsRelation o) => o -> Atk.Enums.RelationType -> m ()+setRelationRelationType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "relation-type" val++{- |+Construct a `GValueConstruct` with valid value for the “@relation-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructRelationRelationType :: (IsRelation o) => Atk.Enums.RelationType -> IO (GValueConstruct o)+constructRelationRelationType val = B.Properties.constructObjectPropertyEnum "relation-type" val++#if ENABLE_OVERLOADING+data RelationRelationTypePropertyInfo+instance AttrInfo RelationRelationTypePropertyInfo where+ type AttrAllowedOps RelationRelationTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+ type AttrSetTypeConstraint RelationRelationTypePropertyInfo = (~) Atk.Enums.RelationType+ type AttrBaseTypeConstraint RelationRelationTypePropertyInfo = IsRelation+ type AttrGetType RelationRelationTypePropertyInfo = Atk.Enums.RelationType+ type AttrLabel RelationRelationTypePropertyInfo = "relation-type"+ type AttrOrigin RelationRelationTypePropertyInfo = Relation+ attrGet _ = getRelationRelationType+ attrSet _ = setRelationRelationType+ attrConstruct _ = constructRelationRelationType+ attrClear _ = undefined+#endif++-- VVV Prop "target"+ -- Type: TInterface (Name {namespace = "GObject", name = "ValueArray"})+ -- Flags: [PropertyReadable,PropertyWritable]+ -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@target@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' relation #target+@+-}+getRelationTarget :: (MonadIO m, IsRelation o) => o -> m (Maybe GObject.ValueArray.ValueArray)+getRelationTarget obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "target" GObject.ValueArray.ValueArray++{- |+Set the value of the “@target@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' relation [ #target 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRelationTarget :: (MonadIO m, IsRelation o) => o -> GObject.ValueArray.ValueArray -> m ()+setRelationTarget obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "target" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@target@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructRelationTarget :: (IsRelation o) => GObject.ValueArray.ValueArray -> IO (GValueConstruct o)+constructRelationTarget val = B.Properties.constructObjectPropertyBoxed "target" (Just val)++{- |+Set the value of the “@target@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #target+@+-}+clearRelationTarget :: (MonadIO m, IsRelation o) => o -> m ()+clearRelationTarget obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "target" (Nothing :: Maybe GObject.ValueArray.ValueArray)++#if ENABLE_OVERLOADING+data RelationTargetPropertyInfo+instance AttrInfo RelationTargetPropertyInfo where+ type AttrAllowedOps RelationTargetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint RelationTargetPropertyInfo = (~) GObject.ValueArray.ValueArray+ type AttrBaseTypeConstraint RelationTargetPropertyInfo = IsRelation+ type AttrGetType RelationTargetPropertyInfo = (Maybe GObject.ValueArray.ValueArray)+ type AttrLabel RelationTargetPropertyInfo = "target"+ type AttrOrigin RelationTargetPropertyInfo = Relation+ attrGet _ = getRelationTarget+ attrSet _ = setRelationTarget+ attrConstruct _ = constructRelationTarget+ attrClear _ = clearRelationTarget+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Relation+type instance O.AttributeList Relation = RelationAttributeList+type RelationAttributeList = ('[ '("relationType", RelationRelationTypePropertyInfo), '("target", RelationTargetPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+relationRelationType :: AttrLabelProxy "relationType"+relationRelationType = AttrLabelProxy++relationTarget :: AttrLabelProxy "target"+relationTarget = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList Relation = RelationSignalList+type RelationSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Relation::new+-- method type : Constructor+-- Args : [Arg {argCName = "targets", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Atk", name = "Object"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of pointers to\n #AtkObjects", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of #AtkObjects pointed to by @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface (Name {namespace = "Atk", name = "RelationType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationType with which to create the new\n #AtkRelation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of #AtkObjects pointed to by @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Relation"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_relation_new" atk_relation_new :: + Ptr (Ptr Atk.Object.Object) -> -- targets : TCArray False (-1) 1 (TInterface (Name {namespace = "Atk", name = "Object"}))+ Int32 -> -- n_targets : TBasicType TInt+ CUInt -> -- relationship : TInterface (Name {namespace = "Atk", name = "RelationType"})+ IO (Ptr Relation)++{- |+Create a new relation for the specified key and the specified list+of targets. See also 'GI.Atk.Objects.Object.objectAddRelationship'.+-}+relationNew ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ [Atk.Object.Object]+ {- ^ /@targets@/: an array of pointers to+ @/AtkObjects/@ -}+ -> Atk.Enums.RelationType+ {- ^ /@relationship@/: an 'GI.Atk.Enums.RelationType' with which to create the new+ 'GI.Atk.Objects.Relation.Relation' -}+ -> m Relation+ {- ^ __Returns:__ a pointer to a new 'GI.Atk.Objects.Relation.Relation' -}+relationNew targets relationship = liftIO $ do+ let nTargets = fromIntegral $ length targets+ targets' <- mapM unsafeManagedPtrCastPtr targets+ targets'' <- packPtrArray targets'+ let relationship' = (fromIntegral . fromEnum) relationship+ result <- atk_relation_new targets'' nTargets relationship'+ checkUnexpectedReturnNULL "relationNew" result+ result' <- (wrapObject Relation) result+ mapM_ touchManagedPtr targets+ freeMem targets''+ return result'++#if ENABLE_OVERLOADING+#endif++-- method Relation::add_target+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "relation", argType = TInterface (Name {namespace = "Atk", name = "Relation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_relation_add_target" atk_relation_add_target :: + Ptr Relation -> -- relation : TInterface (Name {namespace = "Atk", name = "Relation"})+ Ptr Atk.Object.Object -> -- target : TInterface (Name {namespace = "Atk", name = "Object"})+ IO ()++{- |+Adds the specified AtkObject to the target for the relation, if it is+not already present. See also 'GI.Atk.Objects.Object.objectAddRelationship'.++/Since: 1.9/+-}+relationAddTarget ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelation a, Atk.Object.IsObject b) =>+ a+ {- ^ /@relation@/: an 'GI.Atk.Objects.Relation.Relation' -}+ -> b+ {- ^ /@target@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m ()+relationAddTarget relation target = liftIO $ do+ relation' <- unsafeManagedPtrCastPtr relation+ target' <- unsafeManagedPtrCastPtr target+ atk_relation_add_target relation' target'+ touchManagedPtr relation+ touchManagedPtr target+ return ()++#if ENABLE_OVERLOADING+data RelationAddTargetMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsRelation a, Atk.Object.IsObject b) => O.MethodInfo RelationAddTargetMethodInfo a signature where+ overloadedMethod _ = relationAddTarget++#endif++-- method Relation::get_relation_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "relation", argType = TInterface (Name {namespace = "Atk", name = "Relation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "RelationType"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_relation_get_relation_type" atk_relation_get_relation_type :: + Ptr Relation -> -- relation : TInterface (Name {namespace = "Atk", name = "Relation"})+ IO CUInt++{- |+Gets the type of /@relation@/+-}+relationGetRelationType ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelation a) =>+ a+ {- ^ /@relation@/: an 'GI.Atk.Objects.Relation.Relation' -}+ -> m Atk.Enums.RelationType+ {- ^ __Returns:__ the type of /@relation@/ -}+relationGetRelationType relation = liftIO $ do+ relation' <- unsafeManagedPtrCastPtr relation+ result <- atk_relation_get_relation_type relation'+ let result' = (toEnum . fromIntegral) result+ touchManagedPtr relation+ return result'++#if ENABLE_OVERLOADING+data RelationGetRelationTypeMethodInfo+instance (signature ~ (m Atk.Enums.RelationType), MonadIO m, IsRelation a) => O.MethodInfo RelationGetRelationTypeMethodInfo a signature where+ overloadedMethod _ = relationGetRelationType++#endif++-- method Relation::get_target+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "relation", argType = TInterface (Name {namespace = "Atk", name = "Relation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TPtrArray (TInterface (Name {namespace = "Atk", name = "Object"})))+-- throws : False+-- Skip return : False++foreign import ccall "atk_relation_get_target" atk_relation_get_target :: + Ptr Relation -> -- relation : TInterface (Name {namespace = "Atk", name = "Relation"})+ IO (Ptr (GPtrArray (Ptr Atk.Object.Object)))++{- |+Gets the target list of /@relation@/+-}+relationGetTarget ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelation a) =>+ a+ {- ^ /@relation@/: an 'GI.Atk.Objects.Relation.Relation' -}+ -> m [Atk.Object.Object]+ {- ^ __Returns:__ the target list of /@relation@/ -}+relationGetTarget relation = liftIO $ do+ relation' <- unsafeManagedPtrCastPtr relation+ result <- atk_relation_get_target relation'+ checkUnexpectedReturnNULL "relationGetTarget" result+ result' <- unpackGPtrArray result+ result'' <- mapM (newObject Atk.Object.Object) result'+ touchManagedPtr relation+ return result''++#if ENABLE_OVERLOADING+data RelationGetTargetMethodInfo+instance (signature ~ (m [Atk.Object.Object]), MonadIO m, IsRelation a) => O.MethodInfo RelationGetTargetMethodInfo a signature where+ overloadedMethod _ = relationGetTarget++#endif++-- method Relation::remove_target+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "relation", argType = TInterface (Name {namespace = "Atk", name = "Relation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", 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 "atk_relation_remove_target" atk_relation_remove_target :: + Ptr Relation -> -- relation : TInterface (Name {namespace = "Atk", name = "Relation"})+ Ptr Atk.Object.Object -> -- target : TInterface (Name {namespace = "Atk", name = "Object"})+ IO CInt++{- |+Remove the specified AtkObject from the target for the relation.+-}+relationRemoveTarget ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelation a, Atk.Object.IsObject b) =>+ a+ {- ^ /@relation@/: an 'GI.Atk.Objects.Relation.Relation' -}+ -> b+ {- ^ /@target@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Bool+ {- ^ __Returns:__ TRUE if the removal is successful. -}+relationRemoveTarget relation target = liftIO $ do+ relation' <- unsafeManagedPtrCastPtr relation+ target' <- unsafeManagedPtrCastPtr target+ result <- atk_relation_remove_target relation' target'+ let result' = (/= 0) result+ touchManagedPtr relation+ touchManagedPtr target+ return result'++#if ENABLE_OVERLOADING+data RelationRemoveTargetMethodInfo+instance (signature ~ (b -> m Bool), MonadIO m, IsRelation a, Atk.Object.IsObject b) => O.MethodInfo RelationRemoveTargetMethodInfo a signature where+ overloadedMethod _ = relationRemoveTarget++#endif++
+ GI/Atk/Objects/Relation.hs-boot view
@@ -0,0 +1,47 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.Relation 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++newtype Relation = Relation (ManagedPtr Relation)+instance GObject Relation where+class (GObject o, O.IsDescendantOf Relation o) => IsRelation o+instance (GObject o, O.IsDescendantOf Relation o) => IsRelation o+instance O.HasParentTypes Relation+#if ENABLE_OVERLOADING+data RelationRelationTypePropertyInfo+#endif+#if ENABLE_OVERLOADING+data RelationTargetPropertyInfo+#endif+#if ENABLE_OVERLOADING+data RelationAddTargetMethodInfo+#endif+#if ENABLE_OVERLOADING+data RelationGetRelationTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RelationGetTargetMethodInfo+#endif+#if ENABLE_OVERLOADING+data RelationRemoveTargetMethodInfo+#endif
+ GI/Atk/Objects/RelationSet.hs view
@@ -0,0 +1,570 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++The AtkRelationSet held by an object establishes its relationships+with objects beyond the normal \"parent\/child\" hierarchical+relationships that all user interface objects have.+AtkRelationSets establish whether objects are labelled or+controlled by other components, share group membership with other+components (for instance within a radio-button group), or share+content which \"flows\" between them, among other types of possible+relationships.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.RelationSet+ ( ++-- * Exported types+ RelationSet(..) ,+ IsRelationSet ,+ toRelationSet ,+ noRelationSet ,+++ -- * Methods+-- ** add #method:add#++#if ENABLE_OVERLOADING+ RelationSetAddMethodInfo ,+#endif+ relationSetAdd ,+++-- ** addRelationByType #method:addRelationByType#++#if ENABLE_OVERLOADING+ RelationSetAddRelationByTypeMethodInfo ,+#endif+ relationSetAddRelationByType ,+++-- ** contains #method:contains#++#if ENABLE_OVERLOADING+ RelationSetContainsMethodInfo ,+#endif+ relationSetContains ,+++-- ** containsTarget #method:containsTarget#++#if ENABLE_OVERLOADING+ RelationSetContainsTargetMethodInfo ,+#endif+ relationSetContainsTarget ,+++-- ** getNRelations #method:getNRelations#++#if ENABLE_OVERLOADING+ RelationSetGetNRelationsMethodInfo ,+#endif+ relationSetGetNRelations ,+++-- ** getRelation #method:getRelation#++#if ENABLE_OVERLOADING+ RelationSetGetRelationMethodInfo ,+#endif+ relationSetGetRelation ,+++-- ** getRelationByType #method:getRelationByType#++#if ENABLE_OVERLOADING+ RelationSetGetRelationByTypeMethodInfo ,+#endif+ relationSetGetRelationByType ,+++-- ** new #method:new#++ relationSetNew ,+++-- ** remove #method:remove#++#if ENABLE_OVERLOADING+ RelationSetRemoveMethodInfo ,+#endif+ relationSetRemove ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Enums as Atk.Enums+import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import {-# SOURCE #-} qualified GI.Atk.Objects.Relation as Atk.Relation+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype RelationSet = RelationSet (ManagedPtr RelationSet)+foreign import ccall "atk_relation_set_get_type"+ c_atk_relation_set_get_type :: IO GType++instance GObject RelationSet where+ gobjectType = c_atk_relation_set_get_type+ ++-- | Type class for types which can be safely cast to `RelationSet`, for instance with `toRelationSet`.+class (GObject o, O.IsDescendantOf RelationSet o) => IsRelationSet o+instance (GObject o, O.IsDescendantOf RelationSet o) => IsRelationSet o++instance O.HasParentTypes RelationSet+type instance O.ParentTypes RelationSet = '[GObject.Object.Object]++-- | Cast to `RelationSet`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRelationSet :: (MonadIO m, IsRelationSet o) => o -> m RelationSet+toRelationSet = liftIO . unsafeCastTo RelationSet++-- | A convenience alias for `Nothing` :: `Maybe` `RelationSet`.+noRelationSet :: Maybe RelationSet+noRelationSet = Nothing++#if ENABLE_OVERLOADING+type family ResolveRelationSetMethod (t :: Symbol) (o :: *) :: * where+ ResolveRelationSetMethod "add" o = RelationSetAddMethodInfo+ ResolveRelationSetMethod "addRelationByType" o = RelationSetAddRelationByTypeMethodInfo+ ResolveRelationSetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveRelationSetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveRelationSetMethod "contains" o = RelationSetContainsMethodInfo+ ResolveRelationSetMethod "containsTarget" o = RelationSetContainsTargetMethodInfo+ ResolveRelationSetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveRelationSetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveRelationSetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveRelationSetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveRelationSetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveRelationSetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveRelationSetMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveRelationSetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveRelationSetMethod "remove" o = RelationSetRemoveMethodInfo+ ResolveRelationSetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveRelationSetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveRelationSetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveRelationSetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveRelationSetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveRelationSetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveRelationSetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveRelationSetMethod "getNRelations" o = RelationSetGetNRelationsMethodInfo+ ResolveRelationSetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveRelationSetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveRelationSetMethod "getRelation" o = RelationSetGetRelationMethodInfo+ ResolveRelationSetMethod "getRelationByType" o = RelationSetGetRelationByTypeMethodInfo+ ResolveRelationSetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveRelationSetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveRelationSetMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRelationSetMethod t RelationSet, O.MethodInfo info RelationSet p) => OL.IsLabel t (RelationSet -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList RelationSet+type instance O.AttributeList RelationSet = RelationSetAttributeList+type RelationSetAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList RelationSet = RelationSetSignalList+type RelationSetSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method RelationSet::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "RelationSet"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_relation_set_new" atk_relation_set_new :: + IO (Ptr RelationSet)++{- |+Creates a new empty relation set.+-}+relationSetNew ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m RelationSet+ {- ^ __Returns:__ a new 'GI.Atk.Objects.RelationSet.RelationSet' -}+relationSetNew = liftIO $ do+ result <- atk_relation_set_new+ checkUnexpectedReturnNULL "relationSetNew" result+ result' <- (wrapObject RelationSet) result+ return result'++#if ENABLE_OVERLOADING+#endif++-- method RelationSet::add+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "RelationSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relation", argType = TInterface (Name {namespace = "Atk", name = "Relation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_relation_set_add" atk_relation_set_add :: + Ptr RelationSet -> -- set : TInterface (Name {namespace = "Atk", name = "RelationSet"})+ Ptr Atk.Relation.Relation -> -- relation : TInterface (Name {namespace = "Atk", name = "Relation"})+ IO ()++{- |+Add a new relation to the current relation set if it is not already+present.+This function ref\'s the AtkRelation so the caller of this function+should unref it to ensure that it will be destroyed when the AtkRelationSet+is destroyed.+-}+relationSetAdd ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelationSet a, Atk.Relation.IsRelation b) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.RelationSet.RelationSet' -}+ -> b+ {- ^ /@relation@/: an 'GI.Atk.Objects.Relation.Relation' -}+ -> m ()+relationSetAdd set relation = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ relation' <- unsafeManagedPtrCastPtr relation+ atk_relation_set_add set' relation'+ touchManagedPtr set+ touchManagedPtr relation+ return ()++#if ENABLE_OVERLOADING+data RelationSetAddMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsRelationSet a, Atk.Relation.IsRelation b) => O.MethodInfo RelationSetAddMethodInfo a signature where+ overloadedMethod _ = relationSetAdd++#endif++-- method RelationSet::add_relation_by_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "RelationSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface (Name {namespace = "Atk", name = "RelationType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_relation_set_add_relation_by_type" atk_relation_set_add_relation_by_type :: + Ptr RelationSet -> -- set : TInterface (Name {namespace = "Atk", name = "RelationSet"})+ CUInt -> -- relationship : TInterface (Name {namespace = "Atk", name = "RelationType"})+ Ptr Atk.Object.Object -> -- target : TInterface (Name {namespace = "Atk", name = "Object"})+ IO ()++{- |+Add a new relation of the specified type with the specified target to+the current relation set if the relation set does not contain a relation+of that type. If it is does contain a relation of that typea the target+is added to the relation.++/Since: 1.9/+-}+relationSetAddRelationByType ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelationSet a, Atk.Object.IsObject b) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.RelationSet.RelationSet' -}+ -> Atk.Enums.RelationType+ {- ^ /@relationship@/: an 'GI.Atk.Enums.RelationType' -}+ -> b+ {- ^ /@target@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m ()+relationSetAddRelationByType set relationship target = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ let relationship' = (fromIntegral . fromEnum) relationship+ target' <- unsafeManagedPtrCastPtr target+ atk_relation_set_add_relation_by_type set' relationship' target'+ touchManagedPtr set+ touchManagedPtr target+ return ()++#if ENABLE_OVERLOADING+data RelationSetAddRelationByTypeMethodInfo+instance (signature ~ (Atk.Enums.RelationType -> b -> m ()), MonadIO m, IsRelationSet a, Atk.Object.IsObject b) => O.MethodInfo RelationSetAddRelationByTypeMethodInfo a signature where+ overloadedMethod _ = relationSetAddRelationByType++#endif++-- method RelationSet::contains+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "RelationSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface (Name {namespace = "Atk", name = "RelationType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationType", 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 "atk_relation_set_contains" atk_relation_set_contains :: + Ptr RelationSet -> -- set : TInterface (Name {namespace = "Atk", name = "RelationSet"})+ CUInt -> -- relationship : TInterface (Name {namespace = "Atk", name = "RelationType"})+ IO CInt++{- |+Determines whether the relation set contains a relation that matches the+specified type.+-}+relationSetContains ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelationSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.RelationSet.RelationSet' -}+ -> Atk.Enums.RelationType+ {- ^ /@relationship@/: an 'GI.Atk.Enums.RelationType' -}+ -> m Bool+ {- ^ __Returns:__ 'True' if /@relationship@/ is the relationship type of a relation+in /@set@/, 'False' otherwise -}+relationSetContains set relationship = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ let relationship' = (fromIntegral . fromEnum) relationship+ result <- atk_relation_set_contains set' relationship'+ let result' = (/= 0) result+ touchManagedPtr set+ return result'++#if ENABLE_OVERLOADING+data RelationSetContainsMethodInfo+instance (signature ~ (Atk.Enums.RelationType -> m Bool), MonadIO m, IsRelationSet a) => O.MethodInfo RelationSetContainsMethodInfo a signature where+ overloadedMethod _ = relationSetContains++#endif++-- method RelationSet::contains_target+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "RelationSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface (Name {namespace = "Atk", name = "RelationType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Atk", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkObject", 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 "atk_relation_set_contains_target" atk_relation_set_contains_target :: + Ptr RelationSet -> -- set : TInterface (Name {namespace = "Atk", name = "RelationSet"})+ CUInt -> -- relationship : TInterface (Name {namespace = "Atk", name = "RelationType"})+ Ptr Atk.Object.Object -> -- target : TInterface (Name {namespace = "Atk", name = "Object"})+ IO CInt++{- |+Determines whether the relation set contains a relation that+matches the specified pair formed by type /@relationship@/ and object+/@target@/.+-}+relationSetContainsTarget ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelationSet a, Atk.Object.IsObject b) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.RelationSet.RelationSet' -}+ -> Atk.Enums.RelationType+ {- ^ /@relationship@/: an 'GI.Atk.Enums.RelationType' -}+ -> b+ {- ^ /@target@/: an 'GI.Atk.Objects.Object.Object' -}+ -> m Bool+ {- ^ __Returns:__ 'True' if /@set@/ contains a relation with the relationship+type /@relationship@/ with an object /@target@/, 'False' otherwise -}+relationSetContainsTarget set relationship target = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ let relationship' = (fromIntegral . fromEnum) relationship+ target' <- unsafeManagedPtrCastPtr target+ result <- atk_relation_set_contains_target set' relationship' target'+ let result' = (/= 0) result+ touchManagedPtr set+ touchManagedPtr target+ return result'++#if ENABLE_OVERLOADING+data RelationSetContainsTargetMethodInfo+instance (signature ~ (Atk.Enums.RelationType -> b -> m Bool), MonadIO m, IsRelationSet a, Atk.Object.IsObject b) => O.MethodInfo RelationSetContainsTargetMethodInfo a signature where+ overloadedMethod _ = relationSetContainsTarget++#endif++-- method RelationSet::get_n_relations+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "RelationSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationSet", 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 "atk_relation_set_get_n_relations" atk_relation_set_get_n_relations :: + Ptr RelationSet -> -- set : TInterface (Name {namespace = "Atk", name = "RelationSet"})+ IO Int32++{- |+Determines the number of relations in a relation set.+-}+relationSetGetNRelations ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelationSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.RelationSet.RelationSet' -}+ -> m Int32+ {- ^ __Returns:__ an integer representing the number of relations in the set. -}+relationSetGetNRelations set = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ result <- atk_relation_set_get_n_relations set'+ touchManagedPtr set+ return result++#if ENABLE_OVERLOADING+data RelationSetGetNRelationsMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsRelationSet a) => O.MethodInfo RelationSetGetNRelationsMethodInfo a signature where+ overloadedMethod _ = relationSetGetNRelations++#endif++-- method RelationSet::get_relation+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "RelationSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a gint representing a position in the set, starting from 0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Relation"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_relation_set_get_relation" atk_relation_set_get_relation :: + Ptr RelationSet -> -- set : TInterface (Name {namespace = "Atk", name = "RelationSet"})+ Int32 -> -- i : TBasicType TInt+ IO (Ptr Atk.Relation.Relation)++{- |+Determines the relation at the specified position in the relation set.+-}+relationSetGetRelation ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelationSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.RelationSet.RelationSet' -}+ -> Int32+ {- ^ /@i@/: a gint representing a position in the set, starting from 0. -}+ -> m Atk.Relation.Relation+ {- ^ __Returns:__ a 'GI.Atk.Objects.Relation.Relation', which is the relation at+position i in the set. -}+relationSetGetRelation set i = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ result <- atk_relation_set_get_relation set' i+ checkUnexpectedReturnNULL "relationSetGetRelation" result+ result' <- (newObject Atk.Relation.Relation) result+ touchManagedPtr set+ return result'++#if ENABLE_OVERLOADING+data RelationSetGetRelationMethodInfo+instance (signature ~ (Int32 -> m Atk.Relation.Relation), MonadIO m, IsRelationSet a) => O.MethodInfo RelationSetGetRelationMethodInfo a signature where+ overloadedMethod _ = relationSetGetRelation++#endif++-- method RelationSet::get_relation_by_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "RelationSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface (Name {namespace = "Atk", name = "RelationType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Relation"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_relation_set_get_relation_by_type" atk_relation_set_get_relation_by_type :: + Ptr RelationSet -> -- set : TInterface (Name {namespace = "Atk", name = "RelationSet"})+ CUInt -> -- relationship : TInterface (Name {namespace = "Atk", name = "RelationType"})+ IO (Ptr Atk.Relation.Relation)++{- |+Finds a relation that matches the specified type.+-}+relationSetGetRelationByType ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelationSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.RelationSet.RelationSet' -}+ -> Atk.Enums.RelationType+ {- ^ /@relationship@/: an 'GI.Atk.Enums.RelationType' -}+ -> m Atk.Relation.Relation+ {- ^ __Returns:__ an 'GI.Atk.Objects.Relation.Relation', which is a relation matching the+specified type. -}+relationSetGetRelationByType set relationship = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ let relationship' = (fromIntegral . fromEnum) relationship+ result <- atk_relation_set_get_relation_by_type set' relationship'+ checkUnexpectedReturnNULL "relationSetGetRelationByType" result+ result' <- (newObject Atk.Relation.Relation) result+ touchManagedPtr set+ return result'++#if ENABLE_OVERLOADING+data RelationSetGetRelationByTypeMethodInfo+instance (signature ~ (Atk.Enums.RelationType -> m Atk.Relation.Relation), MonadIO m, IsRelationSet a) => O.MethodInfo RelationSetGetRelationByTypeMethodInfo a signature where+ overloadedMethod _ = relationSetGetRelationByType++#endif++-- method RelationSet::remove+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "RelationSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelationSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relation", argType = TInterface (Name {namespace = "Atk", name = "Relation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRelation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_relation_set_remove" atk_relation_set_remove :: + Ptr RelationSet -> -- set : TInterface (Name {namespace = "Atk", name = "RelationSet"})+ Ptr Atk.Relation.Relation -> -- relation : TInterface (Name {namespace = "Atk", name = "Relation"})+ IO ()++{- |+Removes a relation from the relation set.+This function unref\'s the 'GI.Atk.Objects.Relation.Relation' so it will be deleted unless there+is another reference to it.+-}+relationSetRemove ::+ (B.CallStack.HasCallStack, MonadIO m, IsRelationSet a, Atk.Relation.IsRelation b) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.RelationSet.RelationSet' -}+ -> b+ {- ^ /@relation@/: an 'GI.Atk.Objects.Relation.Relation' -}+ -> m ()+relationSetRemove set relation = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ relation' <- unsafeManagedPtrCastPtr relation+ atk_relation_set_remove set' relation'+ touchManagedPtr set+ touchManagedPtr relation+ return ()++#if ENABLE_OVERLOADING+data RelationSetRemoveMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsRelationSet a, Atk.Relation.IsRelation b) => O.MethodInfo RelationSetRemoveMethodInfo a signature where+ overloadedMethod _ = relationSetRemove++#endif++
+ GI/Atk/Objects/RelationSet.hs-boot view
@@ -0,0 +1,53 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.RelationSet 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++newtype RelationSet = RelationSet (ManagedPtr RelationSet)+instance GObject RelationSet where+class (GObject o, O.IsDescendantOf RelationSet o) => IsRelationSet o+instance (GObject o, O.IsDescendantOf RelationSet o) => IsRelationSet o+instance O.HasParentTypes RelationSet+#if ENABLE_OVERLOADING+data RelationSetAddMethodInfo+#endif+#if ENABLE_OVERLOADING+data RelationSetAddRelationByTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RelationSetContainsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RelationSetContainsTargetMethodInfo+#endif+#if ENABLE_OVERLOADING+data RelationSetGetNRelationsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RelationSetGetRelationMethodInfo+#endif+#if ENABLE_OVERLOADING+data RelationSetGetRelationByTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RelationSetRemoveMethodInfo+#endif
+ GI/Atk/Objects/Socket.hs view
@@ -0,0 +1,318 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Together with 'GI.Atk.Objects.Plug.Plug', 'GI.Atk.Objects.Socket.Socket' provides the ability to embed+accessibles from one process into another in a fashion that is+transparent to assistive technologies. 'GI.Atk.Objects.Socket.Socket' works as the+container of 'GI.Atk.Objects.Plug.Plug', embedding it using the method+'GI.Atk.Objects.Socket.socketEmbed'. Any accessible contained in the 'GI.Atk.Objects.Plug.Plug' will+appear to the assistive technologies as being inside the+application that created the 'GI.Atk.Objects.Socket.Socket'.++The communication between a 'GI.Atk.Objects.Socket.Socket' and a 'GI.Atk.Objects.Plug.Plug' is done by+the IPC layer of the accessibility framework, normally implemented+by the D-Bus based implementation of AT-SPI (at-spi2). If that is+the case, at-spi-atk2 is the responsible to implement the abstract+methods 'GI.Atk.Objects.Plug.plugGetId' and 'GI.Atk.Objects.Socket.socketEmbed', so an ATK+implementor shouldn\'t reimplement them. The process that contains+the 'GI.Atk.Objects.Plug.Plug' is responsible to send the ID returned by+@/atk_plug_id()/@ to the process that contains the 'GI.Atk.Objects.Socket.Socket', so it+could call the method 'GI.Atk.Objects.Socket.socketEmbed' in order to embed it.++For the same reasons, an implementor doesn\'t need to implement+'GI.Atk.Objects.Object.objectGetNAccessibleChildren' and+'GI.Atk.Objects.Object.objectRefAccessibleChild'. All the logic related to those+functions will be implemented by the IPC layer.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.Socket+ ( ++-- * Exported types+ Socket(..) ,+ IsSocket ,+ toSocket ,+ noSocket ,+++ -- * Methods+-- ** embed #method:embed#++#if ENABLE_OVERLOADING+ SocketEmbedMethodInfo ,+#endif+ socketEmbed ,+++-- ** isOccupied #method:isOccupied#++#if ENABLE_OVERLOADING+ SocketIsOccupiedMethodInfo ,+#endif+ socketIsOccupied ,+++-- ** new #method:new#++ socketNew ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Interfaces.Component as Atk.Component+import {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype Socket = Socket (ManagedPtr Socket)+foreign import ccall "atk_socket_get_type"+ c_atk_socket_get_type :: IO GType++instance GObject Socket where+ gobjectType = c_atk_socket_get_type+ ++-- | Type class for types which can be safely cast to `Socket`, for instance with `toSocket`.+class (GObject o, O.IsDescendantOf Socket o) => IsSocket o+instance (GObject o, O.IsDescendantOf Socket o) => IsSocket o++instance O.HasParentTypes Socket+type instance O.ParentTypes Socket = '[Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]++-- | Cast to `Socket`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toSocket :: (MonadIO m, IsSocket o) => o -> m Socket+toSocket = liftIO . unsafeCastTo Socket++-- | A convenience alias for `Nothing` :: `Maybe` `Socket`.+noSocket :: Maybe Socket+noSocket = Nothing++#if ENABLE_OVERLOADING+type family ResolveSocketMethod (t :: Symbol) (o :: *) :: * where+ ResolveSocketMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo+ ResolveSocketMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveSocketMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveSocketMethod "contains" o = Atk.Component.ComponentContainsMethodInfo+ ResolveSocketMethod "embed" o = SocketEmbedMethodInfo+ ResolveSocketMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveSocketMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveSocketMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveSocketMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo+ ResolveSocketMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo+ ResolveSocketMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveSocketMethod "isOccupied" o = SocketIsOccupiedMethodInfo+ ResolveSocketMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveSocketMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveSocketMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo+ ResolveSocketMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo+ ResolveSocketMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveSocketMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo+ ResolveSocketMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo+ ResolveSocketMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo+ ResolveSocketMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveSocketMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo+ ResolveSocketMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo+ ResolveSocketMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo+ ResolveSocketMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo+ ResolveSocketMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveSocketMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo+ ResolveSocketMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo+ ResolveSocketMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveSocketMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveSocketMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveSocketMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveSocketMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveSocketMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo+ ResolveSocketMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo+ ResolveSocketMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveSocketMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo+ ResolveSocketMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo+ ResolveSocketMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo+ ResolveSocketMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo+ ResolveSocketMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo+ ResolveSocketMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo+ ResolveSocketMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo+ ResolveSocketMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo+ ResolveSocketMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo+ ResolveSocketMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo+ ResolveSocketMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveSocketMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveSocketMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo+ ResolveSocketMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo+ ResolveSocketMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveSocketMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo+ ResolveSocketMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo+ ResolveSocketMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo+ ResolveSocketMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo+ ResolveSocketMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo+ ResolveSocketMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveSocketMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo+ ResolveSocketMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo+ ResolveSocketMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveSocketMethod t Socket, O.MethodInfo info Socket p) => OL.IsLabel t (Socket -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList Socket+type instance O.AttributeList Socket = SocketAttributeList+type SocketAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList Socket = SocketSignalList+type SocketSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])++#endif++-- method Socket::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Socket"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_socket_new" atk_socket_new :: + IO (Ptr Socket)++{- |+/No description available in the introspection data./+-}+socketNew ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m Socket+socketNew = liftIO $ do+ result <- atk_socket_new+ checkUnexpectedReturnNULL "socketNew" result+ result' <- (wrapObject Socket) result+ return result'++#if ENABLE_OVERLOADING+#endif++-- method Socket::embed+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Socket"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkSocket", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "plug_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ID of an #AtkPlug", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_socket_embed" atk_socket_embed :: + Ptr Socket -> -- obj : TInterface (Name {namespace = "Atk", name = "Socket"})+ CString -> -- plug_id : TBasicType TUTF8+ IO ()++{- |+Embeds the children of an 'GI.Atk.Objects.Plug.Plug' as the children of the+'GI.Atk.Objects.Socket.Socket'. The plug may be in the same process or in a different+process.++The class item used by this function should be filled in by the IPC+layer (usually at-spi2-atk). The implementor of the AtkSocket+should call this function and pass the id for the plug as returned+by 'GI.Atk.Objects.Plug.plugGetId'. It is the responsibility of the application+to pass the plug id on to the process implementing the 'GI.Atk.Objects.Socket.Socket'+as needed.++/Since: 1.30/+-}+socketEmbed ::+ (B.CallStack.HasCallStack, MonadIO m, IsSocket a) =>+ a+ {- ^ /@obj@/: an 'GI.Atk.Objects.Socket.Socket' -}+ -> T.Text+ {- ^ /@plugId@/: the ID of an 'GI.Atk.Objects.Plug.Plug' -}+ -> m ()+socketEmbed obj plugId = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ plugId' <- textToCString plugId+ atk_socket_embed obj' plugId'+ touchManagedPtr obj+ freeMem plugId'+ return ()++#if ENABLE_OVERLOADING+data SocketEmbedMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsSocket a) => O.MethodInfo SocketEmbedMethodInfo a signature where+ overloadedMethod _ = socketEmbed++#endif++-- method Socket::is_occupied+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Atk", name = "Socket"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkSocket", 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 "atk_socket_is_occupied" atk_socket_is_occupied :: + Ptr Socket -> -- obj : TInterface (Name {namespace = "Atk", name = "Socket"})+ IO CInt++{- |+Determines whether or not the socket has an embedded plug.++/Since: 1.30/+-}+socketIsOccupied ::+ (B.CallStack.HasCallStack, MonadIO m, IsSocket a) =>+ a+ {- ^ /@obj@/: an 'GI.Atk.Objects.Socket.Socket' -}+ -> m Bool+ {- ^ __Returns:__ TRUE if a plug is embedded in the socket -}+socketIsOccupied obj = liftIO $ do+ obj' <- unsafeManagedPtrCastPtr obj+ result <- atk_socket_is_occupied obj'+ let result' = (/= 0) result+ touchManagedPtr obj+ return result'++#if ENABLE_OVERLOADING+data SocketIsOccupiedMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsSocket a) => O.MethodInfo SocketIsOccupiedMethodInfo a signature where+ overloadedMethod _ = socketIsOccupied++#endif++
+ GI/Atk/Objects/Socket.hs-boot view
@@ -0,0 +1,35 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.Socket 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++newtype Socket = Socket (ManagedPtr Socket)+instance GObject Socket where+class (GObject o, O.IsDescendantOf Socket o) => IsSocket o+instance (GObject o, O.IsDescendantOf Socket o) => IsSocket o+instance O.HasParentTypes Socket+#if ENABLE_OVERLOADING+data SocketEmbedMethodInfo+#endif+#if ENABLE_OVERLOADING+data SocketIsOccupiedMethodInfo+#endif
+ GI/Atk/Objects/StateSet.hs view
@@ -0,0 +1,665 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++An AtkStateSet is a read-only representation of the full set of @/AtkStates/@+that apply to an object at a given time. This set is not meant to be+modified, but rather created when @/atk_object_ref_state_set/@() is called.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.StateSet+ ( ++-- * Exported types+ StateSet(..) ,+ IsStateSet ,+ toStateSet ,+ noStateSet ,+++ -- * Methods+-- ** addState #method:addState#++#if ENABLE_OVERLOADING+ StateSetAddStateMethodInfo ,+#endif+ stateSetAddState ,+++-- ** addStates #method:addStates#++#if ENABLE_OVERLOADING+ StateSetAddStatesMethodInfo ,+#endif+ stateSetAddStates ,+++-- ** andSets #method:andSets#++#if ENABLE_OVERLOADING+ StateSetAndSetsMethodInfo ,+#endif+ stateSetAndSets ,+++-- ** clearStates #method:clearStates#++#if ENABLE_OVERLOADING+ StateSetClearStatesMethodInfo ,+#endif+ stateSetClearStates ,+++-- ** containsState #method:containsState#++#if ENABLE_OVERLOADING+ StateSetContainsStateMethodInfo ,+#endif+ stateSetContainsState ,+++-- ** containsStates #method:containsStates#++#if ENABLE_OVERLOADING+ StateSetContainsStatesMethodInfo ,+#endif+ stateSetContainsStates ,+++-- ** isEmpty #method:isEmpty#++#if ENABLE_OVERLOADING+ StateSetIsEmptyMethodInfo ,+#endif+ stateSetIsEmpty ,+++-- ** new #method:new#++ stateSetNew ,+++-- ** orSets #method:orSets#++#if ENABLE_OVERLOADING+ StateSetOrSetsMethodInfo ,+#endif+ stateSetOrSets ,+++-- ** removeState #method:removeState#++#if ENABLE_OVERLOADING+ StateSetRemoveStateMethodInfo ,+#endif+ stateSetRemoveState ,+++-- ** xorSets #method:xorSets#++#if ENABLE_OVERLOADING+ StateSetXorSetsMethodInfo ,+#endif+ stateSetXorSets ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Enums as Atk.Enums+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype StateSet = StateSet (ManagedPtr StateSet)+foreign import ccall "atk_state_set_get_type"+ c_atk_state_set_get_type :: IO GType++instance GObject StateSet where+ gobjectType = c_atk_state_set_get_type+ ++-- | Type class for types which can be safely cast to `StateSet`, for instance with `toStateSet`.+class (GObject o, O.IsDescendantOf StateSet o) => IsStateSet o+instance (GObject o, O.IsDescendantOf StateSet o) => IsStateSet o++instance O.HasParentTypes StateSet+type instance O.ParentTypes StateSet = '[GObject.Object.Object]++-- | Cast to `StateSet`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toStateSet :: (MonadIO m, IsStateSet o) => o -> m StateSet+toStateSet = liftIO . unsafeCastTo StateSet++-- | A convenience alias for `Nothing` :: `Maybe` `StateSet`.+noStateSet :: Maybe StateSet+noStateSet = Nothing++#if ENABLE_OVERLOADING+type family ResolveStateSetMethod (t :: Symbol) (o :: *) :: * where+ ResolveStateSetMethod "addState" o = StateSetAddStateMethodInfo+ ResolveStateSetMethod "addStates" o = StateSetAddStatesMethodInfo+ ResolveStateSetMethod "andSets" o = StateSetAndSetsMethodInfo+ ResolveStateSetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveStateSetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveStateSetMethod "clearStates" o = StateSetClearStatesMethodInfo+ ResolveStateSetMethod "containsState" o = StateSetContainsStateMethodInfo+ ResolveStateSetMethod "containsStates" o = StateSetContainsStatesMethodInfo+ ResolveStateSetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveStateSetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveStateSetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveStateSetMethod "isEmpty" o = StateSetIsEmptyMethodInfo+ ResolveStateSetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveStateSetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveStateSetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveStateSetMethod "orSets" o = StateSetOrSetsMethodInfo+ ResolveStateSetMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveStateSetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveStateSetMethod "removeState" o = StateSetRemoveStateMethodInfo+ ResolveStateSetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveStateSetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveStateSetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveStateSetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveStateSetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveStateSetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveStateSetMethod "xorSets" o = StateSetXorSetsMethodInfo+ ResolveStateSetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveStateSetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveStateSetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveStateSetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveStateSetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveStateSetMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveStateSetMethod t StateSet, O.MethodInfo info StateSet p) => OL.IsLabel t (StateSet -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList StateSet+type instance O.AttributeList StateSet = StateSetAttributeList+type StateSetAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList StateSet = StateSetSignalList+type StateSetSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method StateSet::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "StateSet"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_state_set_new" atk_state_set_new :: + IO (Ptr StateSet)++{- |+Creates a new empty state set.+-}+stateSetNew ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ m StateSet+ {- ^ __Returns:__ a new 'GI.Atk.Objects.StateSet.StateSet' -}+stateSetNew = liftIO $ do+ result <- atk_state_set_new+ checkUnexpectedReturnNULL "stateSetNew" result+ result' <- (wrapObject StateSet) result+ return result'++#if ENABLE_OVERLOADING+#endif++-- method StateSet::add_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Atk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateType", 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 "atk_state_set_add_state" atk_state_set_add_state :: + Ptr StateSet -> -- set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ CUInt -> -- type : TInterface (Name {namespace = "Atk", name = "StateType"})+ IO CInt++{- |+Adds the state of the specified type to the state set if it is not already+present.++Note that because an 'GI.Atk.Objects.StateSet.StateSet' is a read-only object, this method should+be used to add a state to a newly-created set which will then be returned by+@/atk_object_ref_state_set/@. It should not be used to modify the existing state+of an object. See also @/atk_object_notify_state_change/@.+-}+stateSetAddState ::+ (B.CallStack.HasCallStack, MonadIO m, IsStateSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.StateSet.StateSet' -}+ -> Atk.Enums.StateType+ {- ^ /@type@/: an 'GI.Atk.Enums.StateType' -}+ -> m Bool+ {- ^ __Returns:__ 'True' if the state for /@type@/ is not already in /@set@/. -}+stateSetAddState set type_ = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ let type_' = (fromIntegral . fromEnum) type_+ result <- atk_state_set_add_state set' type_'+ let result' = (/= 0) result+ touchManagedPtr set+ return result'++#if ENABLE_OVERLOADING+data StateSetAddStateMethodInfo+instance (signature ~ (Atk.Enums.StateType -> m Bool), MonadIO m, IsStateSet a) => O.MethodInfo StateSetAddStateMethodInfo a signature where+ overloadedMethod _ = stateSetAddState++#endif++-- method StateSet::add_states+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Atk", name = "StateType"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #AtkStateType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_types", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of elements in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "n_types", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of elements in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_state_set_add_states" atk_state_set_add_states :: + Ptr StateSet -> -- set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ Ptr CUInt -> -- types : TCArray False (-1) 2 (TInterface (Name {namespace = "Atk", name = "StateType"}))+ Int32 -> -- n_types : TBasicType TInt+ IO ()++{- |+Adds the states of the specified types to the state set.++Note that because an 'GI.Atk.Objects.StateSet.StateSet' is a read-only object, this method should+be used to add states to a newly-created set which will then be returned by+@/atk_object_ref_state_set/@. It should not be used to modify the existing state+of an object. See also @/atk_object_notify_state_change/@.+-}+stateSetAddStates ::+ (B.CallStack.HasCallStack, MonadIO m, IsStateSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.StateSet.StateSet' -}+ -> [Atk.Enums.StateType]+ {- ^ /@types@/: an array of 'GI.Atk.Enums.StateType' -}+ -> m ()+stateSetAddStates set types = liftIO $ do+ let nTypes = fromIntegral $ length types+ set' <- unsafeManagedPtrCastPtr set+ let types' = map (fromIntegral . fromEnum) types+ types'' <- packStorableArray types'+ atk_state_set_add_states set' types'' nTypes+ touchManagedPtr set+ freeMem types''+ return ()++#if ENABLE_OVERLOADING+data StateSetAddStatesMethodInfo+instance (signature ~ ([Atk.Enums.StateType] -> m ()), MonadIO m, IsStateSet a) => O.MethodInfo StateSetAddStatesMethodInfo a signature where+ overloadedMethod _ = stateSetAddStates++#endif++-- method StateSet::and_sets+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compare_set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "StateSet"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_state_set_and_sets" atk_state_set_and_sets :: + Ptr StateSet -> -- set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ Ptr StateSet -> -- compare_set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ IO (Ptr StateSet)++{- |+Constructs the intersection of the two sets, returning 'Nothing' if the+intersection is empty.+-}+stateSetAndSets ::+ (B.CallStack.HasCallStack, MonadIO m, IsStateSet a, IsStateSet b) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.StateSet.StateSet' -}+ -> b+ {- ^ /@compareSet@/: another 'GI.Atk.Objects.StateSet.StateSet' -}+ -> m StateSet+ {- ^ __Returns:__ a new 'GI.Atk.Objects.StateSet.StateSet' which is the intersection of+the two sets. -}+stateSetAndSets set compareSet = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ compareSet' <- unsafeManagedPtrCastPtr compareSet+ result <- atk_state_set_and_sets set' compareSet'+ checkUnexpectedReturnNULL "stateSetAndSets" result+ result' <- (wrapObject StateSet) result+ touchManagedPtr set+ touchManagedPtr compareSet+ return result'++#if ENABLE_OVERLOADING+data StateSetAndSetsMethodInfo+instance (signature ~ (b -> m StateSet), MonadIO m, IsStateSet a, IsStateSet b) => O.MethodInfo StateSetAndSetsMethodInfo a signature where+ overloadedMethod _ = stateSetAndSets++#endif++-- method StateSet::clear_states+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_state_set_clear_states" atk_state_set_clear_states :: + Ptr StateSet -> -- set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ IO ()++{- |+Removes all states from the state set.+-}+stateSetClearStates ::+ (B.CallStack.HasCallStack, MonadIO m, IsStateSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.StateSet.StateSet' -}+ -> m ()+stateSetClearStates set = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ atk_state_set_clear_states set'+ touchManagedPtr set+ return ()++#if ENABLE_OVERLOADING+data StateSetClearStatesMethodInfo+instance (signature ~ (m ()), MonadIO m, IsStateSet a) => O.MethodInfo StateSetClearStatesMethodInfo a signature where+ overloadedMethod _ = stateSetClearStates++#endif++-- method StateSet::contains_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Atk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateType", 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 "atk_state_set_contains_state" atk_state_set_contains_state :: + Ptr StateSet -> -- set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ CUInt -> -- type : TInterface (Name {namespace = "Atk", name = "StateType"})+ IO CInt++{- |+Checks whether the state for the specified type is in the specified set.+-}+stateSetContainsState ::+ (B.CallStack.HasCallStack, MonadIO m, IsStateSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.StateSet.StateSet' -}+ -> Atk.Enums.StateType+ {- ^ /@type@/: an 'GI.Atk.Enums.StateType' -}+ -> m Bool+ {- ^ __Returns:__ 'True' if /@type@/ is the state type is in /@set@/. -}+stateSetContainsState set type_ = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ let type_' = (fromIntegral . fromEnum) type_+ result <- atk_state_set_contains_state set' type_'+ let result' = (/= 0) result+ touchManagedPtr set+ return result'++#if ENABLE_OVERLOADING+data StateSetContainsStateMethodInfo+instance (signature ~ (Atk.Enums.StateType -> m Bool), MonadIO m, IsStateSet a) => O.MethodInfo StateSetContainsStateMethodInfo a signature where+ overloadedMethod _ = stateSetContainsState++#endif++-- method StateSet::contains_states+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Atk", name = "StateType"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #AtkStateType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_types", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of elements in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "n_types", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of elements in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "atk_state_set_contains_states" atk_state_set_contains_states :: + Ptr StateSet -> -- set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ Ptr CUInt -> -- types : TCArray False (-1) 2 (TInterface (Name {namespace = "Atk", name = "StateType"}))+ Int32 -> -- n_types : TBasicType TInt+ IO CInt++{- |+Checks whether the states for all the specified types are in the+specified set.+-}+stateSetContainsStates ::+ (B.CallStack.HasCallStack, MonadIO m, IsStateSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.StateSet.StateSet' -}+ -> [Atk.Enums.StateType]+ {- ^ /@types@/: an array of 'GI.Atk.Enums.StateType' -}+ -> m Bool+ {- ^ __Returns:__ 'True' if all the states for /@type@/ are in /@set@/. -}+stateSetContainsStates set types = liftIO $ do+ let nTypes = fromIntegral $ length types+ set' <- unsafeManagedPtrCastPtr set+ let types' = map (fromIntegral . fromEnum) types+ types'' <- packStorableArray types'+ result <- atk_state_set_contains_states set' types'' nTypes+ let result' = (/= 0) result+ touchManagedPtr set+ freeMem types''+ return result'++#if ENABLE_OVERLOADING+data StateSetContainsStatesMethodInfo+instance (signature ~ ([Atk.Enums.StateType] -> m Bool), MonadIO m, IsStateSet a) => O.MethodInfo StateSetContainsStatesMethodInfo a signature where+ overloadedMethod _ = stateSetContainsStates++#endif++-- method StateSet::is_empty+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateType", 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 "atk_state_set_is_empty" atk_state_set_is_empty :: + Ptr StateSet -> -- set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ IO CInt++{- |+Checks whether the state set is empty, i.e. has no states set.+-}+stateSetIsEmpty ::+ (B.CallStack.HasCallStack, MonadIO m, IsStateSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Enums.StateType' -}+ -> m Bool+ {- ^ __Returns:__ 'True' if /@set@/ has no states set, otherwise 'False' -}+stateSetIsEmpty set = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ result <- atk_state_set_is_empty set'+ let result' = (/= 0) result+ touchManagedPtr set+ return result'++#if ENABLE_OVERLOADING+data StateSetIsEmptyMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsStateSet a) => O.MethodInfo StateSetIsEmptyMethodInfo a signature where+ overloadedMethod _ = stateSetIsEmpty++#endif++-- method StateSet::or_sets+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compare_set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "StateSet"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_state_set_or_sets" atk_state_set_or_sets :: + Ptr StateSet -> -- set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ Ptr StateSet -> -- compare_set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ IO (Ptr StateSet)++{- |+Constructs the union of the two sets.+-}+stateSetOrSets ::+ (B.CallStack.HasCallStack, MonadIO m, IsStateSet a, IsStateSet b) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.StateSet.StateSet' -}+ -> b+ {- ^ /@compareSet@/: another 'GI.Atk.Objects.StateSet.StateSet' -}+ -> m (Maybe StateSet)+ {- ^ __Returns:__ a new 'GI.Atk.Objects.StateSet.StateSet' which is+the union of the two sets, returning 'Nothing' is empty. -}+stateSetOrSets set compareSet = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ compareSet' <- unsafeManagedPtrCastPtr compareSet+ result <- atk_state_set_or_sets set' compareSet'+ maybeResult <- convertIfNonNull result $ \result' -> do+ result'' <- (wrapObject StateSet) result'+ return result''+ touchManagedPtr set+ touchManagedPtr compareSet+ return maybeResult++#if ENABLE_OVERLOADING+data StateSetOrSetsMethodInfo+instance (signature ~ (b -> m (Maybe StateSet)), MonadIO m, IsStateSet a, IsStateSet b) => O.MethodInfo StateSetOrSetsMethodInfo a signature where+ overloadedMethod _ = stateSetOrSets++#endif++-- method StateSet::remove_state+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Atk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkType", 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 "atk_state_set_remove_state" atk_state_set_remove_state :: + Ptr StateSet -> -- set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ CUInt -> -- type : TInterface (Name {namespace = "Atk", name = "StateType"})+ IO CInt++{- |+Removes the state for the specified type from the state set.++Note that because an 'GI.Atk.Objects.StateSet.StateSet' is a read-only object, this method should+be used to remove a state to a newly-created set which will then be returned+by @/atk_object_ref_state_set/@. It should not be used to modify the existing+state of an object. See also @/atk_object_notify_state_change/@.+-}+stateSetRemoveState ::+ (B.CallStack.HasCallStack, MonadIO m, IsStateSet a) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.StateSet.StateSet' -}+ -> Atk.Enums.StateType+ {- ^ /@type@/: an @/AtkType/@ -}+ -> m Bool+ {- ^ __Returns:__ 'True' if /@type@/ was the state type is in /@set@/. -}+stateSetRemoveState set type_ = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ let type_' = (fromIntegral . fromEnum) type_+ result <- atk_state_set_remove_state set' type_'+ let result' = (/= 0) result+ touchManagedPtr set+ return result'++#if ENABLE_OVERLOADING+data StateSetRemoveStateMethodInfo+instance (signature ~ (Atk.Enums.StateType -> m Bool), MonadIO m, IsStateSet a) => O.MethodInfo StateSetRemoveStateMethodInfo a signature where+ overloadedMethod _ = stateSetRemoveState++#endif++-- method StateSet::xor_sets+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compare_set", argType = TInterface (Name {namespace = "Atk", name = "StateSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #AtkStateSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "StateSet"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_state_set_xor_sets" atk_state_set_xor_sets :: + Ptr StateSet -> -- set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ Ptr StateSet -> -- compare_set : TInterface (Name {namespace = "Atk", name = "StateSet"})+ IO (Ptr StateSet)++{- |+Constructs the exclusive-or of the two sets, returning 'Nothing' is empty.+The set returned by this operation contains the states in exactly+one of the two sets.+-}+stateSetXorSets ::+ (B.CallStack.HasCallStack, MonadIO m, IsStateSet a, IsStateSet b) =>+ a+ {- ^ /@set@/: an 'GI.Atk.Objects.StateSet.StateSet' -}+ -> b+ {- ^ /@compareSet@/: another 'GI.Atk.Objects.StateSet.StateSet' -}+ -> m StateSet+ {- ^ __Returns:__ a new 'GI.Atk.Objects.StateSet.StateSet' which contains the states+which are in exactly one of the two sets. -}+stateSetXorSets set compareSet = liftIO $ do+ set' <- unsafeManagedPtrCastPtr set+ compareSet' <- unsafeManagedPtrCastPtr compareSet+ result <- atk_state_set_xor_sets set' compareSet'+ checkUnexpectedReturnNULL "stateSetXorSets" result+ result' <- (wrapObject StateSet) result+ touchManagedPtr set+ touchManagedPtr compareSet+ return result'++#if ENABLE_OVERLOADING+data StateSetXorSetsMethodInfo+instance (signature ~ (b -> m StateSet), MonadIO m, IsStateSet a, IsStateSet b) => O.MethodInfo StateSetXorSetsMethodInfo a signature where+ overloadedMethod _ = stateSetXorSets++#endif++
+ GI/Atk/Objects/StateSet.hs-boot view
@@ -0,0 +1,59 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.StateSet 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++newtype StateSet = StateSet (ManagedPtr StateSet)+instance GObject StateSet where+class (GObject o, O.IsDescendantOf StateSet o) => IsStateSet o+instance (GObject o, O.IsDescendantOf StateSet o) => IsStateSet o+instance O.HasParentTypes StateSet+#if ENABLE_OVERLOADING+data StateSetAddStateMethodInfo+#endif+#if ENABLE_OVERLOADING+data StateSetAddStatesMethodInfo+#endif+#if ENABLE_OVERLOADING+data StateSetAndSetsMethodInfo+#endif+#if ENABLE_OVERLOADING+data StateSetClearStatesMethodInfo+#endif+#if ENABLE_OVERLOADING+data StateSetContainsStateMethodInfo+#endif+#if ENABLE_OVERLOADING+data StateSetContainsStatesMethodInfo+#endif+#if ENABLE_OVERLOADING+data StateSetIsEmptyMethodInfo+#endif+#if ENABLE_OVERLOADING+data StateSetOrSetsMethodInfo+#endif+#if ENABLE_OVERLOADING+data StateSetRemoveStateMethodInfo+#endif+#if ENABLE_OVERLOADING+data StateSetXorSetsMethodInfo+#endif
+ GI/Atk/Objects/Util.hs view
@@ -0,0 +1,124 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A set of ATK utility functions which are used to support event+registration of various types, and obtaining the \'root\' accessible+of a process and information about the current ATK implementation+and toolkit version.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Objects.Util+ ( ++-- * Exported types+ Util(..) ,+ IsUtil ,+ toUtil ,+ noUtil ,+++ ) 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++-- | Memory-managed wrapper type.+newtype Util = Util (ManagedPtr Util)+foreign import ccall "atk_util_get_type"+ c_atk_util_get_type :: IO GType++instance GObject Util where+ gobjectType = c_atk_util_get_type+ ++-- | Type class for types which can be safely cast to `Util`, for instance with `toUtil`.+class (GObject o, O.IsDescendantOf Util o) => IsUtil o+instance (GObject o, O.IsDescendantOf Util o) => IsUtil o++instance O.HasParentTypes Util+type instance O.ParentTypes Util = '[GObject.Object.Object]++-- | Cast to `Util`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toUtil :: (MonadIO m, IsUtil o) => o -> m Util+toUtil = liftIO . unsafeCastTo Util++-- | A convenience alias for `Nothing` :: `Maybe` `Util`.+noUtil :: Maybe Util+noUtil = Nothing++#if ENABLE_OVERLOADING+type family ResolveUtilMethod (t :: Symbol) (o :: *) :: * where+ ResolveUtilMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+ ResolveUtilMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+ ResolveUtilMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+ ResolveUtilMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+ ResolveUtilMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+ ResolveUtilMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+ ResolveUtilMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+ ResolveUtilMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+ ResolveUtilMethod "ref" o = GObject.Object.ObjectRefMethodInfo+ ResolveUtilMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+ ResolveUtilMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+ ResolveUtilMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+ ResolveUtilMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+ ResolveUtilMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+ ResolveUtilMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+ ResolveUtilMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+ ResolveUtilMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+ ResolveUtilMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+ ResolveUtilMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+ ResolveUtilMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+ ResolveUtilMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+ ResolveUtilMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveUtilMethod t Util, O.MethodInfo info Util p) => OL.IsLabel t (Util -> 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++#if ENABLE_OVERLOADING+instance O.HasAttributeList Util+type instance O.AttributeList Util = UtilAttributeList+type UtilAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList Util = UtilSignalList+type UtilSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++
+ GI/Atk/Objects/Util.hs-boot view
@@ -0,0 +1,29 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Objects.Util 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++newtype Util = Util (ManagedPtr Util)+instance GObject Util where+class (GObject o, O.IsDescendantOf Util o) => IsUtil o+instance (GObject o, O.IsDescendantOf Util o) => IsUtil o+instance O.HasParentTypes Util
+ GI/Atk/Structs.hs view
@@ -0,0 +1,55 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Structs+ ( module GI.Atk.Structs.Attribute ,+ module GI.Atk.Structs.Implementor ,+ module GI.Atk.Structs.KeyEventStruct ,+ module GI.Atk.Structs.PropertyValues ,+ module GI.Atk.Structs.Range ,+ module GI.Atk.Structs.Rectangle ,+ module GI.Atk.Structs.TextRange ,+ module GI.Atk.Structs.TextRectangle ,+++ ) where++import GI.Atk.Structs.Attribute+import GI.Atk.Structs.Implementor+import GI.Atk.Structs.KeyEventStruct+import GI.Atk.Structs.PropertyValues+import GI.Atk.Structs.Range+import GI.Atk.Structs.Rectangle+import GI.Atk.Structs.TextRange+import GI.Atk.Structs.TextRectangle++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+++
+ GI/Atk/Structs/Attribute.hs view
@@ -0,0 +1,281 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++AtkAttribute is a string name\/value pair representing a generic+attribute. This can be used to expose additional information from+an accessible object as a whole (see 'GI.Atk.Objects.Object.objectGetAttributes')+or an document (see 'GI.Atk.Interfaces.Document.documentGetAttributes'). In the case of+text attributes (see 'GI.Atk.Interfaces.Text.textGetDefaultAttributes'),+'GI.Atk.Enums.TextAttribute' enum defines all the possible text attribute+names. You can use 'GI.Atk.Functions.textAttributeGetName' to get the string+name from the enum value. See also 'GI.Atk.Functions.textAttributeForName'+and 'GI.Atk.Functions.textAttributeGetValue' for more information.++A string name\/value pair representing a generic attribute.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Structs.Attribute+ ( ++-- * Exported types+ Attribute(..) ,+ newZeroAttribute ,+ noAttribute ,+++ -- * Methods+-- ** setFree #method:setFree#++ attributeSetFree ,+++++ -- * Properties+-- ** name #attr:name#+{- | The attribute name.+-}+#if ENABLE_OVERLOADING+ attribute_name ,+#endif+ clearAttributeName ,+ getAttributeName ,+ setAttributeName ,+++-- ** value #attr:value#+{- | the value of the attribute, represented as a string.+-}+#if ENABLE_OVERLOADING+ attribute_value ,+#endif+ clearAttributeValue ,+ getAttributeValue ,+ setAttributeValue ,+++++ ) 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+++-- | Memory-managed wrapper type.+newtype Attribute = Attribute (ManagedPtr Attribute)+instance WrappedPtr Attribute where+ wrappedPtrCalloc = callocBytes 16+ wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr Attribute)+ wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `Attribute` struct initialized to zero.+newZeroAttribute :: MonadIO m => m Attribute+newZeroAttribute = liftIO $ wrappedPtrCalloc >>= wrapPtr Attribute++instance tag ~ 'AttrSet => Constructible Attribute tag where+ new _ attrs = do+ o <- newZeroAttribute+ GI.Attributes.set o attrs+ return o+++-- | A convenience alias for `Nothing` :: `Maybe` `Attribute`.+noAttribute :: Maybe Attribute+noAttribute = Nothing++{- |+Get the value of the “@name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' attribute #name+@+-}+getAttributeName :: MonadIO m => Attribute -> m (Maybe T.Text)+getAttributeName s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 0) :: IO CString+ result <- SP.convertIfNonNull val $ \val' -> do+ val'' <- cstringToText val'+ return val''+ return result++{- |+Set the value of the “@name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' attribute [ #name 'Data.GI.Base.Attributes.:=' value ]+@+-}+setAttributeName :: MonadIO m => Attribute -> CString -> m ()+setAttributeName s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 0) (val :: CString)++{- |+Set the value of the “@name@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #name+@+-}+clearAttributeName :: MonadIO m => Attribute -> m ()+clearAttributeName s = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data AttributeNameFieldInfo+instance AttrInfo AttributeNameFieldInfo where+ type AttrAllowedOps AttributeNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint AttributeNameFieldInfo = (~) CString+ type AttrBaseTypeConstraint AttributeNameFieldInfo = (~) Attribute+ type AttrGetType AttributeNameFieldInfo = Maybe T.Text+ type AttrLabel AttributeNameFieldInfo = "name"+ type AttrOrigin AttributeNameFieldInfo = Attribute+ attrGet _ = getAttributeName+ attrSet _ = setAttributeName+ attrConstruct = undefined+ attrClear _ = clearAttributeName++attribute_name :: AttrLabelProxy "name"+attribute_name = AttrLabelProxy++#endif+++{- |+Get the value of the “@value@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' attribute #value+@+-}+getAttributeValue :: MonadIO m => Attribute -> m (Maybe T.Text)+getAttributeValue s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 8) :: IO CString+ result <- SP.convertIfNonNull val $ \val' -> do+ val'' <- cstringToText val'+ return val''+ return result++{- |+Set the value of the “@value@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' attribute [ #value 'Data.GI.Base.Attributes.:=' value ]+@+-}+setAttributeValue :: MonadIO m => Attribute -> CString -> m ()+setAttributeValue s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 8) (val :: CString)++{- |+Set the value of the “@value@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #value+@+-}+clearAttributeValue :: MonadIO m => Attribute -> m ()+clearAttributeValue s = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data AttributeValueFieldInfo+instance AttrInfo AttributeValueFieldInfo where+ type AttrAllowedOps AttributeValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint AttributeValueFieldInfo = (~) CString+ type AttrBaseTypeConstraint AttributeValueFieldInfo = (~) Attribute+ type AttrGetType AttributeValueFieldInfo = Maybe T.Text+ type AttrLabel AttributeValueFieldInfo = "value"+ type AttrOrigin AttributeValueFieldInfo = Attribute+ attrGet _ = getAttributeValue+ attrSet _ = setAttributeValue+ attrConstruct = undefined+ attrClear _ = clearAttributeValue++attribute_value :: AttrLabelProxy "value"+attribute_value = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList Attribute+type instance O.AttributeList Attribute = AttributeAttributeList+type AttributeAttributeList = ('[ '("name", AttributeNameFieldInfo), '("value", AttributeValueFieldInfo)] :: [(Symbol, *)])+#endif++-- method Attribute::set_free+-- method type : MemberFunction+-- Args : [Arg {argCName = "attrib_set", argType = TGSList (TBasicType TPtr), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #AtkAttributeSet to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_attribute_set_free" atk_attribute_set_free :: + Ptr (GSList (Ptr ())) -> -- attrib_set : TGSList (TBasicType TPtr)+ IO ()++{- |+Frees the memory used by an @/AtkAttributeSet/@, including all its+@/AtkAttributes/@.+-}+attributeSetFree ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ [Ptr ()]+ {- ^ /@attribSet@/: The @/AtkAttributeSet/@ to free -}+ -> m ()+attributeSetFree attribSet = liftIO $ do+ attribSet' <- packGSList attribSet+ atk_attribute_set_free attribSet'+ g_slist_free attribSet'+ return ()++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveAttributeMethod (t :: Symbol) (o :: *) :: * where+ ResolveAttributeMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveAttributeMethod t Attribute, O.MethodInfo info Attribute p) => OL.IsLabel t (Attribute -> 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++
+ GI/Atk/Structs/Attribute.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Structs.Attribute 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++newtype Attribute = Attribute (ManagedPtr Attribute)+instance WrappedPtr Attribute where
+ GI/Atk/Structs/Implementor.hs view
@@ -0,0 +1,129 @@+++{- |+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.Atk.Structs.Implementor+ ( ++-- * Exported types+ Implementor(..) ,+ noImplementor ,+++ -- * Methods+-- ** refAccessible #method:refAccessible#++#if ENABLE_OVERLOADING+ ImplementorRefAccessibleMethodInfo ,+#endif+ implementorRefAccessible ,+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Objects.Object as Atk.Object++-- | Memory-managed wrapper type.+newtype Implementor = Implementor (ManagedPtr Implementor)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr Implementor where+ wrappedPtrCalloc = return nullPtr+ wrappedPtrCopy = return+ wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `Implementor`.+noImplementor :: Maybe Implementor+noImplementor = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList Implementor+type instance O.AttributeList Implementor = ImplementorAttributeList+type ImplementorAttributeList = ('[ ] :: [(Symbol, *)])+#endif++-- method Implementor::ref_accessible+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "implementor", argType = TInterface (Name {namespace = "Atk", name = "Implementor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GObject instance which should implement #AtkImplementorIface\nif a non-null return value is required.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_implementor_ref_accessible" atk_implementor_ref_accessible :: + Ptr Implementor -> -- implementor : TInterface (Name {namespace = "Atk", name = "Implementor"})+ IO (Ptr Atk.Object.Object)++{- |+Gets a reference to an object\'s 'GI.Atk.Objects.Object.Object' implementation, if+the object implements @/AtkObjectIface/@+-}+implementorRefAccessible ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ Implementor+ {- ^ /@implementor@/: The 'GI.GObject.Objects.Object.Object' instance which should implement 'GI.Atk.Interfaces.ImplementorIface.ImplementorIface'+if a non-null return value is required. -}+ -> m Atk.Object.Object+ {- ^ __Returns:__ a reference to an object\'s 'GI.Atk.Objects.Object.Object'+implementation -}+implementorRefAccessible implementor = liftIO $ do+ implementor' <- unsafeManagedPtrGetPtr implementor+ result <- atk_implementor_ref_accessible implementor'+ checkUnexpectedReturnNULL "implementorRefAccessible" result+ result' <- (wrapObject Atk.Object.Object) result+ touchManagedPtr implementor+ return result'++#if ENABLE_OVERLOADING+data ImplementorRefAccessibleMethodInfo+instance (signature ~ (m Atk.Object.Object), MonadIO m) => O.MethodInfo ImplementorRefAccessibleMethodInfo Implementor signature where+ overloadedMethod _ = implementorRefAccessible++#endif++#if ENABLE_OVERLOADING+type family ResolveImplementorMethod (t :: Symbol) (o :: *) :: * where+ ResolveImplementorMethod "refAccessible" o = ImplementorRefAccessibleMethodInfo+ ResolveImplementorMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveImplementorMethod t Implementor, O.MethodInfo info Implementor p) => OL.IsLabel t (Implementor -> 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++
+ GI/Atk/Structs/Implementor.hs-boot view
@@ -0,0 +1,29 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Structs.Implementor 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++newtype Implementor = Implementor (ManagedPtr Implementor)+instance WrappedPtr Implementor where+#if ENABLE_OVERLOADING+data ImplementorRefAccessibleMethodInfo+#endif
+ GI/Atk/Structs/KeyEventStruct.hs view
@@ -0,0 +1,501 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Encapsulates information about a key event.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Structs.KeyEventStruct+ ( ++-- * Exported types+ KeyEventStruct(..) ,+ newZeroKeyEventStruct ,+ noKeyEventStruct ,+++ -- * Properties+-- ** keycode #attr:keycode#+{- | The raw hardware code that generated the key event. This field is raraly useful.+-}+ getKeyEventStructKeycode ,+#if ENABLE_OVERLOADING+ keyEventStruct_keycode ,+#endif+ setKeyEventStructKeycode ,+++-- ** keyval #attr:keyval#+{- | A guint representing a keysym value corresponding to those used by GDK and X11: see+\/usr\/X11\/include\/keysymdef.h.+-}+ getKeyEventStructKeyval ,+#if ENABLE_OVERLOADING+ keyEventStruct_keyval ,+#endif+ setKeyEventStructKeyval ,+++-- ** length #attr:length#+{- | The length of member @/string/@.+-}+ getKeyEventStructLength ,+#if ENABLE_OVERLOADING+ keyEventStruct_length ,+#endif+ setKeyEventStructLength ,+++-- ** state #attr:state#+{- | A bitmask representing the state of the modifier keys immediately after the event takes place.+The meaning of the bits is currently defined to match the bitmask used by GDK in+GdkEventType.state, see+http:\/\/developer.gnome.org\/doc\/API\/2.0\/gdk\/gdk-Event-Structures.html@/GdkEventKey/@+-}+ getKeyEventStructState ,+#if ENABLE_OVERLOADING+ keyEventStruct_state ,+#endif+ setKeyEventStructState ,+++-- ** string #attr:string#+{- | A string containing one of the following: either a string approximating the text that would+result from this keypress, if the key is a control or graphic character, or a symbolic name for this keypress.+Alphanumeric and printable keys will have the symbolic key name in this string member, for instance \"A\". \"0\",+\"semicolon\", \"aacute\". Keypad keys have the prefix \"KP\".+-}+ clearKeyEventStructString ,+ getKeyEventStructString ,+#if ENABLE_OVERLOADING+ keyEventStruct_string ,+#endif+ setKeyEventStructString ,+++-- ** timestamp #attr:timestamp#+{- | A timestamp in milliseconds indicating when the event occurred.+These timestamps are relative to a starting point which should be considered arbitrary,+and only used to compare the dispatch times of events to one another.+-}+ getKeyEventStructTimestamp ,+#if ENABLE_OVERLOADING+ keyEventStruct_timestamp ,+#endif+ setKeyEventStructTimestamp ,+++-- ** type #attr:type#+{- | An AtkKeyEventType, generally one of ATK_KEY_EVENT_PRESS or ATK_KEY_EVENT_RELEASE+-}+ getKeyEventStructType ,+#if ENABLE_OVERLOADING+ keyEventStruct_type ,+#endif+ setKeyEventStructType ,+++++ ) 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+++-- | Memory-managed wrapper type.+newtype KeyEventStruct = KeyEventStruct (ManagedPtr KeyEventStruct)+instance WrappedPtr KeyEventStruct where+ wrappedPtrCalloc = callocBytes 32+ wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr KeyEventStruct)+ wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `KeyEventStruct` struct initialized to zero.+newZeroKeyEventStruct :: MonadIO m => m KeyEventStruct+newZeroKeyEventStruct = liftIO $ wrappedPtrCalloc >>= wrapPtr KeyEventStruct++instance tag ~ 'AttrSet => Constructible KeyEventStruct tag where+ new _ attrs = do+ o <- newZeroKeyEventStruct+ GI.Attributes.set o attrs+ return o+++-- | A convenience alias for `Nothing` :: `Maybe` `KeyEventStruct`.+noKeyEventStruct :: Maybe KeyEventStruct+noKeyEventStruct = Nothing++{- |+Get the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' keyEventStruct #type+@+-}+getKeyEventStructType :: MonadIO m => KeyEventStruct -> m Int32+getKeyEventStructType s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 0) :: IO Int32+ return val++{- |+Set the value of the “@type@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' keyEventStruct [ #type 'Data.GI.Base.Attributes.:=' value ]+@+-}+setKeyEventStructType :: MonadIO m => KeyEventStruct -> Int32 -> m ()+setKeyEventStructType s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 0) (val :: Int32)++#if ENABLE_OVERLOADING+data KeyEventStructTypeFieldInfo+instance AttrInfo KeyEventStructTypeFieldInfo where+ type AttrAllowedOps KeyEventStructTypeFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint KeyEventStructTypeFieldInfo = (~) Int32+ type AttrBaseTypeConstraint KeyEventStructTypeFieldInfo = (~) KeyEventStruct+ type AttrGetType KeyEventStructTypeFieldInfo = Int32+ type AttrLabel KeyEventStructTypeFieldInfo = "type"+ type AttrOrigin KeyEventStructTypeFieldInfo = KeyEventStruct+ attrGet _ = getKeyEventStructType+ attrSet _ = setKeyEventStructType+ attrConstruct = undefined+ attrClear _ = undefined++keyEventStruct_type :: AttrLabelProxy "type"+keyEventStruct_type = AttrLabelProxy++#endif+++{- |+Get the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' keyEventStruct #state+@+-}+getKeyEventStructState :: MonadIO m => KeyEventStruct -> m Word32+getKeyEventStructState s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 4) :: IO Word32+ return val++{- |+Set the value of the “@state@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' keyEventStruct [ #state 'Data.GI.Base.Attributes.:=' value ]+@+-}+setKeyEventStructState :: MonadIO m => KeyEventStruct -> Word32 -> m ()+setKeyEventStructState s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 4) (val :: Word32)++#if ENABLE_OVERLOADING+data KeyEventStructStateFieldInfo+instance AttrInfo KeyEventStructStateFieldInfo where+ type AttrAllowedOps KeyEventStructStateFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint KeyEventStructStateFieldInfo = (~) Word32+ type AttrBaseTypeConstraint KeyEventStructStateFieldInfo = (~) KeyEventStruct+ type AttrGetType KeyEventStructStateFieldInfo = Word32+ type AttrLabel KeyEventStructStateFieldInfo = "state"+ type AttrOrigin KeyEventStructStateFieldInfo = KeyEventStruct+ attrGet _ = getKeyEventStructState+ attrSet _ = setKeyEventStructState+ attrConstruct = undefined+ attrClear _ = undefined++keyEventStruct_state :: AttrLabelProxy "state"+keyEventStruct_state = AttrLabelProxy++#endif+++{- |+Get the value of the “@keyval@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' keyEventStruct #keyval+@+-}+getKeyEventStructKeyval :: MonadIO m => KeyEventStruct -> m Word32+getKeyEventStructKeyval s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 8) :: IO Word32+ return val++{- |+Set the value of the “@keyval@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' keyEventStruct [ #keyval 'Data.GI.Base.Attributes.:=' value ]+@+-}+setKeyEventStructKeyval :: MonadIO m => KeyEventStruct -> Word32 -> m ()+setKeyEventStructKeyval s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 8) (val :: Word32)++#if ENABLE_OVERLOADING+data KeyEventStructKeyvalFieldInfo+instance AttrInfo KeyEventStructKeyvalFieldInfo where+ type AttrAllowedOps KeyEventStructKeyvalFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint KeyEventStructKeyvalFieldInfo = (~) Word32+ type AttrBaseTypeConstraint KeyEventStructKeyvalFieldInfo = (~) KeyEventStruct+ type AttrGetType KeyEventStructKeyvalFieldInfo = Word32+ type AttrLabel KeyEventStructKeyvalFieldInfo = "keyval"+ type AttrOrigin KeyEventStructKeyvalFieldInfo = KeyEventStruct+ attrGet _ = getKeyEventStructKeyval+ attrSet _ = setKeyEventStructKeyval+ attrConstruct = undefined+ attrClear _ = undefined++keyEventStruct_keyval :: AttrLabelProxy "keyval"+keyEventStruct_keyval = AttrLabelProxy++#endif+++{- |+Get the value of the “@length@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' keyEventStruct #length+@+-}+getKeyEventStructLength :: MonadIO m => KeyEventStruct -> m Int32+getKeyEventStructLength s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 12) :: IO Int32+ return val++{- |+Set the value of the “@length@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' keyEventStruct [ #length 'Data.GI.Base.Attributes.:=' value ]+@+-}+setKeyEventStructLength :: MonadIO m => KeyEventStruct -> Int32 -> m ()+setKeyEventStructLength s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 12) (val :: Int32)++#if ENABLE_OVERLOADING+data KeyEventStructLengthFieldInfo+instance AttrInfo KeyEventStructLengthFieldInfo where+ type AttrAllowedOps KeyEventStructLengthFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint KeyEventStructLengthFieldInfo = (~) Int32+ type AttrBaseTypeConstraint KeyEventStructLengthFieldInfo = (~) KeyEventStruct+ type AttrGetType KeyEventStructLengthFieldInfo = Int32+ type AttrLabel KeyEventStructLengthFieldInfo = "length"+ type AttrOrigin KeyEventStructLengthFieldInfo = KeyEventStruct+ attrGet _ = getKeyEventStructLength+ attrSet _ = setKeyEventStructLength+ attrConstruct = undefined+ attrClear _ = undefined++keyEventStruct_length :: AttrLabelProxy "length"+keyEventStruct_length = AttrLabelProxy++#endif+++{- |+Get the value of the “@string@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' keyEventStruct #string+@+-}+getKeyEventStructString :: MonadIO m => KeyEventStruct -> m (Maybe T.Text)+getKeyEventStructString s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 16) :: IO CString+ result <- SP.convertIfNonNull val $ \val' -> do+ val'' <- cstringToText val'+ return val''+ return result++{- |+Set the value of the “@string@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' keyEventStruct [ #string 'Data.GI.Base.Attributes.:=' value ]+@+-}+setKeyEventStructString :: MonadIO m => KeyEventStruct -> CString -> m ()+setKeyEventStructString s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 16) (val :: CString)++{- |+Set the value of the “@string@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #string+@+-}+clearKeyEventStructString :: MonadIO m => KeyEventStruct -> m ()+clearKeyEventStructString s = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data KeyEventStructStringFieldInfo+instance AttrInfo KeyEventStructStringFieldInfo where+ type AttrAllowedOps KeyEventStructStringFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint KeyEventStructStringFieldInfo = (~) CString+ type AttrBaseTypeConstraint KeyEventStructStringFieldInfo = (~) KeyEventStruct+ type AttrGetType KeyEventStructStringFieldInfo = Maybe T.Text+ type AttrLabel KeyEventStructStringFieldInfo = "string"+ type AttrOrigin KeyEventStructStringFieldInfo = KeyEventStruct+ attrGet _ = getKeyEventStructString+ attrSet _ = setKeyEventStructString+ attrConstruct = undefined+ attrClear _ = clearKeyEventStructString++keyEventStruct_string :: AttrLabelProxy "string"+keyEventStruct_string = AttrLabelProxy++#endif+++{- |+Get the value of the “@keycode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' keyEventStruct #keycode+@+-}+getKeyEventStructKeycode :: MonadIO m => KeyEventStruct -> m Word16+getKeyEventStructKeycode s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 24) :: IO Word16+ return val++{- |+Set the value of the “@keycode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' keyEventStruct [ #keycode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setKeyEventStructKeycode :: MonadIO m => KeyEventStruct -> Word16 -> m ()+setKeyEventStructKeycode s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 24) (val :: Word16)++#if ENABLE_OVERLOADING+data KeyEventStructKeycodeFieldInfo+instance AttrInfo KeyEventStructKeycodeFieldInfo where+ type AttrAllowedOps KeyEventStructKeycodeFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint KeyEventStructKeycodeFieldInfo = (~) Word16+ type AttrBaseTypeConstraint KeyEventStructKeycodeFieldInfo = (~) KeyEventStruct+ type AttrGetType KeyEventStructKeycodeFieldInfo = Word16+ type AttrLabel KeyEventStructKeycodeFieldInfo = "keycode"+ type AttrOrigin KeyEventStructKeycodeFieldInfo = KeyEventStruct+ attrGet _ = getKeyEventStructKeycode+ attrSet _ = setKeyEventStructKeycode+ attrConstruct = undefined+ attrClear _ = undefined++keyEventStruct_keycode :: AttrLabelProxy "keycode"+keyEventStruct_keycode = AttrLabelProxy++#endif+++{- |+Get the value of the “@timestamp@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' keyEventStruct #timestamp+@+-}+getKeyEventStructTimestamp :: MonadIO m => KeyEventStruct -> m Word32+getKeyEventStructTimestamp s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 28) :: IO Word32+ return val++{- |+Set the value of the “@timestamp@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' keyEventStruct [ #timestamp 'Data.GI.Base.Attributes.:=' value ]+@+-}+setKeyEventStructTimestamp :: MonadIO m => KeyEventStruct -> Word32 -> m ()+setKeyEventStructTimestamp s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 28) (val :: Word32)++#if ENABLE_OVERLOADING+data KeyEventStructTimestampFieldInfo+instance AttrInfo KeyEventStructTimestampFieldInfo where+ type AttrAllowedOps KeyEventStructTimestampFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint KeyEventStructTimestampFieldInfo = (~) Word32+ type AttrBaseTypeConstraint KeyEventStructTimestampFieldInfo = (~) KeyEventStruct+ type AttrGetType KeyEventStructTimestampFieldInfo = Word32+ type AttrLabel KeyEventStructTimestampFieldInfo = "timestamp"+ type AttrOrigin KeyEventStructTimestampFieldInfo = KeyEventStruct+ attrGet _ = getKeyEventStructTimestamp+ attrSet _ = setKeyEventStructTimestamp+ attrConstruct = undefined+ attrClear _ = undefined++keyEventStruct_timestamp :: AttrLabelProxy "timestamp"+keyEventStruct_timestamp = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList KeyEventStruct+type instance O.AttributeList KeyEventStruct = KeyEventStructAttributeList+type KeyEventStructAttributeList = ('[ '("type", KeyEventStructTypeFieldInfo), '("state", KeyEventStructStateFieldInfo), '("keyval", KeyEventStructKeyvalFieldInfo), '("length", KeyEventStructLengthFieldInfo), '("string", KeyEventStructStringFieldInfo), '("keycode", KeyEventStructKeycodeFieldInfo), '("timestamp", KeyEventStructTimestampFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveKeyEventStructMethod (t :: Symbol) (o :: *) :: * where+ ResolveKeyEventStructMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveKeyEventStructMethod t KeyEventStruct, O.MethodInfo info KeyEventStruct p) => OL.IsLabel t (KeyEventStruct -> 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++
+ GI/Atk/Structs/KeyEventStruct.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Structs.KeyEventStruct 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++newtype KeyEventStruct = KeyEventStruct (ManagedPtr KeyEventStruct)+instance WrappedPtr KeyEventStruct where
+ GI/Atk/Structs/PropertyValues.hs view
@@ -0,0 +1,250 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Note: /@oldValue@/ field of 'GI.Atk.Structs.PropertyValues.PropertyValues' will not contain a+valid value. This is a field defined with the purpose of contain+the previous value of the property, but is not used anymore.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Structs.PropertyValues+ ( ++-- * Exported types+ PropertyValues(..) ,+ newZeroPropertyValues ,+ noPropertyValues ,+++ -- * Properties+-- ** newValue #attr:newValue#+{- | The new value of the named property.+-}+ getPropertyValuesNewValue ,+#if ENABLE_OVERLOADING+ propertyValues_newValue ,+#endif+++-- ** oldValue #attr:oldValue#+{- | NULL. This field is not used anymore.+-}+ getPropertyValuesOldValue ,+#if ENABLE_OVERLOADING+ propertyValues_oldValue ,+#endif+++-- ** propertyName #attr:propertyName#+{- | The name of the ATK property which has changed.+-}+ clearPropertyValuesPropertyName ,+ getPropertyValuesPropertyName ,+#if ENABLE_OVERLOADING+ propertyValues_propertyName ,+#endif+ setPropertyValuesPropertyName ,+++++ ) 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+++-- | Memory-managed wrapper type.+newtype PropertyValues = PropertyValues (ManagedPtr PropertyValues)+instance WrappedPtr PropertyValues where+ wrappedPtrCalloc = callocBytes 56+ wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr PropertyValues)+ wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `PropertyValues` struct initialized to zero.+newZeroPropertyValues :: MonadIO m => m PropertyValues+newZeroPropertyValues = liftIO $ wrappedPtrCalloc >>= wrapPtr PropertyValues++instance tag ~ 'AttrSet => Constructible PropertyValues tag where+ new _ attrs = do+ o <- newZeroPropertyValues+ GI.Attributes.set o attrs+ return o+++-- | A convenience alias for `Nothing` :: `Maybe` `PropertyValues`.+noPropertyValues :: Maybe PropertyValues+noPropertyValues = Nothing++{- |+Get the value of the “@property_name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' propertyValues #propertyName+@+-}+getPropertyValuesPropertyName :: MonadIO m => PropertyValues -> m (Maybe T.Text)+getPropertyValuesPropertyName s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 0) :: IO CString+ result <- SP.convertIfNonNull val $ \val' -> do+ val'' <- cstringToText val'+ return val''+ return result++{- |+Set the value of the “@property_name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' propertyValues [ #propertyName 'Data.GI.Base.Attributes.:=' value ]+@+-}+setPropertyValuesPropertyName :: MonadIO m => PropertyValues -> CString -> m ()+setPropertyValuesPropertyName s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 0) (val :: CString)++{- |+Set the value of the “@property_name@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #propertyName+@+-}+clearPropertyValuesPropertyName :: MonadIO m => PropertyValues -> m ()+clearPropertyValuesPropertyName s = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data PropertyValuesPropertyNameFieldInfo+instance AttrInfo PropertyValuesPropertyNameFieldInfo where+ type AttrAllowedOps PropertyValuesPropertyNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint PropertyValuesPropertyNameFieldInfo = (~) CString+ type AttrBaseTypeConstraint PropertyValuesPropertyNameFieldInfo = (~) PropertyValues+ type AttrGetType PropertyValuesPropertyNameFieldInfo = Maybe T.Text+ type AttrLabel PropertyValuesPropertyNameFieldInfo = "property_name"+ type AttrOrigin PropertyValuesPropertyNameFieldInfo = PropertyValues+ attrGet _ = getPropertyValuesPropertyName+ attrSet _ = setPropertyValuesPropertyName+ attrConstruct = undefined+ attrClear _ = clearPropertyValuesPropertyName++propertyValues_propertyName :: AttrLabelProxy "propertyName"+propertyValues_propertyName = AttrLabelProxy++#endif+++{- |+Get the value of the “@old_value@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' propertyValues #oldValue+@+-}+getPropertyValuesOldValue :: MonadIO m => PropertyValues -> m GValue+getPropertyValuesOldValue s = liftIO $ withManagedPtr s $ \ptr -> do+ let val = ptr `plusPtr` 8 :: (Ptr GValue)+ val' <- (newBoxed GValue) val+ return val'++#if ENABLE_OVERLOADING+data PropertyValuesOldValueFieldInfo+instance AttrInfo PropertyValuesOldValueFieldInfo where+ type AttrAllowedOps PropertyValuesOldValueFieldInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint PropertyValuesOldValueFieldInfo = (~) (Ptr GValue)+ type AttrBaseTypeConstraint PropertyValuesOldValueFieldInfo = (~) PropertyValues+ type AttrGetType PropertyValuesOldValueFieldInfo = GValue+ type AttrLabel PropertyValuesOldValueFieldInfo = "old_value"+ type AttrOrigin PropertyValuesOldValueFieldInfo = PropertyValues+ attrGet _ = getPropertyValuesOldValue+ attrSet _ = undefined+ attrConstruct = undefined+ attrClear _ = undefined++propertyValues_oldValue :: AttrLabelProxy "oldValue"+propertyValues_oldValue = AttrLabelProxy++#endif+++{- |+Get the value of the “@new_value@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' propertyValues #newValue+@+-}+getPropertyValuesNewValue :: MonadIO m => PropertyValues -> m GValue+getPropertyValuesNewValue s = liftIO $ withManagedPtr s $ \ptr -> do+ let val = ptr `plusPtr` 32 :: (Ptr GValue)+ val' <- (newBoxed GValue) val+ return val'++#if ENABLE_OVERLOADING+data PropertyValuesNewValueFieldInfo+instance AttrInfo PropertyValuesNewValueFieldInfo where+ type AttrAllowedOps PropertyValuesNewValueFieldInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint PropertyValuesNewValueFieldInfo = (~) (Ptr GValue)+ type AttrBaseTypeConstraint PropertyValuesNewValueFieldInfo = (~) PropertyValues+ type AttrGetType PropertyValuesNewValueFieldInfo = GValue+ type AttrLabel PropertyValuesNewValueFieldInfo = "new_value"+ type AttrOrigin PropertyValuesNewValueFieldInfo = PropertyValues+ attrGet _ = getPropertyValuesNewValue+ attrSet _ = undefined+ attrConstruct = undefined+ attrClear _ = undefined++propertyValues_newValue :: AttrLabelProxy "newValue"+propertyValues_newValue = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList PropertyValues+type instance O.AttributeList PropertyValues = PropertyValuesAttributeList+type PropertyValuesAttributeList = ('[ '("propertyName", PropertyValuesPropertyNameFieldInfo), '("oldValue", PropertyValuesOldValueFieldInfo), '("newValue", PropertyValuesNewValueFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolvePropertyValuesMethod (t :: Symbol) (o :: *) :: * where+ ResolvePropertyValuesMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolvePropertyValuesMethod t PropertyValues, O.MethodInfo info PropertyValues p) => OL.IsLabel t (PropertyValues -> 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++
+ GI/Atk/Structs/PropertyValues.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Structs.PropertyValues 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++newtype PropertyValues = PropertyValues (ManagedPtr PropertyValues)+instance WrappedPtr PropertyValues where
+ GI/Atk/Structs/Range.hs view
@@ -0,0 +1,361 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.Atk.Structs.Range.Range' are used on 'GI.Atk.Interfaces.Value.Value', in order to represent the full+range of a given component (for example an slider or a range+control), or to define each individual subrange this full range is+splitted if available. See 'GI.Atk.Interfaces.Value.Value' documentation for further+details.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Structs.Range+ ( ++-- * Exported types+ Range(..) ,+ noRange ,+++ -- * Methods+-- ** copy #method:copy#++#if ENABLE_OVERLOADING+ RangeCopyMethodInfo ,+#endif+ rangeCopy ,+++-- ** free #method:free#++#if ENABLE_OVERLOADING+ RangeFreeMethodInfo ,+#endif+ rangeFree ,+++-- ** getDescription #method:getDescription#++#if ENABLE_OVERLOADING+ RangeGetDescriptionMethodInfo ,+#endif+ rangeGetDescription ,+++-- ** getLowerLimit #method:getLowerLimit#++#if ENABLE_OVERLOADING+ RangeGetLowerLimitMethodInfo ,+#endif+ rangeGetLowerLimit ,+++-- ** getUpperLimit #method:getUpperLimit#++#if ENABLE_OVERLOADING+ RangeGetUpperLimitMethodInfo ,+#endif+ rangeGetUpperLimit ,+++-- ** new #method:new#++ rangeNew ,+++++ ) 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+++-- | Memory-managed wrapper type.+newtype Range = Range (ManagedPtr Range)+foreign import ccall "atk_range_get_type" c_atk_range_get_type :: + IO GType++instance BoxedObject Range where+ boxedType _ = c_atk_range_get_type++-- | A convenience alias for `Nothing` :: `Maybe` `Range`.+noRange :: Maybe Range+noRange = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList Range+type instance O.AttributeList Range = RangeAttributeList+type RangeAttributeList = ('[ ] :: [(Symbol, *)])+#endif++-- method Range::new+-- method type : Constructor+-- Args : [Arg {argCName = "lower_limit", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "inferior limit for this range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "upper_limit", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "superior limit for this range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "human readable description of this range.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Range"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_range_new" atk_range_new :: + CDouble -> -- lower_limit : TBasicType TDouble+ CDouble -> -- upper_limit : TBasicType TDouble+ CString -> -- description : TBasicType TUTF8+ IO (Ptr Range)++{- |+Creates a new 'GI.Atk.Structs.Range.Range'.++/Since: 2.12/+-}+rangeNew ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ Double+ {- ^ /@lowerLimit@/: inferior limit for this range -}+ -> Double+ {- ^ /@upperLimit@/: superior limit for this range -}+ -> T.Text+ {- ^ /@description@/: human readable description of this range. -}+ -> m Range+ {- ^ __Returns:__ a new 'GI.Atk.Structs.Range.Range' -}+rangeNew lowerLimit upperLimit description = liftIO $ do+ let lowerLimit' = realToFrac lowerLimit+ let upperLimit' = realToFrac upperLimit+ description' <- textToCString description+ result <- atk_range_new lowerLimit' upperLimit' description'+ checkUnexpectedReturnNULL "rangeNew" result+ result' <- (wrapBoxed Range) result+ freeMem description'+ return result'++#if ENABLE_OVERLOADING+#endif++-- method Range::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Atk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#AtkRange to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Range"}))+-- throws : False+-- Skip return : False++foreign import ccall "atk_range_copy" atk_range_copy :: + Ptr Range -> -- src : TInterface (Name {namespace = "Atk", name = "Range"})+ IO (Ptr Range)++{- |+Returns a new 'GI.Atk.Structs.Range.Range' that is a exact copy of /@src@/++/Since: 2.12/+-}+rangeCopy ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ Range+ {- ^ /@src@/: 'GI.Atk.Structs.Range.Range' to copy -}+ -> m Range+ {- ^ __Returns:__ a new 'GI.Atk.Structs.Range.Range' copy of /@src@/ -}+rangeCopy src = liftIO $ do+ src' <- unsafeManagedPtrGetPtr src+ result <- atk_range_copy src'+ checkUnexpectedReturnNULL "rangeCopy" result+ result' <- (wrapBoxed Range) result+ touchManagedPtr src+ return result'++#if ENABLE_OVERLOADING+data RangeCopyMethodInfo+instance (signature ~ (m Range), MonadIO m) => O.MethodInfo RangeCopyMethodInfo Range signature where+ overloadedMethod _ = rangeCopy++#endif++-- method Range::free+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Atk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#AtkRange to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "atk_range_free" atk_range_free :: + Ptr Range -> -- range : TInterface (Name {namespace = "Atk", name = "Range"})+ IO ()++{- |+Free /@range@/++/Since: 2.12/+-}+rangeFree ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ Range+ {- ^ /@range@/: 'GI.Atk.Structs.Range.Range' to free -}+ -> m ()+rangeFree range = liftIO $ do+ range' <- unsafeManagedPtrGetPtr range+ atk_range_free range'+ touchManagedPtr range+ return ()++#if ENABLE_OVERLOADING+data RangeFreeMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RangeFreeMethodInfo Range signature where+ overloadedMethod _ = rangeFree++#endif++-- method Range::get_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Atk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRange", 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 "atk_range_get_description" atk_range_get_description :: + Ptr Range -> -- range : TInterface (Name {namespace = "Atk", name = "Range"})+ IO CString++{- |+Returns the human readable description of /@range@/++/Since: 2.12/+-}+rangeGetDescription ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ Range+ {- ^ /@range@/: an 'GI.Atk.Structs.Range.Range' -}+ -> m T.Text+ {- ^ __Returns:__ the human-readable description of /@range@/ -}+rangeGetDescription range = liftIO $ do+ range' <- unsafeManagedPtrGetPtr range+ result <- atk_range_get_description range'+ checkUnexpectedReturnNULL "rangeGetDescription" result+ result' <- cstringToText result+ touchManagedPtr range+ return result'++#if ENABLE_OVERLOADING+data RangeGetDescriptionMethodInfo+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RangeGetDescriptionMethodInfo Range signature where+ overloadedMethod _ = rangeGetDescription++#endif++-- method Range::get_lower_limit+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Atk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TDouble)+-- throws : False+-- Skip return : False++foreign import ccall "atk_range_get_lower_limit" atk_range_get_lower_limit :: + Ptr Range -> -- range : TInterface (Name {namespace = "Atk", name = "Range"})+ IO CDouble++{- |+Returns the lower limit of /@range@/++/Since: 2.12/+-}+rangeGetLowerLimit ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ Range+ {- ^ /@range@/: an 'GI.Atk.Structs.Range.Range' -}+ -> m Double+ {- ^ __Returns:__ the lower limit of /@range@/ -}+rangeGetLowerLimit range = liftIO $ do+ range' <- unsafeManagedPtrGetPtr range+ result <- atk_range_get_lower_limit range'+ let result' = realToFrac result+ touchManagedPtr range+ return result'++#if ENABLE_OVERLOADING+data RangeGetLowerLimitMethodInfo+instance (signature ~ (m Double), MonadIO m) => O.MethodInfo RangeGetLowerLimitMethodInfo Range signature where+ overloadedMethod _ = rangeGetLowerLimit++#endif++-- method Range::get_upper_limit+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Atk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #AtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TDouble)+-- throws : False+-- Skip return : False++foreign import ccall "atk_range_get_upper_limit" atk_range_get_upper_limit :: + Ptr Range -> -- range : TInterface (Name {namespace = "Atk", name = "Range"})+ IO CDouble++{- |+Returns the upper limit of /@range@/++/Since: 2.12/+-}+rangeGetUpperLimit ::+ (B.CallStack.HasCallStack, MonadIO m) =>+ Range+ {- ^ /@range@/: an 'GI.Atk.Structs.Range.Range' -}+ -> m Double+ {- ^ __Returns:__ the upper limit of /@range@/ -}+rangeGetUpperLimit range = liftIO $ do+ range' <- unsafeManagedPtrGetPtr range+ result <- atk_range_get_upper_limit range'+ let result' = realToFrac result+ touchManagedPtr range+ return result'++#if ENABLE_OVERLOADING+data RangeGetUpperLimitMethodInfo+instance (signature ~ (m Double), MonadIO m) => O.MethodInfo RangeGetUpperLimitMethodInfo Range signature where+ overloadedMethod _ = rangeGetUpperLimit++#endif++#if ENABLE_OVERLOADING+type family ResolveRangeMethod (t :: Symbol) (o :: *) :: * where+ ResolveRangeMethod "copy" o = RangeCopyMethodInfo+ ResolveRangeMethod "free" o = RangeFreeMethodInfo+ ResolveRangeMethod "getDescription" o = RangeGetDescriptionMethodInfo+ ResolveRangeMethod "getLowerLimit" o = RangeGetLowerLimitMethodInfo+ ResolveRangeMethod "getUpperLimit" o = RangeGetUpperLimitMethodInfo+ ResolveRangeMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRangeMethod t Range, O.MethodInfo info Range p) => OL.IsLabel t (Range -> 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++
+ GI/Atk/Structs/Range.hs-boot view
@@ -0,0 +1,41 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Structs.Range 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++newtype Range = Range (ManagedPtr Range)+instance BoxedObject Range where+#if ENABLE_OVERLOADING+data RangeCopyMethodInfo+#endif+#if ENABLE_OVERLOADING+data RangeFreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RangeGetDescriptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data RangeGetLowerLimitMethodInfo+#endif+#if ENABLE_OVERLOADING+data RangeGetUpperLimitMethodInfo+#endif
+ GI/Atk/Structs/Rectangle.hs view
@@ -0,0 +1,313 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A data structure for holding a rectangle. Those coordinates are+relative to the component top-level parent.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Structs.Rectangle+ ( ++-- * Exported types+ Rectangle(..) ,+ newZeroRectangle ,+ noRectangle ,+++ -- * Properties+-- ** height #attr:height#+{- | height of the rectangle.+-}+ getRectangleHeight ,+#if ENABLE_OVERLOADING+ rectangle_height ,+#endif+ setRectangleHeight ,+++-- ** width #attr:width#+{- | width of the rectangle.+-}+ getRectangleWidth ,+#if ENABLE_OVERLOADING+ rectangle_width ,+#endif+ setRectangleWidth ,+++-- ** x #attr:x#+{- | X coordinate of the left side of the rectangle.+-}+ getRectangleX ,+#if ENABLE_OVERLOADING+ rectangle_x ,+#endif+ setRectangleX ,+++-- ** y #attr:y#+{- | Y coordinate of the top side of the rectangle.+-}+ getRectangleY ,+#if ENABLE_OVERLOADING+ rectangle_y ,+#endif+ setRectangleY ,+++++ ) 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+++-- | Memory-managed wrapper type.+newtype Rectangle = Rectangle (ManagedPtr Rectangle)+foreign import ccall "atk_rectangle_get_type" c_atk_rectangle_get_type :: + IO GType++instance BoxedObject Rectangle where+ boxedType _ = c_atk_rectangle_get_type++-- | Construct a `Rectangle` struct initialized to zero.+newZeroRectangle :: MonadIO m => m Rectangle+newZeroRectangle = liftIO $ callocBoxedBytes 16 >>= wrapBoxed Rectangle++instance tag ~ 'AttrSet => Constructible Rectangle tag where+ new _ attrs = do+ o <- newZeroRectangle+ GI.Attributes.set o attrs+ return o+++-- | A convenience alias for `Nothing` :: `Maybe` `Rectangle`.+noRectangle :: Maybe Rectangle+noRectangle = Nothing++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rectangle #x+@+-}+getRectangleX :: MonadIO m => Rectangle -> m Int32+getRectangleX s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 0) :: IO Int32+ return val++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rectangle [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRectangleX :: MonadIO m => Rectangle -> Int32 -> m ()+setRectangleX s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 0) (val :: Int32)++#if ENABLE_OVERLOADING+data RectangleXFieldInfo+instance AttrInfo RectangleXFieldInfo where+ type AttrAllowedOps RectangleXFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint RectangleXFieldInfo = (~) Int32+ type AttrBaseTypeConstraint RectangleXFieldInfo = (~) Rectangle+ type AttrGetType RectangleXFieldInfo = Int32+ type AttrLabel RectangleXFieldInfo = "x"+ type AttrOrigin RectangleXFieldInfo = Rectangle+ attrGet _ = getRectangleX+ attrSet _ = setRectangleX+ attrConstruct = undefined+ attrClear _ = undefined++rectangle_x :: AttrLabelProxy "x"+rectangle_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rectangle #y+@+-}+getRectangleY :: MonadIO m => Rectangle -> m Int32+getRectangleY s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 4) :: IO Int32+ return val++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rectangle [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRectangleY :: MonadIO m => Rectangle -> Int32 -> m ()+setRectangleY s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 4) (val :: Int32)++#if ENABLE_OVERLOADING+data RectangleYFieldInfo+instance AttrInfo RectangleYFieldInfo where+ type AttrAllowedOps RectangleYFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint RectangleYFieldInfo = (~) Int32+ type AttrBaseTypeConstraint RectangleYFieldInfo = (~) Rectangle+ type AttrGetType RectangleYFieldInfo = Int32+ type AttrLabel RectangleYFieldInfo = "y"+ type AttrOrigin RectangleYFieldInfo = Rectangle+ attrGet _ = getRectangleY+ attrSet _ = setRectangleY+ attrConstruct = undefined+ attrClear _ = undefined++rectangle_y :: AttrLabelProxy "y"+rectangle_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rectangle #width+@+-}+getRectangleWidth :: MonadIO m => Rectangle -> m Int32+getRectangleWidth s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 8) :: IO Int32+ return val++{- |+Set the value of the “@width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rectangle [ #width 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRectangleWidth :: MonadIO m => Rectangle -> Int32 -> m ()+setRectangleWidth s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 8) (val :: Int32)++#if ENABLE_OVERLOADING+data RectangleWidthFieldInfo+instance AttrInfo RectangleWidthFieldInfo where+ type AttrAllowedOps RectangleWidthFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint RectangleWidthFieldInfo = (~) Int32+ type AttrBaseTypeConstraint RectangleWidthFieldInfo = (~) Rectangle+ type AttrGetType RectangleWidthFieldInfo = Int32+ type AttrLabel RectangleWidthFieldInfo = "width"+ type AttrOrigin RectangleWidthFieldInfo = Rectangle+ attrGet _ = getRectangleWidth+ attrSet _ = setRectangleWidth+ attrConstruct = undefined+ attrClear _ = undefined++rectangle_width :: AttrLabelProxy "width"+rectangle_width = AttrLabelProxy++#endif+++{- |+Get the value of the “@height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rectangle #height+@+-}+getRectangleHeight :: MonadIO m => Rectangle -> m Int32+getRectangleHeight s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 12) :: IO Int32+ return val++{- |+Set the value of the “@height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rectangle [ #height 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRectangleHeight :: MonadIO m => Rectangle -> Int32 -> m ()+setRectangleHeight s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 12) (val :: Int32)++#if ENABLE_OVERLOADING+data RectangleHeightFieldInfo+instance AttrInfo RectangleHeightFieldInfo where+ type AttrAllowedOps RectangleHeightFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint RectangleHeightFieldInfo = (~) Int32+ type AttrBaseTypeConstraint RectangleHeightFieldInfo = (~) Rectangle+ type AttrGetType RectangleHeightFieldInfo = Int32+ type AttrLabel RectangleHeightFieldInfo = "height"+ type AttrOrigin RectangleHeightFieldInfo = Rectangle+ attrGet _ = getRectangleHeight+ attrSet _ = setRectangleHeight+ attrConstruct = undefined+ attrClear _ = undefined++rectangle_height :: AttrLabelProxy "height"+rectangle_height = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList Rectangle+type instance O.AttributeList Rectangle = RectangleAttributeList+type RectangleAttributeList = ('[ '("x", RectangleXFieldInfo), '("y", RectangleYFieldInfo), '("width", RectangleWidthFieldInfo), '("height", RectangleHeightFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveRectangleMethod (t :: Symbol) (o :: *) :: * where+ ResolveRectangleMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRectangleMethod t Rectangle, O.MethodInfo info Rectangle p) => OL.IsLabel t (Rectangle -> 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++
+ GI/Atk/Structs/Rectangle.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Structs.Rectangle 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++newtype Rectangle = Rectangle (ManagedPtr Rectangle)+instance BoxedObject Rectangle where
+ GI/Atk/Structs/TextRange.hs view
@@ -0,0 +1,317 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A structure used to describe a text range.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Structs.TextRange+ ( ++-- * Exported types+ TextRange(..) ,+ newZeroTextRange ,+ noTextRange ,+++ -- * Properties+-- ** bounds #attr:bounds#+{- | A rectangle giving the bounds of the text range+-}+ getTextRangeBounds ,+#if ENABLE_OVERLOADING+ textRange_bounds ,+#endif+++-- ** content #attr:content#+{- | The text in the text range+-}+ clearTextRangeContent ,+ getTextRangeContent ,+ setTextRangeContent ,+#if ENABLE_OVERLOADING+ textRange_content ,+#endif+++-- ** endOffset #attr:endOffset#+{- | The end offset of a AtkTextRange+-}+ getTextRangeEndOffset ,+ setTextRangeEndOffset ,+#if ENABLE_OVERLOADING+ textRange_endOffset ,+#endif+++-- ** startOffset #attr:startOffset#+{- | The start offset of a AtkTextRange+-}+ getTextRangeStartOffset ,+ setTextRangeStartOffset ,+#if ENABLE_OVERLOADING+ textRange_startOffset ,+#endif+++++ ) 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 {-# SOURCE #-} qualified GI.Atk.Structs.TextRectangle as Atk.TextRectangle++-- | Memory-managed wrapper type.+newtype TextRange = TextRange (ManagedPtr TextRange)+foreign import ccall "atk_text_range_get_type" c_atk_text_range_get_type :: + IO GType++instance BoxedObject TextRange where+ boxedType _ = c_atk_text_range_get_type++-- | Construct a `TextRange` struct initialized to zero.+newZeroTextRange :: MonadIO m => m TextRange+newZeroTextRange = liftIO $ callocBoxedBytes 32 >>= wrapBoxed TextRange++instance tag ~ 'AttrSet => Constructible TextRange tag where+ new _ attrs = do+ o <- newZeroTextRange+ GI.Attributes.set o attrs+ return o+++-- | A convenience alias for `Nothing` :: `Maybe` `TextRange`.+noTextRange :: Maybe TextRange+noTextRange = Nothing++{- |+Get the value of the “@bounds@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' textRange #bounds+@+-}+getTextRangeBounds :: MonadIO m => TextRange -> m Atk.TextRectangle.TextRectangle+getTextRangeBounds s = liftIO $ withManagedPtr s $ \ptr -> do+ let val = ptr `plusPtr` 0 :: (Ptr Atk.TextRectangle.TextRectangle)+ val' <- (newPtr Atk.TextRectangle.TextRectangle) val+ return val'++#if ENABLE_OVERLOADING+data TextRangeBoundsFieldInfo+instance AttrInfo TextRangeBoundsFieldInfo where+ type AttrAllowedOps TextRangeBoundsFieldInfo = '[ 'AttrGet]+ type AttrSetTypeConstraint TextRangeBoundsFieldInfo = (~) (Ptr Atk.TextRectangle.TextRectangle)+ type AttrBaseTypeConstraint TextRangeBoundsFieldInfo = (~) TextRange+ type AttrGetType TextRangeBoundsFieldInfo = Atk.TextRectangle.TextRectangle+ type AttrLabel TextRangeBoundsFieldInfo = "bounds"+ type AttrOrigin TextRangeBoundsFieldInfo = TextRange+ attrGet _ = getTextRangeBounds+ attrSet _ = undefined+ attrConstruct = undefined+ attrClear _ = undefined++textRange_bounds :: AttrLabelProxy "bounds"+textRange_bounds = AttrLabelProxy++#endif+++{- |+Get the value of the “@start_offset@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' textRange #startOffset+@+-}+getTextRangeStartOffset :: MonadIO m => TextRange -> m Int32+getTextRangeStartOffset s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 16) :: IO Int32+ return val++{- |+Set the value of the “@start_offset@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' textRange [ #startOffset 'Data.GI.Base.Attributes.:=' value ]+@+-}+setTextRangeStartOffset :: MonadIO m => TextRange -> Int32 -> m ()+setTextRangeStartOffset s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 16) (val :: Int32)++#if ENABLE_OVERLOADING+data TextRangeStartOffsetFieldInfo+instance AttrInfo TextRangeStartOffsetFieldInfo where+ type AttrAllowedOps TextRangeStartOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint TextRangeStartOffsetFieldInfo = (~) Int32+ type AttrBaseTypeConstraint TextRangeStartOffsetFieldInfo = (~) TextRange+ type AttrGetType TextRangeStartOffsetFieldInfo = Int32+ type AttrLabel TextRangeStartOffsetFieldInfo = "start_offset"+ type AttrOrigin TextRangeStartOffsetFieldInfo = TextRange+ attrGet _ = getTextRangeStartOffset+ attrSet _ = setTextRangeStartOffset+ attrConstruct = undefined+ attrClear _ = undefined++textRange_startOffset :: AttrLabelProxy "startOffset"+textRange_startOffset = AttrLabelProxy++#endif+++{- |+Get the value of the “@end_offset@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' textRange #endOffset+@+-}+getTextRangeEndOffset :: MonadIO m => TextRange -> m Int32+getTextRangeEndOffset s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 20) :: IO Int32+ return val++{- |+Set the value of the “@end_offset@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' textRange [ #endOffset 'Data.GI.Base.Attributes.:=' value ]+@+-}+setTextRangeEndOffset :: MonadIO m => TextRange -> Int32 -> m ()+setTextRangeEndOffset s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 20) (val :: Int32)++#if ENABLE_OVERLOADING+data TextRangeEndOffsetFieldInfo+instance AttrInfo TextRangeEndOffsetFieldInfo where+ type AttrAllowedOps TextRangeEndOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint TextRangeEndOffsetFieldInfo = (~) Int32+ type AttrBaseTypeConstraint TextRangeEndOffsetFieldInfo = (~) TextRange+ type AttrGetType TextRangeEndOffsetFieldInfo = Int32+ type AttrLabel TextRangeEndOffsetFieldInfo = "end_offset"+ type AttrOrigin TextRangeEndOffsetFieldInfo = TextRange+ attrGet _ = getTextRangeEndOffset+ attrSet _ = setTextRangeEndOffset+ attrConstruct = undefined+ attrClear _ = undefined++textRange_endOffset :: AttrLabelProxy "endOffset"+textRange_endOffset = AttrLabelProxy++#endif+++{- |+Get the value of the “@content@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' textRange #content+@+-}+getTextRangeContent :: MonadIO m => TextRange -> m (Maybe T.Text)+getTextRangeContent s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 24) :: IO CString+ result <- SP.convertIfNonNull val $ \val' -> do+ val'' <- cstringToText val'+ return val''+ return result++{- |+Set the value of the “@content@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' textRange [ #content 'Data.GI.Base.Attributes.:=' value ]+@+-}+setTextRangeContent :: MonadIO m => TextRange -> CString -> m ()+setTextRangeContent s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 24) (val :: CString)++{- |+Set the value of the “@content@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #content+@+-}+clearTextRangeContent :: MonadIO m => TextRange -> m ()+clearTextRangeContent s = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data TextRangeContentFieldInfo+instance AttrInfo TextRangeContentFieldInfo where+ type AttrAllowedOps TextRangeContentFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+ type AttrSetTypeConstraint TextRangeContentFieldInfo = (~) CString+ type AttrBaseTypeConstraint TextRangeContentFieldInfo = (~) TextRange+ type AttrGetType TextRangeContentFieldInfo = Maybe T.Text+ type AttrLabel TextRangeContentFieldInfo = "content"+ type AttrOrigin TextRangeContentFieldInfo = TextRange+ attrGet _ = getTextRangeContent+ attrSet _ = setTextRangeContent+ attrConstruct = undefined+ attrClear _ = clearTextRangeContent++textRange_content :: AttrLabelProxy "content"+textRange_content = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList TextRange+type instance O.AttributeList TextRange = TextRangeAttributeList+type TextRangeAttributeList = ('[ '("bounds", TextRangeBoundsFieldInfo), '("startOffset", TextRangeStartOffsetFieldInfo), '("endOffset", TextRangeEndOffsetFieldInfo), '("content", TextRangeContentFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveTextRangeMethod (t :: Symbol) (o :: *) :: * where+ ResolveTextRangeMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveTextRangeMethod t TextRange, O.MethodInfo info TextRange p) => OL.IsLabel t (TextRange -> 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++
+ GI/Atk/Structs/TextRange.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Structs.TextRange 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++newtype TextRange = TextRange (ManagedPtr TextRange)+instance BoxedObject TextRange where
+ GI/Atk/Structs/TextRectangle.hs view
@@ -0,0 +1,311 @@+++{- |+Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A structure used to store a rectangle used by AtkText.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))++module GI.Atk.Structs.TextRectangle+ ( ++-- * Exported types+ TextRectangle(..) ,+ newZeroTextRectangle ,+ noTextRectangle ,+++ -- * Properties+-- ** height #attr:height#+{- | The height of a rectangle+-}+ getTextRectangleHeight ,+ setTextRectangleHeight ,+#if ENABLE_OVERLOADING+ textRectangle_height ,+#endif+++-- ** width #attr:width#+{- | The width of a rectangle+-}+ getTextRectangleWidth ,+ setTextRectangleWidth ,+#if ENABLE_OVERLOADING+ textRectangle_width ,+#endif+++-- ** x #attr:x#+{- | The horizontal coordinate of a rectangle+-}+ getTextRectangleX ,+ setTextRectangleX ,+#if ENABLE_OVERLOADING+ textRectangle_x ,+#endif+++-- ** y #attr:y#+{- | The vertical coordinate of a rectangle+-}+ getTextRectangleY ,+ setTextRectangleY ,+#if ENABLE_OVERLOADING+ textRectangle_y ,+#endif+++++ ) 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+++-- | Memory-managed wrapper type.+newtype TextRectangle = TextRectangle (ManagedPtr TextRectangle)+instance WrappedPtr TextRectangle where+ wrappedPtrCalloc = callocBytes 16+ wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr TextRectangle)+ wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `TextRectangle` struct initialized to zero.+newZeroTextRectangle :: MonadIO m => m TextRectangle+newZeroTextRectangle = liftIO $ wrappedPtrCalloc >>= wrapPtr TextRectangle++instance tag ~ 'AttrSet => Constructible TextRectangle tag where+ new _ attrs = do+ o <- newZeroTextRectangle+ GI.Attributes.set o attrs+ return o+++-- | A convenience alias for `Nothing` :: `Maybe` `TextRectangle`.+noTextRectangle :: Maybe TextRectangle+noTextRectangle = Nothing++{- |+Get the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' textRectangle #x+@+-}+getTextRectangleX :: MonadIO m => TextRectangle -> m Int32+getTextRectangleX s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 0) :: IO Int32+ return val++{- |+Set the value of the “@x@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' textRectangle [ #x 'Data.GI.Base.Attributes.:=' value ]+@+-}+setTextRectangleX :: MonadIO m => TextRectangle -> Int32 -> m ()+setTextRectangleX s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 0) (val :: Int32)++#if ENABLE_OVERLOADING+data TextRectangleXFieldInfo+instance AttrInfo TextRectangleXFieldInfo where+ type AttrAllowedOps TextRectangleXFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint TextRectangleXFieldInfo = (~) Int32+ type AttrBaseTypeConstraint TextRectangleXFieldInfo = (~) TextRectangle+ type AttrGetType TextRectangleXFieldInfo = Int32+ type AttrLabel TextRectangleXFieldInfo = "x"+ type AttrOrigin TextRectangleXFieldInfo = TextRectangle+ attrGet _ = getTextRectangleX+ attrSet _ = setTextRectangleX+ attrConstruct = undefined+ attrClear _ = undefined++textRectangle_x :: AttrLabelProxy "x"+textRectangle_x = AttrLabelProxy++#endif+++{- |+Get the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' textRectangle #y+@+-}+getTextRectangleY :: MonadIO m => TextRectangle -> m Int32+getTextRectangleY s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 4) :: IO Int32+ return val++{- |+Set the value of the “@y@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' textRectangle [ #y 'Data.GI.Base.Attributes.:=' value ]+@+-}+setTextRectangleY :: MonadIO m => TextRectangle -> Int32 -> m ()+setTextRectangleY s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 4) (val :: Int32)++#if ENABLE_OVERLOADING+data TextRectangleYFieldInfo+instance AttrInfo TextRectangleYFieldInfo where+ type AttrAllowedOps TextRectangleYFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint TextRectangleYFieldInfo = (~) Int32+ type AttrBaseTypeConstraint TextRectangleYFieldInfo = (~) TextRectangle+ type AttrGetType TextRectangleYFieldInfo = Int32+ type AttrLabel TextRectangleYFieldInfo = "y"+ type AttrOrigin TextRectangleYFieldInfo = TextRectangle+ attrGet _ = getTextRectangleY+ attrSet _ = setTextRectangleY+ attrConstruct = undefined+ attrClear _ = undefined++textRectangle_y :: AttrLabelProxy "y"+textRectangle_y = AttrLabelProxy++#endif+++{- |+Get the value of the “@width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' textRectangle #width+@+-}+getTextRectangleWidth :: MonadIO m => TextRectangle -> m Int32+getTextRectangleWidth s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 8) :: IO Int32+ return val++{- |+Set the value of the “@width@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' textRectangle [ #width 'Data.GI.Base.Attributes.:=' value ]+@+-}+setTextRectangleWidth :: MonadIO m => TextRectangle -> Int32 -> m ()+setTextRectangleWidth s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 8) (val :: Int32)++#if ENABLE_OVERLOADING+data TextRectangleWidthFieldInfo+instance AttrInfo TextRectangleWidthFieldInfo where+ type AttrAllowedOps TextRectangleWidthFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint TextRectangleWidthFieldInfo = (~) Int32+ type AttrBaseTypeConstraint TextRectangleWidthFieldInfo = (~) TextRectangle+ type AttrGetType TextRectangleWidthFieldInfo = Int32+ type AttrLabel TextRectangleWidthFieldInfo = "width"+ type AttrOrigin TextRectangleWidthFieldInfo = TextRectangle+ attrGet _ = getTextRectangleWidth+ attrSet _ = setTextRectangleWidth+ attrConstruct = undefined+ attrClear _ = undefined++textRectangle_width :: AttrLabelProxy "width"+textRectangle_width = AttrLabelProxy++#endif+++{- |+Get the value of the “@height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' textRectangle #height+@+-}+getTextRectangleHeight :: MonadIO m => TextRectangle -> m Int32+getTextRectangleHeight s = liftIO $ withManagedPtr s $ \ptr -> do+ val <- peek (ptr `plusPtr` 12) :: IO Int32+ return val++{- |+Set the value of the “@height@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' textRectangle [ #height 'Data.GI.Base.Attributes.:=' value ]+@+-}+setTextRectangleHeight :: MonadIO m => TextRectangle -> Int32 -> m ()+setTextRectangleHeight s val = liftIO $ withManagedPtr s $ \ptr -> do+ poke (ptr `plusPtr` 12) (val :: Int32)++#if ENABLE_OVERLOADING+data TextRectangleHeightFieldInfo+instance AttrInfo TextRectangleHeightFieldInfo where+ type AttrAllowedOps TextRectangleHeightFieldInfo = '[ 'AttrSet, 'AttrGet]+ type AttrSetTypeConstraint TextRectangleHeightFieldInfo = (~) Int32+ type AttrBaseTypeConstraint TextRectangleHeightFieldInfo = (~) TextRectangle+ type AttrGetType TextRectangleHeightFieldInfo = Int32+ type AttrLabel TextRectangleHeightFieldInfo = "height"+ type AttrOrigin TextRectangleHeightFieldInfo = TextRectangle+ attrGet _ = getTextRectangleHeight+ attrSet _ = setTextRectangleHeight+ attrConstruct = undefined+ attrClear _ = undefined++textRectangle_height :: AttrLabelProxy "height"+textRectangle_height = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList TextRectangle+type instance O.AttributeList TextRectangle = TextRectangleAttributeList+type TextRectangleAttributeList = ('[ '("x", TextRectangleXFieldInfo), '("y", TextRectangleYFieldInfo), '("width", TextRectangleWidthFieldInfo), '("height", TextRectangleHeightFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveTextRectangleMethod (t :: Symbol) (o :: *) :: * where+ ResolveTextRectangleMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveTextRectangleMethod t TextRectangle, O.MethodInfo info TextRectangle p) => OL.IsLabel t (TextRectangle -> 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++
+ GI/Atk/Structs/TextRectangle.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+ && !defined(__HADDOCK_VERSION__))+module GI.Atk.Structs.TextRectangle 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++newtype TextRectangle = TextRectangle (ManagedPtr TextRectangle)+instance WrappedPtr TextRectangle where
LICENSE view
@@ -1,3 +1,17 @@+The gi-atk library and included works are provided under the terms of the+GNU Library General Public License (LGPL) version 2.1 with the following+exception:++Static linking of applications or any other source to the gi-atk library+does not constitute a modified or derivative work and does not require+the author(s) to provide source code for said work, to link against the+shared gi-atk libraries, or to link their applications against a+user-supplied version of gi-atk. If you link applications to a modified+version of gi-atk, then the changes to gi-atk must be provided under the+terms of the LGPL.++----------------------------------------------------------------------------+ GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999
README.md view
@@ -1,6 +1,6 @@ # Documentation Autogenerated documentation for this package can be found at -[https://hackage.haskell.org/package/gi-atk-2.0.15/docs/GI-Atk.html](https://hackage.haskell.org/package/gi-atk-2.0.15/docs/GI-Atk.html)+[https://hackage.haskell.org/package/gi-atk-2.0.17/docs/GI-Atk.html](https://hackage.haskell.org/package/gi-atk-2.0.17/docs/GI-Atk.html) For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
gi-atk.cabal view
@@ -1,33 +1,33 @@ name: gi-atk-version: 2.0.15+version: 2.0.17 synopsis: Atk bindings description: Bindings for Atk, autogenerated by haskell-gi. homepage: https://github.com/haskell-gi/haskell-gi license: LGPL-2.1 license-file: LICENSE author: Will Thompson, Iñaki García Etxebarria and Jonas Platte-maintainer: Iñaki García Etxebarria (garetxe@gmail.com)+maintainer: Iñaki García Etxebarria (inaki@blueleaf.cc) category: Bindings build-type: Custom-cabal-version: >= 1.24+cabal-version: 1.24 extra-source-files: README.md ChangeLog.md stack.yaml Atk.overrides custom-setup- setup-depends: base >= 4.7 && < 5,+ setup-depends: base >= 4.9 && < 5, Cabal >= 1.24,- haskell-gi == 0.21.*+ haskell-gi >= 0.21.0 && < 0.23 library default-language: Haskell2010- default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts+ default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts, UndecidableSuperClasses other-extensions: PatternSynonyms, ViewPatterns ghc-options: -fno-warn-unused-imports -fno-warn-warnings-deprecations pkgconfig-depends: atk >= 2.0 && < 3 build-depends: base >= 4.7 && <5,- haskell-gi-base == 0.21.*,- haskell-gi == 0.21.*,+ haskell-gi-base >= 0.21.0 && < 0.23,+ haskell-gi >= 0.21.0 && < 0.23, haskell-gi-overloading < 1.1, gi-gobject == 2.0.*, gi-glib == 2.0.*,@@ -40,3 +40,50 @@ -- see https://ghc.haskell.org/trac/ghc/ticket/14382 if impl(ghc == 8.2.*) build-depends: haskell-gi-overloading == 0.0++ exposed-modules: GI.Atk,+ GI.Atk.Callbacks,+ GI.Atk.Constants,+ GI.Atk.Enums,+ GI.Atk.Flags,+ GI.Atk.Functions,+ GI.Atk.Interfaces,+ GI.Atk.Interfaces.Action,+ GI.Atk.Interfaces.Component,+ GI.Atk.Interfaces.Document,+ GI.Atk.Interfaces.EditableText,+ GI.Atk.Interfaces.HyperlinkImpl,+ GI.Atk.Interfaces.Hypertext,+ GI.Atk.Interfaces.Image,+ GI.Atk.Interfaces.ImplementorIface,+ GI.Atk.Interfaces.Selection,+ GI.Atk.Interfaces.StreamableContent,+ GI.Atk.Interfaces.Table,+ GI.Atk.Interfaces.TableCell,+ GI.Atk.Interfaces.Text,+ GI.Atk.Interfaces.Value,+ GI.Atk.Interfaces.Window,+ GI.Atk.Objects,+ GI.Atk.Objects.GObjectAccessible,+ GI.Atk.Objects.Hyperlink,+ GI.Atk.Objects.Misc,+ GI.Atk.Objects.NoOpObject,+ GI.Atk.Objects.NoOpObjectFactory,+ GI.Atk.Objects.Object,+ GI.Atk.Objects.ObjectFactory,+ GI.Atk.Objects.Plug,+ GI.Atk.Objects.Registry,+ GI.Atk.Objects.Relation,+ GI.Atk.Objects.RelationSet,+ GI.Atk.Objects.Socket,+ GI.Atk.Objects.StateSet,+ GI.Atk.Objects.Util,+ GI.Atk.Structs,+ GI.Atk.Structs.Attribute,+ GI.Atk.Structs.Implementor,+ GI.Atk.Structs.KeyEventStruct,+ GI.Atk.Structs.PropertyValues,+ GI.Atk.Structs.Range,+ GI.Atk.Structs.Rectangle,+ GI.Atk.Structs.TextRange,+ GI.Atk.Structs.TextRectangle
stack.yaml view
@@ -1,3 +1,3 @@ packages: - '.'-resolver: lts-9.21+resolver: lts-13.7