gi-atk-2.0.20: Atk bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (inaki@blueleaf.cc)
Safe HaskellNone
LanguageHaskell2010

GI.Atk.Interfaces.Text

Contents

Description

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 Text interface should be used to expose the text content. In the case of editable text content, EditableText (a subtype of the Text interface) should be implemented instead.

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.

Synopsis

Exported types

newtype Text Source #

Memory-managed wrapper type.

Constructors

Text (ManagedPtr Text) 
Instances
GObject Text Source # 
Instance details

Defined in GI.Atk.Interfaces.Text

Methods

gobjectType :: IO GType #

HasParentTypes Text Source # 
Instance details

Defined in GI.Atk.Interfaces.Text

type ParentTypes Text Source # 
Instance details

Defined in GI.Atk.Interfaces.Text

type ParentTypes Text = Object ': ([] :: [Type])

noText :: Maybe Text Source #

A convenience alias for Nothing :: Maybe Text.

class (GObject o, IsDescendantOf Text o) => IsText o Source #

Type class for types which can be safely cast to Text, for instance with toText.

Instances
(GObject o, IsDescendantOf Text o) => IsText o Source # 
Instance details

Defined in GI.Atk.Interfaces.Text

toText :: (MonadIO m, IsText o) => o -> m Text Source #

Cast to Text, for types for which this is known to be safe. For general casts, use castTo.

Methods

addSelection

textAddSelection Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an 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

Adds a selection bounded by the specified offsets.

freeRanges

textFreeRanges Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> [TextRange]

ranges: A pointer to an array of TextRange which is to be freed.

-> m () 

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

getBoundedRanges

textGetBoundedRanges Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> TextRectangle

rect: An AtkTextRectangle giving the dimensions of the bounding box.

-> CoordType

coordType: Specify whether coordinates are relative to the screen or widget window.

-> TextClipType

xClipType: Specify the horizontal clip type.

-> TextClipType

yClipType: Specify the vertical clip type.

-> m [TextRange]

Returns: Array of AtkTextRange. The last element of the array returned by this function will be NULL.

Get the ranges of text in the specified bounding box.

Since: 1.3

getCaretOffset

textGetCaretOffset Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an 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.

Gets the offset of the position of the caret (cursor).

getCharacterAtOffset

textGetCharacterAtOffset Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> Int32

offset: a character offset within text

-> m Char

Returns: the character at offset or 0 in the case of failure.

Gets the specified text.

getCharacterCount

textGetCharacterCount Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> m Int32

Returns: the number of characters or -1 in case of failure.

Gets the character count.

getCharacterExtents

textGetCharacterExtents Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> Int32

offset: The offset of the text character for which bounding information is required.

-> CoordType

coords: specify whether coordinates are relative to the screen or widget window

-> m (Int32, Int32, Int32, Int32) 

Get the bounding box containing the glyph representing the character at a particular text offset.

getDefaultAttributes

textGetDefaultAttributes Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> m [Ptr ()]

Returns: an AtkAttributeSet which contains the default values of attributes. at offset. this atkattributeset should be freed by a call to attributeSetFree.

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.

getNSelections

textGetNSelections Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> m Int32

Returns: The number of selected regions, or -1 in the case of failure.

Gets the number of selected regions.

getOffsetAtPoint

textGetOffsetAtPoint Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> Int32

x: screen x-position of character

-> Int32

y: screen y-position of character

-> 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.

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.

getRangeExtents

textGetRangeExtents Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an 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.

-> CoordType

coordType: Specify whether coordinates are relative to the screen or widget window.

-> m TextRectangle 

Get the bounding box for text within the specified range.

Since: 1.3

getRunAttributes

textGetRunAttributes Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an 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 attributeSetFree.

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.

getSelection

textGetSelection Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an 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 (Text, Int32, Int32)

Returns: a newly allocated string containing the selected text. Use free to free the returned string.

Gets the text from the specified selection.

getStringAtOffset

textGetStringAtOffset Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> Int32

offset: position

-> TextGranularity

granularity: An TextGranularity

-> m (Maybe Text, Int32, Int32)

Returns: a newly allocated string containing the text at the offset bounded by the specified granularity. Use free to free the returned string. Returns Nothing if the offset is invalid or no implementation is available.

Gets a portion of the text exposed through an 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

getText

textGetText Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an 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 Text

Returns: a newly allocated string containing the text from startOffset up to, but not including endOffset. Use free to free the returned string.

Gets the specified text.

getTextAfterOffset

textGetTextAfterOffset Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> Int32

offset: position

-> TextBoundary

boundaryType: An TextBoundary

-> m (Text, Int32, Int32)

Returns: a newly allocated string containing the text after offset bounded by the specified boundaryType. Use free to free the returned string.

Deprecated: (Since version 2.9.3)Please use textGetStringAtOffset instead.

Gets the specified text.

getTextAtOffset

textGetTextAtOffset Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> Int32

offset: position

-> TextBoundary

boundaryType: An TextBoundary

-> m (Text, Int32, Int32)

Returns: a newly allocated string containing the text at offset bounded by the specified boundaryType. Use free to free the returned string.

Deprecated: This method is deprecated since ATK version2.9.4. Please use 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.

getTextBeforeOffset

textGetTextBeforeOffset Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> Int32

offset: position

-> TextBoundary

boundaryType: An TextBoundary

-> m (Text, Int32, Int32)

Returns: a newly allocated string containing the text before offset bounded by the specified boundaryType. Use free to free the returned string.

Deprecated: (Since version 2.9.3)Please use textGetStringAtOffset instead.

Gets the specified text.

removeSelection

textRemoveSelection Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an 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

Removes the specified selection.

scrollSubstringTo

textScrollSubstringTo Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> Int32

startOffset: start position

-> Int32

endOffset: end position, or -1 for the end of the string.

-> ScrollType

type: specify where the object should be made visible.

-> m Bool

Returns: whether scrolling was successful.

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

scrollSubstringToPoint

textScrollSubstringToPoint Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> Int32

startOffset: start position

-> Int32

endOffset: end position, or -1 for the end of the string.

-> 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.

Makes an object visible on the screen at a given position by scrolling all necessary parents.

Since: 2.32

setCaretOffset

textSetCaretOffset Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an Text

-> Int32

offset: the character offset of the new caret position

-> m Bool

Returns: True if successful, False otherwise.

Sets the caret (cursor) position to the specified offset.

setSelection

textSetSelection Source #

Arguments

:: (HasCallStack, MonadIO m, IsText a) 
=> a

text: an 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

Changes the start and end offset of the specified selection.

Signals

textAttributesChanged

type C_TextTextAttributesChangedCallback = Ptr () -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type TextTextAttributesChangedCallback = IO () Source #

The "text-attributes-changed" signal is emitted when the text attributes of the text of an object which implements AtkText changes.

afterTextTextAttributesChanged :: (IsText a, MonadIO m) => a -> TextTextAttributesChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-attributes-changed” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after text #textAttributesChanged callback

onTextTextAttributesChanged :: (IsText a, MonadIO m) => a -> TextTextAttributesChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-attributes-changed” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on text #textAttributesChanged callback

textCaretMoved

type C_TextTextCaretMovedCallback = Ptr () -> Int32 -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type TextTextCaretMovedCallback Source #

Arguments

 = Int32

arg1: The new position of the text caret.

-> IO () 

The "text-caret-moved" signal is emitted when the caret position of the text of an object which implements AtkText changes.

afterTextTextCaretMoved :: (IsText a, MonadIO m) => a -> TextTextCaretMovedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-caret-moved” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after text #textCaretMoved callback

onTextTextCaretMoved :: (IsText a, MonadIO m) => a -> TextTextCaretMovedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-caret-moved” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on text #textCaretMoved callback

textChanged

type C_TextTextChangedCallback = Ptr () -> Int32 -> Int32 -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type TextTextChangedCallback Source #

Arguments

 = Int32

arg1: The position (character offset) of the insertion or deletion.

-> Int32

arg2: The length (in characters) of text inserted or deleted.

-> IO () 

Deprecated: (Since version 2.9.4)Use Object::text-insert orObject::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.

afterTextTextChanged :: (IsText a, MonadIO m) => a -> TextTextChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-changed” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after text #textChanged callback

onTextTextChanged :: (IsText a, MonadIO m) => a -> TextTextChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-changed” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on text #textChanged callback

textInsert

type C_TextTextInsertCallback = Ptr () -> Int32 -> Int32 -> CString -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type TextTextInsertCallback Source #

Arguments

 = 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 () 

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.

afterTextTextInsert :: (IsText a, MonadIO m) => a -> TextTextInsertCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-insert” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after text #textInsert callback

onTextTextInsert :: (IsText a, MonadIO m) => a -> TextTextInsertCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-insert” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on text #textInsert callback

textRemove

type C_TextTextRemoveCallback = Ptr () -> Int32 -> Int32 -> CString -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type TextTextRemoveCallback Source #

Arguments

 = 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 () 

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.

afterTextTextRemove :: (IsText a, MonadIO m) => a -> TextTextRemoveCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-remove” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after text #textRemove callback

onTextTextRemove :: (IsText a, MonadIO m) => a -> TextTextRemoveCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-remove” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on text #textRemove callback

textSelectionChanged

type C_TextTextSelectionChangedCallback = Ptr () -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type TextTextSelectionChangedCallback = IO () Source #

The "text-selection-changed" signal is emitted when the selected text of an object which implements AtkText changes.

afterTextTextSelectionChanged :: (IsText a, MonadIO m) => a -> TextTextSelectionChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-selection-changed” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after text #textSelectionChanged callback

onTextTextSelectionChanged :: (IsText a, MonadIO m) => a -> TextTextSelectionChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “text-selection-changed” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on text #textSelectionChanged callback