Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 677c1b5134368504c2e447757584d19e > files > 1099

ghc-gtk-devel-0.11.2-5.fc14.i686.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
<title>dist/build/Graphics/UI/Gtk/Multiline/TextBuffer.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a>
<a name="line-2"></a><span class='hs-comment'>{-# LINE 2 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-3"></a><span class='hs-comment'>-- -*-haskell-*-</span>
<a name="line-4"></a><span class='hs-comment'>-- GIMP Toolkit (GTK) TextBuffer</span>
<a name="line-5"></a><span class='hs-comment'>--</span>
<a name="line-6"></a><span class='hs-comment'>-- Author : Axel Simon, Andy Stewart</span>
<a name="line-7"></a><span class='hs-comment'>--</span>
<a name="line-8"></a><span class='hs-comment'>-- Created: 23 February 2002</span>
<a name="line-9"></a><span class='hs-comment'>--</span>
<a name="line-10"></a><span class='hs-comment'>-- Copyright (C) 2001-2005 Axel Simon</span>
<a name="line-11"></a><span class='hs-comment'>-- Copyright (C) 2009 Andy Stewart</span>
<a name="line-12"></a><span class='hs-comment'>--</span>
<a name="line-13"></a><span class='hs-comment'>-- This library is free software; you can redistribute it and/or</span>
<a name="line-14"></a><span class='hs-comment'>-- modify it under the terms of the GNU Lesser General Public</span>
<a name="line-15"></a><span class='hs-comment'>-- License as published by the Free Software Foundation; either</span>
<a name="line-16"></a><span class='hs-comment'>-- version 2.1 of the License, or (at your option) any later version.</span>
<a name="line-17"></a><span class='hs-comment'>--</span>
<a name="line-18"></a><span class='hs-comment'>-- This library is distributed in the hope that it will be useful,</span>
<a name="line-19"></a><span class='hs-comment'>-- but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="line-20"></a><span class='hs-comment'>-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="line-21"></a><span class='hs-comment'>-- Lesser General Public License for more details.</span>
<a name="line-22"></a><span class='hs-comment'>--</span>
<a name="line-23"></a><span class='hs-comment'>-- NOTES</span>
<a name="line-24"></a><span class='hs-comment'>--</span>
<a name="line-25"></a><span class='hs-comment'>-- Below `variadic` functions can't support by FFI:</span>
<a name="line-26"></a><span class='hs-comment'>-- gtk_text_buffer_insert_with_tags</span>
<a name="line-27"></a><span class='hs-comment'>-- gtk_text_buffer_insert_with_tags_by_name</span>
<a name="line-28"></a><span class='hs-comment'>-- gtk_text_buffer_create_tag</span>
<a name="line-29"></a><span class='hs-comment'>-- But above functions is not essential, we can use other functions do same work.</span>
<a name="line-30"></a><span class='hs-comment'>-- Example:</span>
<a name="line-31"></a><span class='hs-comment'>--</span>
<a name="line-32"></a><span class='hs-comment'>-- gtk_text_buffer_insert_with_tags equivalent to calling textBufferInsert,</span>
<a name="line-33"></a><span class='hs-comment'>-- then textBufferApplyTag on the inserted text.</span>
<a name="line-34"></a><span class='hs-comment'>--</span>
<a name="line-35"></a><span class='hs-comment'>-- gtk_text_buffer_insert_with_tags_by_name same as gtk_text_buffer_insert_with_tags,</span>
<a name="line-36"></a><span class='hs-comment'>-- just use textTagName handle tag name.</span>
<a name="line-37"></a><span class='hs-comment'>--</span>
<a name="line-38"></a><span class='hs-comment'>-- gtk_text_buffer_create_tag Equivalent to calling textTagNew</span>
<a name="line-39"></a><span class='hs-comment'>-- and then adding the tag to the buffer's tag table. </span>
<a name="line-40"></a><span class='hs-comment'>--</span>
<a name="line-41"></a><span class='hs-comment'>-- The following functions do not make sense due to Haskell's wide character</span>
<a name="line-42"></a><span class='hs-comment'>-- representation of Unicode:</span>
<a name="line-43"></a><span class='hs-comment'>-- gtk_text_buffer_get_iter_at_line_index</span>
<a name="line-44"></a><span class='hs-comment'>--</span>
<a name="line-45"></a><span class='hs-comment'>-- The function gtk_text_buffer_get_selection_bounds is only used to test</span>
<a name="line-46"></a><span class='hs-comment'>-- if there is a selection (see 'textBufferHasSelection').</span>
<a name="line-47"></a><span class='hs-comment'>--</span>
<a name="line-48"></a><span class='hs-comment'>-- |</span>
<a name="line-49"></a><span class='hs-comment'>-- Maintainer : gtk2hs-users@lists.sourceforge.net</span>
<a name="line-50"></a><span class='hs-comment'>-- Stability : provisional</span>
<a name="line-51"></a><span class='hs-comment'>-- Portability : portable (depends on GHC)</span>
<a name="line-52"></a><span class='hs-comment'>--</span>
<a name="line-53"></a><span class='hs-comment'>-- Stores attributed text for display in a 'TextView'</span>
<a name="line-54"></a><span class='hs-comment'>--</span>
<a name="line-55"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Multiline</span><span class='hs-varop'>.</span><span class='hs-conid'>TextBuffer</span> <span class='hs-layout'>(</span>
<a name="line-56"></a><span class='hs-comment'>-- * Detail</span>
<a name="line-57"></a><span class='hs-comment'>--</span>
<a name="line-58"></a><span class='hs-comment'>-- | You may wish to begin by reading the text widget conceptual overview</span>
<a name="line-59"></a><span class='hs-comment'>-- which gives an overview of all the objects and data types related to the</span>
<a name="line-60"></a><span class='hs-comment'>-- text widget and how they work together.</span>
<a name="line-61"></a>
<a name="line-62"></a><span class='hs-comment'>-- * Class Hierarchy</span>
<a name="line-63"></a><span class='hs-comment'>-- |</span>
<a name="line-64"></a><span class='hs-comment'>-- @</span>
<a name="line-65"></a><span class='hs-comment'>-- | 'GObject'</span>
<a name="line-66"></a><span class='hs-comment'>-- | +----TextBuffer</span>
<a name="line-67"></a><span class='hs-comment'>-- @</span>
<a name="line-68"></a>
<a name="line-69"></a><span class='hs-comment'>-- * Types</span>
<a name="line-70"></a>  <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>,</span>
<a name="line-71"></a>  <span class='hs-conid'>TextBufferClass</span><span class='hs-layout'>,</span>
<a name="line-72"></a>  <span class='hs-varid'>castToTextBuffer</span><span class='hs-layout'>,</span> <span class='hs-varid'>gTypeTextBuffer</span><span class='hs-layout'>,</span>
<a name="line-73"></a>  <span class='hs-varid'>toTextBuffer</span><span class='hs-layout'>,</span>
<a name="line-74"></a>
<a name="line-75"></a><span class='hs-comment'>-- * Constructors</span>
<a name="line-76"></a>  <span class='hs-varid'>textBufferNew</span><span class='hs-layout'>,</span>
<a name="line-77"></a>
<a name="line-78"></a><span class='hs-comment'>-- * Methods</span>
<a name="line-79"></a>  <span class='hs-varid'>textBufferGetLineCount</span><span class='hs-layout'>,</span>
<a name="line-80"></a>  <span class='hs-varid'>textBufferGetCharCount</span><span class='hs-layout'>,</span>
<a name="line-81"></a>  <span class='hs-varid'>textBufferGetTagTable</span><span class='hs-layout'>,</span>
<a name="line-82"></a>  <span class='hs-varid'>textBufferInsert</span><span class='hs-layout'>,</span>
<a name="line-83"></a>  <span class='hs-varid'>textBufferInsertAtCursor</span><span class='hs-layout'>,</span>
<a name="line-84"></a>  <span class='hs-varid'>textBufferInsertInteractive</span><span class='hs-layout'>,</span>
<a name="line-85"></a>  <span class='hs-varid'>textBufferInsertInteractiveAtCursor</span><span class='hs-layout'>,</span>
<a name="line-86"></a>  <span class='hs-varid'>textBufferInsertRange</span><span class='hs-layout'>,</span>
<a name="line-87"></a>  <span class='hs-varid'>textBufferInsertRangeInteractive</span><span class='hs-layout'>,</span>
<a name="line-88"></a>  <span class='hs-varid'>textBufferDelete</span><span class='hs-layout'>,</span>
<a name="line-89"></a>  <span class='hs-varid'>textBufferDeleteInteractive</span><span class='hs-layout'>,</span>
<a name="line-90"></a>  <span class='hs-varid'>textBufferSetByteString</span><span class='hs-layout'>,</span>
<a name="line-91"></a>  <span class='hs-varid'>textBufferGetByteString</span><span class='hs-layout'>,</span>
<a name="line-92"></a>  <span class='hs-varid'>textBufferGetByteStringSlice</span><span class='hs-layout'>,</span>
<a name="line-93"></a>  <span class='hs-varid'>textBufferSetText</span><span class='hs-layout'>,</span>
<a name="line-94"></a>  <span class='hs-varid'>textBufferGetText</span><span class='hs-layout'>,</span>
<a name="line-95"></a>  <span class='hs-varid'>textBufferGetSlice</span><span class='hs-layout'>,</span>
<a name="line-96"></a>  <span class='hs-varid'>textBufferInsertPixbuf</span><span class='hs-layout'>,</span>
<a name="line-97"></a>  <span class='hs-varid'>textBufferCreateMark</span><span class='hs-layout'>,</span>
<a name="line-98"></a>
<a name="line-99"></a>  <span class='hs-varid'>textBufferAddMark</span><span class='hs-layout'>,</span>
<a name="line-100"></a>
<a name="line-101"></a>  <span class='hs-varid'>textBufferMoveMark</span><span class='hs-layout'>,</span>
<a name="line-102"></a>  <span class='hs-varid'>textBufferMoveMarkByName</span><span class='hs-layout'>,</span>
<a name="line-103"></a>  <span class='hs-varid'>textBufferDeleteMark</span><span class='hs-layout'>,</span>
<a name="line-104"></a>  <span class='hs-varid'>textBufferDeleteMarkByName</span><span class='hs-layout'>,</span>
<a name="line-105"></a>  <span class='hs-varid'>textBufferGetMark</span><span class='hs-layout'>,</span>
<a name="line-106"></a>  <span class='hs-varid'>textBufferGetInsert</span><span class='hs-layout'>,</span>
<a name="line-107"></a>  <span class='hs-varid'>textBufferGetSelectionBound</span><span class='hs-layout'>,</span>
<a name="line-108"></a>  <span class='hs-varid'>textBufferPlaceCursor</span><span class='hs-layout'>,</span>
<a name="line-109"></a>  <span class='hs-varid'>textBufferApplyTag</span><span class='hs-layout'>,</span>
<a name="line-110"></a>  <span class='hs-varid'>textBufferRemoveTag</span><span class='hs-layout'>,</span>
<a name="line-111"></a>  <span class='hs-varid'>textBufferApplyTagByName</span><span class='hs-layout'>,</span>
<a name="line-112"></a>  <span class='hs-varid'>textBufferRemoveTagByName</span><span class='hs-layout'>,</span>
<a name="line-113"></a>  <span class='hs-varid'>textBufferRemoveAllTags</span><span class='hs-layout'>,</span>
<a name="line-114"></a>  <span class='hs-varid'>textBufferGetIterAtLineOffset</span><span class='hs-layout'>,</span>
<a name="line-115"></a>  <span class='hs-varid'>textBufferGetIterAtOffset</span><span class='hs-layout'>,</span>
<a name="line-116"></a>  <span class='hs-varid'>textBufferGetIterAtLine</span><span class='hs-layout'>,</span>
<a name="line-117"></a>  <span class='hs-varid'>textBufferGetIterAtMark</span><span class='hs-layout'>,</span>
<a name="line-118"></a>  <span class='hs-varid'>textBufferGetStartIter</span><span class='hs-layout'>,</span>
<a name="line-119"></a>  <span class='hs-varid'>textBufferGetEndIter</span><span class='hs-layout'>,</span>
<a name="line-120"></a>  <span class='hs-varid'>textBufferGetModified</span><span class='hs-layout'>,</span>
<a name="line-121"></a>  <span class='hs-varid'>textBufferSetModified</span><span class='hs-layout'>,</span>
<a name="line-122"></a>  <span class='hs-varid'>textBufferDeleteSelection</span><span class='hs-layout'>,</span>
<a name="line-123"></a>  <span class='hs-varid'>textBufferHasSelection</span><span class='hs-layout'>,</span>
<a name="line-124"></a>  <span class='hs-varid'>textBufferGetSelectionBounds</span><span class='hs-layout'>,</span>
<a name="line-125"></a>
<a name="line-126"></a>  <span class='hs-varid'>textBufferSelectRange</span><span class='hs-layout'>,</span>
<a name="line-127"></a>
<a name="line-128"></a>  <span class='hs-varid'>textBufferGetBounds</span><span class='hs-layout'>,</span>
<a name="line-129"></a>  <span class='hs-varid'>textBufferBeginUserAction</span><span class='hs-layout'>,</span>
<a name="line-130"></a>  <span class='hs-varid'>textBufferEndUserAction</span><span class='hs-layout'>,</span>
<a name="line-131"></a>
<a name="line-132"></a>  <span class='hs-varid'>textBufferBackspace</span><span class='hs-layout'>,</span>
<a name="line-133"></a>
<a name="line-134"></a>  <span class='hs-varid'>textBufferInsertChildAnchor</span><span class='hs-layout'>,</span>
<a name="line-135"></a>  <span class='hs-varid'>textBufferCreateChildAnchor</span><span class='hs-layout'>,</span>
<a name="line-136"></a>  <span class='hs-varid'>textBufferGetIterAtChildAnchor</span><span class='hs-layout'>,</span>
<a name="line-137"></a>
<a name="line-138"></a>  <span class='hs-varid'>textBufferPasteClipboard</span><span class='hs-layout'>,</span>
<a name="line-139"></a>  <span class='hs-varid'>textBufferPasteClipboardAtCursor</span><span class='hs-layout'>,</span>
<a name="line-140"></a>  <span class='hs-varid'>textBufferCopyClipboard</span><span class='hs-layout'>,</span>
<a name="line-141"></a>  <span class='hs-varid'>textBufferCutClipboard</span><span class='hs-layout'>,</span>
<a name="line-142"></a>
<a name="line-143"></a>  <span class='hs-varid'>textBufferAddSelectionClipboard</span><span class='hs-layout'>,</span>
<a name="line-144"></a>  <span class='hs-varid'>textBufferRemoveSelectionClipboard</span><span class='hs-layout'>,</span>
<a name="line-145"></a>
<a name="line-146"></a><span class='hs-comment'>-- * Attributes</span>
<a name="line-147"></a>  <span class='hs-varid'>textBufferTagTable</span><span class='hs-layout'>,</span>
<a name="line-148"></a>
<a name="line-149"></a>  <span class='hs-varid'>textBufferText</span><span class='hs-layout'>,</span>
<a name="line-150"></a>
<a name="line-151"></a>  <span class='hs-varid'>textBufferModified</span><span class='hs-layout'>,</span>
<a name="line-152"></a>
<a name="line-153"></a><span class='hs-comment'>-- * Signals</span>
<a name="line-154"></a>  <span class='hs-varid'>applyTag</span><span class='hs-layout'>,</span>
<a name="line-155"></a>  <span class='hs-varid'>beginUserAction</span><span class='hs-layout'>,</span>
<a name="line-156"></a>  <span class='hs-varid'>bufferChanged</span><span class='hs-layout'>,</span>
<a name="line-157"></a>  <span class='hs-varid'>deleteRange</span><span class='hs-layout'>,</span>
<a name="line-158"></a>  <span class='hs-varid'>endUserAction</span><span class='hs-layout'>,</span>
<a name="line-159"></a>  <span class='hs-varid'>insertPixbuf</span><span class='hs-layout'>,</span>
<a name="line-160"></a>  <span class='hs-varid'>insertChildAnchor</span><span class='hs-layout'>,</span>
<a name="line-161"></a>  <span class='hs-varid'>bufferInsertText</span><span class='hs-layout'>,</span>
<a name="line-162"></a>  <span class='hs-varid'>markDeleted</span><span class='hs-layout'>,</span>
<a name="line-163"></a>  <span class='hs-varid'>markSet</span><span class='hs-layout'>,</span>
<a name="line-164"></a>  <span class='hs-varid'>modifiedChanged</span><span class='hs-layout'>,</span>
<a name="line-165"></a>  <span class='hs-varid'>pasteDone</span><span class='hs-layout'>,</span>
<a name="line-166"></a>  <span class='hs-varid'>removeTag</span><span class='hs-layout'>,</span>
<a name="line-167"></a>
<a name="line-168"></a><span class='hs-comment'>-- * Deprecated</span>
<a name="line-169"></a>
<a name="line-170"></a>  <span class='hs-varid'>onApplyTag</span><span class='hs-layout'>,</span>
<a name="line-171"></a>  <span class='hs-varid'>afterApplyTag</span><span class='hs-layout'>,</span>
<a name="line-172"></a>  <span class='hs-varid'>onBeginUserAction</span><span class='hs-layout'>,</span>
<a name="line-173"></a>  <span class='hs-varid'>afterBeginUserAction</span><span class='hs-layout'>,</span>
<a name="line-174"></a>  <span class='hs-varid'>onBufferChanged</span><span class='hs-layout'>,</span>
<a name="line-175"></a>  <span class='hs-varid'>afterBufferChanged</span><span class='hs-layout'>,</span>
<a name="line-176"></a>  <span class='hs-varid'>onDeleteRange</span><span class='hs-layout'>,</span>
<a name="line-177"></a>  <span class='hs-varid'>afterDeleteRange</span><span class='hs-layout'>,</span>
<a name="line-178"></a>  <span class='hs-varid'>onEndUserAction</span><span class='hs-layout'>,</span>
<a name="line-179"></a>  <span class='hs-varid'>afterEndUserAction</span><span class='hs-layout'>,</span>
<a name="line-180"></a>  <span class='hs-varid'>onInsertPixbuf</span><span class='hs-layout'>,</span>
<a name="line-181"></a>  <span class='hs-varid'>afterInsertPixbuf</span><span class='hs-layout'>,</span>
<a name="line-182"></a>  <span class='hs-varid'>onBufferInsertText</span><span class='hs-layout'>,</span>
<a name="line-183"></a>  <span class='hs-varid'>afterBufferInsertText</span><span class='hs-layout'>,</span>
<a name="line-184"></a>  <span class='hs-varid'>onMarkDeleted</span><span class='hs-layout'>,</span>
<a name="line-185"></a>  <span class='hs-varid'>afterMarkDeleted</span><span class='hs-layout'>,</span>
<a name="line-186"></a>  <span class='hs-varid'>onMarkSet</span><span class='hs-layout'>,</span>
<a name="line-187"></a>  <span class='hs-varid'>afterMarkSet</span><span class='hs-layout'>,</span>
<a name="line-188"></a>  <span class='hs-varid'>onModifiedChanged</span><span class='hs-layout'>,</span>
<a name="line-189"></a>  <span class='hs-varid'>afterModifiedChanged</span><span class='hs-layout'>,</span>
<a name="line-190"></a>  <span class='hs-varid'>onRemoveTag</span><span class='hs-layout'>,</span>
<a name="line-191"></a>  <span class='hs-varid'>afterRemoveTag</span>
<a name="line-192"></a>
<a name="line-193"></a>  <span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-194"></a>
<a name="line-195"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Monad</span> <span class='hs-layout'>(</span><span class='hs-varid'>liftM</span><span class='hs-layout'>)</span>
<a name="line-196"></a>
<a name="line-197"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>FFI</span>
<a name="line-198"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>UTFString</span>
<a name="line-199"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>Attributes</span>
<a name="line-200"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>Properties</span>
<a name="line-201"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GObject</span> <span class='hs-layout'>(</span><span class='hs-varid'>constructNewGObject</span><span class='hs-layout'>,</span>
<a name="line-202"></a>       <span class='hs-varid'>makeNewGObject</span><span class='hs-layout'>)</span>
<a name="line-203"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-layout'>(</span><span class='hs-conid'>ByteString</span><span class='hs-layout'>)</span>
<a name="line-204"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span><span class='hs-varop'>.</span><span class='hs-conid'>Unsafe</span> <span class='hs-layout'>(</span><span class='hs-varid'>unsafeUseAsCStringLen</span><span class='hs-layout'>,</span> <span class='hs-varid'>unsafePackCStringFinalizer</span><span class='hs-layout'>)</span>
<a name="line-205"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Types</span>
<a name="line-206"></a><span class='hs-comment'>{-# LINE 205 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-207"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Signals</span>
<a name="line-208"></a><span class='hs-comment'>{-# LINE 206 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-209"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Multiline</span><span class='hs-varop'>.</span><span class='hs-conid'>Types</span>
<a name="line-210"></a><span class='hs-comment'>{-# LINE 207 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-211"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Multiline</span><span class='hs-varop'>.</span><span class='hs-conid'>TextMark</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextMark</span><span class='hs-layout'>,</span> <span class='hs-conid'>MarkName</span><span class='hs-layout'>)</span>
<a name="line-212"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>UI</span><span class='hs-varop'>.</span><span class='hs-conid'>Gtk</span><span class='hs-varop'>.</span><span class='hs-conid'>Multiline</span><span class='hs-varop'>.</span><span class='hs-conid'>TextTag</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextTag</span><span class='hs-layout'>,</span> <span class='hs-conid'>TagName</span><span class='hs-layout'>)</span>
<a name="line-213"></a>
<a name="line-214"></a>
<a name="line-215"></a><span class='hs-comment'>{-# LINE 211 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-216"></a>
<a name="line-217"></a><span class='hs-comment'>--------------------</span>
<a name="line-218"></a><span class='hs-comment'>-- Constructors</span>
<a name="line-219"></a>
<a name="line-220"></a><a name="textBufferNew"></a><span class='hs-comment'>-- | Creates a new text buffer.</span>
<a name="line-221"></a><span class='hs-comment'>--</span>
<a name="line-222"></a><span class='hs-definition'>textBufferNew</span> <span class='hs-keyglyph'>::</span>
<a name="line-223"></a>    <span class='hs-conid'>Maybe</span> <span class='hs-conid'>TextTagTable</span> <span class='hs-comment'>-- ^ @table@ - a tag table, or @Nothing@ to create a</span>
<a name="line-224"></a>                       <span class='hs-comment'>-- new one</span>
<a name="line-225"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextBuffer</span>
<a name="line-226"></a><span class='hs-definition'>textBufferNew</span> <span class='hs-varid'>table</span> <span class='hs-keyglyph'>=</span>
<a name="line-227"></a>  <span class='hs-varid'>constructNewGObject</span> <span class='hs-varid'>mkTextBuffer</span> <span class='hs-varop'>$</span>
<a name="line-228"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextTagTable</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_new</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-229"></a><span class='hs-comment'>{-# LINE 224 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-230"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>maybe</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextTagTable</span> <span class='hs-varid'>nullForeignPtr</span><span class='hs-layout'>)</span> <span class='hs-varid'>toTextTagTable</span> <span class='hs-varid'>table</span><span class='hs-layout'>)</span>
<a name="line-231"></a>
<a name="line-232"></a><span class='hs-comment'>--------------------</span>
<a name="line-233"></a><span class='hs-comment'>-- Methods</span>
<a name="line-234"></a>
<a name="line-235"></a><a name="textBufferGetLineCount"></a><span class='hs-comment'>-- | Obtains the number of lines in the buffer. This value is cached, so the</span>
<a name="line-236"></a><span class='hs-comment'>-- function is very fast.</span>
<a name="line-237"></a><span class='hs-comment'>--</span>
<a name="line-238"></a><span class='hs-definition'>textBufferGetLineCount</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Int</span>
<a name="line-239"></a><span class='hs-definition'>textBufferGetLineCount</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-240"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span>
<a name="line-241"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_line_count</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-242"></a><span class='hs-comment'>{-# LINE 236 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-243"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-244"></a>
<a name="line-245"></a><a name="textBufferGetCharCount"></a><span class='hs-comment'>-- | Gets the number of characters in the buffer. The character count is</span>
<a name="line-246"></a><span class='hs-comment'>-- cached, so this function is very fast.</span>
<a name="line-247"></a><span class='hs-comment'>--</span>
<a name="line-248"></a><span class='hs-definition'>textBufferGetCharCount</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Int</span>
<a name="line-249"></a><span class='hs-definition'>textBufferGetCharCount</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-250"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span>
<a name="line-251"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_char_count</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-252"></a><span class='hs-comment'>{-# LINE 245 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-253"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-254"></a>
<a name="line-255"></a><a name="textBufferGetTagTable"></a><span class='hs-comment'>-- | Get the 'TextTagTable' associated with this buffer.</span>
<a name="line-256"></a><span class='hs-comment'>--</span>
<a name="line-257"></a><span class='hs-definition'>textBufferGetTagTable</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextTagTable</span>
<a name="line-258"></a><span class='hs-definition'>textBufferGetTagTable</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-259"></a>  <span class='hs-varid'>makeNewGObject</span> <span class='hs-varid'>mkTextTagTable</span> <span class='hs-varop'>$</span>
<a name="line-260"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_tag_table</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-261"></a><span class='hs-comment'>{-# LINE 253 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-262"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-263"></a>
<a name="line-264"></a><a name="textBufferInsert"></a><span class='hs-comment'>-- | Inserts @text@ at position @iter@. Emits the</span>
<a name="line-265"></a><span class='hs-comment'>-- \"insert_text\" signal; insertion actually occurs in the default handler for</span>
<a name="line-266"></a><span class='hs-comment'>-- the signal. @iter@ is invalidated when insertion occurs (because the buffer</span>
<a name="line-267"></a><span class='hs-comment'>-- contents change).</span>
<a name="line-268"></a><span class='hs-comment'>--</span>
<a name="line-269"></a><span class='hs-definition'>textBufferInsert</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-270"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @iter@ - a position in the buffer</span>
<a name="line-271"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @text@ - text to insert</span>
<a name="line-272"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-273"></a><span class='hs-definition'>textBufferInsert</span> <span class='hs-varid'>self</span> <span class='hs-varid'>iter</span> <span class='hs-varid'>text</span> <span class='hs-keyglyph'>=</span>
<a name="line-274"></a>  <span class='hs-varid'>withUTFStringLen</span> <span class='hs-varid'>text</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>textPtr</span><span class='hs-layout'>,</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-275"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_insert</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-276"></a><span class='hs-comment'>{-# LINE 267 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-277"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-278"></a>    <span class='hs-varid'>iter</span>
<a name="line-279"></a>    <span class='hs-varid'>textPtr</span>
<a name="line-280"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span>
<a name="line-281"></a>
<a name="line-282"></a><a name="textBufferInsertAtCursor"></a><span class='hs-comment'>-- | Simply calls 'textBufferInsert', using the current cursor position as the</span>
<a name="line-283"></a><span class='hs-comment'>-- insertion point.</span>
<a name="line-284"></a><span class='hs-comment'>--</span>
<a name="line-285"></a><span class='hs-definition'>textBufferInsertAtCursor</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-286"></a><span class='hs-definition'>textBufferInsertAtCursor</span> <span class='hs-varid'>self</span> <span class='hs-varid'>text</span> <span class='hs-keyglyph'>=</span>
<a name="line-287"></a>  <span class='hs-varid'>withUTFStringLen</span> <span class='hs-varid'>text</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>textPtr</span><span class='hs-layout'>,</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-288"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_insert_at_cursor</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-289"></a><span class='hs-comment'>{-# LINE 279 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-290"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-291"></a>    <span class='hs-varid'>textPtr</span>
<a name="line-292"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span>
<a name="line-293"></a>
<a name="line-294"></a><a name="textBufferInsertInteractive"></a><span class='hs-comment'>-- | Like 'textBufferInsert', but the insertion will not occur if @iter@ is at</span>
<a name="line-295"></a><span class='hs-comment'>-- a non-editable location in the buffer. Usually you want to prevent</span>
<a name="line-296"></a><span class='hs-comment'>-- insertions at ineditable locations if the insertion results from a user</span>
<a name="line-297"></a><span class='hs-comment'>-- action (is interactive).</span>
<a name="line-298"></a><span class='hs-comment'>--</span>
<a name="line-299"></a><span class='hs-comment'>-- If no tag is at the specified position, use the default value @def@ to</span>
<a name="line-300"></a><span class='hs-comment'>-- decide if the text should be inserted. This value could be set to the result</span>
<a name="line-301"></a><span class='hs-comment'>-- of 'Graphics.UI.Gtk.Multiline.TextView.textViewGetEditable'.</span>
<a name="line-302"></a><span class='hs-comment'>--</span>
<a name="line-303"></a><span class='hs-definition'>textBufferInsertInteractive</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-304"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @iter@ - a position in @buffer@</span>
<a name="line-305"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @text@ - the text to insert</span>
<a name="line-306"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @defaultEditable@ - default editability of buffer</span>
<a name="line-307"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns whether text was actually inserted</span>
<a name="line-308"></a><span class='hs-definition'>textBufferInsertInteractive</span> <span class='hs-varid'>self</span> <span class='hs-varid'>iter</span> <span class='hs-varid'>text</span> <span class='hs-varid'>defaultEditable</span> <span class='hs-keyglyph'>=</span>
<a name="line-309"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-310"></a>  <span class='hs-varid'>withUTFStringLen</span> <span class='hs-varid'>text</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>textPtr</span><span class='hs-layout'>,</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-311"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span> <span class='hs-varid'>arg5</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_insert_interactive</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span> <span class='hs-varid'>arg5</span><span class='hs-layout'>)</span>
<a name="line-312"></a><span class='hs-comment'>{-# LINE 301 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-313"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-314"></a>    <span class='hs-varid'>iter</span>
<a name="line-315"></a>    <span class='hs-varid'>textPtr</span>
<a name="line-316"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span>
<a name="line-317"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>defaultEditable</span><span class='hs-layout'>)</span>
<a name="line-318"></a>
<a name="line-319"></a><a name="textBufferInsertInteractiveAtCursor"></a><span class='hs-comment'>-- | Calls 'textBufferInsertInteractive' at the cursor position.</span>
<a name="line-320"></a><span class='hs-comment'>--</span>
<a name="line-321"></a><span class='hs-definition'>textBufferInsertInteractiveAtCursor</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-322"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @text@ - the text to insert</span>
<a name="line-323"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @defaultEditable@ - default editability of buffer</span>
<a name="line-324"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns whether text was actually inserted</span>
<a name="line-325"></a><span class='hs-definition'>textBufferInsertInteractiveAtCursor</span> <span class='hs-varid'>self</span> <span class='hs-varid'>text</span> <span class='hs-varid'>defaultEditable</span> <span class='hs-keyglyph'>=</span>
<a name="line-326"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-327"></a>  <span class='hs-varid'>withUTFStringLen</span> <span class='hs-varid'>text</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>textPtr</span><span class='hs-layout'>,</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-328"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_insert_interactive_at_cursor</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-329"></a><span class='hs-comment'>{-# LINE 317 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-330"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-331"></a>    <span class='hs-varid'>textPtr</span>
<a name="line-332"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span>
<a name="line-333"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>defaultEditable</span><span class='hs-layout'>)</span>
<a name="line-334"></a>
<a name="line-335"></a><a name="textBufferInsertRange"></a><span class='hs-comment'>-- | Copies text, tags, and pixbufs between @start@ and @end@ (the order of</span>
<a name="line-336"></a><span class='hs-comment'>-- @start@ and @end@ doesn't matter) and inserts the copy at @iter@. Used</span>
<a name="line-337"></a><span class='hs-comment'>-- instead of simply getting\/inserting text because it preserves images and</span>
<a name="line-338"></a><span class='hs-comment'>-- tags. If @start@ and @end@ are in a different buffer from @buffer@, the two</span>
<a name="line-339"></a><span class='hs-comment'>-- buffers must share the same tag table.</span>
<a name="line-340"></a><span class='hs-comment'>--</span>
<a name="line-341"></a><span class='hs-comment'>-- Implemented via emissions of the insert-text and apply-tag signals, so</span>
<a name="line-342"></a><span class='hs-comment'>-- expect those.</span>
<a name="line-343"></a><span class='hs-comment'>--</span>
<a name="line-344"></a><span class='hs-definition'>textBufferInsertRange</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-345"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @iter@ - a position in the buffer</span>
<a name="line-346"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - a position in a 'TextBuffer'</span>
<a name="line-347"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - another position in the same buffer as @start@</span>
<a name="line-348"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-349"></a><span class='hs-definition'>textBufferInsertRange</span> <span class='hs-varid'>self</span> <span class='hs-varid'>iter</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-keyglyph'>=</span>
<a name="line-350"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg4</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr4</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_insert_range</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>argPtr4</span><span class='hs-layout'>)</span>
<a name="line-351"></a><span class='hs-comment'>{-# LINE 338 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-352"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-353"></a>    <span class='hs-varid'>iter</span>
<a name="line-354"></a>    <span class='hs-varid'>start</span>
<a name="line-355"></a>    <span class='hs-varid'>end</span>
<a name="line-356"></a>
<a name="line-357"></a><a name="textBufferInsertRangeInteractive"></a><span class='hs-comment'>-- | Same as 'textBufferInsertRange', but does nothing if the insertion point</span>
<a name="line-358"></a><span class='hs-comment'>-- isn't editable. The @defaultEditable@ parameter indicates whether the text</span>
<a name="line-359"></a><span class='hs-comment'>-- is editable at @iter@ if no tags enclosing @iter@ affect editability.</span>
<a name="line-360"></a><span class='hs-comment'>-- Typically the result of</span>
<a name="line-361"></a><span class='hs-comment'>-- 'Graphics.UI.Gtk.Multiline.TextView.textViewGetEditable' is appropriate here.</span>
<a name="line-362"></a><span class='hs-comment'>--</span>
<a name="line-363"></a><span class='hs-definition'>textBufferInsertRangeInteractive</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-364"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @iter@ - a position in the buffer</span>
<a name="line-365"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - a position in a 'TextBuffer'</span>
<a name="line-366"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - another position in the same buffer as @start@</span>
<a name="line-367"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @defaultEditable@ - default editability of the buffer</span>
<a name="line-368"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns whether an insertion was possible at @iter@</span>
<a name="line-369"></a><span class='hs-definition'>textBufferInsertRangeInteractive</span> <span class='hs-varid'>self</span> <span class='hs-varid'>iter</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-varid'>defaultEditable</span> <span class='hs-keyglyph'>=</span>
<a name="line-370"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-371"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg5</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg4</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr4</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_insert_range_interactive</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>argPtr4</span> <span class='hs-varid'>arg5</span><span class='hs-layout'>)</span>
<a name="line-372"></a><span class='hs-comment'>{-# LINE 358 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-373"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-374"></a>    <span class='hs-varid'>iter</span>
<a name="line-375"></a>    <span class='hs-varid'>start</span>
<a name="line-376"></a>    <span class='hs-varid'>end</span>
<a name="line-377"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>defaultEditable</span><span class='hs-layout'>)</span>
<a name="line-378"></a>
<a name="line-379"></a><a name="textBufferDelete"></a><span class='hs-comment'>-- | Deletes text between @start@ and @end@. The order of @start@ and @end@ is</span>
<a name="line-380"></a><span class='hs-comment'>-- not actually relevant; 'textBufferDelete' will reorder them. This function</span>
<a name="line-381"></a><span class='hs-comment'>-- actually emits the \"delete_range\" signal, and the default handler of that</span>
<a name="line-382"></a><span class='hs-comment'>-- signal deletes the text. Because the buffer is modified, all outstanding</span>
<a name="line-383"></a><span class='hs-comment'>-- iterators become invalid after calling this function; however, the @start@</span>
<a name="line-384"></a><span class='hs-comment'>-- and @end@ will be re-initialized to point to the location where text was</span>
<a name="line-385"></a><span class='hs-comment'>-- deleted.</span>
<a name="line-386"></a><span class='hs-comment'>--</span>
<a name="line-387"></a><span class='hs-definition'>textBufferDelete</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-388"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - a position in @buffer@</span>
<a name="line-389"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - another position in @buffer@</span>
<a name="line-390"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-391"></a><span class='hs-definition'>textBufferDelete</span> <span class='hs-varid'>self</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-keyglyph'>=</span>
<a name="line-392"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_delete</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-393"></a><span class='hs-comment'>{-# LINE 378 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-394"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-395"></a>    <span class='hs-varid'>start</span>
<a name="line-396"></a>    <span class='hs-varid'>end</span>
<a name="line-397"></a>
<a name="line-398"></a><a name="textBufferDeleteInteractive"></a><span class='hs-comment'>-- | Deletes all /editable/ text in the given range. Calls 'textBufferDelete'</span>
<a name="line-399"></a><span class='hs-comment'>-- for each editable sub-range of [@start@,@end@). @start@ and @end@ are</span>
<a name="line-400"></a><span class='hs-comment'>-- revalidated to point to the location of the last deleted range, or left</span>
<a name="line-401"></a><span class='hs-comment'>-- untouched if no text was deleted.</span>
<a name="line-402"></a><span class='hs-comment'>--</span>
<a name="line-403"></a><span class='hs-definition'>textBufferDeleteInteractive</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-404"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @startIter@ - start of range to delete</span>
<a name="line-405"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @endIter@ - end of range</span>
<a name="line-406"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @defaultEditable@ - whether the buffer is editable by</span>
<a name="line-407"></a>             <span class='hs-comment'>-- default</span>
<a name="line-408"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns whether some text was actually deleted</span>
<a name="line-409"></a><span class='hs-definition'>textBufferDeleteInteractive</span> <span class='hs-varid'>self</span> <span class='hs-varid'>startIter</span> <span class='hs-varid'>endIter</span> <span class='hs-varid'>defaultEditable</span> <span class='hs-keyglyph'>=</span>
<a name="line-410"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-411"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_delete_interactive</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-412"></a><span class='hs-comment'>{-# LINE 396 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-413"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-414"></a>    <span class='hs-varid'>startIter</span>
<a name="line-415"></a>    <span class='hs-varid'>endIter</span>
<a name="line-416"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>defaultEditable</span><span class='hs-layout'>)</span>
<a name="line-417"></a>
<a name="line-418"></a><a name="textBufferSetText"></a><span class='hs-comment'>-- | Deletes current contents of @buffer@, and inserts @text@ instead.</span>
<a name="line-419"></a><span class='hs-comment'>--</span>
<a name="line-420"></a><span class='hs-definition'>textBufferSetText</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-421"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @text@ - text to insert</span>
<a name="line-422"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-423"></a><span class='hs-definition'>textBufferSetText</span> <span class='hs-varid'>self</span> <span class='hs-varid'>text</span> <span class='hs-keyglyph'>=</span>
<a name="line-424"></a>  <span class='hs-varid'>withUTFStringLen</span> <span class='hs-varid'>text</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>textPtr</span><span class='hs-layout'>,</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-425"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_set_text</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-426"></a><span class='hs-comment'>{-# LINE 409 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-427"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-428"></a>    <span class='hs-varid'>textPtr</span>
<a name="line-429"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span>
<a name="line-430"></a>
<a name="line-431"></a><a name="textBufferGetText"></a><span class='hs-comment'>-- | Returns the text in the range [@start@,@end@). Excludes undisplayed text</span>
<a name="line-432"></a><span class='hs-comment'>-- (text marked with tags that set the invisibility attribute) if</span>
<a name="line-433"></a><span class='hs-comment'>-- @includeHiddenChars@ is @False@. Does not include characters representing</span>
<a name="line-434"></a><span class='hs-comment'>-- embedded images, so character indexes into the returned string do</span>
<a name="line-435"></a><span class='hs-comment'>-- /not/ correspond to character indexes into the buffer. Contrast</span>
<a name="line-436"></a><span class='hs-comment'>-- with 'textBufferGetSlice'.</span>
<a name="line-437"></a><span class='hs-comment'>--</span>
<a name="line-438"></a><span class='hs-definition'>textBufferGetText</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-439"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - start of a range</span>
<a name="line-440"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - end of a range</span>
<a name="line-441"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @includeHiddenChars@ - whether to include invisible text</span>
<a name="line-442"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>String</span>
<a name="line-443"></a><span class='hs-definition'>textBufferGetText</span> <span class='hs-varid'>self</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-varid'>includeHiddenChars</span> <span class='hs-keyglyph'>=</span>
<a name="line-444"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_text</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-445"></a><span class='hs-comment'>{-# LINE 427 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-446"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-447"></a>    <span class='hs-varid'>start</span>
<a name="line-448"></a>    <span class='hs-varid'>end</span>
<a name="line-449"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>includeHiddenChars</span><span class='hs-layout'>)</span>
<a name="line-450"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>readUTFString</span>
<a name="line-451"></a>
<a name="line-452"></a><a name="textBufferGetSlice"></a><span class='hs-comment'>-- | Returns the text in the range [@start@,@end@). Excludes undisplayed text</span>
<a name="line-453"></a><span class='hs-comment'>-- (text marked with tags that set the invisibility attribute) if</span>
<a name="line-454"></a><span class='hs-comment'>-- @includeHiddenChars@ is @False@. The returned string includes a</span>
<a name="line-455"></a><span class='hs-comment'>-- @(chr 0xFFFC)@ character whenever the buffer contains embedded images, so</span>
<a name="line-456"></a><span class='hs-comment'>-- character indexes into the returned string /do/ correspond to</span>
<a name="line-457"></a><span class='hs-comment'>-- character indexes into the buffer. Contrast with 'textBufferGetText'. Note</span>
<a name="line-458"></a><span class='hs-comment'>-- that @(chr 0xFFFC)@ can occur in normal text as well, so it is not a reliable</span>
<a name="line-459"></a><span class='hs-comment'>-- indicator that a pixbuf or widget is in the buffer.</span>
<a name="line-460"></a><span class='hs-comment'>--</span>
<a name="line-461"></a><span class='hs-definition'>textBufferGetSlice</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-462"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - start of a range</span>
<a name="line-463"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - end of a range</span>
<a name="line-464"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @includeHiddenChars@ - whether to include invisible text</span>
<a name="line-465"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>String</span>
<a name="line-466"></a><span class='hs-definition'>textBufferGetSlice</span> <span class='hs-varid'>self</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-varid'>includeHiddenChars</span> <span class='hs-keyglyph'>=</span>
<a name="line-467"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_slice</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-468"></a><span class='hs-comment'>{-# LINE 449 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-469"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-470"></a>    <span class='hs-varid'>start</span>
<a name="line-471"></a>    <span class='hs-varid'>end</span>
<a name="line-472"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>includeHiddenChars</span><span class='hs-layout'>)</span>
<a name="line-473"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>readUTFString</span>
<a name="line-474"></a>
<a name="line-475"></a><a name="textBufferSetByteString"></a><span class='hs-comment'>-- | Deletes current contents of @buffer@, and inserts @text@ instead. Similar</span>
<a name="line-476"></a><span class='hs-comment'>-- to 'textBufferSetText' but uses 'ByteString' buffers.</span>
<a name="line-477"></a><span class='hs-comment'>--</span>
<a name="line-478"></a><span class='hs-comment'>-- * The passed-in buffer must contain a valid UTF-8 encoded string.</span>
<a name="line-479"></a><span class='hs-comment'>--</span>
<a name="line-480"></a><span class='hs-definition'>textBufferSetByteString</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-481"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>ByteString</span> <span class='hs-comment'>-- ^ @text@ - text to insert</span>
<a name="line-482"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-483"></a><span class='hs-definition'>textBufferSetByteString</span> <span class='hs-varid'>self</span> <span class='hs-varid'>text</span> <span class='hs-keyglyph'>=</span>
<a name="line-484"></a>  <span class='hs-varid'>unsafeUseAsCStringLen</span> <span class='hs-varid'>text</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>textPtr</span><span class='hs-layout'>,</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-485"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_set_text</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-486"></a><span class='hs-comment'>{-# LINE 466 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-487"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-488"></a>    <span class='hs-varid'>textPtr</span>
<a name="line-489"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span>
<a name="line-490"></a>
<a name="line-491"></a><a name="textBufferGetByteString"></a><span class='hs-comment'>-- | Returns the text in the range [@start@,@end@). Similar to</span>
<a name="line-492"></a><span class='hs-comment'>-- `textBufferGetText` but uses 'ByteString' buffers.</span>
<a name="line-493"></a><span class='hs-comment'>--</span>
<a name="line-494"></a><span class='hs-comment'>-- * The returned buffer is a UTF-8 encoded string.</span>
<a name="line-495"></a><span class='hs-comment'>--</span>
<a name="line-496"></a><span class='hs-definition'>textBufferGetByteString</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-497"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - start of a range</span>
<a name="line-498"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - end of a range</span>
<a name="line-499"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @includeHiddenChars@ - whether to include invisible text</span>
<a name="line-500"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>ByteString</span>
<a name="line-501"></a><span class='hs-definition'>textBufferGetByteString</span> <span class='hs-varid'>self</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-varid'>includeHiddenChars</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-502"></a>  <span class='hs-varid'>sPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_text</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-503"></a><span class='hs-comment'>{-# LINE 482 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-504"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-505"></a>    <span class='hs-varid'>start</span>
<a name="line-506"></a>    <span class='hs-varid'>end</span>
<a name="line-507"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>includeHiddenChars</span><span class='hs-layout'>)</span>
<a name="line-508"></a>  <span class='hs-varid'>sLen</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>lengthArray0</span> <span class='hs-num'>0</span> <span class='hs-varid'>sPtr</span>
<a name="line-509"></a>  <span class='hs-varid'>unsafePackCStringFinalizer</span> <span class='hs-layout'>(</span><span class='hs-varid'>castPtr</span> <span class='hs-varid'>sPtr</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>sLen</span><span class='hs-layout'>)</span>
<a name="line-510"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>g_free</span> <span class='hs-layout'>(</span><span class='hs-varid'>castPtr</span> <span class='hs-varid'>sPtr</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-511"></a>
<a name="line-512"></a><a name="textBufferGetByteStringSlice"></a><span class='hs-comment'>-- | Returns the text in the range [@start@,@end@). Similar to</span>
<a name="line-513"></a><span class='hs-comment'>-- `textBufferGetSlice` but uses 'ByteString' buffers.</span>
<a name="line-514"></a><span class='hs-comment'>--</span>
<a name="line-515"></a><span class='hs-comment'>-- * The returned buffer is a UTF-8 encoded string.</span>
<a name="line-516"></a><span class='hs-comment'>--</span>
<a name="line-517"></a><span class='hs-definition'>textBufferGetByteStringSlice</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-518"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - start of a range</span>
<a name="line-519"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - end of a range</span>
<a name="line-520"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @includeHiddenChars@ - whether to include invisible text</span>
<a name="line-521"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>ByteString</span>
<a name="line-522"></a><span class='hs-definition'>textBufferGetByteStringSlice</span> <span class='hs-varid'>self</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-varid'>includeHiddenChars</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-523"></a>  <span class='hs-varid'>sPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_slice</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-524"></a><span class='hs-comment'>{-# LINE 502 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-525"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-526"></a>    <span class='hs-varid'>start</span>
<a name="line-527"></a>    <span class='hs-varid'>end</span>
<a name="line-528"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>includeHiddenChars</span><span class='hs-layout'>)</span>
<a name="line-529"></a>  <span class='hs-varid'>sLen</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>lengthArray0</span> <span class='hs-num'>0</span> <span class='hs-varid'>sPtr</span>
<a name="line-530"></a>  <span class='hs-varid'>unsafePackCStringFinalizer</span> <span class='hs-layout'>(</span><span class='hs-varid'>castPtr</span> <span class='hs-varid'>sPtr</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>sLen</span><span class='hs-layout'>)</span>
<a name="line-531"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>g_free</span> <span class='hs-layout'>(</span><span class='hs-varid'>castPtr</span> <span class='hs-varid'>sPtr</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-532"></a>
<a name="line-533"></a><a name="textBufferInsertPixbuf"></a><span class='hs-comment'>-- | Inserts an image into the text buffer at @iter@. The image will be</span>
<a name="line-534"></a><span class='hs-comment'>-- counted as one character in character counts, and when obtaining the buffer</span>
<a name="line-535"></a><span class='hs-comment'>-- contents as a string, will be represented by the Unicode \"object</span>
<a name="line-536"></a><span class='hs-comment'>-- replacement character\" @(chr 0xFFFC)@. Note that the \"slice\" variants for</span>
<a name="line-537"></a><span class='hs-comment'>-- obtaining portions of the buffer as a string include this character for</span>
<a name="line-538"></a><span class='hs-comment'>-- pixbufs, but the \"text\" variants do not. e.g. see 'textBufferGetSlice' and</span>
<a name="line-539"></a><span class='hs-comment'>-- 'textBufferGetText'.</span>
<a name="line-540"></a><span class='hs-comment'>--</span>
<a name="line-541"></a><span class='hs-definition'>textBufferInsertPixbuf</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-542"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @iter@ - location to insert the pixbuf</span>
<a name="line-543"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Pixbuf</span> <span class='hs-comment'>-- ^ @pixbuf@ - a 'Pixbuf'</span>
<a name="line-544"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-545"></a><span class='hs-definition'>textBufferInsertPixbuf</span> <span class='hs-varid'>self</span> <span class='hs-varid'>iter</span> <span class='hs-varid'>pixbuf</span> <span class='hs-keyglyph'>=</span>
<a name="line-546"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Pixbuf</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_insert_pixbuf</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-547"></a><span class='hs-comment'>{-# LINE 524 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-548"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-549"></a>    <span class='hs-varid'>iter</span>
<a name="line-550"></a>    <span class='hs-varid'>pixbuf</span>
<a name="line-551"></a>
<a name="line-552"></a><a name="textBufferCreateMark"></a><span class='hs-comment'>-- | Creates a mark at position @where@. If @markName@ is @Nothing@, the mark</span>
<a name="line-553"></a><span class='hs-comment'>-- is anonymous; otherwise, the mark can be retrieved by name using</span>
<a name="line-554"></a><span class='hs-comment'>-- 'textBufferGetMark'. If a mark has left gravity, and text is inserted at the</span>
<a name="line-555"></a><span class='hs-comment'>-- mark's current location, the mark will be moved to the left of the</span>
<a name="line-556"></a><span class='hs-comment'>-- newly-inserted text. If the mark has right gravity (@leftGravity@ =</span>
<a name="line-557"></a><span class='hs-comment'>-- @False@), the mark will end up on the right of newly-inserted text. The</span>
<a name="line-558"></a><span class='hs-comment'>-- standard left-to-right cursor is a mark with right gravity (when you type,</span>
<a name="line-559"></a><span class='hs-comment'>-- the cursor stays on the right side of the text you're typing).</span>
<a name="line-560"></a><span class='hs-comment'>--</span>
<a name="line-561"></a><span class='hs-comment'>-- Emits the \"mark_set\" signal as notification of the mark's initial</span>
<a name="line-562"></a><span class='hs-comment'>-- placement.</span>
<a name="line-563"></a><span class='hs-comment'>--</span>
<a name="line-564"></a><span class='hs-definition'>textBufferCreateMark</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-565"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Maybe</span> <span class='hs-conid'>MarkName</span> <span class='hs-comment'>-- ^ @markName@ - name for mark, or @Nothing@</span>
<a name="line-566"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @where@ - location to place mark</span>
<a name="line-567"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @leftGravity@ - whether the mark has left gravity</span>
<a name="line-568"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextMark</span> <span class='hs-comment'>-- ^ returns the new 'TextMark' object</span>
<a name="line-569"></a><span class='hs-definition'>textBufferCreateMark</span> <span class='hs-varid'>self</span> <span class='hs-varid'>markName</span> <span class='hs-varid'>where_</span> <span class='hs-varid'>leftGravity</span> <span class='hs-keyglyph'>=</span>
<a name="line-570"></a>  <span class='hs-varid'>makeNewGObject</span> <span class='hs-varid'>mkTextMark</span> <span class='hs-varop'>$</span>
<a name="line-571"></a>  <span class='hs-varid'>maybeWith</span> <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>markName</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>markNamePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-572"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_create_mark</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-573"></a><span class='hs-comment'>{-# LINE 549 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-574"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-575"></a>    <span class='hs-varid'>markNamePtr</span>
<a name="line-576"></a>    <span class='hs-varid'>where_</span>
<a name="line-577"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>leftGravity</span><span class='hs-layout'>)</span>
<a name="line-578"></a>
<a name="line-579"></a>
<a name="line-580"></a><a name="textBufferAddMark"></a><span class='hs-comment'>-- | Adds the mark at position given by the 'TextIter'.</span>
<a name="line-581"></a><span class='hs-comment'>-- The mark may not be added to any other buffer.</span>
<a name="line-582"></a><span class='hs-comment'>--</span>
<a name="line-583"></a><span class='hs-comment'>-- Emits the 'markSet' signal as notification of the mark's initial placement.</span>
<a name="line-584"></a><span class='hs-comment'>--</span>
<a name="line-585"></a><span class='hs-definition'>textBufferAddMark</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-586"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextMark</span> <span class='hs-comment'>-- ^ @mark@ the mark to add</span>
<a name="line-587"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @iter@ location to place mark</span>
<a name="line-588"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-589"></a><span class='hs-definition'>textBufferAddMark</span> <span class='hs-varid'>self</span> <span class='hs-varid'>mark</span> <span class='hs-varid'>iter</span> <span class='hs-keyglyph'>=</span>
<a name="line-590"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextMark</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_add_mark</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>toTextMark</span> <span class='hs-varid'>mark</span><span class='hs-layout'>)</span> <span class='hs-varid'>iter</span>
<a name="line-591"></a>
<a name="line-592"></a>
<a name="line-593"></a><a name="textBufferMoveMark"></a><span class='hs-comment'>-- | Moves @mark@ to the new location @where@. Emits the 'markSet' signal</span>
<a name="line-594"></a><span class='hs-comment'>-- as notification of the move.</span>
<a name="line-595"></a><span class='hs-comment'>--</span>
<a name="line-596"></a><span class='hs-definition'>textBufferMoveMark</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>TextMarkClass</span> <span class='hs-varid'>mark</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-597"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>mark</span> <span class='hs-comment'>-- ^ @mark@ - a 'TextMark'</span>
<a name="line-598"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @where@ - new location for @mark@ in the buffer</span>
<a name="line-599"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-600"></a><span class='hs-definition'>textBufferMoveMark</span> <span class='hs-varid'>self</span> <span class='hs-varid'>mark</span> <span class='hs-varid'>where_</span> <span class='hs-keyglyph'>=</span>
<a name="line-601"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextMark</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_move_mark</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-602"></a><span class='hs-comment'>{-# LINE 577 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-603"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-604"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextMark</span> <span class='hs-varid'>mark</span><span class='hs-layout'>)</span>
<a name="line-605"></a>    <span class='hs-varid'>where_</span>
<a name="line-606"></a>
<a name="line-607"></a><a name="textBufferMoveMarkByName"></a><span class='hs-comment'>-- | Moves the mark named @name@ (which must exist) to location @where@. See</span>
<a name="line-608"></a><span class='hs-comment'>-- 'textBufferMoveMark' for details.</span>
<a name="line-609"></a><span class='hs-comment'>--</span>
<a name="line-610"></a><span class='hs-definition'>textBufferMoveMarkByName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-611"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MarkName</span> <span class='hs-comment'>-- ^ @name@ - name of a mark</span>
<a name="line-612"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @where@ - new location for mark</span>
<a name="line-613"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-614"></a><span class='hs-definition'>textBufferMoveMarkByName</span> <span class='hs-varid'>self</span> <span class='hs-varid'>name</span> <span class='hs-varid'>where_</span> <span class='hs-keyglyph'>=</span>
<a name="line-615"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>name</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>namePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-616"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_move_mark_by_name</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-617"></a><span class='hs-comment'>{-# LINE 591 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-618"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-619"></a>    <span class='hs-varid'>namePtr</span>
<a name="line-620"></a>    <span class='hs-varid'>where_</span>
<a name="line-621"></a>
<a name="line-622"></a><a name="textBufferDeleteMark"></a><span class='hs-comment'>-- | Deletes @mark@, so that it's no longer located anywhere in the buffer.</span>
<a name="line-623"></a><span class='hs-comment'>-- Most operations on @mark@ become invalid. There is no way to undelete a</span>
<a name="line-624"></a><span class='hs-comment'>-- mark. 'Graphics.UI.Gtk.Multiline.TextMark.textMarkGetDeleted' will</span>
<a name="line-625"></a><span class='hs-comment'>-- return @True@ after this function has been</span>
<a name="line-626"></a><span class='hs-comment'>-- called on a mark; 'Graphics.UI.Gtk.Multiline.TextMark.textMarkGetDeleted'</span>
<a name="line-627"></a><span class='hs-comment'>-- indicates that a mark no longer</span>
<a name="line-628"></a><span class='hs-comment'>-- belongs to a buffer. The \"mark_deleted\" signal will be emitted as</span>
<a name="line-629"></a><span class='hs-comment'>-- notification after the mark is deleted.</span>
<a name="line-630"></a><span class='hs-comment'>--</span>
<a name="line-631"></a><span class='hs-definition'>textBufferDeleteMark</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>TextMarkClass</span> <span class='hs-varid'>mark</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-632"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>mark</span> <span class='hs-comment'>-- ^ @mark@ - a 'TextMark' in the buffer</span>
<a name="line-633"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-634"></a><span class='hs-definition'>textBufferDeleteMark</span> <span class='hs-varid'>self</span> <span class='hs-varid'>mark</span> <span class='hs-keyglyph'>=</span>
<a name="line-635"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextMark</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_delete_mark</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-636"></a><span class='hs-comment'>{-# LINE 609 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-637"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-638"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextMark</span> <span class='hs-varid'>mark</span><span class='hs-layout'>)</span>
<a name="line-639"></a>
<a name="line-640"></a><a name="textBufferDeleteMarkByName"></a><span class='hs-comment'>-- | Deletes the mark named @name@; the mark must exist. See</span>
<a name="line-641"></a><span class='hs-comment'>-- 'textBufferDeleteMark' for details.</span>
<a name="line-642"></a><span class='hs-comment'>--</span>
<a name="line-643"></a><span class='hs-definition'>textBufferDeleteMarkByName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-644"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MarkName</span> <span class='hs-comment'>-- ^ @name@ - name of a mark in @buffer@</span>
<a name="line-645"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-646"></a><span class='hs-definition'>textBufferDeleteMarkByName</span> <span class='hs-varid'>self</span> <span class='hs-varid'>name</span> <span class='hs-keyglyph'>=</span>
<a name="line-647"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>name</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>namePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-648"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_delete_mark_by_name</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-649"></a><span class='hs-comment'>{-# LINE 621 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-650"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-651"></a>    <span class='hs-varid'>namePtr</span>
<a name="line-652"></a>
<a name="line-653"></a><a name="textBufferGetMark"></a><span class='hs-comment'>-- | Returns the mark named @name@ in the buffer, or @Nothing@ if no such</span>
<a name="line-654"></a><span class='hs-comment'>-- mark exists in the buffer.</span>
<a name="line-655"></a><span class='hs-comment'>--</span>
<a name="line-656"></a><span class='hs-definition'>textBufferGetMark</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-657"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>MarkName</span> <span class='hs-comment'>-- ^ @name@ - a mark name</span>
<a name="line-658"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>TextMark</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ returns a 'TextMark', or @Nothing@</span>
<a name="line-659"></a><span class='hs-definition'>textBufferGetMark</span> <span class='hs-varid'>self</span> <span class='hs-varid'>name</span> <span class='hs-keyglyph'>=</span>
<a name="line-660"></a>  <span class='hs-varid'>maybeNull</span> <span class='hs-layout'>(</span><span class='hs-varid'>makeNewGObject</span> <span class='hs-varid'>mkTextMark</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span>
<a name="line-661"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>name</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>namePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-662"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_mark</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-663"></a><span class='hs-comment'>{-# LINE 634 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-664"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-665"></a>    <span class='hs-varid'>namePtr</span>
<a name="line-666"></a>
<a name="line-667"></a><a name="textBufferGetInsert"></a><span class='hs-comment'>-- | Returns the mark that represents the cursor (insertion point). Equivalent</span>
<a name="line-668"></a><span class='hs-comment'>-- to calling @liftM fromJust $ textBufferGetMark \"insert\"@, but very</span>
<a name="line-669"></a><span class='hs-comment'>-- slightly more efficient, and involves less typing.</span>
<a name="line-670"></a><span class='hs-comment'>--</span>
<a name="line-671"></a><span class='hs-definition'>textBufferGetInsert</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextMark</span>
<a name="line-672"></a><span class='hs-definition'>textBufferGetInsert</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-673"></a>  <span class='hs-varid'>makeNewGObject</span> <span class='hs-varid'>mkTextMark</span> <span class='hs-varop'>$</span>
<a name="line-674"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_insert</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-675"></a><span class='hs-comment'>{-# LINE 645 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-676"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-677"></a>
<a name="line-678"></a><a name="textBufferGetSelectionBound"></a><span class='hs-comment'>-- | Returns the mark that represents the selection bound. Equivalent to</span>
<a name="line-679"></a><span class='hs-comment'>-- calling @liftM fromJust $ textBufferGetMark \"selection_bound\"@, but</span>
<a name="line-680"></a><span class='hs-comment'>-- very slightly more efficient, and involves less typing.</span>
<a name="line-681"></a><span class='hs-comment'>--</span>
<a name="line-682"></a><span class='hs-comment'>-- The currently-selected text in @buffer@ is the region between the</span>
<a name="line-683"></a><span class='hs-comment'>-- \"selection_bound\" and \"insert\" marks. If \"selection_bound\" and</span>
<a name="line-684"></a><span class='hs-comment'>-- \"insert\" are in the same place, then there is no current selection.</span>
<a name="line-685"></a><span class='hs-comment'>-- 'textBufferGetSelectionBounds' is another convenient function for handling</span>
<a name="line-686"></a><span class='hs-comment'>-- the selection, if you just want to know whether there's a selection and what</span>
<a name="line-687"></a><span class='hs-comment'>-- its bounds are.</span>
<a name="line-688"></a><span class='hs-comment'>--</span>
<a name="line-689"></a><span class='hs-definition'>textBufferGetSelectionBound</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextMark</span>
<a name="line-690"></a><span class='hs-definition'>textBufferGetSelectionBound</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-691"></a>  <span class='hs-varid'>makeNewGObject</span> <span class='hs-varid'>mkTextMark</span> <span class='hs-varop'>$</span>
<a name="line-692"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_selection_bound</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-693"></a><span class='hs-comment'>{-# LINE 662 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-694"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-695"></a>
<a name="line-696"></a><a name="textBufferPlaceCursor"></a><span class='hs-comment'>-- | This function moves the \"insert\" and \"selection_bound\" marks</span>
<a name="line-697"></a><span class='hs-comment'>-- simultaneously. If you move them to the same place in two steps with</span>
<a name="line-698"></a><span class='hs-comment'>-- 'textBufferMoveMark', you will temporarily select a region in between their</span>
<a name="line-699"></a><span class='hs-comment'>-- old and new locations, which can be pretty inefficient since the</span>
<a name="line-700"></a><span class='hs-comment'>-- temporarily-selected region will force stuff to be recalculated. This</span>
<a name="line-701"></a><span class='hs-comment'>-- function moves them as a unit, which can be optimized.</span>
<a name="line-702"></a><span class='hs-comment'>--</span>
<a name="line-703"></a><span class='hs-definition'>textBufferPlaceCursor</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-704"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @where@ - where to put the cursor</span>
<a name="line-705"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-706"></a><span class='hs-definition'>textBufferPlaceCursor</span> <span class='hs-varid'>self</span> <span class='hs-varid'>where_</span> <span class='hs-keyglyph'>=</span>
<a name="line-707"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_place_cursor</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-708"></a><span class='hs-comment'>{-# LINE 676 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-709"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-710"></a>    <span class='hs-varid'>where_</span>
<a name="line-711"></a>
<a name="line-712"></a><a name="textBufferApplyTag"></a><span class='hs-comment'>-- | Emits the \"apply_tag\" signal on the buffer. The default handler for the</span>
<a name="line-713"></a><span class='hs-comment'>-- signal applies @tag@ to the given range. @start@ and @end@ do not have to be</span>
<a name="line-714"></a><span class='hs-comment'>-- in order.</span>
<a name="line-715"></a><span class='hs-comment'>--</span>
<a name="line-716"></a><span class='hs-definition'>textBufferApplyTag</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>TextTagClass</span> <span class='hs-varid'>tag</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-717"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>tag</span> <span class='hs-comment'>-- ^ @tag@ - a 'TextTag'</span>
<a name="line-718"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - one bound of range to be tagged</span>
<a name="line-719"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - other bound of range to be tagged</span>
<a name="line-720"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-721"></a><span class='hs-definition'>textBufferApplyTag</span> <span class='hs-varid'>self</span> <span class='hs-varid'>tag</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-keyglyph'>=</span>
<a name="line-722"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextTag</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg4</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr4</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_apply_tag</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>argPtr4</span><span class='hs-layout'>)</span>
<a name="line-723"></a><span class='hs-comment'>{-# LINE 690 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-724"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-725"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextTag</span> <span class='hs-varid'>tag</span><span class='hs-layout'>)</span>
<a name="line-726"></a>    <span class='hs-varid'>start</span>
<a name="line-727"></a>    <span class='hs-varid'>end</span>
<a name="line-728"></a>
<a name="line-729"></a><a name="textBufferRemoveTag"></a><span class='hs-comment'>-- | Emits the \"remove_tag\" signal. The default handler for the signal</span>
<a name="line-730"></a><span class='hs-comment'>-- removes all occurrences of @tag@ from the given range. @start@ and @end@</span>
<a name="line-731"></a><span class='hs-comment'>-- don't have to be in order.</span>
<a name="line-732"></a><span class='hs-comment'>--</span>
<a name="line-733"></a><span class='hs-definition'>textBufferRemoveTag</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>TextTagClass</span> <span class='hs-varid'>tag</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-734"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>tag</span> <span class='hs-comment'>-- ^ @tag@ - a 'TextTag'</span>
<a name="line-735"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - one bound of range to be untagged</span>
<a name="line-736"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - other bound of range to be untagged</span>
<a name="line-737"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-738"></a><span class='hs-definition'>textBufferRemoveTag</span> <span class='hs-varid'>self</span> <span class='hs-varid'>tag</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-keyglyph'>=</span>
<a name="line-739"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextTag</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg4</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr4</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_remove_tag</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>argPtr4</span><span class='hs-layout'>)</span>
<a name="line-740"></a><span class='hs-comment'>{-# LINE 706 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-741"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-742"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextTag</span> <span class='hs-varid'>tag</span><span class='hs-layout'>)</span>
<a name="line-743"></a>    <span class='hs-varid'>start</span>
<a name="line-744"></a>    <span class='hs-varid'>end</span>
<a name="line-745"></a>
<a name="line-746"></a><a name="textBufferApplyTagByName"></a><span class='hs-comment'>-- | Calls 'Graphics.UI.Gtk.Multiline.TextTagTable.textTagTableLookup' on the</span>
<a name="line-747"></a><span class='hs-comment'>-- buffer's tag table to get a 'TextTag', then calls 'textBufferApplyTag'.</span>
<a name="line-748"></a><span class='hs-comment'>--</span>
<a name="line-749"></a><span class='hs-definition'>textBufferApplyTagByName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-750"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TagName</span> <span class='hs-comment'>-- ^ @name@ - name of a named 'TextTag'</span>
<a name="line-751"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - one bound of range to be tagged</span>
<a name="line-752"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - other bound of range to be tagged</span>
<a name="line-753"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-754"></a><span class='hs-definition'>textBufferApplyTagByName</span> <span class='hs-varid'>self</span> <span class='hs-varid'>name</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-keyglyph'>=</span>
<a name="line-755"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>name</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>namePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-756"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg4</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr4</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_apply_tag_by_name</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>argPtr4</span><span class='hs-layout'>)</span>
<a name="line-757"></a><span class='hs-comment'>{-# LINE 722 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-758"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-759"></a>    <span class='hs-varid'>namePtr</span>
<a name="line-760"></a>    <span class='hs-varid'>start</span>
<a name="line-761"></a>    <span class='hs-varid'>end</span>
<a name="line-762"></a>
<a name="line-763"></a><a name="textBufferRemoveTagByName"></a><span class='hs-comment'>-- | Calls 'Graphics.UI.Gtk.Multiline.TextTagTable.textTagTableLookup' on the</span>
<a name="line-764"></a><span class='hs-comment'>-- buffer's tag table to get a 'TextTag', then calls 'textBufferRemoveTag'.</span>
<a name="line-765"></a><span class='hs-comment'>--</span>
<a name="line-766"></a><span class='hs-definition'>textBufferRemoveTagByName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-767"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TagName</span> <span class='hs-comment'>-- ^ @name@ - name of a 'TextTag'</span>
<a name="line-768"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - one bound of range to be untagged</span>
<a name="line-769"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - other bound of range to be untagged</span>
<a name="line-770"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-771"></a><span class='hs-definition'>textBufferRemoveTagByName</span> <span class='hs-varid'>self</span> <span class='hs-varid'>name</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-keyglyph'>=</span>
<a name="line-772"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>name</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>namePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-773"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg4</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr4</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_remove_tag_by_name</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>argPtr4</span><span class='hs-layout'>)</span>
<a name="line-774"></a><span class='hs-comment'>{-# LINE 738 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-775"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-776"></a>    <span class='hs-varid'>namePtr</span>
<a name="line-777"></a>    <span class='hs-varid'>start</span>
<a name="line-778"></a>    <span class='hs-varid'>end</span>
<a name="line-779"></a>
<a name="line-780"></a><a name="textBufferRemoveAllTags"></a><span class='hs-comment'>-- | Removes all tags in the range between @start@ and @end@. Be careful with</span>
<a name="line-781"></a><span class='hs-comment'>-- this function; it could remove tags added in code unrelated to the code</span>
<a name="line-782"></a><span class='hs-comment'>-- you\'re currently writing. That is, using this function is probably a bad</span>
<a name="line-783"></a><span class='hs-comment'>-- idea if you have two or more unrelated code sections that add tags.</span>
<a name="line-784"></a><span class='hs-comment'>--</span>
<a name="line-785"></a><span class='hs-definition'>textBufferRemoveAllTags</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-786"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @start@ - one bound of range to be untagged</span>
<a name="line-787"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @end@ - other bound of range to be untagged</span>
<a name="line-788"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-789"></a><span class='hs-definition'>textBufferRemoveAllTags</span> <span class='hs-varid'>self</span> <span class='hs-varid'>start</span> <span class='hs-varid'>end</span> <span class='hs-keyglyph'>=</span>
<a name="line-790"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_remove_all_tags</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-791"></a><span class='hs-comment'>{-# LINE 754 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-792"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-793"></a>    <span class='hs-varid'>start</span>
<a name="line-794"></a>    <span class='hs-varid'>end</span>
<a name="line-795"></a>
<a name="line-796"></a><a name="textBufferGetIterAtLineOffset"></a><span class='hs-comment'>-- | Obtains an iterator pointing to @charOffset@ within the given line. The</span>
<a name="line-797"></a><span class='hs-comment'>-- @charOffset@ must exist, offsets off the end of the line are not allowed.</span>
<a name="line-798"></a><span class='hs-comment'>--</span>
<a name="line-799"></a><span class='hs-definition'>textBufferGetIterAtLineOffset</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-800"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ @lineNumber@ - line number counting from 0</span>
<a name="line-801"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ @charOffset@ - char offset from start of line</span>
<a name="line-802"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextIter</span>
<a name="line-803"></a><span class='hs-definition'>textBufferGetIterAtLineOffset</span> <span class='hs-varid'>self</span> <span class='hs-varid'>lineNumber</span> <span class='hs-varid'>charOffset</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-804"></a>  <span class='hs-varid'>iter</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeEmptyTextIter</span>
<a name="line-805"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_iter_at_line_offset</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-806"></a><span class='hs-comment'>{-# LINE 768 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-807"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-808"></a>    <span class='hs-varid'>iter</span>
<a name="line-809"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>lineNumber</span><span class='hs-layout'>)</span>
<a name="line-810"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>charOffset</span><span class='hs-layout'>)</span>
<a name="line-811"></a>  <span class='hs-varid'>return</span> <span class='hs-varid'>iter</span>
<a name="line-812"></a>
<a name="line-813"></a><a name="textBufferGetIterAtOffset"></a><span class='hs-comment'>-- | Creates an iterator pointing to a position @charOffset@ chars from the</span>
<a name="line-814"></a><span class='hs-comment'>-- start of the entire buffer. If @charOffset@ is -1 or greater than the number</span>
<a name="line-815"></a><span class='hs-comment'>-- of characters in the buffer, the end iterator is returned, that is the</span>
<a name="line-816"></a><span class='hs-comment'>-- iterator one past the last valid character in the buffer.</span>
<a name="line-817"></a><span class='hs-comment'>--</span>
<a name="line-818"></a><span class='hs-definition'>textBufferGetIterAtOffset</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-819"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ @charOffset@ - char offset from start of buffer (counting</span>
<a name="line-820"></a>             <span class='hs-comment'>-- from 0) or -1</span>
<a name="line-821"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextIter</span>
<a name="line-822"></a><span class='hs-definition'>textBufferGetIterAtOffset</span> <span class='hs-varid'>self</span> <span class='hs-varid'>charOffset</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-823"></a>  <span class='hs-varid'>iter</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeEmptyTextIter</span>
<a name="line-824"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_iter_at_offset</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-825"></a><span class='hs-comment'>{-# LINE 786 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-826"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-827"></a>    <span class='hs-varid'>iter</span>
<a name="line-828"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>charOffset</span><span class='hs-layout'>)</span>
<a name="line-829"></a>  <span class='hs-varid'>return</span> <span class='hs-varid'>iter</span>
<a name="line-830"></a>
<a name="line-831"></a><a name="textBufferGetIterAtLine"></a><span class='hs-comment'>-- | Create an iterator at a specific line.</span>
<a name="line-832"></a><span class='hs-comment'>--</span>
<a name="line-833"></a><span class='hs-definition'>textBufferGetIterAtLine</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-834"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ @lineNumber@ - line number counting from 0</span>
<a name="line-835"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextIter</span>
<a name="line-836"></a><span class='hs-definition'>textBufferGetIterAtLine</span> <span class='hs-varid'>self</span> <span class='hs-varid'>lineNumber</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-837"></a>  <span class='hs-varid'>iter</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeEmptyTextIter</span>
<a name="line-838"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_iter_at_line</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-839"></a><span class='hs-comment'>{-# LINE 799 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-840"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-841"></a>    <span class='hs-varid'>iter</span>
<a name="line-842"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>lineNumber</span><span class='hs-layout'>)</span>
<a name="line-843"></a>  <span class='hs-varid'>return</span> <span class='hs-varid'>iter</span>
<a name="line-844"></a>
<a name="line-845"></a>
<a name="line-846"></a><a name="textBufferGetIterAtMark"></a><span class='hs-comment'>-- | Create an iterator from a mark.</span>
<a name="line-847"></a><span class='hs-comment'>--</span>
<a name="line-848"></a><span class='hs-definition'>textBufferGetIterAtMark</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>TextMarkClass</span> <span class='hs-varid'>mark</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-849"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>mark</span> <span class='hs-comment'>-- ^ @mark@ - a 'TextMark' in the buffer</span>
<a name="line-850"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextIter</span>
<a name="line-851"></a><span class='hs-definition'>textBufferGetIterAtMark</span> <span class='hs-varid'>self</span> <span class='hs-varid'>mark</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-852"></a>  <span class='hs-varid'>iter</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeEmptyTextIter</span>
<a name="line-853"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextMark</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_iter_at_mark</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-854"></a><span class='hs-comment'>{-# LINE 813 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-855"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-856"></a>    <span class='hs-varid'>iter</span>
<a name="line-857"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextMark</span> <span class='hs-varid'>mark</span><span class='hs-layout'>)</span>
<a name="line-858"></a>  <span class='hs-varid'>return</span> <span class='hs-varid'>iter</span>
<a name="line-859"></a>
<a name="line-860"></a><a name="textBufferGetStartIter"></a><span class='hs-comment'>-- | Create an iterator at the first position in the text buffer. This is</span>
<a name="line-861"></a><span class='hs-comment'>-- the same as using 'textBufferGetIterAtOffset' to get the iter at character</span>
<a name="line-862"></a><span class='hs-comment'>-- offset 0.</span>
<a name="line-863"></a><span class='hs-comment'>--</span>
<a name="line-864"></a><span class='hs-definition'>textBufferGetStartIter</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextIter</span>
<a name="line-865"></a><span class='hs-definition'>textBufferGetStartIter</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-866"></a>  <span class='hs-varid'>iter</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeEmptyTextIter</span>
<a name="line-867"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_start_iter</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-868"></a><span class='hs-comment'>{-# LINE 826 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-869"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-870"></a>    <span class='hs-varid'>iter</span>
<a name="line-871"></a>  <span class='hs-varid'>return</span> <span class='hs-varid'>iter</span>
<a name="line-872"></a>
<a name="line-873"></a><a name="textBufferGetEndIter"></a><span class='hs-comment'>-- | Returns the \"end iterator,\" one past the last valid</span>
<a name="line-874"></a><span class='hs-comment'>-- character in the text buffer. If dereferenced with</span>
<a name="line-875"></a><span class='hs-comment'>-- 'Graphics.UI.Gtk.Multiline.TextIter.textIterGetChar', the</span>
<a name="line-876"></a><span class='hs-comment'>-- end iterator has a character value of 0. The entire buffer lies in the range</span>
<a name="line-877"></a><span class='hs-comment'>-- from the first position in the buffer (call 'textBufferGetStartIter' to get</span>
<a name="line-878"></a><span class='hs-comment'>-- character position 0) to the end iterator.</span>
<a name="line-879"></a><span class='hs-comment'>--</span>
<a name="line-880"></a><span class='hs-definition'>textBufferGetEndIter</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextIter</span>
<a name="line-881"></a><span class='hs-definition'>textBufferGetEndIter</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-882"></a>  <span class='hs-varid'>iter</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeEmptyTextIter</span>
<a name="line-883"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_end_iter</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-884"></a><span class='hs-comment'>{-# LINE 841 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-885"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-886"></a>    <span class='hs-varid'>iter</span>
<a name="line-887"></a>  <span class='hs-varid'>return</span> <span class='hs-varid'>iter</span>
<a name="line-888"></a>
<a name="line-889"></a><a name="textBufferGetModified"></a><span class='hs-comment'>-- | Indicates whether the buffer has been modified since the last call to</span>
<a name="line-890"></a><span class='hs-comment'>-- 'textBufferSetModified' set the modification flag to @False@. Used for</span>
<a name="line-891"></a><span class='hs-comment'>-- example to enable a \"save\" function in a text editor.</span>
<a name="line-892"></a><span class='hs-comment'>--</span>
<a name="line-893"></a><span class='hs-comment'>-- It is often more convenient to use 'onModifiedChanged'.</span>
<a name="line-894"></a><span class='hs-comment'>--</span>
<a name="line-895"></a><span class='hs-definition'>textBufferGetModified</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-896"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if the buffer has been modified</span>
<a name="line-897"></a><span class='hs-definition'>textBufferGetModified</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-898"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-899"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_modified</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-900"></a><span class='hs-comment'>{-# LINE 856 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-901"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-902"></a>
<a name="line-903"></a><a name="textBufferSetModified"></a><span class='hs-comment'>-- | Used to keep track of whether the buffer has been modified since the last</span>
<a name="line-904"></a><span class='hs-comment'>-- time it was saved. Whenever the buffer is saved to disk, call</span>
<a name="line-905"></a><span class='hs-comment'>-- @'textBufferSetModified' buffer False@. When the buffer is</span>
<a name="line-906"></a><span class='hs-comment'>-- modified, it will automatically toggled on the modified bit again. When the</span>
<a name="line-907"></a><span class='hs-comment'>-- modified bit flips, the buffer emits a \"modified_changed\" signal.</span>
<a name="line-908"></a><span class='hs-comment'>--</span>
<a name="line-909"></a><span class='hs-definition'>textBufferSetModified</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-910"></a><span class='hs-definition'>textBufferSetModified</span> <span class='hs-varid'>self</span> <span class='hs-varid'>setting</span> <span class='hs-keyglyph'>=</span>
<a name="line-911"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_set_modified</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-912"></a><span class='hs-comment'>{-# LINE 867 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-913"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-914"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>setting</span><span class='hs-layout'>)</span>
<a name="line-915"></a>
<a name="line-916"></a><a name="textBufferDeleteSelection"></a><span class='hs-comment'>-- | Deletes the range between the \"insert\" and \"selection_bound\" marks,</span>
<a name="line-917"></a><span class='hs-comment'>-- that is, the currently-selected text. If @interactive@ is @True@, the</span>
<a name="line-918"></a><span class='hs-comment'>-- editability of the selection will be considered (users can't delete</span>
<a name="line-919"></a><span class='hs-comment'>-- uneditable text).</span>
<a name="line-920"></a><span class='hs-comment'>--</span>
<a name="line-921"></a><span class='hs-definition'>textBufferDeleteSelection</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-922"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @interactive@ - whether the deletion is caused by user</span>
<a name="line-923"></a>            <span class='hs-comment'>-- interaction</span>
<a name="line-924"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @defaultEditable@ - whether the buffer is editable by default</span>
<a name="line-925"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns whether there was a non-empty selection to delete</span>
<a name="line-926"></a><span class='hs-definition'>textBufferDeleteSelection</span> <span class='hs-varid'>self</span> <span class='hs-varid'>interactive</span> <span class='hs-varid'>defaultEditable</span> <span class='hs-keyglyph'>=</span>
<a name="line-927"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-928"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_delete_selection</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-929"></a><span class='hs-comment'>{-# LINE 883 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-930"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-931"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>interactive</span><span class='hs-layout'>)</span>
<a name="line-932"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>defaultEditable</span><span class='hs-layout'>)</span>
<a name="line-933"></a>
<a name="line-934"></a><a name="textBufferHasSelection"></a><span class='hs-comment'>-- | Check if a selection exists.</span>
<a name="line-935"></a><span class='hs-comment'>--</span>
<a name="line-936"></a><span class='hs-definition'>textBufferHasSelection</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span>
<a name="line-937"></a><span class='hs-definition'>textBufferHasSelection</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-938"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-939"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_selection_bounds</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-940"></a><span class='hs-comment'>{-# LINE 893 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-941"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-942"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>nullForeignPtr</span><span class='hs-layout'>)</span>
<a name="line-943"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>nullForeignPtr</span><span class='hs-layout'>)</span>
<a name="line-944"></a>
<a name="line-945"></a><a name="textBufferGetSelectionBounds"></a><span class='hs-comment'>-- | Returns the bounds of the selection (if the selection has length 0, then</span>
<a name="line-946"></a><span class='hs-comment'>-- @start@ and @end@ will be the same). @start@ and @end@ will be in ascending</span>
<a name="line-947"></a><span class='hs-comment'>-- order.</span>
<a name="line-948"></a><span class='hs-comment'>--</span>
<a name="line-949"></a><span class='hs-definition'>textBufferGetSelectionBounds</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-950"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span><span class='hs-layout'>,</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ @(start, end)@ returns the selection start and</span>
<a name="line-951"></a>                            <span class='hs-comment'>-- end iterators</span>
<a name="line-952"></a><span class='hs-definition'>textBufferGetSelectionBounds</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-953"></a>  <span class='hs-varid'>start</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeEmptyTextIter</span>
<a name="line-954"></a>  <span class='hs-varid'>end</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeEmptyTextIter</span>
<a name="line-955"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_selection_bounds</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-956"></a><span class='hs-comment'>{-# LINE 908 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-957"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-958"></a>    <span class='hs-varid'>start</span>
<a name="line-959"></a>    <span class='hs-varid'>end</span>
<a name="line-960"></a>  <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>start</span><span class='hs-layout'>,</span> <span class='hs-varid'>end</span><span class='hs-layout'>)</span>
<a name="line-961"></a>
<a name="line-962"></a><a name="textBufferBeginUserAction"></a><span class='hs-comment'>-- | Called to indicate that the buffer operations between here and a call to</span>
<a name="line-963"></a><span class='hs-comment'>-- 'textBufferEndUserAction' are part of a single user-visible operation. The</span>
<a name="line-964"></a><span class='hs-comment'>-- operations between 'textBufferBeginUserAction' and 'textBufferEndUserAction'</span>
<a name="line-965"></a><span class='hs-comment'>-- can then be grouped when creating an undo stack. 'TextBuffer' maintains a</span>
<a name="line-966"></a><span class='hs-comment'>-- count of calls to 'textBufferBeginUserAction' that have not been closed with</span>
<a name="line-967"></a><span class='hs-comment'>-- a call to 'textBufferEndUserAction', and emits the \"begin_user_action\" and</span>
<a name="line-968"></a><span class='hs-comment'>-- \"end_user_action\" signals only for the outermost pair of calls. This</span>
<a name="line-969"></a><span class='hs-comment'>-- allows you to build user actions from other user actions.</span>
<a name="line-970"></a><span class='hs-comment'>--</span>
<a name="line-971"></a><span class='hs-comment'>-- The \"interactive\" buffer mutation functions, such as</span>
<a name="line-972"></a><span class='hs-comment'>-- 'textBufferInsertInteractive', automatically call begin\/end user action</span>
<a name="line-973"></a><span class='hs-comment'>-- around the buffer operations they perform, so there's no need to add extra</span>
<a name="line-974"></a><span class='hs-comment'>-- calls if you user action consists solely of a single call to one of those</span>
<a name="line-975"></a><span class='hs-comment'>-- functions.</span>
<a name="line-976"></a><span class='hs-comment'>--</span>
<a name="line-977"></a><span class='hs-definition'>textBufferBeginUserAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-978"></a><span class='hs-definition'>textBufferBeginUserAction</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-979"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_begin_user_action</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-980"></a><span class='hs-comment'>{-# LINE 931 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-981"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-982"></a>
<a name="line-983"></a><a name="textBufferEndUserAction"></a><span class='hs-comment'>-- | Should be paired with a call to 'textBufferBeginUserAction'. See that</span>
<a name="line-984"></a><span class='hs-comment'>-- function for a full explanation.</span>
<a name="line-985"></a><span class='hs-comment'>--</span>
<a name="line-986"></a><span class='hs-definition'>textBufferEndUserAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-987"></a><span class='hs-definition'>textBufferEndUserAction</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-988"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_end_user_action</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-989"></a><span class='hs-comment'>{-# LINE 939 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-990"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-991"></a>
<a name="line-992"></a>
<a name="line-993"></a><a name="textBufferBackspace"></a><span class='hs-comment'>-- | Performs the appropriate action as if the user hit the delete key with</span>
<a name="line-994"></a><span class='hs-comment'>-- the cursor at the position specified by @iter@. In the normal case a single</span>
<a name="line-995"></a><span class='hs-comment'>-- character will be deleted, but when combining accents are involved, more</span>
<a name="line-996"></a><span class='hs-comment'>-- than one character can be deleted, and when precomposed character and accent</span>
<a name="line-997"></a><span class='hs-comment'>-- combinations are involved, less than one character will be deleted.</span>
<a name="line-998"></a><span class='hs-comment'>--</span>
<a name="line-999"></a><span class='hs-comment'>-- Because the buffer is modified, all outstanding iterators become invalid</span>
<a name="line-1000"></a><span class='hs-comment'>-- after calling this function; however, the @iter@ will be re-initialized to</span>
<a name="line-1001"></a><span class='hs-comment'>-- point to the location where text was deleted.</span>
<a name="line-1002"></a><span class='hs-comment'>--</span>
<a name="line-1003"></a><span class='hs-comment'>-- * Available since Gtk+ version 2.6</span>
<a name="line-1004"></a><span class='hs-comment'>--</span>
<a name="line-1005"></a><span class='hs-definition'>textBufferBackspace</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1006"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @iter@ - a position in @buffer@</span>
<a name="line-1007"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @interactive@ - whether the deletion is caused by user</span>
<a name="line-1008"></a>             <span class='hs-comment'>-- interaction</span>
<a name="line-1009"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @defaultEditable@ - whether the buffer is editable by</span>
<a name="line-1010"></a>             <span class='hs-comment'>-- default</span>
<a name="line-1011"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@ if the buffer was modified</span>
<a name="line-1012"></a><span class='hs-definition'>textBufferBackspace</span> <span class='hs-varid'>self</span> <span class='hs-varid'>iter</span> <span class='hs-varid'>interactive</span> <span class='hs-varid'>defaultEditable</span> <span class='hs-keyglyph'>=</span>
<a name="line-1013"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-1014"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_backspace</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-1015"></a><span class='hs-comment'>{-# LINE 964 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1016"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1017"></a>    <span class='hs-varid'>iter</span>
<a name="line-1018"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>interactive</span><span class='hs-layout'>)</span>
<a name="line-1019"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>defaultEditable</span><span class='hs-layout'>)</span>
<a name="line-1020"></a>
<a name="line-1021"></a>
<a name="line-1022"></a><a name="textBufferInsertChildAnchor"></a><span class='hs-comment'>-- | Inserts a child widget anchor into the text buffer at @iter@. The anchor</span>
<a name="line-1023"></a><span class='hs-comment'>-- will be counted as one character in character counts, and when obtaining the</span>
<a name="line-1024"></a><span class='hs-comment'>-- buffer contents as a string, will be represented by the Unicode \"object</span>
<a name="line-1025"></a><span class='hs-comment'>-- replacement character\" @(chr 0xFFFC)@. Note that the \"slice\" variants for</span>
<a name="line-1026"></a><span class='hs-comment'>-- obtaining portions of the buffer as a string include this character for</span>
<a name="line-1027"></a><span class='hs-comment'>-- child anchors, but the \"text\" variants do not. e.g. see</span>
<a name="line-1028"></a><span class='hs-comment'>-- 'textBufferGetSlice' and 'textBufferGetText'. Consider</span>
<a name="line-1029"></a><span class='hs-comment'>-- 'textBufferCreateChildAnchor' as a more convenient alternative to this</span>
<a name="line-1030"></a><span class='hs-comment'>-- function.</span>
<a name="line-1031"></a><span class='hs-comment'>--</span>
<a name="line-1032"></a><span class='hs-definition'>textBufferInsertChildAnchor</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1033"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @iter@ - location to insert the anchor</span>
<a name="line-1034"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextChildAnchor</span> <span class='hs-comment'>-- ^ @anchor@ - a 'TextChildAnchor'</span>
<a name="line-1035"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1036"></a><span class='hs-definition'>textBufferInsertChildAnchor</span> <span class='hs-varid'>self</span> <span class='hs-varid'>iter</span> <span class='hs-varid'>anchor</span> <span class='hs-keyglyph'>=</span>
<a name="line-1037"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextChildAnchor</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_insert_child_anchor</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-1038"></a><span class='hs-comment'>{-# LINE 986 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1039"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1040"></a>    <span class='hs-varid'>iter</span>
<a name="line-1041"></a>    <span class='hs-varid'>anchor</span>
<a name="line-1042"></a>
<a name="line-1043"></a><a name="textBufferCreateChildAnchor"></a><span class='hs-comment'>-- | This is a convenience function which simply creates a child anchor with</span>
<a name="line-1044"></a><span class='hs-comment'>-- 'Graphics.UI.Gtk.Multiline.TextView.textBufferChildAnchorNew' and inserts</span>
<a name="line-1045"></a><span class='hs-comment'>-- it into the buffer with 'textBufferInsertChildAnchor'.</span>
<a name="line-1046"></a><span class='hs-comment'>--</span>
<a name="line-1047"></a><span class='hs-definition'>textBufferCreateChildAnchor</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1048"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @iter@ - location in the buffer</span>
<a name="line-1049"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>TextChildAnchor</span> <span class='hs-comment'>-- ^ returns the created child anchor</span>
<a name="line-1050"></a><span class='hs-definition'>textBufferCreateChildAnchor</span> <span class='hs-varid'>self</span> <span class='hs-varid'>iter</span> <span class='hs-keyglyph'>=</span>
<a name="line-1051"></a>  <span class='hs-varid'>makeNewGObject</span> <span class='hs-varid'>mkTextChildAnchor</span> <span class='hs-varop'>$</span>
<a name="line-1052"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_create_child_anchor</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-1053"></a><span class='hs-comment'>{-# LINE 1000 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1054"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1055"></a>    <span class='hs-varid'>iter</span>
<a name="line-1056"></a>
<a name="line-1057"></a>
<a name="line-1058"></a><a name="textBufferSelectRange"></a><span class='hs-comment'>-- | This function moves the \"insert\" and \"selection_bound\" marks</span>
<a name="line-1059"></a><span class='hs-comment'>-- simultaneously. If you move them in two steps with 'textBufferMoveMark', you</span>
<a name="line-1060"></a><span class='hs-comment'>-- will temporarily select a region in between their old and new locations,</span>
<a name="line-1061"></a><span class='hs-comment'>-- which can be pretty inefficient since the temporarily-selected region will</span>
<a name="line-1062"></a><span class='hs-comment'>-- force stuff to be recalculated. This function moves them as a unit, which</span>
<a name="line-1063"></a><span class='hs-comment'>-- can be optimized.</span>
<a name="line-1064"></a><span class='hs-comment'>--</span>
<a name="line-1065"></a><span class='hs-comment'>-- * Available since Gtk+ version 2.4</span>
<a name="line-1066"></a><span class='hs-comment'>--</span>
<a name="line-1067"></a><span class='hs-definition'>textBufferSelectRange</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1068"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @ins@ - where to put the \"insert\" mark</span>
<a name="line-1069"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @bound@ - where to put the \"selection_bound\" mark</span>
<a name="line-1070"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1071"></a><span class='hs-definition'>textBufferSelectRange</span> <span class='hs-varid'>self</span> <span class='hs-varid'>ins</span> <span class='hs-varid'>bound</span> <span class='hs-keyglyph'>=</span>
<a name="line-1072"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_select_range</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-1073"></a><span class='hs-comment'>{-# LINE 1019 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1074"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1075"></a>    <span class='hs-varid'>ins</span>
<a name="line-1076"></a>    <span class='hs-varid'>bound</span>
<a name="line-1077"></a>
<a name="line-1078"></a>
<a name="line-1079"></a><a name="textBufferGetIterAtChildAnchor"></a><span class='hs-comment'>-- | Obtains the location of @anchor@ within @buffer@.</span>
<a name="line-1080"></a><span class='hs-comment'>--</span>
<a name="line-1081"></a><span class='hs-definition'>textBufferGetIterAtChildAnchor</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1082"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @iter@ - an iterator to be initialized</span>
<a name="line-1083"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextChildAnchor</span> <span class='hs-comment'>-- ^ @anchor@ - a child anchor that appears in @buffer@</span>
<a name="line-1084"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1085"></a><span class='hs-definition'>textBufferGetIterAtChildAnchor</span> <span class='hs-varid'>self</span> <span class='hs-varid'>iter</span> <span class='hs-varid'>anchor</span> <span class='hs-keyglyph'>=</span>
<a name="line-1086"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextChildAnchor</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_iter_at_child_anchor</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-1087"></a><span class='hs-comment'>{-# LINE 1032 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1088"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1089"></a>    <span class='hs-varid'>iter</span>
<a name="line-1090"></a>    <span class='hs-varid'>anchor</span>
<a name="line-1091"></a>
<a name="line-1092"></a><a name="textBufferGetBounds"></a><span class='hs-comment'>-- | Retrieves the first and last iterators in the buffer, i.e. the entire</span>
<a name="line-1093"></a><span class='hs-comment'>-- buffer lies within the range @[start,end)@.</span>
<a name="line-1094"></a><span class='hs-comment'>--</span>
<a name="line-1095"></a><span class='hs-definition'>textBufferGetBounds</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1096"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span><span class='hs-layout'>,</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ return the first and last iterators in the buffer</span>
<a name="line-1097"></a><span class='hs-definition'>textBufferGetBounds</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-1098"></a>  <span class='hs-varid'>start</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeEmptyTextIter</span>
<a name="line-1099"></a>  <span class='hs-varid'>end</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeEmptyTextIter</span>
<a name="line-1100"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_get_bounds</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-1101"></a><span class='hs-comment'>{-# LINE 1045 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1102"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1103"></a>    <span class='hs-varid'>start</span>
<a name="line-1104"></a>    <span class='hs-varid'>end</span>
<a name="line-1105"></a>  <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>start</span><span class='hs-layout'>,</span> <span class='hs-varid'>end</span><span class='hs-layout'>)</span>
<a name="line-1106"></a>
<a name="line-1107"></a>
<a name="line-1108"></a><a name="textBufferPasteClipboard"></a><span class='hs-comment'>-- | Pastes the contents of a clipboard at the given @location@.</span>
<a name="line-1109"></a><span class='hs-comment'>-- (Note: pasting is asynchronous, that is,</span>
<a name="line-1110"></a><span class='hs-comment'>-- we'll ask for the paste data and return, and at some point later</span>
<a name="line-1111"></a><span class='hs-comment'>-- after the main loop runs, the paste data will be inserted.)</span>
<a name="line-1112"></a><span class='hs-definition'>textBufferPasteClipboard</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1113"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Clipboard</span> <span class='hs-comment'>-- ^ @clipboard@ - the GtkClipboard to paste from</span>
<a name="line-1114"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-comment'>-- ^ @location@ - location to insert pasted text</span>
<a name="line-1115"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @defaultEditable@ - whether the buffer is editable by default</span>
<a name="line-1116"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1117"></a><span class='hs-definition'>textBufferPasteClipboard</span> <span class='hs-varid'>self</span> <span class='hs-varid'>clipboard</span> <span class='hs-varid'>overrideLocation</span> <span class='hs-varid'>defaultEditable</span> <span class='hs-keyglyph'>=</span>
<a name="line-1118"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Clipboard</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_paste_clipboard</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-1119"></a><span class='hs-comment'>{-# LINE 1062 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1120"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1121"></a>    <span class='hs-varid'>clipboard</span>
<a name="line-1122"></a>    <span class='hs-varid'>overrideLocation</span>
<a name="line-1123"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>defaultEditable</span><span class='hs-layout'>)</span>
<a name="line-1124"></a>
<a name="line-1125"></a><a name="textBufferPasteClipboardAtCursor"></a><span class='hs-comment'>-- | Pastes the contents of a clipboard at the insertion point.</span>
<a name="line-1126"></a><span class='hs-comment'>-- (Note: pasting is asynchronous, that is,</span>
<a name="line-1127"></a><span class='hs-comment'>-- we'll ask for the paste data and return, and at some point later</span>
<a name="line-1128"></a><span class='hs-comment'>-- after the main loop runs, the paste data will be inserted.)</span>
<a name="line-1129"></a><span class='hs-definition'>textBufferPasteClipboardAtCursor</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1130"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Clipboard</span> <span class='hs-comment'>-- ^ @clipboard@ - the GtkClipboard to paste from</span>
<a name="line-1131"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @defaultEditable@ - whether the buffer is editable by default</span>
<a name="line-1132"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1133"></a><span class='hs-definition'>textBufferPasteClipboardAtCursor</span> <span class='hs-varid'>self</span> <span class='hs-varid'>clipboard</span> <span class='hs-varid'>defaultEditable</span> <span class='hs-keyglyph'>=</span>
<a name="line-1134"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Clipboard</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_paste_clipboard</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-1135"></a><span class='hs-comment'>{-# LINE 1077 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1136"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1137"></a>    <span class='hs-varid'>clipboard</span>
<a name="line-1138"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-varid'>nullForeignPtr</span><span class='hs-layout'>)</span>
<a name="line-1139"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>defaultEditable</span><span class='hs-layout'>)</span>
<a name="line-1140"></a>
<a name="line-1141"></a><a name="textBufferCopyClipboard"></a><span class='hs-comment'>-- | Copies the currently-selected text to a clipboard.</span>
<a name="line-1142"></a><span class='hs-definition'>textBufferCopyClipboard</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1143"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Clipboard</span> <span class='hs-comment'>-- ^ @clipboard@ - the GtkClipboard object to copy to</span>
<a name="line-1144"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1145"></a><span class='hs-definition'>textBufferCopyClipboard</span> <span class='hs-varid'>self</span> <span class='hs-varid'>clipboard</span> <span class='hs-keyglyph'>=</span>
<a name="line-1146"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Clipboard</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_copy_clipboard</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-1147"></a><span class='hs-comment'>{-# LINE 1088 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1148"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1149"></a>    <span class='hs-varid'>clipboard</span>
<a name="line-1150"></a>
<a name="line-1151"></a><a name="textBufferCutClipboard"></a><span class='hs-comment'>-- | Copies the currently-selected text to a clipboard,</span>
<a name="line-1152"></a><span class='hs-comment'>-- then deletes said text if it's editable.</span>
<a name="line-1153"></a><span class='hs-definition'>textBufferCutClipboard</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1154"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Clipboard</span> <span class='hs-comment'>-- ^ @clipboard@ - the GtkClipboard object to cut to</span>
<a name="line-1155"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @defaultEditable@ - whether the buffer is editable by default</span>
<a name="line-1156"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1157"></a><span class='hs-definition'>textBufferCutClipboard</span> <span class='hs-varid'>self</span> <span class='hs-varid'>clipboard</span> <span class='hs-varid'>defaultEditable</span> <span class='hs-keyglyph'>=</span>
<a name="line-1158"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Clipboard</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg3</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_cut_clipboard</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span>
<a name="line-1159"></a><span class='hs-comment'>{-# LINE 1099 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1160"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1161"></a>    <span class='hs-varid'>clipboard</span>
<a name="line-1162"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>defaultEditable</span><span class='hs-layout'>)</span>
<a name="line-1163"></a>
<a name="line-1164"></a>
<a name="line-1165"></a><a name="textBufferAddSelectionClipboard"></a><span class='hs-comment'>-- | Adds clipboard to the list of clipboards in which the selection contents of @self@ are available.</span>
<a name="line-1166"></a><span class='hs-comment'>-- In most cases, @clipboard@ will be the 'Clipboard' of type 'selectionPrimary' for a view of @self@.</span>
<a name="line-1167"></a><span class='hs-comment'>--</span>
<a name="line-1168"></a><span class='hs-definition'>textBufferAddSelectionClipboard</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1169"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Clipboard</span> <span class='hs-comment'>-- ^ @clipboard@ - the 'Clipboard' object to add</span>
<a name="line-1170"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1171"></a><span class='hs-definition'>textBufferAddSelectionClipboard</span> <span class='hs-varid'>self</span> <span class='hs-varid'>clipboard</span> <span class='hs-keyglyph'>=</span>
<a name="line-1172"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Clipboard</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_add_selection_clipboard</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span> <span class='hs-varid'>clipboard</span>
<a name="line-1173"></a>
<a name="line-1174"></a><a name="textBufferRemoveSelectionClipboard"></a><span class='hs-comment'>-- | Removes a 'Clipboard' added with 'textBufferAddSelectionClipboard'.</span>
<a name="line-1175"></a><span class='hs-comment'>--</span>
<a name="line-1176"></a><span class='hs-definition'>textBufferRemoveSelectionClipboard</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1177"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Clipboard</span> <span class='hs-comment'>-- ^ @clipboard@ - the 'Clipboard' object to remove</span>
<a name="line-1178"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1179"></a><span class='hs-definition'>textBufferRemoveSelectionClipboard</span> <span class='hs-varid'>self</span> <span class='hs-varid'>clipboard</span> <span class='hs-keyglyph'>=</span>
<a name="line-1180"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Clipboard</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_text_buffer_remove_selection_clipboard</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span> <span class='hs-varid'>clipboard</span>
<a name="line-1181"></a>
<a name="line-1182"></a><span class='hs-comment'>--------------------</span>
<a name="line-1183"></a><span class='hs-comment'>-- Attributes</span>
<a name="line-1184"></a>
<a name="line-1185"></a><a name="textBufferTagTable"></a><span class='hs-comment'>-- | Text Tag Table.</span>
<a name="line-1186"></a><span class='hs-comment'>--</span>
<a name="line-1187"></a><span class='hs-definition'>textBufferTagTable</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>TextTagTableClass</span> <span class='hs-varid'>textTagTable</span><span class='hs-layout'>)</span>
<a name="line-1188"></a> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ReadWriteAttr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>TextTagTable</span> <span class='hs-varid'>textTagTable</span>
<a name="line-1189"></a><span class='hs-definition'>textBufferTagTable</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromObjectProperty</span> <span class='hs-str'>"tag-table"</span>
<a name="line-1190"></a>  <span class='hs-varid'>gtk_text_tag_table_get_type</span>
<a name="line-1191"></a><span class='hs-comment'>{-# LINE 1130 "./Graphics/UI/Gtk/Multiline/TextBuffer.chs" #-}</span>
<a name="line-1192"></a>
<a name="line-1193"></a>
<a name="line-1194"></a><a name="textBufferText"></a><span class='hs-comment'>-- | The text content of the buffer. Without child widgets and images, see</span>
<a name="line-1195"></a><span class='hs-comment'>-- 'textBufferGetText' for more information.</span>
<a name="line-1196"></a><span class='hs-comment'>--</span>
<a name="line-1197"></a><span class='hs-comment'>-- Default value: \"\"</span>
<a name="line-1198"></a><span class='hs-comment'>--</span>
<a name="line-1199"></a><span class='hs-definition'>textBufferText</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>String</span>
<a name="line-1200"></a><span class='hs-definition'>textBufferText</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromStringProperty</span> <span class='hs-str'>"text"</span>
<a name="line-1201"></a>
<a name="line-1202"></a>
<a name="line-1203"></a><a name="textBufferModified"></a><span class='hs-comment'>-- | The \'modified\' property. See 'textBufferGetModified' and</span>
<a name="line-1204"></a><span class='hs-comment'>-- 'textBufferSetModified'</span>
<a name="line-1205"></a><span class='hs-comment'>--</span>
<a name="line-1206"></a><span class='hs-definition'>textBufferModified</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-1207"></a><span class='hs-definition'>textBufferModified</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttr</span>
<a name="line-1208"></a>  <span class='hs-varid'>textBufferGetModified</span>
<a name="line-1209"></a>  <span class='hs-varid'>textBufferSetModified</span>
<a name="line-1210"></a>
<a name="line-1211"></a><span class='hs-comment'>--------------------</span>
<a name="line-1212"></a><span class='hs-comment'>-- Signals</span>
<a name="line-1213"></a>
<a name="line-1214"></a><a name="applyTag"></a><span class='hs-comment'>-- | A 'TextTag' was applied to a region of text.</span>
<a name="line-1215"></a><span class='hs-comment'>--</span>
<a name="line-1216"></a><span class='hs-definition'>applyTag</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1217"></a><span class='hs-definition'>applyTag</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT_BOXED_BOXED__NONE</span> <span class='hs-str'>"apply-tag"</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-varid'>mkTextIterCopy</span><span class='hs-layout'>)</span>
<a name="line-1218"></a>
<a name="line-1219"></a><a name="beginUserAction"></a><span class='hs-comment'>-- | A new atomic user action is started.</span>
<a name="line-1220"></a><span class='hs-comment'>--</span>
<a name="line-1221"></a><span class='hs-comment'>-- * Together with 'endUserAction' these signals can be</span>
<a name="line-1222"></a><span class='hs-comment'>-- used to build an undo stack.</span>
<a name="line-1223"></a><span class='hs-comment'>--</span>
<a name="line-1224"></a><span class='hs-definition'>beginUserAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1225"></a><span class='hs-definition'>beginUserAction</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"begin-user-action"</span><span class='hs-layout'>)</span>
<a name="line-1226"></a>
<a name="line-1227"></a><a name="bufferChanged"></a><span class='hs-comment'>-- | Emitted when the contents of the buffer change.</span>
<a name="line-1228"></a><span class='hs-comment'>--</span>
<a name="line-1229"></a><span class='hs-definition'>bufferChanged</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1230"></a><span class='hs-definition'>bufferChanged</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"changed"</span><span class='hs-layout'>)</span>
<a name="line-1231"></a>
<a name="line-1232"></a><a name="deleteRange"></a><span class='hs-comment'>-- | A range of text is about to be deleted.</span>
<a name="line-1233"></a><span class='hs-comment'>--</span>
<a name="line-1234"></a><span class='hs-definition'>deleteRange</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1235"></a><span class='hs-definition'>deleteRange</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_BOXED_BOXED__NONE</span> <span class='hs-str'>"delete-range"</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-varid'>mkTextIterCopy</span><span class='hs-layout'>)</span>
<a name="line-1236"></a>
<a name="line-1237"></a><a name="endUserAction"></a><span class='hs-comment'>-- | An atomic action has ended.</span>
<a name="line-1238"></a><span class='hs-comment'>--</span>
<a name="line-1239"></a><span class='hs-comment'>-- * see 'beginUserAction'</span>
<a name="line-1240"></a><span class='hs-comment'>--</span>
<a name="line-1241"></a><span class='hs-definition'>endUserAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1242"></a><span class='hs-definition'>endUserAction</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"end-user-action"</span><span class='hs-layout'>)</span>
<a name="line-1243"></a>
<a name="line-1244"></a><a name="insertPixbuf"></a><span class='hs-comment'>-- | A 'Pixbuf' is inserted into the buffer.</span>
<a name="line-1245"></a><span class='hs-comment'>--</span>
<a name="line-1246"></a><span class='hs-definition'>insertPixbuf</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Pixbuf</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1247"></a><span class='hs-definition'>insertPixbuf</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_BOXED_OBJECT__NONE</span> <span class='hs-str'>"insert-pixbuf"</span> <span class='hs-varid'>mkTextIterCopy</span><span class='hs-layout'>)</span>
<a name="line-1248"></a>
<a name="line-1249"></a><a name="insertChildAnchor"></a><span class='hs-comment'>-- | The 'insertChildAnchor' signal is emitted to insert a 'TextChildAnchor' in a 'TextBuffer'.</span>
<a name="line-1250"></a><span class='hs-comment'>-- Insertion actually occurs in the default handler.</span>
<a name="line-1251"></a><span class='hs-comment'>--</span>
<a name="line-1252"></a><span class='hs-definition'>insertChildAnchor</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextChildAnchor</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1253"></a><span class='hs-definition'>insertChildAnchor</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_BOXED_OBJECT__NONE</span> <span class='hs-str'>"insert-child-anchor"</span> <span class='hs-varid'>mkTextIterCopy</span><span class='hs-layout'>)</span>
<a name="line-1254"></a>
<a name="line-1255"></a><a name="bufferInsertText"></a><span class='hs-comment'>-- | Some text was inserted.</span>
<a name="line-1256"></a><span class='hs-comment'>--</span>
<a name="line-1257"></a><span class='hs-definition'>bufferInsertText</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1258"></a><span class='hs-definition'>bufferInsertText</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_BOXED_STRING__NONE</span> <span class='hs-str'>"insert-text"</span> <span class='hs-varid'>mkTextIterCopy</span><span class='hs-layout'>)</span>
<a name="line-1259"></a>
<a name="line-1260"></a><a name="markDeleted"></a><span class='hs-comment'>-- | A 'TextMark' within the buffer was deleted.</span>
<a name="line-1261"></a><span class='hs-comment'>--</span>
<a name="line-1262"></a><span class='hs-definition'>markDeleted</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextMark</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1263"></a><span class='hs-definition'>markDeleted</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT__NONE</span> <span class='hs-str'>"mark-deleted"</span><span class='hs-layout'>)</span>
<a name="line-1264"></a>
<a name="line-1265"></a><a name="markSet"></a><span class='hs-comment'>-- | A 'TextMark' was inserted into the buffer.</span>
<a name="line-1266"></a><span class='hs-comment'>--</span>
<a name="line-1267"></a><span class='hs-definition'>markSet</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextMark</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1268"></a><span class='hs-definition'>markSet</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_BOXED_OBJECT__NONE</span> <span class='hs-str'>"mark-set"</span> <span class='hs-varid'>mkTextIterCopy</span><span class='hs-layout'>)</span>
<a name="line-1269"></a>
<a name="line-1270"></a><a name="modifiedChanged"></a><span class='hs-definition'>modifiedChanged</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1271"></a><span class='hs-definition'>modifiedChanged</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"modified-changed"</span><span class='hs-layout'>)</span>
<a name="line-1272"></a>
<a name="line-1273"></a><a name="pasteDone"></a><span class='hs-comment'>-- | The 'pasteDone' signal is emitted after paste operation has been completed.</span>
<a name="line-1274"></a><span class='hs-comment'>-- This is useful to properly scroll the view to the end of the pasted text.</span>
<a name="line-1275"></a><span class='hs-comment'>-- See 'textBufferPasteClipboard' for more details.</span>
<a name="line-1276"></a><span class='hs-definition'>pasteDone</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>Clipboard</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1277"></a><span class='hs-definition'>pasteDone</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT__NONE</span> <span class='hs-str'>"paste-done"</span><span class='hs-layout'>)</span>
<a name="line-1278"></a>
<a name="line-1279"></a><a name="removeTag"></a><span class='hs-comment'>-- | The textbuffer has changed.</span>
<a name="line-1280"></a><span class='hs-comment'>--</span>
<a name="line-1281"></a><span class='hs-definition'>removeTag</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1282"></a><span class='hs-definition'>removeTag</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT_BOXED_BOXED__NONE</span> <span class='hs-str'>"remove-tag"</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-varid'>mkTextIterCopy</span><span class='hs-layout'>)</span>
<a name="line-1283"></a>
<a name="line-1284"></a><span class='hs-comment'>--------------------</span>
<a name="line-1285"></a><span class='hs-comment'>-- Deprecated Signals and Events</span>
<a name="line-1286"></a>
<a name="line-1287"></a>
<a name="line-1288"></a>
<a name="line-1289"></a><a name="onApplyTag"></a><span class='hs-comment'>-- | A 'TextTag' was applied to a region of text.</span>
<a name="line-1290"></a><span class='hs-comment'>--</span>
<a name="line-1291"></a><span class='hs-definition'>onApplyTag</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterApplyTag</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1292"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1293"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1294"></a><span class='hs-definition'>onApplyTag</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_OBJECT_BOXED_BOXED__NONE</span> <span class='hs-str'>"apply-tag"</span>
<a name="line-1295"></a>  <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>False</span>
<a name="line-1296"></a><a name="afterApplyTag"></a><span class='hs-definition'>afterApplyTag</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_OBJECT_BOXED_BOXED__NONE</span> <span class='hs-str'>"apply-tag"</span>
<a name="line-1297"></a>  <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>True</span>
<a name="line-1298"></a>
<a name="line-1299"></a><a name="onBeginUserAction"></a><span class='hs-comment'>-- | A new atomic user action is started.</span>
<a name="line-1300"></a><span class='hs-comment'>--</span>
<a name="line-1301"></a><span class='hs-comment'>-- * Together with 'onEndUserAction' these signals can be</span>
<a name="line-1302"></a><span class='hs-comment'>-- used to build an undo stack.</span>
<a name="line-1303"></a><span class='hs-comment'>--</span>
<a name="line-1304"></a><span class='hs-definition'>onBeginUserAction</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterBeginUserAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1305"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1306"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1307"></a><span class='hs-definition'>onBeginUserAction</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"begin-user-action"</span> <span class='hs-conid'>False</span>
<a name="line-1308"></a><a name="afterBeginUserAction"></a><span class='hs-definition'>afterBeginUserAction</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"begin-user-action"</span> <span class='hs-conid'>True</span>
<a name="line-1309"></a>
<a name="line-1310"></a><a name="onBufferChanged"></a><span class='hs-comment'>--- renamed from Changed to BufferChanged, since the former conflicts with TreeSelection</span>
<a name="line-1311"></a><span class='hs-comment'>-- | Emitted when the contents of the buffer change.</span>
<a name="line-1312"></a><span class='hs-comment'>--</span>
<a name="line-1313"></a><span class='hs-definition'>onBufferChanged</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterBufferChanged</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1314"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1315"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1316"></a><span class='hs-definition'>onBufferChanged</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"changed"</span> <span class='hs-conid'>False</span>
<a name="line-1317"></a><a name="afterBufferChanged"></a><span class='hs-definition'>afterBufferChanged</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"changed"</span> <span class='hs-conid'>True</span>
<a name="line-1318"></a>
<a name="line-1319"></a><a name="onDeleteRange"></a><span class='hs-comment'>-- | A range of text is about to be deleted.</span>
<a name="line-1320"></a><span class='hs-comment'>--</span>
<a name="line-1321"></a><span class='hs-definition'>onDeleteRange</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterDeleteRange</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1322"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1323"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1324"></a><span class='hs-definition'>onDeleteRange</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_BOXED_BOXED__NONE</span> <span class='hs-str'>"delete-range"</span>
<a name="line-1325"></a>  <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>False</span>
<a name="line-1326"></a><a name="afterDeleteRange"></a><span class='hs-definition'>afterDeleteRange</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_BOXED_BOXED__NONE</span> <span class='hs-str'>"delete-range"</span>
<a name="line-1327"></a>  <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>True</span>
<a name="line-1328"></a>
<a name="line-1329"></a><a name="onEndUserAction"></a><span class='hs-comment'>-- | An atomic action has ended.</span>
<a name="line-1330"></a><span class='hs-comment'>--</span>
<a name="line-1331"></a><span class='hs-comment'>-- * see 'onBeginUserAction'</span>
<a name="line-1332"></a><span class='hs-comment'>--</span>
<a name="line-1333"></a><span class='hs-definition'>onEndUserAction</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterEndUserAction</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1334"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1335"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1336"></a><span class='hs-definition'>onEndUserAction</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"end-user-action"</span> <span class='hs-conid'>False</span>
<a name="line-1337"></a><a name="afterEndUserAction"></a><span class='hs-definition'>afterEndUserAction</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"end-user-action"</span> <span class='hs-conid'>True</span>
<a name="line-1338"></a>
<a name="line-1339"></a><a name="onInsertPixbuf"></a><span class='hs-comment'>-- | A 'Pixbuf' is inserted into the</span>
<a name="line-1340"></a><span class='hs-comment'>-- buffer.</span>
<a name="line-1341"></a><span class='hs-comment'>--</span>
<a name="line-1342"></a><span class='hs-definition'>onInsertPixbuf</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterInsertPixbuf</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1343"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Pixbuf</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1344"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1345"></a><span class='hs-definition'>onInsertPixbuf</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_BOXED_OBJECT__NONE</span> <span class='hs-str'>"insert-pixbuf"</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>False</span>
<a name="line-1346"></a><a name="afterInsertPixbuf"></a><span class='hs-definition'>afterInsertPixbuf</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_BOXED_OBJECT__NONE</span> <span class='hs-str'>"insert-pixbuf"</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>True</span>
<a name="line-1347"></a>
<a name="line-1348"></a><a name="onBufferInsertText"></a><span class='hs-comment'>-- | Some text was inserted.</span>
<a name="line-1349"></a><span class='hs-comment'>--</span>
<a name="line-1350"></a><span class='hs-definition'>onBufferInsertText</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterBufferInsertText</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1351"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1352"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1353"></a><span class='hs-definition'>onBufferInsertText</span> <span class='hs-varid'>self</span> <span class='hs-varid'>user</span> <span class='hs-keyglyph'>=</span>
<a name="line-1354"></a>  <span class='hs-varid'>connect_BOXED_PTR_INT__NONE</span> <span class='hs-str'>"insert-text"</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>False</span> <span class='hs-varid'>self</span> <span class='hs-varop'>$</span>
<a name="line-1355"></a>    <span class='hs-keyglyph'>\</span><span class='hs-varid'>iter</span> <span class='hs-varid'>strP</span> <span class='hs-varid'>strLen</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-1356"></a>      <span class='hs-varid'>str</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>peekUTFStringLen</span> <span class='hs-layout'>(</span><span class='hs-varid'>strP</span><span class='hs-layout'>,</span><span class='hs-varid'>strLen</span><span class='hs-layout'>)</span>
<a name="line-1357"></a>      <span class='hs-varid'>user</span> <span class='hs-varid'>iter</span> <span class='hs-varid'>str</span>
<a name="line-1358"></a><a name="afterBufferInsertText"></a><span class='hs-definition'>afterBufferInsertText</span> <span class='hs-varid'>self</span> <span class='hs-varid'>user</span> <span class='hs-keyglyph'>=</span>
<a name="line-1359"></a>  <span class='hs-varid'>connect_BOXED_PTR_INT__NONE</span> <span class='hs-str'>"insert-text"</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>True</span> <span class='hs-varid'>self</span> <span class='hs-varop'>$</span>
<a name="line-1360"></a>    <span class='hs-keyglyph'>\</span><span class='hs-varid'>iter</span> <span class='hs-varid'>strP</span> <span class='hs-varid'>strLen</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-1361"></a>      <span class='hs-varid'>str</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>peekUTFStringLen</span> <span class='hs-layout'>(</span><span class='hs-varid'>strP</span><span class='hs-layout'>,</span><span class='hs-varid'>strLen</span><span class='hs-layout'>)</span>
<a name="line-1362"></a>      <span class='hs-varid'>user</span> <span class='hs-varid'>iter</span> <span class='hs-varid'>str</span>
<a name="line-1363"></a>
<a name="line-1364"></a><a name="onMarkDeleted"></a><span class='hs-comment'>-- | A 'TextMark' within the buffer was deleted.</span>
<a name="line-1365"></a><span class='hs-comment'>--</span>
<a name="line-1366"></a><span class='hs-definition'>onMarkDeleted</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterMarkDeleted</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1367"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextMark</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1368"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1369"></a><span class='hs-definition'>onMarkDeleted</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_OBJECT__NONE</span> <span class='hs-str'>"mark-deleted"</span> <span class='hs-conid'>False</span>
<a name="line-1370"></a><a name="afterMarkDeleted"></a><span class='hs-definition'>afterMarkDeleted</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_OBJECT__NONE</span> <span class='hs-str'>"mark-deleted"</span> <span class='hs-conid'>True</span>
<a name="line-1371"></a>
<a name="line-1372"></a><a name="onMarkSet"></a><span class='hs-comment'>-- | A 'TextMark' was inserted into the buffer.</span>
<a name="line-1373"></a><span class='hs-comment'>--</span>
<a name="line-1374"></a><span class='hs-definition'>onMarkSet</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterMarkSet</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-1375"></a>                           <span class='hs-layout'>(</span><span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextMark</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-1376"></a>                           <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1377"></a><span class='hs-definition'>onMarkSet</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_BOXED_OBJECT__NONE</span> <span class='hs-str'>"mark-set"</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>False</span>
<a name="line-1378"></a><a name="afterMarkSet"></a><span class='hs-definition'>afterMarkSet</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_BOXED_OBJECT__NONE</span> <span class='hs-str'>"mark-set"</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>True</span>
<a name="line-1379"></a>
<a name="line-1380"></a><a name="onModifiedChanged"></a><span class='hs-comment'>-- | The textbuffer has changed.</span>
<a name="line-1381"></a><span class='hs-comment'>--</span>
<a name="line-1382"></a><span class='hs-definition'>onModifiedChanged</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterModifiedChanged</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1383"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-1384"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1385"></a><span class='hs-definition'>onModifiedChanged</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"modified-changed"</span> <span class='hs-conid'>False</span>
<a name="line-1386"></a><a name="afterModifiedChanged"></a><span class='hs-definition'>afterModifiedChanged</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"modified-changed"</span> <span class='hs-conid'>True</span>
<a name="line-1387"></a>
<a name="line-1388"></a><a name="onRemoveTag"></a><span class='hs-comment'>-- | A 'TextTag' was removed.</span>
<a name="line-1389"></a><span class='hs-comment'>--</span>
<a name="line-1390"></a><span class='hs-definition'>onRemoveTag</span><span class='hs-layout'>,</span> <span class='hs-varid'>afterRemoveTag</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-1391"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TextIter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-1392"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-1393"></a><span class='hs-definition'>onRemoveTag</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_OBJECT_BOXED_BOXED__NONE</span> <span class='hs-str'>"remove-tag"</span>
<a name="line-1394"></a>  <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>False</span>
<a name="line-1395"></a><a name="afterRemoveTag"></a><span class='hs-definition'>afterRemoveTag</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>connect_OBJECT_BOXED_BOXED__NONE</span> <span class='hs-str'>"remove-tag"</span>
<a name="line-1396"></a>  <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-varid'>mkTextIterCopy</span> <span class='hs-conid'>True</span>
<a name="line-1397"></a>
<a name="line-1398"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_new"</span>
<a name="line-1399"></a>  <span class='hs-varid'>gtk_text_buffer_new</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextTagTable</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1400"></a>
<a name="line-1401"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_line_count"</span>
<a name="line-1402"></a>  <span class='hs-varid'>gtk_text_buffer_get_line_count</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1403"></a>
<a name="line-1404"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_char_count"</span>
<a name="line-1405"></a>  <span class='hs-varid'>gtk_text_buffer_get_char_count</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1406"></a>
<a name="line-1407"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_tag_table"</span>
<a name="line-1408"></a>  <span class='hs-varid'>gtk_text_buffer_get_tag_table</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextTagTable</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1409"></a>
<a name="line-1410"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_insert"</span>
<a name="line-1411"></a>  <span class='hs-varid'>gtk_text_buffer_insert</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1412"></a>
<a name="line-1413"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_insert_at_cursor"</span>
<a name="line-1414"></a>  <span class='hs-varid'>gtk_text_buffer_insert_at_cursor</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1415"></a>
<a name="line-1416"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_insert_interactive"</span>
<a name="line-1417"></a>  <span class='hs-varid'>gtk_text_buffer_insert_interactive</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1418"></a>
<a name="line-1419"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_insert_interactive_at_cursor"</span>
<a name="line-1420"></a>  <span class='hs-varid'>gtk_text_buffer_insert_interactive_at_cursor</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1421"></a>
<a name="line-1422"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_insert_range"</span>
<a name="line-1423"></a>  <span class='hs-varid'>gtk_text_buffer_insert_range</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1424"></a>
<a name="line-1425"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_insert_range_interactive"</span>
<a name="line-1426"></a>  <span class='hs-varid'>gtk_text_buffer_insert_range_interactive</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1427"></a>
<a name="line-1428"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_delete"</span>
<a name="line-1429"></a>  <span class='hs-varid'>gtk_text_buffer_delete</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1430"></a>
<a name="line-1431"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_delete_interactive"</span>
<a name="line-1432"></a>  <span class='hs-varid'>gtk_text_buffer_delete_interactive</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1433"></a>
<a name="line-1434"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_set_text"</span>
<a name="line-1435"></a>  <span class='hs-varid'>gtk_text_buffer_set_text</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1436"></a>
<a name="line-1437"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_text"</span>
<a name="line-1438"></a>  <span class='hs-varid'>gtk_text_buffer_get_text</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1439"></a>
<a name="line-1440"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_slice"</span>
<a name="line-1441"></a>  <span class='hs-varid'>gtk_text_buffer_get_slice</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1442"></a>
<a name="line-1443"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"g_free"</span>
<a name="line-1444"></a>  <span class='hs-varid'>g_free</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1445"></a>
<a name="line-1446"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_insert_pixbuf"</span>
<a name="line-1447"></a>  <span class='hs-varid'>gtk_text_buffer_insert_pixbuf</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Pixbuf</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1448"></a>
<a name="line-1449"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_create_mark"</span>
<a name="line-1450"></a>  <span class='hs-varid'>gtk_text_buffer_create_mark</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextMark</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1451"></a>
<a name="line-1452"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_add_mark"</span>
<a name="line-1453"></a>  <span class='hs-varid'>gtk_text_buffer_add_mark</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextMark</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1454"></a>
<a name="line-1455"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_move_mark"</span>
<a name="line-1456"></a>  <span class='hs-varid'>gtk_text_buffer_move_mark</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextMark</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1457"></a>
<a name="line-1458"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_move_mark_by_name"</span>
<a name="line-1459"></a>  <span class='hs-varid'>gtk_text_buffer_move_mark_by_name</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1460"></a>
<a name="line-1461"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_delete_mark"</span>
<a name="line-1462"></a>  <span class='hs-varid'>gtk_text_buffer_delete_mark</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextMark</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1463"></a>
<a name="line-1464"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_delete_mark_by_name"</span>
<a name="line-1465"></a>  <span class='hs-varid'>gtk_text_buffer_delete_mark_by_name</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1466"></a>
<a name="line-1467"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_mark"</span>
<a name="line-1468"></a>  <span class='hs-varid'>gtk_text_buffer_get_mark</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextMark</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1469"></a>
<a name="line-1470"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_insert"</span>
<a name="line-1471"></a>  <span class='hs-varid'>gtk_text_buffer_get_insert</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextMark</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1472"></a>
<a name="line-1473"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_selection_bound"</span>
<a name="line-1474"></a>  <span class='hs-varid'>gtk_text_buffer_get_selection_bound</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextMark</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1475"></a>
<a name="line-1476"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_place_cursor"</span>
<a name="line-1477"></a>  <span class='hs-varid'>gtk_text_buffer_place_cursor</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1478"></a>
<a name="line-1479"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_apply_tag"</span>
<a name="line-1480"></a>  <span class='hs-varid'>gtk_text_buffer_apply_tag</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextTag</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1481"></a>
<a name="line-1482"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_remove_tag"</span>
<a name="line-1483"></a>  <span class='hs-varid'>gtk_text_buffer_remove_tag</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextTag</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1484"></a>
<a name="line-1485"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_apply_tag_by_name"</span>
<a name="line-1486"></a>  <span class='hs-varid'>gtk_text_buffer_apply_tag_by_name</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1487"></a>
<a name="line-1488"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_remove_tag_by_name"</span>
<a name="line-1489"></a>  <span class='hs-varid'>gtk_text_buffer_remove_tag_by_name</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1490"></a>
<a name="line-1491"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_remove_all_tags"</span>
<a name="line-1492"></a>  <span class='hs-varid'>gtk_text_buffer_remove_all_tags</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1493"></a>
<a name="line-1494"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_iter_at_line_offset"</span>
<a name="line-1495"></a>  <span class='hs-varid'>gtk_text_buffer_get_iter_at_line_offset</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1496"></a>
<a name="line-1497"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_iter_at_offset"</span>
<a name="line-1498"></a>  <span class='hs-varid'>gtk_text_buffer_get_iter_at_offset</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1499"></a>
<a name="line-1500"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_iter_at_line"</span>
<a name="line-1501"></a>  <span class='hs-varid'>gtk_text_buffer_get_iter_at_line</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1502"></a>
<a name="line-1503"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_iter_at_mark"</span>
<a name="line-1504"></a>  <span class='hs-varid'>gtk_text_buffer_get_iter_at_mark</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextMark</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1505"></a>
<a name="line-1506"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_start_iter"</span>
<a name="line-1507"></a>  <span class='hs-varid'>gtk_text_buffer_get_start_iter</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1508"></a>
<a name="line-1509"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_end_iter"</span>
<a name="line-1510"></a>  <span class='hs-varid'>gtk_text_buffer_get_end_iter</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1511"></a>
<a name="line-1512"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_modified"</span>
<a name="line-1513"></a>  <span class='hs-varid'>gtk_text_buffer_get_modified</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1514"></a>
<a name="line-1515"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_set_modified"</span>
<a name="line-1516"></a>  <span class='hs-varid'>gtk_text_buffer_set_modified</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1517"></a>
<a name="line-1518"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_delete_selection"</span>
<a name="line-1519"></a>  <span class='hs-varid'>gtk_text_buffer_delete_selection</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1520"></a>
<a name="line-1521"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_selection_bounds"</span>
<a name="line-1522"></a>  <span class='hs-varid'>gtk_text_buffer_get_selection_bounds</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1523"></a>
<a name="line-1524"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_begin_user_action"</span>
<a name="line-1525"></a>  <span class='hs-varid'>gtk_text_buffer_begin_user_action</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1526"></a>
<a name="line-1527"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_end_user_action"</span>
<a name="line-1528"></a>  <span class='hs-varid'>gtk_text_buffer_end_user_action</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1529"></a>
<a name="line-1530"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_backspace"</span>
<a name="line-1531"></a>  <span class='hs-varid'>gtk_text_buffer_backspace</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1532"></a>
<a name="line-1533"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_insert_child_anchor"</span>
<a name="line-1534"></a>  <span class='hs-varid'>gtk_text_buffer_insert_child_anchor</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextChildAnchor</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1535"></a>
<a name="line-1536"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_create_child_anchor"</span>
<a name="line-1537"></a>  <span class='hs-varid'>gtk_text_buffer_create_child_anchor</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextChildAnchor</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1538"></a>
<a name="line-1539"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_select_range"</span>
<a name="line-1540"></a>  <span class='hs-varid'>gtk_text_buffer_select_range</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1541"></a>
<a name="line-1542"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_get_iter_at_child_anchor"</span>
<a name="line-1543"></a>  <span class='hs-varid'>gtk_text_buffer_get_iter_at_child_anchor</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextChildAnchor</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1544"></a>
<a name="line-1545"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_buffer_get_bounds"</span>
<a name="line-1546"></a>  <span class='hs-varid'>gtk_text_buffer_get_bounds</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1547"></a>
<a name="line-1548"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_paste_clipboard"</span>
<a name="line-1549"></a>  <span class='hs-varid'>gtk_text_buffer_paste_clipboard</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Clipboard</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextIter</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1550"></a>
<a name="line-1551"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_copy_clipboard"</span>
<a name="line-1552"></a>  <span class='hs-varid'>gtk_text_buffer_copy_clipboard</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Clipboard</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1553"></a>
<a name="line-1554"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_cut_clipboard"</span>
<a name="line-1555"></a>  <span class='hs-varid'>gtk_text_buffer_cut_clipboard</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Clipboard</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1556"></a>
<a name="line-1557"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_add_selection_clipboard"</span>
<a name="line-1558"></a>  <span class='hs-varid'>gtk_text_buffer_add_selection_clipboard</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Clipboard</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1559"></a>
<a name="line-1560"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_text_buffer_remove_selection_clipboard"</span>
<a name="line-1561"></a>  <span class='hs-varid'>gtk_text_buffer_remove_selection_clipboard</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>TextBuffer</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Clipboard</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1562"></a>
<a name="line-1563"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gtk_text_tag_table_get_type"</span>
<a name="line-1564"></a>  <span class='hs-varid'>gtk_text_tag_table_get_type</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CUInt</span>
</pre></body>
</html>