{-# LINE 2 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}-- -*-haskell-*--- GIMP Toolkit (GTK) TextIter TextBuffer---- Author : Axel Simon, Andy Stewart---- Created: 23 February 2002---- Copyright (C) 2002-2005 Axel Simon-- Copyright (C) 2009 Andy Stewart---- This library is free software; you can redistribute it and/or-- modify it under the terms of the GNU Lesser General Public-- License as published by the Free Software Foundation; either-- version 2.1 of the License, or (at your option) any later version.---- This library is distributed in the hope that it will be useful,-- but WITHOUT ANY WARRANTY; without even the implied warranty of-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU-- Lesser General Public License for more details.---- The following functions do not make sense due to Haskell's wide character-- representation of Unicode:-- gtk_text_iter_get_line_index-- gtk_text_iter_get_visible_line_index-- gtk_text_iter_get_bytes_in_line-- gtk_text_iter_set_line_index-- gtk_text_iter_set_visible_line_index---- All offsets are counted from 0.---- |-- Maintainer : gtk2hs-users@lists.sourceforge.net-- Stability : provisional-- Portability : portable (depends on GHC)---- An iterator is an abstract datatype representing a pointer into a-- 'TextBuffer'.--moduleGraphics.UI.Gtk.Multiline.TextIter(-- * TypesTextIter,TextSearchFlags(..),-- * MethodstextIterCopy,textIterGetBuffer,textIterGetOffset,textIterGetLine,textIterGetLineOffset,textIterGetVisibleLineOffset,textIterGetChar,textIterGetSlice,textIterGetText,textIterGetVisibleSlice,textIterGetVisibleText,textIterGetPixbuf,textIterGetChildAnchor,textIterGetMarks,textIterGetToggledTags,textIterBeginsTag,textIterEndsTag,textIterTogglesTag,textIterHasTag,textIterGetTags,textIterEditable,textIterCanInsert,textIterStartsWord,textIterEndsWord,textIterInsideWord,textIterStartsLine,textIterEndsLine,textIterStartsSentence,textIterEndsSentence,textIterInsideSentence,textIterIsCursorPosition,textIterGetCharsInLine,textIterGetAttributes,textIterGetLanguage,textIterIsEnd,textIterIsStart,textIterForwardChar,textIterBackwardChar,textIterForwardChars,textIterBackwardChars,textIterForwardLine,textIterBackwardLine,textIterForwardLines,textIterBackwardLines,textIterForwardWordEnds,textIterBackwardWordStarts,textIterForwardWordEnd,textIterBackwardWordStart,textIterForwardCursorPosition,textIterBackwardCursorPosition,textIterForwardCursorPositions,textIterBackwardCursorPositions,textIterForwardSentenceEnds,textIterBackwardSentenceStarts,textIterForwardSentenceEnd,textIterBackwardSentenceStart,textIterSetOffset,textIterSetLine,textIterSetLineOffset,textIterSetVisibleLineOffset,textIterForwardToEnd,textIterForwardToLineEnd,textIterForwardToTagToggle,textIterBackwardToTagToggle,textIterForwardFindChar,textIterBackwardFindChar,textIterForwardSearch,textIterBackwardSearch,textIterEqual,textIterCompare,textIterInRange,textIterOrder,textIterForwardVisibleLine,textIterBackwardVisibleLine,textIterForwardVisibleLines,textIterBackwardVisibleLines,textIterForwardVisibleWordEnds,textIterBackwardVisibleWordStarts,textIterForwardVisibleWordEnd,textIterBackwardVisibleWordStart,textIterForwardVisibleCursorPosition,textIterBackwardVisibleCursorPosition,textIterForwardVisibleCursorPositions,textIterBackwardVisibleCursorPositions,-- * AttributestextIterVisibleLineOffset,textIterOffset,textIterLineOffset,textIterLine,)whereimportControl.Monad(liftM)importData.Maybe(fromMaybe)importData.Char(chr)importSystem.Glib.FFIimportSystem.Glib.Flags(fromFlags)importSystem.Glib.UTFStringimportSystem.Glib.AttributesimportSystem.Glib.GObject(makeNewGObject)importSystem.Glib.GListimportGraphics.UI.Gtk.Types{-# LINE 152 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}importGraphics.UI.Gtk.General.Enums(TextSearchFlags(..))importGraphics.UI.Gtk.Multiline.Types{-# LINE 154 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}importGraphics.UI.Gtk.Multiline.TextTag{-# LINE 155 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}importGraphics.Rendering.Pango.BasicTypes{-# LINE 156 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}{-# LINE 158 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}-- methods-- | Return the 'TextBuffer' this iterator-- is associated with.--textIterGetBuffer::TextIter->IOTextBuffertextIterGetBufferti=makeNewGObjectmkTextBuffer$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_bufferargPtr1)ti-- | Returns the character offset of an iterator. Each character in a-- 'TextBuffer' has an offset, starting with 0 for the first character in the-- buffer. Use 'Graphics.UI.Gtk.Multiline.TextBuffer.textBufferGetIterAtOffset'-- to convert an offset back into an iterator.--textIterGetOffset::TextIter->IOInttextIterGetOffsetti=liftMfromIntegral$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_offsetargPtr1)ti-- | Returns the line number containing the iterator. Lines in a 'TextBuffer'-- are numbered beginning with 0 for the first line in the buffer.--textIterGetLine::TextIter->IOInttextIterGetLineti=liftMfromIntegral$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_lineargPtr1)ti-- | Returns the character offset of the iterator, counting from the start of-- a newline-terminated line. The first character on the line has offset 0.--textIterGetLineOffset::TextIter->IOInttextIterGetLineOffsetti=liftMfromIntegral$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_line_offsetargPtr1)ti-- | Returns the offset in characters from the start of the line to the given-- @iter@, not counting characters that are invisible due to tags with the-- \"invisible\" flag toggled on.--textIterGetVisibleLineOffset::TextIter->IOInttextIterGetVisibleLineOffsetti=liftMfromIntegral$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_visible_line_offsetargPtr1)ti-- | Returns the Unicode character at this iterator.-- If the element at this iterator is a non-character-- element, such as an image embedded in the buffer, the Unicode \"unknown\"-- character 0xFFFC is returned. If invoked on the end iterator,-- @Nothigng@ is returned.--textIterGetChar::TextIter->IO(MaybeChar)textIterGetCharti=dores<-liftMfromIntegral$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_charargPtr1)tireturn$ifres==0thenNothingelseJust(chrres)-- | Returns the text in the given range. A \"slice\" is a list of-- characters, including the Unicode \"unknown\"-- character 0xFFFC for iterable non-character elements in the buffer, such as-- images. Because images are encoded in the slice, offsets-- in the returned array will correspond to offsets in the text buffer.-- Note that 0xFFFC can occur in normal text as well, so it is not a reliable-- indicator that a pixbuf or widget is in the buffer.--textIterGetSlice::TextIter->TextIter->IOStringtextIterGetSliceendstart=docStr<-(\(TextIterarg1)(TextIterarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_get_sliceargPtr1argPtr2)startendstr<-peekUTFStringcStrg_free(castPtrcStr)returnstr-- | Return the text in a given range.---- * Pictures (and other objects) are stripped form the output. Thus, this-- function does not preserve offsets.--textIterGetText::TextIter->TextIter->IOStringtextIterGetTextstartend=docStr<-(\(TextIterarg1)(TextIterarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_get_textargPtr1argPtr2)startendstr<-peekUTFStringcStrg_free(castPtrcStr)returnstr-- | Like 'textIterGetSlice', but invisible text is not included. Invisible-- text is usually invisible because a 'TextTag' with the \"invisible\"-- attribute turned on has been applied to it.--textIterGetVisibleSlice::TextIter->TextIter->IOStringtextIterGetVisibleSlicestartend=docStr<-(\(TextIterarg1)(TextIterarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_get_visible_sliceargPtr1argPtr2)startendstr<-peekUTFStringcStrg_free(castPtrcStr)returnstr-- | Like 'textIterGetText', but invisible text is not included. Invisible-- text is usually invisible because a 'TextTag' with the \"invisible\"-- attribute turned on has been applied to it.--textIterGetVisibleText::TextIter->TextIter->IOStringtextIterGetVisibleTextstartend=docStr<-(\(TextIterarg1)(TextIterarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_get_visible_textargPtr1argPtr2)startendstr<-peekUTFStringcStrg_free(castPtrcStr)returnstr-- | Get the 'Pixbuf' under the iterator.--textIterGetPixbuf::TextIter->IO(MaybePixbuf)textIterGetPixbufit=dopbPtr<-(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_pixbufargPtr1)itifpbPtr==nullPtrthenreturnNothingelseliftMJust$makeNewGObjectmkPixbuf(returnpbPtr)-- | If the location at @iter@ contains a child anchor,-- the anchor is returned (with no new reference count added).-- Otherwise, @Nothing@ is returned.--textIterGetChildAnchor::TextIter->IO(MaybeTextChildAnchor)textIterGetChildAnchorit=dotcaPtr<-(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_child_anchorargPtr1)itiftcaPtr==nullPtrthenreturnNothingelseliftMJust$makeNewGObjectmkTextChildAnchor(returntcaPtr)-- | Returns a list of all 'TextMark' at this location. Because marks are not-- iterable (they don't take up any \"space\" in the buffer, they are just-- marks in between iterable locations), multiple marks can exist in the same-- place. The returned list is not in any meaningful order.--textIterGetMarks::TextIter->IO[TextMark]-- ^ returns list of 'TextMark'textIterGetMarksself=(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_marksargPtr1){-# LINE 287 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self>>=fromGSList>>=mapM(\tm->makeNewGObjectmkTextMark(returntm))-- | Returns a list of 'TextTag' that are toggled on or off at this point. (If-- @toggledOn@ is @True@, the list contains tags that are toggled on.) If a tag-- is toggled on at @iter@, then some non-empty range of characters following-- @iter@ has that tag applied to it. If a tag is toggled off, then some-- non-empty range following @iter@ does /not/ have the tag applied to it.--textIterGetToggledTags::TextIter->Bool-- ^ @toggledOn@ - @True@ to get toggled-on tags->IO[TextTag]-- ^ returns tags toggled at this pointtextIterGetToggledTagsselftoggledOn=(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_toggled_tagsargPtr1arg2){-# LINE 302 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self(fromBooltoggledOn)>>=fromGSList>>=mapM(\tt->makeNewGObjectmkTextTag(returntt))-- | Returns @True@ if @tag@ is toggled on at exactly this point. If @tag@ is-- @Nothing@,-- returns @True@ if any tag is toggled on at this point. Note that the-- 'textIterBeginsTag' returns @True@ if @iter@ is the /start/ of the tagged-- range; 'textIterHasTag' tells you whether an iterator is /within/ a tagged-- range.--textIterBeginsTag::TextIter->MaybeTextTag->IOBooltextIterBeginsTagti(Justtt)=liftMtoBool$(\(TextIterarg1)(TextTagarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_begins_tagargPtr1argPtr2)titttextIterBeginsTagtiNothing=liftMtoBool$(\(TextIterarg1)(TextTagarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_begins_tagargPtr1argPtr2)ti(TextTagnullForeignPtr)-- | Returns @True@ if @tag@ is toggled off at exactly this point. If @tag@ is-- @Notihng@,-- returns @True@ if any tag is toggled off at this point. Note that the-- 'textIterEndsTag' returns @True@ if @iter@ is the /end/ of the tagged range;-- 'textIterHasTag' tells you whether an iterator is /within/ a tagged range.--textIterEndsTag::TextIter->MaybeTextTag->IOBooltextIterEndsTagti(Justtt)=liftMtoBool$(\(TextIterarg1)(TextTagarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_ends_tagargPtr1argPtr2)titttextIterEndsTagtiNothing=liftMtoBool$(\(TextIterarg1)(TextTagarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_ends_tagargPtr1argPtr2)ti(TextTagnullForeignPtr)-- | Query if the 'TextIter' is at the-- beginning or the end of a 'TextTag'. This is equivalent to-- ('textIterBeginsTag' || 'textIterEndsTag'), i.e. it-- tells you whether a range with @tag@ applied to it begins /or/ ends at-- @iter@.--textIterTogglesTag::TextIter->MaybeTextTag->IOBooltextIterTogglesTagti(Justtt)=liftMtoBool$(\(TextIterarg1)(TextTagarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_toggles_tagargPtr1argPtr2)titttextIterTogglesTagtiNothing=liftMtoBool$(\(TextIterarg1)(TextTagarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_toggles_tagargPtr1argPtr2)ti(TextTagnullForeignPtr)-- | Check if 'TextIter' is within a range-- tagged with tag.--textIterHasTag::TextIter->MaybeTextTag->IOBooltextIterHasTagti(Justtt)=liftMtoBool$(\(TextIterarg1)(TextTagarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_has_tagargPtr1argPtr2)titttextIterHasTagtiNothing=liftMtoBool$(\(TextIterarg1)(TextTagarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_has_tagargPtr1argPtr2)ti(TextTagnullForeignPtr)-- | Returns a list of tags that apply to @iter@, in ascending order of-- priority (highest-priority tags are last).--textIterGetTags::TextIter->IO[TextTag]-- ^ returns list of 'TextTag'textIterGetTagsself=(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_tagsargPtr1){-# LINE 360 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self>>=fromGSList>>=mapM(\tt->makeNewGObjectmkTextTag(returntt))-- | Returns whether the character at @iter@ is within an editable region of-- text. Non-editable text is \"locked\" and can't be changed by the user via-- 'TextView'. This function is simply a convenience wrapper around-- 'textIterGetAttributes'. If no tags applied to this text affect editability,-- @defaultSetting@ will be returned.---- You don't want to use this function to decide whether text can be-- inserted at @iter@, because for insertion you don't want to know whether the-- char at @iter@ is inside an editable range, you want to know whether a new-- character inserted at @iter@ would be inside an editable range. Use-- 'textIterCanInsert' to handle this case.--textIterEditable::TextIter->Bool->IOBooltextIterEditabletidef=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_editableargPtr1arg2)ti(fromBooldef)-- | Check if new text can be inserted at 'TextIter'.---- * Considering the default editability of the buffer, and tags that affect-- editability, determines whether text inserted at @iter@ would be editable.-- If text inserted at @iter@ would be editable then the user should be allowed-- to insert text at @iter@.-- 'Graphics.UI.Gtk.Multiline.TextBuffer.textBufferInsertInteractive'-- uses this function-- to decide whether insertions are allowed at a given position.---- * Use 'Graphics.UI.Gtk.Multiline.TextBuffer.textBufferInsertInteractive'-- if you want to insert text depending on the current editable status.--textIterCanInsert::TextIter->Bool->IOBooltextIterCanInserttidef=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_can_insertargPtr1arg2)ti(fromBooldef)-- | Determine if 'TextIter' begins a new-- natural-language word.--textIterStartsWord::TextIter->IOBooltextIterStartsWordti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_starts_wordargPtr1)ti-- | Determine if 'TextIter' ends a new-- natural-language word.--textIterEndsWord::TextIter->IOBooltextIterEndsWordti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_ends_wordargPtr1)ti-- | Determine if 'TextIter' is inside a-- word.--textIterInsideWord::TextIter->IOBooltextIterInsideWordti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_inside_wordargPtr1)ti-- | Determine if 'TextIter' begins a new-- line.--textIterStartsLine::TextIter->IOBooltextIterStartsLineti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_starts_lineargPtr1)ti-- | Returns @True@ if @iter@ points to the start of the paragraph delimiter-- characters for a line (delimiters will be either a newline, a carriage-- return, a carriage return followed by a newline, or a Unicode paragraph-- separator character). Note that an iterator pointing to the \n of a \r\n-- pair will not be counted as the end of a line, the line ends before the \r.-- The end iterator is considered to be at the end of a line, even though there-- are no paragraph delimiter chars there.--textIterEndsLine::TextIter->IOBooltextIterEndsLineti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_ends_lineargPtr1)ti-- | Determine if 'TextIter' starts a-- sentence.--textIterStartsSentence::TextIter->IOBooltextIterStartsSentenceti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_starts_sentenceargPtr1)ti-- | Determine if 'TextIter' ends a-- sentence.--textIterEndsSentence::TextIter->IOBooltextIterEndsSentenceti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_ends_sentenceargPtr1)ti-- | Determine if 'TextIter' is inside-- a sentence.--textIterInsideSentence::TextIter->IOBooltextIterInsideSentenceti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_inside_sentenceargPtr1)ti-- | Determine if 'TextIter' is at a-- cursor position.--textIterIsCursorPosition::TextIter->IOBooltextIterIsCursorPositionti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_is_cursor_positionargPtr1)ti-- | Return number of characters in this line.---- * The return value includes delimiters.--textIterGetCharsInLine::TextIter->IOInttextIterGetCharsInLineti=liftMfromIntegral$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_chars_in_lineargPtr1)ti-- | Computes the effect of any tags applied to this spot in the text.-- The values parameter should be initialized to the default settings you wish to use if no tags are in effect.-- You'd typically obtain the defaults from 'textViewGetDefaultAttributes'. -- 'textIterGetAttributes' will modify values, applying the effects of any tags present at iter.-- If any tags affected values, the function returns @True@.--textIterGetAttributes::TextIter->TextAttributes->IOBooltextIterGetAttributestita=liftMtoBool$(\(TextIterarg1)(TextAttributesarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_get_attributesargPtr1argPtr2)tita-- | A convenience wrapper around 'textIterGetAttributes', which returns the language in effect at iter.-- If no tags affecting language apply to iter, the return value is identical to that of 'getDefaultLanguage'.--textIterGetLanguage::TextIter->IOLanguagetextIterGetLanguageti=liftMLanguage$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_get_languageargPtr1)ti-- | Determine if 'TextIter' is at the end of-- the buffer.--textIterIsEnd::TextIter->IOBooltextIterIsEndti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_is_endargPtr1)ti-- | Determine if 'TextIter' is at the-- beginning of the buffer.--textIterIsStart::TextIter->IOBooltextIterIsStartti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_is_startargPtr1)ti-- | Move 'TextIter' forwards.---- * Retuns True if the iterator is pointing to a character.--textIterForwardChar::TextIter->IOBooltextIterForwardCharti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_charargPtr1)ti-- | Move 'TextIter' backwards.---- * Retuns True if the movement was possible.--textIterBackwardChar::TextIter->IOBooltextIterBackwardCharti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_charargPtr1)ti-- | Move 'TextIter' forwards by-- @n@ characters.---- * Retuns @True@ if the iterator is pointing to a new character (and @False@ if-- the iterator points to a picture or has not moved).---- * Note that images embedded-- in the buffer occupy 1 character slot, so 'textIterForwardChar' may actually-- move onto an image instead of a character.--textIterForwardChars::TextIter->Int->IOBooltextIterForwardCharstin=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_charsargPtr1arg2)ti(fromIntegraln)-- | Move 'TextIter' backwards by-- @n@ characters.---- * Retuns @True@ if the iterator is pointing to a new character (and @False@ if-- the iterator points to a picture or has not moved).--textIterBackwardChars::TextIter->Int->IOBooltextIterBackwardCharstin=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_charsargPtr1arg2)ti(fromIntegraln)-- | Move 'TextIter' forwards.---- * Retuns True if the iterator is pointing to a new line (and False if the-- iterator points to a picture or has not moved).---- * If 'TextIter' is on the first line, it will be moved to the-- beginning of the buffer.--textIterForwardLine::TextIter->IOBooltextIterForwardLineti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_lineargPtr1)ti-- | Move 'TextIter' backwards.---- * Retuns True if the iterator is pointing to a new line (and False if the-- iterator points to a picture or has not moved).---- * If 'TextIter' is on the first line, it will be moved to the end-- of the buffer.--textIterBackwardLine::TextIter->IOBooltextIterBackwardLineti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_lineargPtr1)ti-- | Move 'TextIter' forwards by-- @n@ lines.---- * Retuns True if the iterator is pointing to a new line (and False if the-- iterator points to a picture or has not moved).---- * If 'TextIter' is on the first line, it will be moved to the-- beginning of the buffer.---- * @n@ can be negative.--textIterForwardLines::TextIter->Int->IOBooltextIterForwardLinestin=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_linesargPtr1arg2)ti(fromIntegraln)-- | Move 'TextIter' backwards by-- @n@ lines.---- * Retuns True if the iterator is pointing to a new line (and False if the-- iterator points to a picture or has not moved).---- * If 'TextIter' is on the first line, it will be moved to the end-- of the buffer.---- * @n@ can be negative.--textIterBackwardLines::TextIter->Int->IOBooltextIterBackwardLinestin=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_linesargPtr1arg2)ti(fromIntegraln)-- | Move 'TextIter' forwards by-- @n@ word ends.---- * Retuns True if the iterator is pointing to a new word end.--textIterForwardWordEnds::TextIter->Int->IOBooltextIterForwardWordEndstin=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_word_endsargPtr1arg2)ti(fromIntegraln)-- | Move 'TextIter' backwards by-- @n@ word beginnings.---- * Retuns True if the iterator is pointing to a new word start.--textIterBackwardWordStarts::TextIter->Int->IOBooltextIterBackwardWordStartstin=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_word_startsargPtr1arg2)ti(fromIntegraln)-- | Move 'TextIter' forwards to the-- next word end.---- * Retuns True if the iterator has moved to a new word end.--textIterForwardWordEnd::TextIter->IOBooltextIterForwardWordEndti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_word_endargPtr1)ti-- | Move 'TextIter' backwards to-- the next word beginning.---- * Retuns True if the iterator has moved to a new word beginning.--textIterBackwardWordStart::TextIter->IOBooltextIterBackwardWordStartti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_word_startargPtr1)ti-- | Move 'TextIter' forwards to-- the next cursor position.---- * Some characters are composed of two Unicode codes. This function ensures-- that 'TextIter' does not point inbetween such double characters.---- * Returns True if 'TextIter' moved and points to a character (not-- to an object).--textIterForwardCursorPosition::TextIter->IOBooltextIterForwardCursorPositionti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_cursor_positionargPtr1)ti-- | Move 'TextIter' backwards-- to the next cursor position.---- * Some characters are composed of two Unicode codes. This function ensures-- that 'TextIter' does not point inbetween such double characters.---- * Returns True if 'TextIter' moved and points to a character (not-- to an object).--textIterBackwardCursorPosition::TextIter->IOBooltextIterBackwardCursorPositionti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_cursor_positionargPtr1)ti-- | Move 'TextIter' forwards-- by @n@ cursor positions.---- * Returns True if 'TextIter' moved and points to a character (not-- to an object).--textIterForwardCursorPositions::TextIter->Int->IOBooltextIterForwardCursorPositionstin=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_cursor_positionsargPtr1arg2)ti(fromIntegraln)-- | Move 'TextIter' backwards-- by @n@ cursor positions.---- * Returns True if 'TextIter' moved and points to a character (not-- to an object).--textIterBackwardCursorPositions::TextIter->Int->IOBooltextIterBackwardCursorPositionstin=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_cursor_positionsargPtr1arg2)ti(fromIntegraln)-- | Move 'TextIter' forwards by-- @n@ sentence ends.---- * Retuns True if the iterator is pointing to a new sentence end.--textIterForwardSentenceEnds::TextIter->Int->IOBooltextIterForwardSentenceEndstin=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_sentence_endsargPtr1arg2)ti(fromIntegraln)-- | Move 'TextIter' backwards-- by @n@ sentence beginnings.---- * Retuns True if the iterator is pointing to a new sentence start.--textIterBackwardSentenceStarts::TextIter->Int->IOBooltextIterBackwardSentenceStartstin=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_sentence_startsargPtr1arg2)ti(fromIntegraln)-- | Move 'TextIter' forwards to-- the next sentence end.---- * Retuns True if the iterator has moved to a new sentence end.--textIterForwardSentenceEnd::TextIter->IOBooltextIterForwardSentenceEndti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_sentence_endargPtr1)ti-- | Move 'TextIter' backwards-- to the next sentence beginning.---- * Retuns True if the iterator has moved to a new sentence beginning.--textIterBackwardSentenceStart::TextIter->IOBooltextIterBackwardSentenceStartti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_sentence_startargPtr1)ti-- | Set 'TextIter' to an offset within the-- buffer.--textIterSetOffset::TextIter->Int->IO()textIterSetOffsettin=(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_set_offsetargPtr1arg2)ti(fromIntegraln)-- | Set 'TextIter' to a line within the-- buffer.---- * If number is negative or larger than the number of lines in the buffer,-- moves @iter@ to the start of the last line in the buffer.--textIterSetLine::TextIter->Int->IO()textIterSetLinetin=(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_set_lineargPtr1arg2)ti(fromIntegraln)-- | Set 'TextIter' to an offset within the line.---- * The-- given character offset must be less than or equal to the number of-- characters in the line; if equal, the iterator moves to the start of the-- next line.--textIterSetLineOffset::TextIter->Int->IO()textIterSetLineOffsettin=(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_set_line_offsetargPtr1arg2)ti(fromIntegraln)-- | Like 'textIterSetLineOffset', but the offset is in visible characters,-- i.e. text with a tag making it invisible is not counted in the offset.--textIterSetVisibleLineOffset::TextIter->Int->IO()textIterSetVisibleLineOffsettin=(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_set_visible_line_offsetargPtr1arg2)ti(fromIntegraln)-- | Moves @iter@ forward to the \"end iterator,\" which points one past the-- last valid character in the buffer.--textIterForwardToEnd::TextIter->IO()textIterForwardToEndti=(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_to_endargPtr1)ti-- | Moves the iterator to point to the paragraph delimiter characters, which-- will be either a newline, a carriage return, a carriage return\/newline in-- sequence, or the Unicode paragraph separator character. If the iterator is-- already at the paragraph delimiter characters, moves to the paragraph-- delimiter characters for the next line. If @iter@ is on the last line in the-- buffer, which does not end in paragraph delimiters, moves to the end-- iterator (end of the last line), and returns @False@.--textIterForwardToLineEnd::TextIter->IOBooltextIterForwardToLineEndti=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_to_line_endargPtr1)ti-- | Moves 'TextIter' forward to-- the next change of a 'TextTag'.---- * If Nothing is supplied, any 'TextTag' will be matched.---- * Returns @True@ if there was a tag toggle after 'TextIter'.--textIterForwardToTagToggle::TextIter->MaybeTextTag->IOBooltextIterForwardToTagToggletitt=liftMtoBool$(\(TextIterarg1)(TextTagarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_forward_to_tag_toggleargPtr1argPtr2)ti(fromMaybe(TextTagnullForeignPtr)tt)-- | Moves 'TextIter' backward to-- the next change of a 'TextTag'.---- * If @Nothing@ is supplied, any 'TextTag' will be matched.---- * Returns @True@ if there was a tag toggle before 'TextIter'.--textIterBackwardToTagToggle::TextIter->MaybeTextTag->IOBooltextIterBackwardToTagToggletitt=liftMtoBool$(\(TextIterarg1)(TextTagarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_backward_to_tag_toggleargPtr1argPtr2)ti(fromMaybe(TextTagnullForeignPtr)tt)-- Setup a callback for a predicate function.--typeTextCharPredicateCB=Char->BooltypeTextCharPredicate=FunPtr((CUInt->((Ptr())->(IOCInt)))){-# LINE 798 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}foreignimportccall"wrapper"mkTextCharPredicate::((CUInt)->Ptr()->(CInt))->IOTextCharPredicate-- | Move 'TextIter' forward until a-- predicate function returns True.---- * If @pred@ returns True before @limit@ is reached, the-- search is stopped and the return value is True.---- * If @limit@ is Nothing, the search stops at the end of the buffer.--textIterForwardFindChar::TextIter->(Char->Bool)->MaybeTextIter->IOBooltextIterForwardFindChartipredlimit=dofPtr<-mkTextCharPredicate(\c_->fromBool$pred(chr(fromIntegralc)))res<-liftMtoBool$(\(TextIterarg1)arg2arg3(TextIterarg4)->withForeignPtrarg1$\argPtr1->withForeignPtrarg4$\argPtr4->gtk_text_iter_forward_find_charargPtr1arg2arg3argPtr4){-# LINE 815 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}tifPtrnullPtr(fromMaybe(TextIternullForeignPtr)limit)freeHaskellFunPtrfPtrreturnres-- | Move 'TextIter' backward until a-- predicate function returns True.---- * If @pred@ returns True before @limit@ is reached, the-- search is stopped and the return value is True.---- * If @limit@ is Nothing, the search stops at the end of the buffer.--textIterBackwardFindChar::TextIter->(Char->Bool)->MaybeTextIter->IOBooltextIterBackwardFindChartipredlimit=dofPtr<-mkTextCharPredicate(\c_->fromBool$pred(chr(fromIntegralc)))res<-liftMtoBool$(\(TextIterarg1)arg2arg3(TextIterarg4)->withForeignPtrarg1$\argPtr1->withForeignPtrarg4$\argPtr4->gtk_text_iter_backward_find_charargPtr1arg2arg3argPtr4){-# LINE 832 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}tifPtrnullPtr(fromMaybe(TextIternullForeignPtr)limit)freeHaskellFunPtrfPtrreturnres-- | Search forward for a specific string.---- * If specified, the last character which is tested against that start of-- the search pattern will be @limit@.---- * 'TextSearchFlags' may be empty.---- * Returns the start and end position of the string found.--textIterForwardSearch::TextIter->String->[TextSearchFlags]->MaybeTextIter->IO(Maybe(TextIter,TextIter))textIterForwardSearchtistrflagslimit=dostart<-makeEmptyTextIterend<-makeEmptyTextIterfound<-liftMtoBool$withUTFStringstr$\cStr->(\(TextIterarg1)arg2arg3(TextIterarg4)(TextIterarg5)(TextIterarg6)->withForeignPtrarg1$\argPtr1->withForeignPtrarg4$\argPtr4->withForeignPtrarg5$\argPtr5->withForeignPtrarg6$\argPtr6->gtk_text_iter_forward_searchargPtr1arg2arg3argPtr4argPtr5argPtr6)ticStr((fromIntegral.fromFlags)flags)startend(fromMaybe(TextIternullForeignPtr)limit)return$iffoundthenJust(start,end)elseNothing-- | Search backward for a specific string.---- * If specified, the last character which is tested against that start of-- the search pattern will be @limit@.---- * 'TextSearchFlags' my be empty.---- * Returns the start and end position of the string found.--textIterBackwardSearch::TextIter->String->[TextSearchFlags]->MaybeTextIter->IO(Maybe(TextIter,TextIter))textIterBackwardSearchtistrflagslimit=dostart<-makeEmptyTextIterend<-makeEmptyTextIterfound<-liftMtoBool$withUTFStringstr$\cStr->(\(TextIterarg1)arg2arg3(TextIterarg4)(TextIterarg5)(TextIterarg6)->withForeignPtrarg1$\argPtr1->withForeignPtrarg4$\argPtr4->withForeignPtrarg5$\argPtr5->withForeignPtrarg6$\argPtr6->gtk_text_iter_backward_searchargPtr1arg2arg3argPtr4argPtr5argPtr6)ticStr((fromIntegral.fromFlags)flags)startend(fromMaybe(TextIternullForeignPtr)limit)return$iffoundthenJust(start,end)elseNothing-- | Moves @iter@ to the start of the next visible line. Returns @True@ if-- there was a next line to move to, and @False@ if @iter@ was simply moved to-- the end of the buffer and is now not dereferenceable, or if @iter@ was-- already at the end of the buffer.---- * Available since Gtk+ version 2.8--textIterForwardVisibleLine::TextIter->IOBool-- ^ returns whether @iter@ can be dereferencedtextIterForwardVisibleLineself=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_visible_lineargPtr1){-# LINE 889 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self-- | Moves @iter@ to the start of the previous visible line. Returns @True@ if-- @iter@ could be moved; i.e. if @iter@ was at character offset 0, this-- function returns @False@. Therefore if @iter@ was already on line 0, but not-- at the start of the line, @iter@ is snapped to the start of the line and the-- function returns @True@. (Note that this implies that in a loop calling this-- function, the line number may not change on every iteration, if your first-- iteration is on line 0.)---- * Available since Gtk+ version 2.8--textIterBackwardVisibleLine::TextIter->IOBool-- ^ returns whether @iter@ movedtextIterBackwardVisibleLineself=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_visible_lineargPtr1){-# LINE 906 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self-- | Moves @count@ visible lines forward, if possible (if @count@ would move-- past the start or end of the buffer, moves to the start or end of the-- buffer). The return value indicates whether the iterator moved onto a-- dereferenceable position; if the iterator didn't move, or moved onto the end-- iterator, then @False@ is returned. If @count@ is 0, the function does-- nothing and returns @False@. If @count@ is negative, moves backward by 0 --- @count@ lines.---- * Available since Gtk+ version 2.8--textIterForwardVisibleLines::TextIter->Int-- ^ @count@ - number of lines to move forward->IOBool-- ^ returns whether @iter@ moved and is dereferenceabletextIterForwardVisibleLinesselfcount=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_visible_linesargPtr1arg2){-# LINE 924 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self(fromIntegralcount)-- | Moves @count@ visible lines backward, if possible (if @count@ would move-- past the start or end of the buffer, moves to the start or end of the-- buffer). The return value indicates whether the iterator moved onto a-- dereferenceable position; if the iterator didn't move, or moved onto the end-- iterator, then @False@ is returned. If @count@ is 0, the function does-- nothing and returns @False@. If @count@ is negative, moves forward by 0 --- @count@ lines.---- * Available since Gtk+ version 2.8--textIterBackwardVisibleLines::TextIter->Int-- ^ @count@ - number of lines to move backward->IOBool-- ^ returns whether @iter@ moved and is dereferenceabletextIterBackwardVisibleLinesselfcount=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_visible_linesargPtr1arg2){-# LINE 943 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self(fromIntegralcount)-- | Calls 'textIterForwardVisibleWordEnd' up to count times.--textIterForwardVisibleWordEnds::TextIter->Int-- ^ @couter@ - number of times to move->IOBool-- ^ return @True@ if iter moved and is not the end iteratortextIterForwardVisibleWordEndsselfcount=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_visible_word_endsargPtr1arg2){-# LINE 955 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self(fromIntegralcount)-- | Calls 'textIterBackwardVisibleWordStart' up to count times.--textIterBackwardVisibleWordStarts::TextIter->Int-- ^ @couter@ - number of times to move->IOBool-- ^ return @True@ if iter moved and is not the end iteratortextIterBackwardVisibleWordStartsselfcount=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_visible_word_startsargPtr1arg2){-# LINE 966 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self(fromIntegralcount)-- | Moves forward to the next visible word end.-- (If iter is currently on a word end, moves forward to the next one after that.)-- Word breaks are determined by Pango and should be correct for nearly any language-- (if not, the correct fix would be to the Pango word break algorithms).--textIterForwardVisibleWordEnd::TextIter->IOBool-- ^ return @True@ if iter moved and is not the end iteratortextIterForwardVisibleWordEndself=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_visible_word_endargPtr1){-# LINE 979 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self-- | Moves backward to the previous visible word start.-- (If iter is currently on a word start, moves backward to the next one after that.)-- Word breaks are determined by Pango and should be correct for nearly any language-- (if not, the correct fix would be to the Pango word break algorithms).--textIterBackwardVisibleWordStart::TextIter->IOBool-- ^ return @True@ if iter moved and is not the end iteratortextIterBackwardVisibleWordStartself=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_visible_word_startargPtr1){-# LINE 991 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self-- | Moves iter forward to the next visible cursor position.-- See 'textIterForwardCursorPosition' for details.--textIterForwardVisibleCursorPosition::TextIter->IOBool-- ^ return @True@ if iter moved and is not the end iteratortextIterForwardVisibleCursorPositionself=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_visible_cursor_positionargPtr1){-# LINE 1001 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self-- | Moves iter forward to the previous visible cursor position.-- See 'textIterBackwardCursorPosition' for details.--textIterBackwardVisibleCursorPosition::TextIter->IOBool-- ^ return @True@ if iter moved and is not the end iteratortextIterBackwardVisibleCursorPositionself=liftMtoBool$(\(TextIterarg1)->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_visible_cursor_positionargPtr1){-# LINE 1011 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self-- | Moves up to count visible cursor positions.-- See 'textIterForwardCursorPosition' for details.textIterForwardVisibleCursorPositions::TextIter->Int-- ^ @couter@ - number of times to move->IOBool-- ^ return @True@ if iter moved and is not the end iteratortextIterForwardVisibleCursorPositionsselfcount=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_forward_visible_cursor_positionsargPtr1arg2){-# LINE 1021 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self(fromIntegralcount)-- | Moves up to count visible cursor positions.-- See 'textIterBackwardCursorPosition' for details.--textIterBackwardVisibleCursorPositions::TextIter->Int-- ^ @couter@ - number of times to move->IOBool-- ^ return @True@ if iter moved and is not the end iteratortextIterBackwardVisibleCursorPositionsselfcount=liftMtoBool$(\(TextIterarg1)arg2->withForeignPtrarg1$\argPtr1->gtk_text_iter_backward_visible_cursor_positionsargPtr1arg2){-# LINE 1033 "./Graphics/UI/Gtk/Multiline/TextIter.chs" #-}self(fromIntegralcount)-- | Compare two 'TextIter' for equality.--textIterEqual::TextIter->TextIter->IOBooltextIterEqualti2ti1=liftMtoBool$(\(TextIterarg1)(TextIterarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_equalargPtr1argPtr2)ti1ti2-- | Compare two 'TextIter'.--textIterCompare::TextIter->TextIter->IOOrderingtextIterCompareti2ti1=dores<-(\(TextIterarg1)(TextIterarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_compareargPtr1argPtr2)ti1ti2return$caseresof(-1)->LT0->EQ1->GT-- | Checks whether iter falls in the range [start, end).-- start and end must be in ascending order.--textIterInRange::TextIter->TextIter-- ^ @start@ start of range->TextIter-- ^ @end@ end of range->IOBool-- ^ @True@ if iter is in the rangetextIterInRangetistartend=liftMtoBool$(\(TextIterarg1)(TextIterarg2)(TextIterarg3)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->withForeignPtrarg3$\argPtr3->gtk_text_iter_in_rangeargPtr1argPtr2argPtr3)tistartend-- | Swaps the value of first and second if second comes before first in the buffer.-- That is, ensures that first and second are in sequence.-- Most text buffer functions that take a range call this automatically on your behalf, so there's no real reason to call it yourself in those cases. -- There are some exceptions, such as 'textIterInRange', that expect a pre-sorted range.--textIterOrder::TextIter->TextIter->IO()textIterOrderfirstsecond=(\(TextIterarg1)(TextIterarg2)->withForeignPtrarg1$\argPtr1->withForeignPtrarg2$\argPtr2->gtk_text_iter_orderargPtr1argPtr2)firstsecond---------------------- Attributes-- | \'visibleLineOffset\' property. See 'textIterGetVisibleLineOffset' and-- 'textIterSetVisibleLineOffset'--textIterVisibleLineOffset::AttrTextIterInttextIterVisibleLineOffset=newAttrtextIterGetVisibleLineOffsettextIterSetVisibleLineOffset-- | \'offset\' property. See 'textIterGetOffset' and 'textIterSetOffset'--textIterOffset::AttrTextIterInttextIterOffset=newAttrtextIterGetOffsettextIterSetOffset-- | \'lineOffset\' property. See 'textIterGetLineOffset' and-- 'textIterSetLineOffset'--textIterLineOffset::AttrTextIterInttextIterLineOffset=newAttrtextIterGetLineOffsettextIterSetLineOffset-- | \'line\' property. See 'textIterGetLine' and 'textIterSetLine'--textIterLine::AttrTextIterInttextIterLine=newAttrtextIterGetLinetextIterSetLineforeignimportccallunsafe"gtk_text_iter_get_buffer"gtk_text_iter_get_buffer::((PtrTextIter)->(IO(PtrTextBuffer)))foreignimportccallunsafe"gtk_text_iter_get_offset"gtk_text_iter_get_offset::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_get_line"gtk_text_iter_get_line::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_get_line_offset"gtk_text_iter_get_line_offset::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_get_visible_line_offset"gtk_text_iter_get_visible_line_offset::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_get_char"gtk_text_iter_get_char::((PtrTextIter)->(IOCUInt))foreignimportccallsafe"gtk_text_iter_get_slice"gtk_text_iter_get_slice::((PtrTextIter)->((PtrTextIter)->(IO(PtrCChar))))foreignimportccallunsafe"g_free"g_free::((Ptr())->(IO()))foreignimportccallsafe"gtk_text_iter_get_text"gtk_text_iter_get_text::((PtrTextIter)->((PtrTextIter)->(IO(PtrCChar))))foreignimportccallsafe"gtk_text_iter_get_visible_slice"gtk_text_iter_get_visible_slice::((PtrTextIter)->((PtrTextIter)->(IO(PtrCChar))))foreignimportccallsafe"gtk_text_iter_get_visible_text"gtk_text_iter_get_visible_text::((PtrTextIter)->((PtrTextIter)->(IO(PtrCChar))))foreignimportccallunsafe"gtk_text_iter_get_pixbuf"gtk_text_iter_get_pixbuf::((PtrTextIter)->(IO(PtrPixbuf)))foreignimportccallunsafe"gtk_text_iter_get_child_anchor"gtk_text_iter_get_child_anchor::((PtrTextIter)->(IO(PtrTextChildAnchor)))foreignimportccallsafe"gtk_text_iter_get_marks"gtk_text_iter_get_marks::((PtrTextIter)->(IO(Ptr())))foreignimportccallsafe"gtk_text_iter_get_toggled_tags"gtk_text_iter_get_toggled_tags::((PtrTextIter)->(CInt->(IO(Ptr()))))foreignimportccallunsafe"gtk_text_iter_begins_tag"gtk_text_iter_begins_tag::((PtrTextIter)->((PtrTextTag)->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_ends_tag"gtk_text_iter_ends_tag::((PtrTextIter)->((PtrTextTag)->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_toggles_tag"gtk_text_iter_toggles_tag::((PtrTextIter)->((PtrTextTag)->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_has_tag"gtk_text_iter_has_tag::((PtrTextIter)->((PtrTextTag)->(IOCInt)))foreignimportccallsafe"gtk_text_iter_get_tags"gtk_text_iter_get_tags::((PtrTextIter)->(IO(Ptr())))foreignimportccallunsafe"gtk_text_iter_editable"gtk_text_iter_editable::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_can_insert"gtk_text_iter_can_insert::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_starts_word"gtk_text_iter_starts_word::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_ends_word"gtk_text_iter_ends_word::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_inside_word"gtk_text_iter_inside_word::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_starts_line"gtk_text_iter_starts_line::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_ends_line"gtk_text_iter_ends_line::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_starts_sentence"gtk_text_iter_starts_sentence::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_ends_sentence"gtk_text_iter_ends_sentence::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_inside_sentence"gtk_text_iter_inside_sentence::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_is_cursor_position"gtk_text_iter_is_cursor_position::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_get_chars_in_line"gtk_text_iter_get_chars_in_line::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_get_attributes"gtk_text_iter_get_attributes::((PtrTextIter)->((PtrTextAttributes)->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_get_language"gtk_text_iter_get_language::((PtrTextIter)->(IO(PtrLanguage)))foreignimportccallunsafe"gtk_text_iter_is_end"gtk_text_iter_is_end::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_is_start"gtk_text_iter_is_start::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_forward_char"gtk_text_iter_forward_char::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_backward_char"gtk_text_iter_backward_char::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_forward_chars"gtk_text_iter_forward_chars::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_backward_chars"gtk_text_iter_backward_chars::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_forward_line"gtk_text_iter_forward_line::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_backward_line"gtk_text_iter_backward_line::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_forward_lines"gtk_text_iter_forward_lines::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_backward_lines"gtk_text_iter_backward_lines::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_forward_word_ends"gtk_text_iter_forward_word_ends::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_backward_word_starts"gtk_text_iter_backward_word_starts::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_forward_word_end"gtk_text_iter_forward_word_end::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_backward_word_start"gtk_text_iter_backward_word_start::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_forward_cursor_position"gtk_text_iter_forward_cursor_position::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_backward_cursor_position"gtk_text_iter_backward_cursor_position::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_forward_cursor_positions"gtk_text_iter_forward_cursor_positions::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_backward_cursor_positions"gtk_text_iter_backward_cursor_positions::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_forward_sentence_ends"gtk_text_iter_forward_sentence_ends::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_backward_sentence_starts"gtk_text_iter_backward_sentence_starts::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_forward_sentence_end"gtk_text_iter_forward_sentence_end::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_backward_sentence_start"gtk_text_iter_backward_sentence_start::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_set_offset"gtk_text_iter_set_offset::((PtrTextIter)->(CInt->(IO())))foreignimportccallunsafe"gtk_text_iter_set_line"gtk_text_iter_set_line::((PtrTextIter)->(CInt->(IO())))foreignimportccallunsafe"gtk_text_iter_set_line_offset"gtk_text_iter_set_line_offset::((PtrTextIter)->(CInt->(IO())))foreignimportccallunsafe"gtk_text_iter_set_visible_line_offset"gtk_text_iter_set_visible_line_offset::((PtrTextIter)->(CInt->(IO())))foreignimportccallunsafe"gtk_text_iter_forward_to_end"gtk_text_iter_forward_to_end::((PtrTextIter)->(IO()))foreignimportccallunsafe"gtk_text_iter_forward_to_line_end"gtk_text_iter_forward_to_line_end::((PtrTextIter)->(IOCInt))foreignimportccallunsafe"gtk_text_iter_forward_to_tag_toggle"gtk_text_iter_forward_to_tag_toggle::((PtrTextIter)->((PtrTextTag)->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_backward_to_tag_toggle"gtk_text_iter_backward_to_tag_toggle::((PtrTextIter)->((PtrTextTag)->(IOCInt)))foreignimportccallsafe"gtk_text_iter_forward_find_char"gtk_text_iter_forward_find_char::((PtrTextIter)->((FunPtr(CUInt->((Ptr())->(IOCInt))))->((Ptr())->((PtrTextIter)->(IOCInt)))))foreignimportccallsafe"gtk_text_iter_backward_find_char"gtk_text_iter_backward_find_char::((PtrTextIter)->((FunPtr(CUInt->((Ptr())->(IOCInt))))->((Ptr())->((PtrTextIter)->(IOCInt)))))foreignimportccallunsafe"gtk_text_iter_forward_search"gtk_text_iter_forward_search::((PtrTextIter)->((PtrCChar)->(CInt->((PtrTextIter)->((PtrTextIter)->((PtrTextIter)->(IOCInt)))))))foreignimportccallunsafe"gtk_text_iter_backward_search"gtk_text_iter_backward_search::((PtrTextIter)->((PtrCChar)->(CInt->((PtrTextIter)->((PtrTextIter)->((PtrTextIter)->(IOCInt)))))))foreignimportccallsafe"gtk_text_iter_forward_visible_line"gtk_text_iter_forward_visible_line::((PtrTextIter)->(IOCInt))foreignimportccallsafe"gtk_text_iter_backward_visible_line"gtk_text_iter_backward_visible_line::((PtrTextIter)->(IOCInt))foreignimportccallsafe"gtk_text_iter_forward_visible_lines"gtk_text_iter_forward_visible_lines::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallsafe"gtk_text_iter_backward_visible_lines"gtk_text_iter_backward_visible_lines::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallsafe"gtk_text_iter_forward_visible_word_ends"gtk_text_iter_forward_visible_word_ends::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallsafe"gtk_text_iter_backward_visible_word_starts"gtk_text_iter_backward_visible_word_starts::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallsafe"gtk_text_iter_forward_visible_word_end"gtk_text_iter_forward_visible_word_end::((PtrTextIter)->(IOCInt))foreignimportccallsafe"gtk_text_iter_backward_visible_word_start"gtk_text_iter_backward_visible_word_start::((PtrTextIter)->(IOCInt))foreignimportccallsafe"gtk_text_iter_forward_visible_cursor_position"gtk_text_iter_forward_visible_cursor_position::((PtrTextIter)->(IOCInt))foreignimportccallsafe"gtk_text_iter_backward_visible_cursor_position"gtk_text_iter_backward_visible_cursor_position::((PtrTextIter)->(IOCInt))foreignimportccallsafe"gtk_text_iter_forward_visible_cursor_positions"gtk_text_iter_forward_visible_cursor_positions::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallsafe"gtk_text_iter_backward_visible_cursor_positions"gtk_text_iter_backward_visible_cursor_positions::((PtrTextIter)->(CInt->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_equal"gtk_text_iter_equal::((PtrTextIter)->((PtrTextIter)->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_compare"gtk_text_iter_compare::((PtrTextIter)->((PtrTextIter)->(IOCInt)))foreignimportccallunsafe"gtk_text_iter_in_range"gtk_text_iter_in_range::((PtrTextIter)->((PtrTextIter)->((PtrTextIter)->(IOCInt))))foreignimportccallsafe"gtk_text_iter_order"gtk_text_iter_order::((PtrTextIter)->((PtrTextIter)->(IO())))