Sophie

Sophie

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

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/General/Selection.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/General/Selection.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) Selection support</span>
<a name="line-5"></a><span class='hs-comment'>--</span>
<a name="line-6"></a><span class='hs-comment'>-- Author : Axel Simon</span>
<a name="line-7"></a><span class='hs-comment'>--</span>
<a name="line-8"></a><span class='hs-comment'>-- Created: 26 March 2007</span>
<a name="line-9"></a><span class='hs-comment'>--</span>
<a name="line-10"></a><span class='hs-comment'>-- Copyright (C) 2007 Axel Simon</span>
<a name="line-11"></a><span class='hs-comment'>--</span>
<a name="line-12"></a><span class='hs-comment'>-- This library is free software; you can redistribute it and/or</span>
<a name="line-13"></a><span class='hs-comment'>-- modify it under the terms of the GNU Lesser General Public</span>
<a name="line-14"></a><span class='hs-comment'>-- License as published by the Free Software Foundation; either</span>
<a name="line-15"></a><span class='hs-comment'>-- version 2.1 of the License, or (at your option) any later version.</span>
<a name="line-16"></a><span class='hs-comment'>--</span>
<a name="line-17"></a><span class='hs-comment'>-- This library is distributed in the hope that it will be useful,</span>
<a name="line-18"></a><span class='hs-comment'>-- but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="line-19"></a><span class='hs-comment'>-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="line-20"></a><span class='hs-comment'>-- Lesser General Public License for more details.</span>
<a name="line-21"></a><span class='hs-comment'>--</span>
<a name="line-22"></a><span class='hs-comment'>-- functions that seem to be internal: gtk_selection_convert</span>
<a name="line-23"></a><span class='hs-comment'>-- functions that relate to target tables are not bound since they seem</span>
<a name="line-24"></a><span class='hs-comment'>-- superfluous: targets_*, selection_data_copy, selection_data_free</span>
<a name="line-25"></a><span class='hs-comment'>--</span>
<a name="line-26"></a><span class='hs-comment'>-- |</span>
<a name="line-27"></a><span class='hs-comment'>-- Maintainer : gtk2hs-users@lists.sourceforge.net</span>
<a name="line-28"></a><span class='hs-comment'>-- Stability : provisional</span>
<a name="line-29"></a><span class='hs-comment'>-- Portability : portable (depends on GHC)</span>
<a name="line-30"></a><span class='hs-comment'>--</span>
<a name="line-31"></a><span class='hs-comment'>-- Functions for handling inter-process communication via selections.</span>
<a name="line-32"></a><span class='hs-comment'>--</span>
<a name="line-33"></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'>General</span><span class='hs-varop'>.</span><span class='hs-conid'>Selection</span> <span class='hs-layout'>(</span>
<a name="line-34"></a>
<a name="line-35"></a><span class='hs-comment'>-- * Types</span>
<a name="line-36"></a>  <span class='hs-conid'>InfoId</span><span class='hs-layout'>,</span>
<a name="line-37"></a>  <span class='hs-conid'>Atom</span><span class='hs-layout'>,</span>
<a name="line-38"></a>  <span class='hs-conid'>TargetTag</span><span class='hs-layout'>,</span>
<a name="line-39"></a>  <span class='hs-conid'>SelectionTag</span><span class='hs-layout'>,</span>
<a name="line-40"></a>  <span class='hs-conid'>SelectionTypeTag</span><span class='hs-layout'>,</span>
<a name="line-41"></a>  <span class='hs-conid'>TargetList</span><span class='hs-layout'>,</span>
<a name="line-42"></a>  <span class='hs-conid'>SelectionDataM</span><span class='hs-layout'>,</span>
<a name="line-43"></a>  <span class='hs-conid'>TargetFlags</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-44"></a>
<a name="line-45"></a><span class='hs-comment'>-- * Constants</span>
<a name="line-46"></a>  <span class='hs-varid'>targetString</span><span class='hs-layout'>,</span>
<a name="line-47"></a>  <span class='hs-varid'>selectionTypeAtom</span><span class='hs-layout'>,</span>
<a name="line-48"></a>  <span class='hs-varid'>selectionTypeInteger</span><span class='hs-layout'>,</span>
<a name="line-49"></a>  <span class='hs-varid'>selectionTypeString</span><span class='hs-layout'>,</span>
<a name="line-50"></a>
<a name="line-51"></a><span class='hs-comment'>-- * Constructors</span>
<a name="line-52"></a>  <span class='hs-varid'>atomNew</span><span class='hs-layout'>,</span>
<a name="line-53"></a>  <span class='hs-varid'>targetListNew</span><span class='hs-layout'>,</span>
<a name="line-54"></a>
<a name="line-55"></a><span class='hs-comment'>-- * Methods</span>
<a name="line-56"></a>  <span class='hs-varid'>targetListAdd</span><span class='hs-layout'>,</span>
<a name="line-57"></a>
<a name="line-58"></a>  <span class='hs-varid'>targetListAddTextTargets</span><span class='hs-layout'>,</span>
<a name="line-59"></a>  <span class='hs-varid'>targetListAddImageTargets</span><span class='hs-layout'>,</span>
<a name="line-60"></a>  <span class='hs-varid'>targetListAddUriTargets</span><span class='hs-layout'>,</span>
<a name="line-61"></a>
<a name="line-62"></a>
<a name="line-63"></a>  <span class='hs-varid'>targetListAddRichTextTargets</span><span class='hs-layout'>,</span>
<a name="line-64"></a>
<a name="line-65"></a>  <span class='hs-varid'>targetListRemove</span><span class='hs-layout'>,</span>
<a name="line-66"></a>
<a name="line-67"></a>  <span class='hs-varid'>selectionAddTarget</span><span class='hs-layout'>,</span>
<a name="line-68"></a>  <span class='hs-varid'>selectionClearTargets</span><span class='hs-layout'>,</span>
<a name="line-69"></a>  <span class='hs-varid'>selectionOwnerSet</span><span class='hs-layout'>,</span>
<a name="line-70"></a>  <span class='hs-varid'>selectionOwnerSetForDisplay</span><span class='hs-layout'>,</span>
<a name="line-71"></a>  <span class='hs-varid'>selectionRemoveAll</span><span class='hs-layout'>,</span>
<a name="line-72"></a>
<a name="line-73"></a>  <span class='hs-varid'>selectionDataSet</span><span class='hs-layout'>,</span>
<a name="line-74"></a>  <span class='hs-varid'>selectionDataGet</span><span class='hs-layout'>,</span>
<a name="line-75"></a>  <span class='hs-varid'>selectionDataIsValid</span><span class='hs-layout'>,</span>
<a name="line-76"></a>  <span class='hs-varid'>selectionDataSetText</span><span class='hs-layout'>,</span>
<a name="line-77"></a>  <span class='hs-varid'>selectionDataGetText</span><span class='hs-layout'>,</span>
<a name="line-78"></a>
<a name="line-79"></a>  <span class='hs-varid'>selectionDataSetPixbuf</span><span class='hs-layout'>,</span>
<a name="line-80"></a>  <span class='hs-varid'>selectionDataGetPixbuf</span><span class='hs-layout'>,</span>
<a name="line-81"></a>  <span class='hs-varid'>selectionDataSetURIs</span><span class='hs-layout'>,</span>
<a name="line-82"></a>  <span class='hs-varid'>selectionDataGetURIs</span><span class='hs-layout'>,</span>
<a name="line-83"></a>  <span class='hs-varid'>selectionDataTargetsIncludeImage</span><span class='hs-layout'>,</span>
<a name="line-84"></a>
<a name="line-85"></a>  <span class='hs-varid'>selectionDataGetTarget</span><span class='hs-layout'>,</span>
<a name="line-86"></a>  <span class='hs-varid'>selectionDataSetTarget</span><span class='hs-layout'>,</span>
<a name="line-87"></a>  <span class='hs-varid'>selectionDataGetTargets</span><span class='hs-layout'>,</span>
<a name="line-88"></a>  <span class='hs-varid'>selectionDataTargetsIncludeText</span><span class='hs-layout'>,</span>
<a name="line-89"></a>
<a name="line-90"></a>  <span class='hs-varid'>selectionDataTargetsIncludeUri</span><span class='hs-layout'>,</span>
<a name="line-91"></a>  <span class='hs-varid'>selectionDataTargetsIncludeRichText</span><span class='hs-layout'>,</span>
<a name="line-92"></a>
<a name="line-93"></a>
<a name="line-94"></a><span class='hs-comment'>-- * Signals</span>
<a name="line-95"></a>  <span class='hs-varid'>selectionGet</span><span class='hs-layout'>,</span>
<a name="line-96"></a>  <span class='hs-varid'>selectionReceived</span>
<a name="line-97"></a>
<a name="line-98"></a>  <span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-99"></a>
<a name="line-100"></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-101"></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'>Flags</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromFlags</span><span class='hs-layout'>)</span>
<a name="line-102"></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'>Signals</span>
<a name="line-103"></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>
<a name="line-104"></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-105"></a><span class='hs-comment'>{-# LINE 104 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-106"></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'>General</span><span class='hs-varop'>.</span><span class='hs-conid'>DNDTypes</span>
<a name="line-107"></a><span class='hs-comment'>{-# LINE 105 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-108"></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'>Gdk</span><span class='hs-varop'>.</span><span class='hs-conid'>Events</span> <span class='hs-layout'>(</span><span class='hs-conid'>TimeStamp</span><span class='hs-layout'>)</span>
<a name="line-109"></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'>General</span><span class='hs-varop'>.</span><span class='hs-conid'>Enums</span> <span class='hs-layout'>(</span><span class='hs-conid'>TargetFlags</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-110"></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'>General</span><span class='hs-varop'>.</span><span class='hs-conid'>Structs</span> <span class='hs-layout'>(</span>
<a name="line-111"></a>  <span class='hs-varid'>targetString</span><span class='hs-layout'>,</span>
<a name="line-112"></a>  <span class='hs-varid'>selectionTypeAtom</span><span class='hs-layout'>,</span>
<a name="line-113"></a>  <span class='hs-varid'>selectionTypeInteger</span><span class='hs-layout'>,</span>
<a name="line-114"></a>  <span class='hs-varid'>selectionTypeString</span><span class='hs-layout'>,</span>
<a name="line-115"></a>  <span class='hs-varid'>selectionDataGetType</span><span class='hs-layout'>)</span>
<a name="line-116"></a>
<a name="line-117"></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-118"></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> <span class='hs-layout'>(</span> <span class='hs-varid'>peekUTFString</span><span class='hs-layout'>,</span> <span class='hs-varid'>withUTFStringLen</span><span class='hs-layout'>,</span>
<a name="line-119"></a>                               <span class='hs-varid'>withUTFStringArray0</span><span class='hs-layout'>,</span> <span class='hs-varid'>peekUTFStringArray0</span> <span class='hs-layout'>)</span>
<a name="line-120"></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-121"></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-varop'>.</span><span class='hs-conid'>Trans</span> <span class='hs-layout'>(</span> <span class='hs-varid'>liftIO</span> <span class='hs-layout'>)</span>
<a name="line-122"></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-varop'>.</span><span class='hs-conid'>Reader</span> <span class='hs-layout'>(</span><span class='hs-varid'>runReaderT</span><span class='hs-layout'>,</span> <span class='hs-varid'>ask</span><span class='hs-layout'>)</span>
<a name="line-123"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Word</span> <span class='hs-layout'>(</span> <span class='hs-conid'>Word32</span> <span class='hs-layout'>)</span>
<a name="line-124"></a>
<a name="line-125"></a>
<a name="line-126"></a><span class='hs-comment'>{-# LINE 123 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-127"></a>
<a name="line-128"></a>
<a name="line-129"></a><span class='hs-comment'>--------------------</span>
<a name="line-130"></a><span class='hs-comment'>-- Methods</span>
<a name="line-131"></a>
<a name="line-132"></a><a name="targetListAdd"></a><span class='hs-comment'>-- | Append another target to the given 'TargetList'.</span>
<a name="line-133"></a><span class='hs-comment'>--</span>
<a name="line-134"></a><span class='hs-comment'>-- * Note that the 'TargetFlags' are only used for drag and drop, not in normal</span>
<a name="line-135"></a><span class='hs-comment'>-- selection handling.</span>
<a name="line-136"></a><span class='hs-comment'>--</span>
<a name="line-137"></a><span class='hs-definition'>targetListAdd</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TargetList</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TargetTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>TargetFlags</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>InfoId</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-138"></a><span class='hs-definition'>targetListAdd</span> <span class='hs-varid'>tl</span> <span class='hs-layout'>(</span><span class='hs-conid'>Atom</span> <span class='hs-varid'>tagPtr</span><span class='hs-layout'>)</span> <span class='hs-varid'>flags</span> <span class='hs-varid'>info</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-139"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TargetList</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_target_list_add</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> <span class='hs-varid'>tl</span> <span class='hs-varid'>tagPtr</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromFlags</span> <span class='hs-varid'>flags</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varid'>info</span>
<a name="line-140"></a>
<a name="line-141"></a>
<a name="line-142"></a>
<a name="line-143"></a><a name="targetListAddTextTargets"></a><span class='hs-comment'>-- | Append all text targets supported by the selection mechanism to the</span>
<a name="line-144"></a><span class='hs-comment'>-- target list. All targets are added with the same 'InfoId'.</span>
<a name="line-145"></a><span class='hs-comment'>--</span>
<a name="line-146"></a><span class='hs-comment'>-- * Since Gtk 2.6.</span>
<a name="line-147"></a><span class='hs-comment'>--</span>
<a name="line-148"></a><span class='hs-definition'>targetListAddTextTargets</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TargetList</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>InfoId</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-149"></a><span class='hs-definition'>targetListAddTextTargets</span> <span class='hs-keyglyph'>=</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TargetList</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_target_list_add_text_targets</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-150"></a><span class='hs-comment'>{-# LINE 146 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-151"></a>
<a name="line-152"></a><a name="targetListAddImageTargets"></a><span class='hs-comment'>-- | Append all image targets supported by the selection mechanism to the</span>
<a name="line-153"></a><span class='hs-comment'>-- target list. All targets are added with the same 'InfoId'. If the boolean</span>
<a name="line-154"></a><span class='hs-comment'>-- flag is set, only targets will be added which Gtk+ knows how to convert</span>
<a name="line-155"></a><span class='hs-comment'>-- into a 'Graphics.UI.Gtk.Pixbuf.Pixbuf'.</span>
<a name="line-156"></a><span class='hs-comment'>--</span>
<a name="line-157"></a><span class='hs-comment'>-- * Since Gtk 2.6.</span>
<a name="line-158"></a><span class='hs-comment'>--</span>
<a name="line-159"></a><span class='hs-definition'>targetListAddImageTargets</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TargetList</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>InfoId</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-160"></a><span class='hs-definition'>targetListAddImageTargets</span> <span class='hs-varid'>tl</span> <span class='hs-varid'>info</span> <span class='hs-varid'>writable</span> <span class='hs-keyglyph'>=</span>
<a name="line-161"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TargetList</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_target_list_add_image_targets</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>tl</span> <span class='hs-varid'>info</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>writable</span><span class='hs-layout'>)</span>
<a name="line-162"></a>
<a name="line-163"></a><a name="targetListAddUriTargets"></a><span class='hs-comment'>-- | Append all URI (universal resource indicator, fomerly URL) targets</span>
<a name="line-164"></a><span class='hs-comment'>-- supported by the selection mechanism to the target list. All targets are</span>
<a name="line-165"></a><span class='hs-comment'>-- added with the same 'InfoId'.</span>
<a name="line-166"></a><span class='hs-comment'>--</span>
<a name="line-167"></a><span class='hs-comment'>-- * Since Gtk 2.6.</span>
<a name="line-168"></a><span class='hs-comment'>--</span>
<a name="line-169"></a><span class='hs-definition'>targetListAddUriTargets</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TargetList</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>InfoId</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-170"></a><span class='hs-definition'>targetListAddUriTargets</span> <span class='hs-keyglyph'>=</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TargetList</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_target_list_add_uri_targets</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-171"></a><span class='hs-comment'>{-# LINE 166 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-172"></a>
<a name="line-173"></a>
<a name="line-174"></a>
<a name="line-175"></a>
<a name="line-176"></a><a name="targetListAddRichTextTargets"></a><span class='hs-comment'>-- | Append all rich text targets registered with</span>
<a name="line-177"></a><span class='hs-comment'>-- 'Graphics.UI.Gtk.TextBuffer.textBufferRegisterSerializeFormat' to the</span>
<a name="line-178"></a><span class='hs-comment'>-- target list. All targets are added with the same 'InfoId'. If the boolean</span>
<a name="line-179"></a><span class='hs-comment'>-- flag is @True@ then deserializable rich text formats will be added,</span>
<a name="line-180"></a><span class='hs-comment'>-- serializable formats otherwise.</span>
<a name="line-181"></a><span class='hs-comment'>--</span>
<a name="line-182"></a><span class='hs-comment'>-- * Since Gtk 2.10.</span>
<a name="line-183"></a><span class='hs-comment'>--</span>
<a name="line-184"></a><span class='hs-definition'>targetListAddRichTextTargets</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>tb</span> <span class='hs-keyglyph'>=&gt;</span>
<a name="line-185"></a>  <span class='hs-conid'>TargetList</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>InfoId</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>tb</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-186"></a><span class='hs-definition'>targetListAddRichTextTargets</span> <span class='hs-varid'>tl</span> <span class='hs-varid'>info</span> <span class='hs-varid'>deser</span> <span class='hs-varid'>tb</span> <span class='hs-keyglyph'>=</span>
<a name="line-187"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TargetList</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-layout'>(</span><span class='hs-conid'>TextBuffer</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'>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_target_list_add_rich_text_targets</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>arg3</span> <span class='hs-varid'>argPtr4</span><span class='hs-layout'>)</span> <span class='hs-varid'>tl</span> <span class='hs-varid'>info</span>
<a name="line-188"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>deser</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>tb</span><span class='hs-layout'>)</span>
<a name="line-189"></a>
<a name="line-190"></a>
<a name="line-191"></a>
<a name="line-192"></a><a name="targetListRemove"></a><span class='hs-comment'>-- | Remove a target from a target list.</span>
<a name="line-193"></a><span class='hs-comment'>--</span>
<a name="line-194"></a><span class='hs-definition'>targetListRemove</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TargetList</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TargetTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-195"></a><span class='hs-definition'>targetListRemove</span> <span class='hs-varid'>tl</span> <span class='hs-layout'>(</span><span class='hs-conid'>Atom</span> <span class='hs-varid'>t</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>=</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>TargetList</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_target_list_remove</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-varid'>tl</span> <span class='hs-varid'>t</span>
<a name="line-196"></a>
<a name="line-197"></a>
<a name="line-198"></a><a name="selectionAddTarget"></a><span class='hs-comment'>-- %hash c:9971 d:af3f</span>
<a name="line-199"></a><span class='hs-comment'>-- | Appends a specified target to the list of supported targets for a given</span>
<a name="line-200"></a><span class='hs-comment'>-- widget and selection.</span>
<a name="line-201"></a><span class='hs-comment'>--</span>
<a name="line-202"></a><span class='hs-definition'>selectionAddTarget</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>WidgetClass</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionTag</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-203"></a>                      <span class='hs-conid'>TargetTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>InfoId</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-204"></a><span class='hs-definition'>selectionAddTarget</span> <span class='hs-varid'>widget</span> <span class='hs-layout'>(</span><span class='hs-conid'>Atom</span> <span class='hs-varid'>selection</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Atom</span> <span class='hs-varid'>target</span><span class='hs-layout'>)</span> <span class='hs-varid'>info</span> <span class='hs-keyglyph'>=</span>
<a name="line-205"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>Widget</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_selection_add_target</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-206"></a><span class='hs-comment'>{-# LINE 200 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-207"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toWidget</span> <span class='hs-varid'>widget</span><span class='hs-layout'>)</span>
<a name="line-208"></a>    <span class='hs-varid'>selection</span>
<a name="line-209"></a>    <span class='hs-varid'>target</span>
<a name="line-210"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>info</span><span class='hs-layout'>)</span>
<a name="line-211"></a>
<a name="line-212"></a><a name="selectionClearTargets"></a><span class='hs-comment'>-- %hash c:d523 d:af3f</span>
<a name="line-213"></a><span class='hs-comment'>-- | Remove all targets registered for the given selection for the widget.</span>
<a name="line-214"></a><span class='hs-comment'>--</span>
<a name="line-215"></a><span class='hs-definition'>selectionClearTargets</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>WidgetClass</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-216"></a><span class='hs-definition'>selectionClearTargets</span> <span class='hs-varid'>widget</span> <span class='hs-layout'>(</span><span class='hs-conid'>Atom</span> <span class='hs-varid'>selection</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span>
<a name="line-217"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>Widget</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_selection_clear_targets</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-218"></a><span class='hs-comment'>{-# LINE 211 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-219"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toWidget</span> <span class='hs-varid'>widget</span><span class='hs-layout'>)</span>
<a name="line-220"></a>    <span class='hs-varid'>selection</span>
<a name="line-221"></a>
<a name="line-222"></a><a name="selectionOwnerSet"></a><span class='hs-comment'>-- %hash c:85a8 d:af3f</span>
<a name="line-223"></a><span class='hs-comment'>-- | Claims ownership of a given selection for a particular widget, or, if</span>
<a name="line-224"></a><span class='hs-comment'>-- widget is 'Nothing', release ownership of the selection.</span>
<a name="line-225"></a><span class='hs-comment'>--</span>
<a name="line-226"></a><span class='hs-definition'>selectionOwnerSet</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>WidgetClass</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Maybe</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionTag</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-227"></a>  <span class='hs-conid'>TimeStamp</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span>
<a name="line-228"></a><span class='hs-definition'>selectionOwnerSet</span> <span class='hs-varid'>widget</span> <span class='hs-layout'>(</span><span class='hs-conid'>Atom</span> <span class='hs-varid'>selection</span><span class='hs-layout'>)</span> <span class='hs-varid'>time</span> <span class='hs-keyglyph'>=</span>
<a name="line-229"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-230"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>Widget</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_selection_owner_set</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-231"></a><span class='hs-comment'>{-# LINE 223 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-232"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>maybe</span> <span class='hs-layout'>(</span><span class='hs-conid'>Widget</span> <span class='hs-varid'>nullForeignPtr</span><span class='hs-layout'>)</span> <span class='hs-varid'>toWidget</span> <span class='hs-varid'>widget</span><span class='hs-layout'>)</span>
<a name="line-233"></a>    <span class='hs-varid'>selection</span>
<a name="line-234"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>time</span><span class='hs-layout'>)</span>
<a name="line-235"></a>
<a name="line-236"></a><a name="selectionOwnerSetForDisplay"></a><span class='hs-comment'>-- %hash c:174 d:af3f</span>
<a name="line-237"></a><span class='hs-comment'>-- | Set the ownership of a given selection and display.</span>
<a name="line-238"></a><span class='hs-comment'>--</span>
<a name="line-239"></a><span class='hs-definition'>selectionOwnerSetForDisplay</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>WidgetClass</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Display</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Maybe</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-240"></a>  <span class='hs-conid'>SelectionTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TimeStamp</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span>
<a name="line-241"></a><span class='hs-definition'>selectionOwnerSetForDisplay</span> <span class='hs-varid'>display</span> <span class='hs-varid'>widget</span> <span class='hs-layout'>(</span><span class='hs-conid'>Atom</span> <span class='hs-varid'>selection</span><span class='hs-layout'>)</span> <span class='hs-varid'>time</span> <span class='hs-keyglyph'>=</span>
<a name="line-242"></a> <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-243"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>Display</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Widget</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_selection_owner_set_for_display</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-244"></a><span class='hs-comment'>{-# LINE 235 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-245"></a>    <span class='hs-varid'>display</span>
<a name="line-246"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>maybe</span> <span class='hs-layout'>(</span><span class='hs-conid'>Widget</span> <span class='hs-varid'>nullForeignPtr</span><span class='hs-layout'>)</span> <span class='hs-varid'>toWidget</span> <span class='hs-varid'>widget</span><span class='hs-layout'>)</span>
<a name="line-247"></a>    <span class='hs-varid'>selection</span>
<a name="line-248"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>time</span><span class='hs-layout'>)</span>
<a name="line-249"></a>
<a name="line-250"></a><a name="selectionRemoveAll"></a><span class='hs-comment'>-- %hash c:c29 d:af3f</span>
<a name="line-251"></a><span class='hs-comment'>-- | Removes all handlers and unsets ownership of all selections for a widget.</span>
<a name="line-252"></a><span class='hs-comment'>-- Called when widget is being destroyed. This function will not generally be</span>
<a name="line-253"></a><span class='hs-comment'>-- called by applications.</span>
<a name="line-254"></a><span class='hs-comment'>--</span>
<a name="line-255"></a><span class='hs-definition'>selectionRemoveAll</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>WidgetClass</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-256"></a><span class='hs-definition'>selectionRemoveAll</span> <span class='hs-varid'>widget</span> <span class='hs-keyglyph'>=</span>
<a name="line-257"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>Widget</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_selection_remove_all</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-258"></a><span class='hs-comment'>{-# LINE 248 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-259"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toWidget</span> <span class='hs-varid'>widget</span><span class='hs-layout'>)</span>
<a name="line-260"></a>
<a name="line-261"></a><a name="selectionDataSet"></a><span class='hs-comment'>-- %hash c:7662 d:af3f</span>
<a name="line-262"></a><span class='hs-comment'>-- | Stores new data in the 'SelectionDataM' monad. The stored data may only</span>
<a name="line-263"></a><span class='hs-comment'>-- be an array of integer types that are no larger than 32 bits.</span>
<a name="line-264"></a><span class='hs-comment'>--</span>
<a name="line-265"></a><span class='hs-definition'>selectionDataSet</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>Integral</span> <span class='hs-varid'>a</span><span class='hs-layout'>,</span> <span class='hs-conid'>Storable</span> <span class='hs-varid'>a</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>SelectionTypeTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>a</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-266"></a>                                                <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>()</span>
<a name="line-267"></a><span class='hs-definition'>selectionDataSet</span> <span class='hs-layout'>(</span><span class='hs-conid'>Atom</span> <span class='hs-varid'>tagPtr</span><span class='hs-layout'>)</span> <span class='hs-varid'>values</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>~</span><span class='hs-layout'>(</span><span class='hs-varid'>v</span><span class='hs-conop'>:</span><span class='hs-keyword'>_</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>ask</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-268"></a>  <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withArrayLen</span> <span class='hs-varid'>values</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>arrayLen</span> <span class='hs-varid'>arrayPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-269"></a>  <span class='hs-varid'>gtk_selection_data_set</span> <span class='hs-varid'>selPtr</span> <span class='hs-varid'>tagPtr</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-layout'>(</span><span class='hs-num'>8</span><span class='hs-varop'>*</span><span class='hs-varid'>sizeOf</span> <span class='hs-varid'>v</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-270"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>castPtr</span> <span class='hs-varid'>arrayPtr</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-layout'>(</span><span class='hs-varid'>arrayLen</span><span class='hs-varop'>*</span><span class='hs-varid'>sizeOf</span> <span class='hs-varid'>v</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-271"></a>
<a name="line-272"></a><a name="selectionDataGet"></a><span class='hs-comment'>-- | Retreives the data in the 'SelectionDataM' monad. The returned array</span>
<a name="line-273"></a><span class='hs-comment'>-- must have elements of the size that were used to set this data. If</span>
<a name="line-274"></a><span class='hs-comment'>-- the size or the type tag does not match, @Nothing@ is returned.</span>
<a name="line-275"></a><span class='hs-comment'>--</span>
<a name="line-276"></a><span class='hs-definition'>selectionDataGet</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>Integral</span> <span class='hs-varid'>a</span><span class='hs-layout'>,</span> <span class='hs-conid'>Storable</span> <span class='hs-varid'>a</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span>
<a name="line-277"></a>                    <span class='hs-conid'>SelectionTypeTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>a</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span>
<a name="line-278"></a><span class='hs-definition'>selectionDataGet</span> <span class='hs-varid'>tagPtr</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-279"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-280"></a>  <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
<a name="line-281"></a>    <span class='hs-varid'>typeTag</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>selectionDataGetType</span> <span class='hs-varid'>selPtr</span>
<a name="line-282"></a>    <span class='hs-keyword'>if</span> <span class='hs-varid'>typeTag</span><span class='hs-varop'>/=</span><span class='hs-varid'>tagPtr</span> <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-conid'>Nothing</span> <span class='hs-keyword'>else</span> <span class='hs-keyword'>do</span>
<a name="line-283"></a>    <span class='hs-varid'>bitSize</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>liftM</span> <span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>ptr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <span class='hs-layout'>{</span><span class='hs-varid'>peekByteOff</span> <span class='hs-varid'>ptr</span> <span class='hs-num'>12</span> <span class='hs-keyglyph'>::</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-varid'>selPtr</span>
<a name="line-284"></a>    <span class='hs-varid'>lenBytes</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>liftM</span> <span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>ptr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <span class='hs-layout'>{</span><span class='hs-varid'>peekByteOff</span> <span class='hs-varid'>ptr</span> <span class='hs-num'>20</span> <span class='hs-keyglyph'>::</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-varid'>selPtr</span>
<a name="line-285"></a>    <span class='hs-varid'>dataPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>liftM</span> <span class='hs-varid'>castPtr</span> <span class='hs-varop'>$</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>ptr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <span class='hs-layout'>{</span><span class='hs-varid'>peekByteOff</span> <span class='hs-varid'>ptr</span> <span class='hs-num'>16</span> <span class='hs-keyglyph'>::</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CUChar</span><span class='hs-layout'>)</span><span class='hs-layout'>}</span><span class='hs-layout'>)</span> <span class='hs-varid'>selPtr</span>
<a name="line-286"></a>    <span class='hs-keyword'>if</span> <span class='hs-varid'>lenBytes</span><span class='hs-varop'>&lt;=</span><span class='hs-num'>0</span> <span class='hs-varop'>||</span> <span class='hs-varid'>bitSize</span><span class='hs-varop'>/=</span><span class='hs-varid'>sizeOf</span> <span class='hs-layout'>(</span><span class='hs-varid'>unsafePerformIO</span> <span class='hs-layout'>(</span><span class='hs-varid'>peek</span> <span class='hs-varid'>dataPtr</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-varop'>*</span><span class='hs-num'>8</span>
<a name="line-287"></a>      <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-conid'>Nothing</span>
<a name="line-288"></a>      <span class='hs-keyword'>else</span> <span class='hs-varid'>liftM</span> <span class='hs-conid'>Just</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
<a name="line-289"></a>        <span class='hs-varid'>peekArray</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-layout'>(</span><span class='hs-varid'>lenBytes</span> <span class='hs-varop'>`quot`</span> <span class='hs-layout'>(</span><span class='hs-varid'>bitSize</span> <span class='hs-varop'>`quot`</span> <span class='hs-num'>8</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varid'>dataPtr</span>
<a name="line-290"></a>
<a name="line-291"></a><a name="selectionDataGetLength"></a><span class='hs-definition'>selectionDataGetLength</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>Int</span>
<a name="line-292"></a><span class='hs-definition'>selectionDataGetLength</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-293"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-294"></a>  <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>liftM</span> <span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>ptr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <span class='hs-layout'>{</span><span class='hs-varid'>peekByteOff</span> <span class='hs-varid'>ptr</span> <span class='hs-num'>20</span> <span class='hs-keyglyph'>::</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-varid'>selPtr</span>
<a name="line-295"></a>
<a name="line-296"></a><a name="selectionDataIsValid"></a><span class='hs-comment'>-- | Check if the currently stored data is valid.</span>
<a name="line-297"></a><span class='hs-comment'>--</span>
<a name="line-298"></a><span class='hs-comment'>-- * If this function returns @False@, no data is set in this selection</span>
<a name="line-299"></a><span class='hs-comment'>-- and 'selectionDataGet' will return @Nothing@ no matter what type</span>
<a name="line-300"></a><span class='hs-comment'>-- is requested.</span>
<a name="line-301"></a><span class='hs-comment'>--</span>
<a name="line-302"></a><span class='hs-definition'>selectionDataIsValid</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>Bool</span>
<a name="line-303"></a><span class='hs-definition'>selectionDataIsValid</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-304"></a>  <span class='hs-varid'>len</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>selectionDataGetLength</span>
<a name="line-305"></a>  <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>len</span><span class='hs-varop'>&gt;=</span><span class='hs-num'>0</span><span class='hs-layout'>)</span>
<a name="line-306"></a>
<a name="line-307"></a><a name="selectionDataSetText"></a><span class='hs-comment'>-- %hash c:9bdf d:af3f</span>
<a name="line-308"></a><span class='hs-comment'>-- | Sets the contents of the selection from a string. The</span>
<a name="line-309"></a><span class='hs-comment'>-- string is converted to the form determined by the allowed targets of the</span>
<a name="line-310"></a><span class='hs-comment'>-- selection.</span>
<a name="line-311"></a><span class='hs-comment'>--</span>
<a name="line-312"></a><span class='hs-comment'>-- * Returns @True@ if setting the text was successful.</span>
<a name="line-313"></a><span class='hs-comment'>--</span>
<a name="line-314"></a><span class='hs-definition'>selectionDataSetText</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>Bool</span>
<a name="line-315"></a><span class='hs-definition'>selectionDataSetText</span> <span class='hs-varid'>str</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-316"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-317"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withUTFStringLen</span> <span class='hs-varid'>str</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>strPtr</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-318"></a>    <span class='hs-varid'>gtk_selection_data_set_text</span> <span class='hs-varid'>selPtr</span> <span class='hs-varid'>strPtr</span> <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-319"></a>
<a name="line-320"></a><a name="selectionDataGetText"></a><span class='hs-comment'>-- %hash c:90e0 d:af3f</span>
<a name="line-321"></a><span class='hs-comment'>-- | Gets the contents of the selection data as a string.</span>
<a name="line-322"></a><span class='hs-comment'>--</span>
<a name="line-323"></a><span class='hs-definition'>selectionDataGetText</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>String</span><span class='hs-layout'>)</span>
<a name="line-324"></a><span class='hs-definition'>selectionDataGetText</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-325"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-326"></a>  <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
<a name="line-327"></a>    <span class='hs-varid'>strPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gtk_selection_data_get_text</span> <span class='hs-varid'>selPtr</span>
<a name="line-328"></a>    <span class='hs-keyword'>if</span> <span class='hs-varid'>strPtr</span><span class='hs-varop'>==</span><span class='hs-varid'>nullPtr</span> <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-conid'>Nothing</span> <span class='hs-keyword'>else</span> <span class='hs-keyword'>do</span>
<a name="line-329"></a>      <span class='hs-varid'>str</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>peekUTFString</span> <span class='hs-layout'>(</span><span class='hs-varid'>castPtr</span> <span class='hs-varid'>strPtr</span><span class='hs-layout'>)</span>
<a name="line-330"></a>      <span class='hs-varid'>g_free</span> <span class='hs-layout'>(</span><span class='hs-varid'>castPtr</span> <span class='hs-varid'>strPtr</span><span class='hs-layout'>)</span>
<a name="line-331"></a>      <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>str</span><span class='hs-layout'>)</span>
<a name="line-332"></a>
<a name="line-333"></a>
<a name="line-334"></a><a name="selectionDataSetPixbuf"></a><span class='hs-comment'>-- %hash c:ed8d d:af3f</span>
<a name="line-335"></a><span class='hs-comment'>-- | Sets the contents of the selection from a 'Pixbuf'. The pixbuf is</span>
<a name="line-336"></a><span class='hs-comment'>-- converted to the form determined by the allowed targets of the selection.</span>
<a name="line-337"></a><span class='hs-comment'>--</span>
<a name="line-338"></a><span class='hs-comment'>-- * Returns @True@ if setting the 'Pixbuf' was successful. Since Gtk 2.6.</span>
<a name="line-339"></a><span class='hs-comment'>--</span>
<a name="line-340"></a><span class='hs-definition'>selectionDataSetPixbuf</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Pixbuf</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>Bool</span>
<a name="line-341"></a><span class='hs-definition'>selectionDataSetPixbuf</span> <span class='hs-varid'>pixbuf</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-342"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-343"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span>
<a name="line-344"></a>    <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>arg1</span> <span class='hs-layout'>(</span><span class='hs-conid'>Pixbuf</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'>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_selection_data_set_pixbuf</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span> <span class='hs-varid'>selPtr</span> <span class='hs-varid'>pixbuf</span>
<a name="line-345"></a>
<a name="line-346"></a><a name="selectionDataGetPixbuf"></a><span class='hs-comment'>-- %hash c:52cd d:af3f</span>
<a name="line-347"></a><span class='hs-comment'>-- | Gets the contents of the selection data as a 'Pixbuf'.</span>
<a name="line-348"></a><span class='hs-comment'>--</span>
<a name="line-349"></a><span class='hs-comment'>-- * Since Gtk 2.6.</span>
<a name="line-350"></a><span class='hs-comment'>--</span>
<a name="line-351"></a><span class='hs-definition'>selectionDataGetPixbuf</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-conid'>Pixbuf</span><span class='hs-layout'>)</span>
<a name="line-352"></a><span class='hs-definition'>selectionDataGetPixbuf</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-353"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-354"></a>  <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>maybeNull</span> <span class='hs-layout'>(</span><span class='hs-varid'>constructNewGObject</span> <span class='hs-varid'>mkPixbuf</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span>
<a name="line-355"></a>    <span class='hs-varid'>gtk_selection_data_get_pixbuf</span> <span class='hs-varid'>selPtr</span>
<a name="line-356"></a>
<a name="line-357"></a><a name="selectionDataSetURIs"></a><span class='hs-comment'>-- %hash c:d222 d:af3f</span>
<a name="line-358"></a><span class='hs-comment'>-- | Sets the contents of the selection from a list of URIs. The string is</span>
<a name="line-359"></a><span class='hs-comment'>-- converted to the form determined by the possible targets of the selection.</span>
<a name="line-360"></a><span class='hs-comment'>--</span>
<a name="line-361"></a><span class='hs-comment'>-- * Returns @True@ if setting the URIs was successful. Since Gtk 2.6.</span>
<a name="line-362"></a><span class='hs-comment'>--</span>
<a name="line-363"></a><span class='hs-definition'>selectionDataSetURIs</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>String</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>Bool</span>
<a name="line-364"></a><span class='hs-definition'>selectionDataSetURIs</span> <span class='hs-varid'>uris</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-365"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-366"></a>  <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span> <span class='hs-varid'>withUTFStringArray0</span> <span class='hs-varid'>uris</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>strPtrPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-367"></a>      <span class='hs-varid'>gtk_selection_data_set_uris</span> <span class='hs-varid'>selPtr</span> <span class='hs-varid'>strPtrPtr</span>
<a name="line-368"></a>
<a name="line-369"></a><a name="selectionDataGetURIs"></a><span class='hs-comment'>-- %hash c:472f d:af3f</span>
<a name="line-370"></a><span class='hs-comment'>-- | Gets the contents of the selection data as list of URIs. Returns</span>
<a name="line-371"></a><span class='hs-comment'>-- @Nothing@ if the selection did not contain any URIs.</span>
<a name="line-372"></a><span class='hs-comment'>--</span>
<a name="line-373"></a><span class='hs-comment'>-- * Since Gtk 2.6.</span>
<a name="line-374"></a><span class='hs-comment'>--</span>
<a name="line-375"></a><span class='hs-definition'>selectionDataGetURIs</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>String</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span>
<a name="line-376"></a><span class='hs-definition'>selectionDataGetURIs</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-377"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-378"></a>  <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
<a name="line-379"></a>    <span class='hs-varid'>strPtrPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gtk_selection_data_get_uris</span> <span class='hs-varid'>selPtr</span>
<a name="line-380"></a>    <span class='hs-keyword'>if</span> <span class='hs-varid'>strPtrPtr</span><span class='hs-varop'>==</span><span class='hs-varid'>nullPtr</span> <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-conid'>Nothing</span> <span class='hs-keyword'>else</span> <span class='hs-keyword'>do</span>
<a name="line-381"></a>      <span class='hs-varid'>uris</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>peekUTFStringArray0</span> <span class='hs-varid'>strPtrPtr</span>
<a name="line-382"></a>      <span class='hs-varid'>g_strfreev</span> <span class='hs-varid'>strPtrPtr</span>
<a name="line-383"></a>      <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>uris</span><span class='hs-layout'>)</span>
<a name="line-384"></a>
<a name="line-385"></a>
<a name="line-386"></a><a name="selectionDataGetTarget"></a><span class='hs-comment'>-- | Retrieve the currently set 'TargetTag' in the selection.</span>
<a name="line-387"></a><span class='hs-definition'>selectionDataGetTarget</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>TargetTag</span>
<a name="line-388"></a><span class='hs-definition'>selectionDataGetTarget</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-389"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-390"></a>  <span class='hs-varid'>liftM</span> <span class='hs-conid'>Atom</span> <span class='hs-varop'>$</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>ptr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <span class='hs-layout'>{</span><span class='hs-varid'>peekByteOff</span> <span class='hs-varid'>ptr</span> <span class='hs-num'>4</span> <span class='hs-keyglyph'>::</span><span class='hs-conid'>IO</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-layout'>}</span><span class='hs-layout'>)</span> <span class='hs-varid'>selPtr</span>
<a name="line-391"></a>
<a name="line-392"></a><a name="selectionDataSetTarget"></a><span class='hs-comment'>-- | Set the selection to the given 'TargetTag'.</span>
<a name="line-393"></a><span class='hs-definition'>selectionDataSetTarget</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TargetTag</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>()</span>
<a name="line-394"></a><span class='hs-definition'>selectionDataSetTarget</span> <span class='hs-layout'>(</span><span class='hs-conid'>Atom</span> <span class='hs-varid'>targetTag</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-395"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-396"></a>  <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>ptr</span> <span class='hs-varid'>val</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span> <span class='hs-layout'>{</span><span class='hs-varid'>pokeByteOff</span> <span class='hs-varid'>ptr</span> <span class='hs-num'>4</span> <span class='hs-layout'>(</span><span class='hs-varid'>val</span><span class='hs-keyglyph'>::</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-layout'>)</span><span class='hs-layout'>}</span><span class='hs-layout'>)</span> <span class='hs-varid'>selPtr</span> <span class='hs-varid'>targetTag</span>
<a name="line-397"></a>
<a name="line-398"></a><a name="selectionDataGetTargets"></a><span class='hs-comment'>-- %hash c:e659 d:af3f</span>
<a name="line-399"></a><span class='hs-comment'>-- | Queries the content type of the selection data as a list of targets.</span>
<a name="line-400"></a><span class='hs-comment'>-- Whenever the application is asked whether certain targets are acceptable,</span>
<a name="line-401"></a><span class='hs-comment'>-- it is handed a selection that contains a list of 'TargetTag's as payload.</span>
<a name="line-402"></a><span class='hs-comment'>-- A similar result could be achieved using 'selectionDataGet</span>
<a name="line-403"></a><span class='hs-comment'>-- selectionTypeAtom'.</span>
<a name="line-404"></a><span class='hs-comment'>--</span>
<a name="line-405"></a><span class='hs-definition'>selectionDataGetTargets</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>TargetTag</span><span class='hs-keyglyph'>]</span>
<a name="line-406"></a><span class='hs-definition'>selectionDataGetTargets</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-407"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-408"></a>  <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span> <span class='hs-varid'>alloca</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>nAtomsPtr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>alloca</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>targetPtrPtr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-409"></a>    <span class='hs-varid'>valid</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-410"></a>      <span class='hs-varid'>gtk_selection_data_get_targets</span> <span class='hs-varid'>selPtr</span> <span class='hs-varid'>targetPtrPtr</span> <span class='hs-varid'>nAtomsPtr</span>
<a name="line-411"></a>    <span class='hs-keyword'>if</span> <span class='hs-varid'>not</span> <span class='hs-varid'>valid</span> <span class='hs-keyword'>then</span> <span class='hs-varid'>return</span> <span class='hs-conid'>[]</span> <span class='hs-keyword'>else</span> <span class='hs-keyword'>do</span>
<a name="line-412"></a>      <span class='hs-varid'>len</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>peek</span> <span class='hs-varid'>nAtomsPtr</span>
<a name="line-413"></a>      <span class='hs-varid'>targetPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>peek</span> <span class='hs-varid'>targetPtrPtr</span>
<a name="line-414"></a>      <span class='hs-varid'>targetPtrs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>peekArray</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>len</span><span class='hs-layout'>)</span> <span class='hs-varid'>targetPtr</span>
<a name="line-415"></a>      <span class='hs-varid'>g_free</span> <span class='hs-layout'>(</span><span class='hs-varid'>castPtr</span> <span class='hs-varid'>targetPtr</span><span class='hs-layout'>)</span>
<a name="line-416"></a>      <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>map</span> <span class='hs-conid'>Atom</span> <span class='hs-varid'>targetPtrs</span><span class='hs-layout'>)</span>
<a name="line-417"></a>
<a name="line-418"></a>
<a name="line-419"></a><a name="selectionDataTargetsIncludeImage"></a><span class='hs-comment'>-- %hash c:5a8 d:af3f</span>
<a name="line-420"></a><span class='hs-comment'>-- | Given a 'SelectionDataM' holding a list of targets, determines if any of</span>
<a name="line-421"></a><span class='hs-comment'>-- the targets in targets can be used to provide a 'Pixbuf'.</span>
<a name="line-422"></a><span class='hs-comment'>--</span>
<a name="line-423"></a><span class='hs-comment'>-- * Since Gtk 2.6</span>
<a name="line-424"></a><span class='hs-comment'>--</span>
<a name="line-425"></a><span class='hs-definition'>selectionDataTargetsIncludeImage</span> <span class='hs-keyglyph'>::</span>
<a name="line-426"></a>  <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ whether to accept only targets for which GTK+ knows how to convert a</span>
<a name="line-427"></a>       <span class='hs-comment'>-- pixbuf into the format</span>
<a name="line-428"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>Bool</span>
<a name="line-429"></a><span class='hs-definition'>selectionDataTargetsIncludeImage</span> <span class='hs-varid'>writable</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-430"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-431"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span>
<a name="line-432"></a>    <span class='hs-varid'>gtk_selection_data_targets_include_image</span>
<a name="line-433"></a><span class='hs-comment'>{-# LINE 422 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-434"></a>    <span class='hs-varid'>selPtr</span>
<a name="line-435"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>writable</span><span class='hs-layout'>)</span>
<a name="line-436"></a>
<a name="line-437"></a>
<a name="line-438"></a><a name="selectionDataTargetsIncludeText"></a><span class='hs-comment'>-- %hash c:abe8 d:af3f</span>
<a name="line-439"></a><span class='hs-comment'>-- | Given a 'SelectionDataM' holding a list of targets, determines if any of</span>
<a name="line-440"></a><span class='hs-comment'>-- the targets in targets can be used to provide text.</span>
<a name="line-441"></a><span class='hs-comment'>--</span>
<a name="line-442"></a><span class='hs-definition'>selectionDataTargetsIncludeText</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>Bool</span>
<a name="line-443"></a><span class='hs-definition'>selectionDataTargetsIncludeText</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-444"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-445"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span>
<a name="line-446"></a>    <span class='hs-varid'>gtk_selection_data_targets_include_text</span>
<a name="line-447"></a><span class='hs-comment'>{-# LINE 435 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-448"></a>    <span class='hs-varid'>selPtr</span>
<a name="line-449"></a>
<a name="line-450"></a>
<a name="line-451"></a><a name="selectionDataTargetsIncludeUri"></a><span class='hs-comment'>-- | Given a 'SelectionDataM' holding a list of targets, determines if any of</span>
<a name="line-452"></a><span class='hs-comment'>-- the targets in targets can be used to provide URIs.</span>
<a name="line-453"></a><span class='hs-comment'>--</span>
<a name="line-454"></a><span class='hs-comment'>-- * Since Gtk 2.10</span>
<a name="line-455"></a><span class='hs-comment'>--</span>
<a name="line-456"></a><span class='hs-definition'>selectionDataTargetsIncludeUri</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>Bool</span>
<a name="line-457"></a><span class='hs-definition'>selectionDataTargetsIncludeUri</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-458"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-459"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span>
<a name="line-460"></a>    <span class='hs-varid'>gtk_selection_data_targets_include_uri</span>
<a name="line-461"></a><span class='hs-comment'>{-# LINE 448 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-462"></a>    <span class='hs-varid'>selPtr</span>
<a name="line-463"></a>
<a name="line-464"></a><a name="selectionDataTargetsIncludeRichText"></a><span class='hs-comment'>-- | Given a 'SelectionDataM' holding a list of targets, check if,</span>
<a name="line-465"></a><span class='hs-comment'>-- well, dunno really. FIXME: what does the 'TextBuffer' do?</span>
<a name="line-466"></a><span class='hs-comment'>--</span>
<a name="line-467"></a><span class='hs-comment'>-- * Since Gtk 2.10</span>
<a name="line-468"></a><span class='hs-comment'>--</span>
<a name="line-469"></a><span class='hs-definition'>selectionDataTargetsIncludeRichText</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>TextBufferClass</span> <span class='hs-varid'>tb</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>tb</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-470"></a>                                       <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>Bool</span>
<a name="line-471"></a><span class='hs-definition'>selectionDataTargetsIncludeRichText</span> <span class='hs-varid'>tb</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-472"></a>  <span class='hs-varid'>selPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>ask</span>
<a name="line-473"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span> <span class='hs-varid'>liftIO</span> <span class='hs-varop'>$</span>
<a name="line-474"></a>    <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>arg1</span> <span class='hs-layout'>(</span><span class='hs-conid'>TextBuffer</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'>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_selection_data_targets_include_rich_text</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>argPtr2</span><span class='hs-layout'>)</span>
<a name="line-475"></a><span class='hs-comment'>{-# LINE 461 "./Graphics/UI/Gtk/General/Selection.chs" #-}</span>
<a name="line-476"></a>    <span class='hs-varid'>selPtr</span> <span class='hs-layout'>(</span><span class='hs-varid'>toTextBuffer</span> <span class='hs-varid'>tb</span><span class='hs-layout'>)</span>
<a name="line-477"></a>
<a name="line-478"></a>
<a name="line-479"></a><span class='hs-comment'>--------------------</span>
<a name="line-480"></a><span class='hs-comment'>-- Signals</span>
<a name="line-481"></a>
<a name="line-482"></a><a name="selectionReceived"></a><span class='hs-comment'>-- %hash c:f7c3 d:af3f</span>
<a name="line-483"></a><span class='hs-comment'>-- | Pass the supplied selection data to the application. The application is</span>
<a name="line-484"></a><span class='hs-comment'>-- expected to read the data using 'selectionDataGet' or one of its</span>
<a name="line-485"></a><span class='hs-comment'>-- derivatives.</span>
<a name="line-486"></a><span class='hs-comment'>--</span>
<a name="line-487"></a><span class='hs-definition'>selectionReceived</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>WidgetClass</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'>TimeStamp</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-488"></a><span class='hs-definition'>selectionReceived</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>after</span> <span class='hs-varid'>object</span> <span class='hs-varid'>handler</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-489"></a>    <span class='hs-varid'>connect_PTR_WORD__NONE</span> <span class='hs-str'>"selection_received"</span> <span class='hs-varid'>after</span> <span class='hs-varid'>object</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>dataPtr</span> <span class='hs-varid'>time</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-490"></a>      <span class='hs-varid'>runReaderT</span> <span class='hs-layout'>(</span><span class='hs-varid'>handler</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>time</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varid'>dataPtr</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-491"></a>
<a name="line-492"></a><a name="selectionGet"></a><span class='hs-comment'>-- %hash c:c3 d:af3f</span>
<a name="line-493"></a><span class='hs-comment'>-- | Emitted in order to ask the application for selection data. Within the</span>
<a name="line-494"></a><span class='hs-comment'>-- handler the function 'selectionDataSet' or one of its derivatives should be</span>
<a name="line-495"></a><span class='hs-comment'>-- called.</span>
<a name="line-496"></a><span class='hs-comment'>--</span>
<a name="line-497"></a><span class='hs-definition'>selectionGet</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>WidgetClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span>
<a name="line-498"></a>                <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>InfoId</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>TimeStamp</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>SelectionDataM</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-499"></a><span class='hs-definition'>selectionGet</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>after</span> <span class='hs-varid'>object</span> <span class='hs-varid'>handler</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-500"></a>    <span class='hs-varid'>connect_PTR_WORD_WORD__NONE</span> <span class='hs-str'>"selection_get"</span> <span class='hs-varid'>after</span> <span class='hs-varid'>object</span> <span class='hs-varop'>$</span>
<a name="line-501"></a>      <span class='hs-keyglyph'>\</span><span class='hs-varid'>dataPtr</span> <span class='hs-varid'>info</span> <span class='hs-varid'>time</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-502"></a>      <span class='hs-varid'>runReaderT</span> <span class='hs-layout'>(</span><span class='hs-varid'>handler</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>info</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>time</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varid'>dataPtr</span> <span class='hs-varop'>&gt;&gt;</span>
<a name="line-503"></a>                  <span class='hs-varid'>return</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-504"></a>
<a name="line-505"></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_target_list_add"</span>
<a name="line-506"></a>  <span class='hs-varid'>gtk_target_list_add</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'>TargetList</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'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CUInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CUInt</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-507"></a>
<a name="line-508"></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_target_list_add_text_targets"</span>
<a name="line-509"></a>  <span class='hs-varid'>gtk_target_list_add_text_targets</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'>TargetList</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CUInt</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-510"></a>
<a name="line-511"></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_target_list_add_image_targets"</span>
<a name="line-512"></a>  <span class='hs-varid'>gtk_target_list_add_image_targets</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'>TargetList</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CUInt</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-513"></a>
<a name="line-514"></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_target_list_add_uri_targets"</span>
<a name="line-515"></a>  <span class='hs-varid'>gtk_target_list_add_uri_targets</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'>TargetList</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CUInt</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-516"></a>
<a name="line-517"></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_target_list_add_rich_text_targets"</span>
<a name="line-518"></a>  <span class='hs-varid'>gtk_target_list_add_rich_text_targets</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'>TargetList</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CUInt</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-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><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-519"></a>
<a name="line-520"></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_target_list_remove"</span>
<a name="line-521"></a>  <span class='hs-varid'>gtk_target_list_remove</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'>TargetList</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'>()</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-522"></a>
<a name="line-523"></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_selection_add_target"</span>
<a name="line-524"></a>  <span class='hs-varid'>gtk_selection_add_target</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'>Widget</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'>()</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'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CUInt</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-525"></a>
<a name="line-526"></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_selection_clear_targets"</span>
<a name="line-527"></a>  <span class='hs-varid'>gtk_selection_clear_targets</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'>Widget</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'>()</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-528"></a>
<a name="line-529"></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_selection_owner_set"</span>
<a name="line-530"></a>  <span class='hs-varid'>gtk_selection_owner_set</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'>Widget</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'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CUInt</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-531"></a>
<a name="line-532"></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_selection_owner_set_for_display"</span>
<a name="line-533"></a>  <span class='hs-varid'>gtk_selection_owner_set_for_display</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'>Display</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'>Widget</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'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CUInt</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-534"></a>
<a name="line-535"></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_selection_remove_all"</span>
<a name="line-536"></a>  <span class='hs-varid'>gtk_selection_remove_all</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'>Widget</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-537"></a>
<a name="line-538"></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_selection_data_set"</span>
<a name="line-539"></a>  <span class='hs-varid'>gtk_selection_data_set</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-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'>CInt</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'>CUChar</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><span class='hs-layout'>)</span>
<a name="line-540"></a>
<a name="line-541"></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_selection_data_set_text"</span>
<a name="line-542"></a>  <span class='hs-varid'>gtk_selection_data_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'>()</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'>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-543"></a>
<a name="line-544"></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_selection_data_get_text"</span>
<a name="line-545"></a>  <span class='hs-varid'>gtk_selection_data_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'>()</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'>CUChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-546"></a>
<a name="line-547"></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-548"></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-549"></a>
<a name="line-550"></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_selection_data_set_pixbuf"</span>
<a name="line-551"></a>  <span class='hs-varid'>gtk_selection_data_set_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'>()</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'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-552"></a>
<a name="line-553"></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_selection_data_get_pixbuf"</span>
<a name="line-554"></a>  <span class='hs-varid'>gtk_selection_data_get_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'>()</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'>Pixbuf</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-555"></a>
<a name="line-556"></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_selection_data_set_uris"</span>
<a name="line-557"></a>  <span class='hs-varid'>gtk_selection_data_set_uris</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-layout'>(</span><span class='hs-conid'>Ptr</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-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>
<a name="line-558"></a>
<a name="line-559"></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_selection_data_get_uris"</span>
<a name="line-560"></a>  <span class='hs-varid'>gtk_selection_data_get_uris</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-layout'>(</span><span class='hs-conid'>Ptr</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>
<a name="line-561"></a>
<a name="line-562"></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_strfreev"</span>
<a name="line-563"></a>  <span class='hs-varid'>g_strfreev</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-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-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-564"></a>
<a name="line-565"></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_selection_data_get_targets"</span>
<a name="line-566"></a>  <span class='hs-varid'>gtk_selection_data_get_targets</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-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</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-layout'>)</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'>CInt</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-567"></a>
<a name="line-568"></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_selection_data_targets_include_image"</span>
<a name="line-569"></a>  <span class='hs-varid'>gtk_selection_data_targets_include_image</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'>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>
<a name="line-570"></a>
<a name="line-571"></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_selection_data_targets_include_text"</span>
<a name="line-572"></a>  <span class='hs-varid'>gtk_selection_data_targets_include_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'>()</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-573"></a>
<a name="line-574"></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_selection_data_targets_include_uri"</span>
<a name="line-575"></a>  <span class='hs-varid'>gtk_selection_data_targets_include_uri</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'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-576"></a>
<a name="line-577"></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_selection_data_targets_include_rich_text"</span>
<a name="line-578"></a>  <span class='hs-varid'>gtk_selection_data_targets_include_rich_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'>()</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'>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><span class='hs-layout'>)</span>
</pre></body>
</html>