Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 404d46ca9bb341d7a0e7e04bc69da9df > files > 1310

ghc-gtk-devel-0.12.0-4.fc15.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/Printing/PrintOperation.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/Printing/PrintOperation.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) Widget PrintOperation</span>
<a name="line-5"></a><span class='hs-comment'>--</span>
<a name="line-6"></a><span class='hs-comment'>-- Author : Andy Stewart</span>
<a name="line-7"></a><span class='hs-comment'>--</span>
<a name="line-8"></a><span class='hs-comment'>-- Created: 28 Mar 2010</span>
<a name="line-9"></a><span class='hs-comment'>--</span>
<a name="line-10"></a><span class='hs-comment'>-- Copyright (C) 2010 Andy Stewart</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'>-- |</span>
<a name="line-23"></a><span class='hs-comment'>-- Maintainer : gtk2hs-users@lists.sourceforge.net</span>
<a name="line-24"></a><span class='hs-comment'>-- Stability : provisional</span>
<a name="line-25"></a><span class='hs-comment'>-- Portability : portable (depends on GHC)</span>
<a name="line-26"></a><span class='hs-comment'>--</span>
<a name="line-27"></a><span class='hs-comment'>-- High-level Printing API</span>
<a name="line-28"></a><span class='hs-comment'>--</span>
<a name="line-29"></a><span class='hs-comment'>-- * Module available since Gtk+ version 2.10</span>
<a name="line-30"></a><span class='hs-comment'>--</span>
<a name="line-31"></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'>Printing</span><span class='hs-varop'>.</span><span class='hs-conid'>PrintOperation</span> <span class='hs-layout'>(</span>
<a name="line-32"></a>
<a name="line-33"></a><span class='hs-comment'>-- * Detail</span>
<a name="line-34"></a><span class='hs-comment'>--</span>
<a name="line-35"></a><span class='hs-comment'>-- | 'PrintOperation' is the high-level, portable printing API. It looks a bit</span>
<a name="line-36"></a><span class='hs-comment'>-- different than other Gtk+ dialogs such as the 'FileChooser', since some</span>
<a name="line-37"></a><span class='hs-comment'>-- platforms don't expose enough infrastructure to implement a good print</span>
<a name="line-38"></a><span class='hs-comment'>-- dialog. On such platforms, 'PrintOperation' uses the native print dialog. On</span>
<a name="line-39"></a><span class='hs-comment'>-- platforms which do not provide a native print dialog, Gtk+ uses its own, see</span>
<a name="line-40"></a><span class='hs-comment'>-- 'PrintUnixDialog'.</span>
<a name="line-41"></a><span class='hs-comment'>--</span>
<a name="line-42"></a><span class='hs-comment'>-- The typical way to use the high-level printing API is to create a</span>
<a name="line-43"></a><span class='hs-comment'>-- 'PrintOperation' object with 'printOperationNew' when the user selects to</span>
<a name="line-44"></a><span class='hs-comment'>-- print. Then you set some properties on it, e.g. the page size, any</span>
<a name="line-45"></a><span class='hs-comment'>-- 'PrintSettings' from previous print operations, the number of pages, the</span>
<a name="line-46"></a><span class='hs-comment'>-- current page, etc.</span>
<a name="line-47"></a><span class='hs-comment'>--</span>
<a name="line-48"></a><span class='hs-comment'>-- Then you start the print operation by calling 'printOperationRun'. It</span>
<a name="line-49"></a><span class='hs-comment'>-- will then show a dialog, let the user select a printer and options. When the</span>
<a name="line-50"></a><span class='hs-comment'>-- user finished the dialog various signals will be emitted on the</span>
<a name="line-51"></a><span class='hs-comment'>-- 'PrintOperation', the main one being 'draw-page' signal, which you are supposed to</span>
<a name="line-52"></a><span class='hs-comment'>-- catch and render the page on the provided 'PrintContext' using Cairo.</span>
<a name="line-53"></a><span class='hs-comment'>--</span>
<a name="line-54"></a><span class='hs-comment'>-- By default 'PrintOperation' uses an external application to do print</span>
<a name="line-55"></a><span class='hs-comment'>-- preview. To implement a custom print preview, an application must connect to</span>
<a name="line-56"></a><span class='hs-comment'>-- the preview signal. The functions 'printOperationPrintPreviewRenderPage',</span>
<a name="line-57"></a><span class='hs-comment'>-- 'printOperationPreviewEndPreview' and 'printOperationPreviewIsSelected' are</span>
<a name="line-58"></a><span class='hs-comment'>-- useful when implementing a print preview.</span>
<a name="line-59"></a><span class='hs-comment'>--</span>
<a name="line-60"></a><span class='hs-comment'>-- Printing support was added in Gtk+ 2.10.</span>
<a name="line-61"></a><span class='hs-comment'>--</span>
<a name="line-62"></a>
<a name="line-63"></a><span class='hs-comment'>-- * Class Hierarchy</span>
<a name="line-64"></a><span class='hs-comment'>--</span>
<a name="line-65"></a><span class='hs-comment'>-- |</span>
<a name="line-66"></a><span class='hs-comment'>-- @</span>
<a name="line-67"></a><span class='hs-comment'>-- | 'GObject'</span>
<a name="line-68"></a><span class='hs-comment'>-- | +----PrintOperation</span>
<a name="line-69"></a><span class='hs-comment'>-- @</span>
<a name="line-70"></a>
<a name="line-71"></a>
<a name="line-72"></a><span class='hs-comment'>-- * Types</span>
<a name="line-73"></a>  <span class='hs-conid'>PrintOperation</span><span class='hs-layout'>,</span>
<a name="line-74"></a>  <span class='hs-conid'>PrintOperationClass</span><span class='hs-layout'>,</span>
<a name="line-75"></a>  <span class='hs-varid'>castToPrintOperation</span><span class='hs-layout'>,</span>
<a name="line-76"></a>  <span class='hs-varid'>toPrintOperation</span><span class='hs-layout'>,</span>
<a name="line-77"></a>
<a name="line-78"></a>  <span class='hs-conid'>PrintOperationPreview</span><span class='hs-layout'>,</span>
<a name="line-79"></a>  <span class='hs-conid'>PrintOperationPreviewClass</span><span class='hs-layout'>,</span>
<a name="line-80"></a>  <span class='hs-varid'>castToPrintOperationPreview</span><span class='hs-layout'>,</span>
<a name="line-81"></a>  <span class='hs-varid'>toPrintOperationPreview</span><span class='hs-layout'>,</span>
<a name="line-82"></a>
<a name="line-83"></a><span class='hs-comment'>-- * Enums</span>
<a name="line-84"></a>  <span class='hs-conid'>PrintStatus</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-85"></a>  <span class='hs-conid'>PrintOperationAction</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-86"></a>  <span class='hs-conid'>PrintOperationResult</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-87"></a>  <span class='hs-conid'>PrintError</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-88"></a>
<a name="line-89"></a><span class='hs-comment'>-- * Constructors</span>
<a name="line-90"></a>  <span class='hs-varid'>printOperationNew</span><span class='hs-layout'>,</span>
<a name="line-91"></a>
<a name="line-92"></a><span class='hs-comment'>-- * Methods</span>
<a name="line-93"></a>  <span class='hs-varid'>printOperationSetAllowAsync</span><span class='hs-layout'>,</span>
<a name="line-94"></a>  <span class='hs-varid'>printOperationGetError</span><span class='hs-layout'>,</span>
<a name="line-95"></a>
<a name="line-96"></a>  <span class='hs-varid'>printOperationGetNPagesToPrint</span><span class='hs-layout'>,</span>
<a name="line-97"></a>
<a name="line-98"></a>  <span class='hs-varid'>printOperationRun</span><span class='hs-layout'>,</span>
<a name="line-99"></a>  <span class='hs-varid'>printOperationCancel</span><span class='hs-layout'>,</span>
<a name="line-100"></a>
<a name="line-101"></a>  <span class='hs-varid'>printOperationDrawPageFinish</span><span class='hs-layout'>,</span>
<a name="line-102"></a>  <span class='hs-varid'>printOperationSetDeferDrawing</span><span class='hs-layout'>,</span>
<a name="line-103"></a>
<a name="line-104"></a>  <span class='hs-varid'>printOperationGetStatus</span><span class='hs-layout'>,</span>
<a name="line-105"></a>  <span class='hs-varid'>printOperationGetStatusString</span><span class='hs-layout'>,</span>
<a name="line-106"></a>  <span class='hs-varid'>printOperationIsFinished</span><span class='hs-layout'>,</span>
<a name="line-107"></a>  <span class='hs-varid'>printRunPageSetupDialog</span><span class='hs-layout'>,</span>
<a name="line-108"></a>  <span class='hs-varid'>printRunPageSetupDialogAsync</span><span class='hs-layout'>,</span>
<a name="line-109"></a>
<a name="line-110"></a>  <span class='hs-varid'>printOperationPreviewEndPreview</span><span class='hs-layout'>,</span>
<a name="line-111"></a>  <span class='hs-varid'>printOperationPreviewIsSelected</span><span class='hs-layout'>,</span>
<a name="line-112"></a>  <span class='hs-varid'>printOperationPreviewRenderPage</span><span class='hs-layout'>,</span>
<a name="line-113"></a>
<a name="line-114"></a><span class='hs-comment'>-- * Attributes</span>
<a name="line-115"></a>  <span class='hs-varid'>printOperationDefaultPageSetup</span><span class='hs-layout'>,</span>
<a name="line-116"></a>  <span class='hs-varid'>printOperationPrintSettings</span><span class='hs-layout'>,</span>
<a name="line-117"></a>  <span class='hs-varid'>printOperationJobName</span><span class='hs-layout'>,</span>
<a name="line-118"></a>  <span class='hs-varid'>printOperationNPages</span><span class='hs-layout'>,</span>
<a name="line-119"></a>  <span class='hs-varid'>printOperationCurrentPage</span><span class='hs-layout'>,</span>
<a name="line-120"></a>  <span class='hs-varid'>printOperationUseFullPage</span><span class='hs-layout'>,</span>
<a name="line-121"></a>  <span class='hs-varid'>printOperationTrackPrintStatus</span><span class='hs-layout'>,</span>
<a name="line-122"></a>  <span class='hs-varid'>printOperationUnit</span><span class='hs-layout'>,</span>
<a name="line-123"></a>  <span class='hs-varid'>printOperationShowProgress</span><span class='hs-layout'>,</span>
<a name="line-124"></a>  <span class='hs-varid'>printOperationAllowAsync</span><span class='hs-layout'>,</span>
<a name="line-125"></a>  <span class='hs-varid'>printOperationExportFilename</span><span class='hs-layout'>,</span>
<a name="line-126"></a>  <span class='hs-varid'>printOperationStatus</span><span class='hs-layout'>,</span>
<a name="line-127"></a>  <span class='hs-varid'>printOperationStatusString</span><span class='hs-layout'>,</span>
<a name="line-128"></a>  <span class='hs-varid'>printOperationCustomTabLabel</span><span class='hs-layout'>,</span>
<a name="line-129"></a>
<a name="line-130"></a>  <span class='hs-varid'>printOperationSupportSelection</span><span class='hs-layout'>,</span>
<a name="line-131"></a>  <span class='hs-varid'>printOperationHasSelection</span><span class='hs-layout'>,</span>
<a name="line-132"></a>  <span class='hs-varid'>printOperationEmbedPageSetup</span><span class='hs-layout'>,</span>
<a name="line-133"></a>  <span class='hs-varid'>printOperationNPagesToPrint</span><span class='hs-layout'>,</span>
<a name="line-134"></a>
<a name="line-135"></a>
<a name="line-136"></a><span class='hs-comment'>-- * Signals</span>
<a name="line-137"></a>  <span class='hs-varid'>printOptDone</span><span class='hs-layout'>,</span>
<a name="line-138"></a>  <span class='hs-varid'>printOptBeginPrint</span><span class='hs-layout'>,</span>
<a name="line-139"></a>  <span class='hs-varid'>printOptPaginate</span><span class='hs-layout'>,</span>
<a name="line-140"></a>  <span class='hs-varid'>printOptRequestPageSetup</span><span class='hs-layout'>,</span>
<a name="line-141"></a>  <span class='hs-varid'>printOptDrawPage</span><span class='hs-layout'>,</span>
<a name="line-142"></a>  <span class='hs-varid'>printOptEndPrint</span><span class='hs-layout'>,</span>
<a name="line-143"></a>  <span class='hs-varid'>printOptStatusChanged</span><span class='hs-layout'>,</span>
<a name="line-144"></a>  <span class='hs-varid'>printOptCreateCustomWidget</span><span class='hs-layout'>,</span>
<a name="line-145"></a>
<a name="line-146"></a>  <span class='hs-varid'>printOptUpdateCustomWidget</span><span class='hs-layout'>,</span>
<a name="line-147"></a>
<a name="line-148"></a>  <span class='hs-varid'>printOptCustomWidgetApply</span><span class='hs-layout'>,</span>
<a name="line-149"></a>  <span class='hs-varid'>printOptPreview</span><span class='hs-layout'>,</span>
<a name="line-150"></a>  <span class='hs-varid'>printOptReady</span><span class='hs-layout'>,</span>
<a name="line-151"></a>  <span class='hs-varid'>printOptGotPageSize</span><span class='hs-layout'>,</span>
<a name="line-152"></a>
<a name="line-153"></a>  <span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-154"></a>
<a name="line-155"></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-156"></a>
<a name="line-157"></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-158"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>Attributes</span>
<a name="line-159"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>Properties</span>
<a name="line-160"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>UTFString</span>
<a name="line-161"></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'>GError</span>
<a name="line-162"></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-163"></a><span class='hs-comment'>{-# LINE 162 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-164"></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-165"></a><span class='hs-comment'>{-# LINE 163 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-166"></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'>Printing</span><span class='hs-varop'>.</span><span class='hs-conid'>PaperSize</span> <span class='hs-layout'>(</span><span class='hs-conid'>Unit</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-167"></a>
<a name="line-168"></a>
<a name="line-169"></a><span class='hs-comment'>{-# LINE 166 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-170"></a>
<a name="line-171"></a>
<a name="line-172"></a><span class='hs-comment'>--------------------</span>
<a name="line-173"></a><span class='hs-comment'>-- Interfaces</span>
<a name="line-174"></a>
<a name="line-175"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>PrintOperationPreviewClass</span> <span class='hs-conid'>PrintOperation</span>
<a name="line-176"></a>
<a name="line-177"></a><a name="PrintStatus"></a><span class='hs-comment'>--------------------</span>
<a name="line-178"></a><a name="PrintStatus"></a><span class='hs-comment'>-- Enums</span>
<a name="line-179"></a><a name="PrintStatus"></a><span class='hs-comment'>-- | The status gives a rough indication of the completion of a running print operation.</span>
<a name="line-180"></a><a name="PrintStatus"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>PrintStatus</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>PrintStatusInitial</span>
<a name="line-181"></a>                 <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintStatusPreparing</span>
<a name="line-182"></a>                 <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintStatusGeneratingData</span>
<a name="line-183"></a>                 <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintStatusSendingData</span>
<a name="line-184"></a>                 <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintStatusPending</span>
<a name="line-185"></a>                 <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintStatusPendingIssue</span>
<a name="line-186"></a>                 <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintStatusPrinting</span>
<a name="line-187"></a>                 <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintStatusFinished</span>
<a name="line-188"></a>                 <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintStatusFinishedAborted</span>
<a name="line-189"></a>                 <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Enum</span><span class='hs-layout'>,</span><span class='hs-conid'>Bounded</span><span class='hs-layout'>,</span><span class='hs-conid'>Eq</span><span class='hs-layout'>,</span><span class='hs-conid'>Show</span><span class='hs-layout'>)</span>
<a name="line-190"></a>
<a name="line-191"></a><span class='hs-comment'>{-# LINE 177 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-192"></a>
<a name="line-193"></a><a name="PrintOperationAction"></a><span class='hs-comment'>-- | The action parameter to 'printOperationRun' determines what action the print operation should</span>
<a name="line-194"></a><a name="PrintOperationAction"></a><span class='hs-comment'>-- perform.</span>
<a name="line-195"></a><a name="PrintOperationAction"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>PrintOperationAction</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>PrintOperationActionPrintDialog</span>
<a name="line-196"></a>                          <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintOperationActionPrint</span>
<a name="line-197"></a>                          <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintOperationActionPreview</span>
<a name="line-198"></a>                          <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintOperationActionExport</span>
<a name="line-199"></a>                          <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Enum</span><span class='hs-layout'>,</span><span class='hs-conid'>Bounded</span><span class='hs-layout'>,</span><span class='hs-conid'>Eq</span><span class='hs-layout'>,</span><span class='hs-conid'>Show</span><span class='hs-layout'>)</span>
<a name="line-200"></a>
<a name="line-201"></a><span class='hs-comment'>{-# LINE 181 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-202"></a>
<a name="line-203"></a><a name="PrintOperationResult"></a><span class='hs-comment'>-- | A value of this type is returned by 'printOperationRun'.</span>
<a name="line-204"></a><a name="PrintOperationResult"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>PrintOperationResult</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>PrintOperationResultError</span>
<a name="line-205"></a>                          <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintOperationResultApply</span>
<a name="line-206"></a>                          <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintOperationResultCancel</span>
<a name="line-207"></a>                          <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintOperationResultInProgress</span>
<a name="line-208"></a>                          <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Enum</span><span class='hs-layout'>,</span><span class='hs-conid'>Bounded</span><span class='hs-layout'>,</span><span class='hs-conid'>Eq</span><span class='hs-layout'>,</span><span class='hs-conid'>Show</span><span class='hs-layout'>)</span>
<a name="line-209"></a>
<a name="line-210"></a><span class='hs-comment'>{-# LINE 184 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-211"></a>
<a name="line-212"></a><a name="PrintError"></a><span class='hs-comment'>-- | Error codes that identify various errors that can occur while using the GTK+ printing support.</span>
<a name="line-213"></a><a name="PrintError"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>PrintError</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>PrintErrorGeneral</span>
<a name="line-214"></a>                <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintErrorInternalError</span>
<a name="line-215"></a>                <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintErrorNomem</span>
<a name="line-216"></a>                <span class='hs-keyglyph'>|</span> <span class='hs-conid'>PrintErrorInvalidFile</span>
<a name="line-217"></a>                <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Enum</span><span class='hs-layout'>,</span><span class='hs-conid'>Bounded</span><span class='hs-layout'>,</span><span class='hs-conid'>Eq</span><span class='hs-layout'>,</span><span class='hs-conid'>Show</span><span class='hs-layout'>)</span>
<a name="line-218"></a>
<a name="line-219"></a><span class='hs-comment'>{-# LINE 187 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-220"></a>
<a name="line-221"></a><span class='hs-comment'>--------------------</span>
<a name="line-222"></a><span class='hs-comment'>-- Constructors</span>
<a name="line-223"></a>
<a name="line-224"></a><a name="printOperationNew"></a><span class='hs-comment'>-- | Creates a new 'PrintOperation'.</span>
<a name="line-225"></a><span class='hs-comment'>--</span>
<a name="line-226"></a><span class='hs-definition'>printOperationNew</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>PrintOperation</span>
<a name="line-227"></a><span class='hs-definition'>printOperationNew</span> <span class='hs-keyglyph'>=</span>
<a name="line-228"></a>  <span class='hs-varid'>wrapNewGObject</span> <span class='hs-varid'>mkPrintOperation</span> <span class='hs-varop'>$</span>
<a name="line-229"></a>  <span class='hs-varid'>gtk_print_operation_new</span>
<a name="line-230"></a><span class='hs-comment'>{-# LINE 197 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-231"></a>
<a name="line-232"></a><span class='hs-comment'>--------------------</span>
<a name="line-233"></a><span class='hs-comment'>-- Methods</span>
<a name="line-234"></a>
<a name="line-235"></a><a name="printOperationSetAllowAsync"></a><span class='hs-comment'>-- | Sets whether the 'printOperationRun' may return before the print</span>
<a name="line-236"></a><span class='hs-comment'>-- operation is completed. Note that some platforms may not allow asynchronous</span>
<a name="line-237"></a><span class='hs-comment'>-- operation.</span>
<a name="line-238"></a><span class='hs-comment'>--</span>
<a name="line-239"></a><span class='hs-definition'>printOperationSetAllowAsync</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-240"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @allowAsync@ - @True@ to allow asynchronous operation</span>
<a name="line-241"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-242"></a><span class='hs-definition'>printOperationSetAllowAsync</span> <span class='hs-varid'>self</span> <span class='hs-varid'>allowAsync</span> <span class='hs-keyglyph'>=</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'>PrintOperation</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_print_operation_set_allow_async</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-244"></a><span class='hs-comment'>{-# LINE 210 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-245"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-246"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>allowAsync</span><span class='hs-layout'>)</span>
<a name="line-247"></a>
<a name="line-248"></a><a name="printOperationGetError"></a><span class='hs-comment'>-- | Call this when the result of a print operation is</span>
<a name="line-249"></a><span class='hs-comment'>-- 'PrintOperationResultError', either as returned by 'printOperationRun', or</span>
<a name="line-250"></a><span class='hs-comment'>-- in the 'done' signal handler. The returned</span>
<a name="line-251"></a><span class='hs-comment'>-- 'GError' will contain more details on what went wrong.</span>
<a name="line-252"></a><span class='hs-comment'>--</span>
<a name="line-253"></a><span class='hs-definition'>printOperationGetError</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-254"></a><span class='hs-definition'>printOperationGetError</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-255"></a>  <span class='hs-varid'>propagateGError</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>errorPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-256"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_get_error</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-257"></a><span class='hs-comment'>{-# LINE 222 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-258"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-259"></a>    <span class='hs-varid'>errorPtr</span>
<a name="line-260"></a>
<a name="line-261"></a><a name="printOperationSetJobName"></a><span class='hs-comment'>-- | Sets the name of the print job. The name is used to identify the job</span>
<a name="line-262"></a><span class='hs-comment'>-- (e.g. in monitoring applications like eggcups).</span>
<a name="line-263"></a><span class='hs-comment'>--</span>
<a name="line-264"></a><span class='hs-comment'>-- If you don't set a job name, Gtk+ picks a default one by numbering</span>
<a name="line-265"></a><span class='hs-comment'>-- successive print jobs.</span>
<a name="line-266"></a><span class='hs-comment'>--</span>
<a name="line-267"></a><span class='hs-definition'>printOperationSetJobName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-268"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @jobName@ - a string that identifies the print job</span>
<a name="line-269"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-270"></a><span class='hs-definition'>printOperationSetJobName</span> <span class='hs-varid'>self</span> <span class='hs-varid'>jobName</span> <span class='hs-keyglyph'>=</span>
<a name="line-271"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>jobName</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>jobNamePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-272"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_set_job_name</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-273"></a><span class='hs-comment'>{-# LINE 237 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-274"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-275"></a>    <span class='hs-varid'>jobNamePtr</span>
<a name="line-276"></a>
<a name="line-277"></a><a name="printOperationSetNPages"></a><span class='hs-comment'>-- | Sets the number of pages in the document.</span>
<a name="line-278"></a><span class='hs-comment'>--</span>
<a name="line-279"></a><span class='hs-comment'>-- This /must/ be set to a positive number before the rendering starts. It</span>
<a name="line-280"></a><span class='hs-comment'>-- may be set in a 'beginPrint' signal hander.</span>
<a name="line-281"></a><span class='hs-comment'>--</span>
<a name="line-282"></a><span class='hs-comment'>-- Note that the page numbers passed to the 'requestPageSetup'</span>
<a name="line-283"></a><span class='hs-comment'>-- and 'drawPage' signals</span>
<a name="line-284"></a><span class='hs-comment'>-- are 0-based, i.e. if the user chooses to print all pages, the last</span>
<a name="line-285"></a><span class='hs-comment'>-- 'draw-page' signal will be for page @nPages@ - 1.</span>
<a name="line-286"></a><span class='hs-comment'>--</span>
<a name="line-287"></a><span class='hs-definition'>printOperationSetNPages</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-288"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ @nPages@ - the number of pages</span>
<a name="line-289"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-290"></a><span class='hs-definition'>printOperationSetNPages</span> <span class='hs-varid'>self</span> <span class='hs-varid'>nPages</span> <span class='hs-keyglyph'>=</span>
<a name="line-291"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_set_n_pages</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-292"></a><span class='hs-comment'>{-# LINE 255 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-293"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-294"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>nPages</span><span class='hs-layout'>)</span>
<a name="line-295"></a>
<a name="line-296"></a>
<a name="line-297"></a><a name="printOperationGetNPagesToPrint"></a><span class='hs-comment'>-- | Returns the number of pages that will be printed.</span>
<a name="line-298"></a><span class='hs-comment'>--</span>
<a name="line-299"></a><span class='hs-comment'>-- Note that this value is set during print preparation phase</span>
<a name="line-300"></a><span class='hs-comment'>-- ('PrintStatusPreparing'), so this function should never be called before the</span>
<a name="line-301"></a><span class='hs-comment'>-- data generation phase ('PrintStatusGeneratingData'). You can connect to the</span>
<a name="line-302"></a><span class='hs-comment'>-- 'statusChanged' signal and call</span>
<a name="line-303"></a><span class='hs-comment'>-- 'printOperationGetNPagesToPrint' when print status is</span>
<a name="line-304"></a><span class='hs-comment'>-- 'PrintStatusGeneratingData'. This is typically used to track the progress of</span>
<a name="line-305"></a><span class='hs-comment'>-- print operation.</span>
<a name="line-306"></a><span class='hs-comment'>--</span>
<a name="line-307"></a><span class='hs-comment'>-- * Available since Gtk+ version 2.18</span>
<a name="line-308"></a><span class='hs-comment'>--</span>
<a name="line-309"></a><span class='hs-definition'>printOperationGetNPagesToPrint</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-310"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ returns the number of pages that will be printed</span>
<a name="line-311"></a><span class='hs-definition'>printOperationGetNPagesToPrint</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-312"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span>
<a name="line-313"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_get_n_pages_to_print</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-314"></a><span class='hs-comment'>{-# LINE 276 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-315"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-316"></a>
<a name="line-317"></a>
<a name="line-318"></a><a name="printOperationSetCurrentPage"></a><span class='hs-comment'>-- | Sets the current page.</span>
<a name="line-319"></a><span class='hs-comment'>--</span>
<a name="line-320"></a><span class='hs-comment'>-- If this is called before 'printOperationRun', the user will be able to</span>
<a name="line-321"></a><span class='hs-comment'>-- select to print only the current page.</span>
<a name="line-322"></a><span class='hs-comment'>--</span>
<a name="line-323"></a><span class='hs-comment'>-- Note that this only makes sense for pre-paginated documents.</span>
<a name="line-324"></a><span class='hs-comment'>--</span>
<a name="line-325"></a><span class='hs-definition'>printOperationSetCurrentPage</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-326"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ @currentPage@ - the current page, 0-based</span>
<a name="line-327"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-328"></a><span class='hs-definition'>printOperationSetCurrentPage</span> <span class='hs-varid'>self</span> <span class='hs-varid'>currentPage</span> <span class='hs-keyglyph'>=</span>
<a name="line-329"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_set_current_page</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-330"></a><span class='hs-comment'>{-# LINE 291 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-331"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-332"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>currentPage</span><span class='hs-layout'>)</span>
<a name="line-333"></a>
<a name="line-334"></a><a name="printOperationSetUseFullPage"></a><span class='hs-comment'>-- | If @fullPage@ is @True@, the transformation for the cairo context</span>
<a name="line-335"></a><span class='hs-comment'>-- obtained from 'PrintContext' puts the origin at the top left corner of the</span>
<a name="line-336"></a><span class='hs-comment'>-- page (which may not be the top left corner of the sheet, depending on page</span>
<a name="line-337"></a><span class='hs-comment'>-- orientation and the number of pages per sheet). Otherwise, the origin is at</span>
<a name="line-338"></a><span class='hs-comment'>-- the top left corner of the imageable area (i.e. inside the margins).</span>
<a name="line-339"></a><span class='hs-comment'>--</span>
<a name="line-340"></a><span class='hs-definition'>printOperationSetUseFullPage</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-341"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @fullPage@ - @True@ to set up the 'PrintContext' for the full</span>
<a name="line-342"></a>         <span class='hs-comment'>-- page</span>
<a name="line-343"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-344"></a><span class='hs-definition'>printOperationSetUseFullPage</span> <span class='hs-varid'>self</span> <span class='hs-varid'>fullPage</span> <span class='hs-keyglyph'>=</span>
<a name="line-345"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_set_use_full_page</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-346"></a><span class='hs-comment'>{-# LINE 306 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-347"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-348"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>fullPage</span><span class='hs-layout'>)</span>
<a name="line-349"></a>
<a name="line-350"></a><a name="printOperationSetUnit"></a><span class='hs-comment'>-- | Sets up the transformation for the cairo context obtained from</span>
<a name="line-351"></a><span class='hs-comment'>-- 'PrintContext' in such a way that distances are measured in units of @unit@.</span>
<a name="line-352"></a><span class='hs-comment'>--</span>
<a name="line-353"></a><span class='hs-definition'>printOperationSetUnit</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-354"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Unit</span> <span class='hs-comment'>-- ^ @unit@ - the unit to use</span>
<a name="line-355"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-356"></a><span class='hs-definition'>printOperationSetUnit</span> <span class='hs-varid'>self</span> <span class='hs-varid'>unit</span> <span class='hs-keyglyph'>=</span>
<a name="line-357"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_set_unit</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-358"></a><span class='hs-comment'>{-# LINE 317 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-359"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-360"></a>    <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromEnum</span><span class='hs-layout'>)</span> <span class='hs-varid'>unit</span><span class='hs-layout'>)</span>
<a name="line-361"></a>
<a name="line-362"></a><a name="printOperationSetExportFilename"></a><span class='hs-comment'>-- | Sets up the 'PrintOperation' to generate a file instead of showing the</span>
<a name="line-363"></a><span class='hs-comment'>-- print dialog. The indended use of this function is for implementing \"Export</span>
<a name="line-364"></a><span class='hs-comment'>-- to PDF\" actions. Currently, PDF is the only supported format.</span>
<a name="line-365"></a><span class='hs-comment'>--</span>
<a name="line-366"></a><span class='hs-comment'>-- \"Print to PDF\" support is independent of this and is done by letting</span>
<a name="line-367"></a><span class='hs-comment'>-- the user pick the \"Print to PDF\" item from the list of printers in the</span>
<a name="line-368"></a><span class='hs-comment'>-- print dialog.</span>
<a name="line-369"></a><span class='hs-comment'>--</span>
<a name="line-370"></a><span class='hs-definition'>printOperationSetExportFilename</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-371"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @filename@ - the filename for the exported file</span>
<a name="line-372"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-373"></a><span class='hs-definition'>printOperationSetExportFilename</span> <span class='hs-varid'>self</span> <span class='hs-varid'>filename</span> <span class='hs-keyglyph'>=</span>
<a name="line-374"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>filename</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>filenamePtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-375"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_set_export_filename</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-376"></a><span class='hs-comment'>{-# LINE 334 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-377"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-378"></a>    <span class='hs-varid'>filenamePtr</span>
<a name="line-379"></a>
<a name="line-380"></a><a name="printOperationSetShowProgress"></a><span class='hs-comment'>-- | If @showProgress@ is @True@, the print operation will show a progress</span>
<a name="line-381"></a><span class='hs-comment'>-- dialog during the print operation.</span>
<a name="line-382"></a><span class='hs-comment'>--</span>
<a name="line-383"></a><span class='hs-definition'>printOperationSetShowProgress</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-384"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @showProgress@ - @True@ to show a progress dialog</span>
<a name="line-385"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-386"></a><span class='hs-definition'>printOperationSetShowProgress</span> <span class='hs-varid'>self</span> <span class='hs-varid'>showProgress</span> <span class='hs-keyglyph'>=</span>
<a name="line-387"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_set_show_progress</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-388"></a><span class='hs-comment'>{-# LINE 345 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-389"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-390"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>showProgress</span><span class='hs-layout'>)</span>
<a name="line-391"></a>
<a name="line-392"></a><a name="printOperationSetTrackPrintStatus"></a><span class='hs-comment'>-- | If track_status is @True@, the print operation will try to continue</span>
<a name="line-393"></a><span class='hs-comment'>-- report on the status of the print job in the printer queues and printer.</span>
<a name="line-394"></a><span class='hs-comment'>-- This can allow your application to show things like \"out of paper\" issues,</span>
<a name="line-395"></a><span class='hs-comment'>-- and when the print job actually reaches the printer.</span>
<a name="line-396"></a><span class='hs-comment'>--</span>
<a name="line-397"></a><span class='hs-comment'>-- This function is often implemented using some form of polling, so it</span>
<a name="line-398"></a><span class='hs-comment'>-- should not be enabled unless needed.</span>
<a name="line-399"></a><span class='hs-comment'>--</span>
<a name="line-400"></a><span class='hs-definition'>printOperationSetTrackPrintStatus</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-401"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ @trackStatus@ - @True@ to track status after printing</span>
<a name="line-402"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-403"></a><span class='hs-definition'>printOperationSetTrackPrintStatus</span> <span class='hs-varid'>self</span> <span class='hs-varid'>trackStatus</span> <span class='hs-keyglyph'>=</span>
<a name="line-404"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_set_track_print_status</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-405"></a><span class='hs-comment'>{-# LINE 361 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-406"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-407"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>trackStatus</span><span class='hs-layout'>)</span>
<a name="line-408"></a>
<a name="line-409"></a><a name="printOperationSetCustomTabLabel"></a><span class='hs-comment'>-- | Sets the label for the tab holding custom widgets.</span>
<a name="line-410"></a><span class='hs-comment'>--</span>
<a name="line-411"></a><span class='hs-definition'>printOperationSetCustomTabLabel</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-412"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ @label@ - the label to use, or empty to use the default</span>
<a name="line-413"></a>           <span class='hs-comment'>-- label</span>
<a name="line-414"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-415"></a><span class='hs-definition'>printOperationSetCustomTabLabel</span> <span class='hs-varid'>self</span> <span class='hs-varid'>label</span> <span class='hs-keyglyph'>=</span>
<a name="line-416"></a>  <span class='hs-varid'>withUTFString</span> <span class='hs-varid'>label</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>labelPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-417"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_set_custom_tab_label</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-418"></a><span class='hs-comment'>{-# LINE 373 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-419"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-420"></a>    <span class='hs-varid'>labelPtr</span>
<a name="line-421"></a>
<a name="line-422"></a><a name="printOperationRun"></a><span class='hs-comment'>-- | Runs the print operation, by first letting the user modify print settings</span>
<a name="line-423"></a><span class='hs-comment'>-- in the print dialog, and then print the document.</span>
<a name="line-424"></a><span class='hs-comment'>--</span>
<a name="line-425"></a><span class='hs-comment'>-- Normally that this function does not return until the rendering of all</span>
<a name="line-426"></a><span class='hs-comment'>-- pages is complete. You can connect to the 'statusChanged' signal on @op@ to obtain some information about the</span>
<a name="line-427"></a><span class='hs-comment'>-- progress of the print operation. Furthermore, it may use a recursive</span>
<a name="line-428"></a><span class='hs-comment'>-- mainloop to show the print dialog.</span>
<a name="line-429"></a><span class='hs-comment'>--</span>
<a name="line-430"></a><span class='hs-comment'>-- If you call 'printOperationSetAllowAsync' or set the 'allowAsync'</span>
<a name="line-431"></a><span class='hs-comment'>-- property the operation will run asynchronously</span>
<a name="line-432"></a><span class='hs-comment'>-- if this is supported on the platform. The 'done' signal will be emitted with the result of the operation when</span>
<a name="line-433"></a><span class='hs-comment'>-- the it is done (i.e. when the dialog is canceled, or when the print succeeds</span>
<a name="line-434"></a><span class='hs-comment'>-- or fails).</span>
<a name="line-435"></a><span class='hs-comment'>--</span>
<a name="line-436"></a><span class='hs-definition'>printOperationRun</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>WindowClass</span> <span class='hs-varid'>parent</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-437"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>PrintOperationAction</span> <span class='hs-comment'>-- ^ @action@ - the action to start</span>
<a name="line-438"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>parent</span> <span class='hs-comment'>-- ^ @parent@ - Transient parent of the dialog</span>
<a name="line-439"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>PrintOperationResult</span> <span class='hs-comment'>-- ^ returns the result of the print operation. A</span>
<a name="line-440"></a>                            <span class='hs-comment'>-- return value of 'PrintOperationResultApply'</span>
<a name="line-441"></a>                            <span class='hs-comment'>-- indicates that the printing was completed</span>
<a name="line-442"></a>                            <span class='hs-comment'>-- successfully. In this case, it is a good idea to</span>
<a name="line-443"></a>                            <span class='hs-comment'>-- obtain the used print settings with</span>
<a name="line-444"></a>                            <span class='hs-comment'>-- 'printOperationGetPrintSettings' and store them</span>
<a name="line-445"></a>                            <span class='hs-comment'>-- for reuse with the next print operation. A value</span>
<a name="line-446"></a>                            <span class='hs-comment'>-- of 'PrintOperationResultInProgress' means the</span>
<a name="line-447"></a>                            <span class='hs-comment'>-- operation is running asynchronously, and will</span>
<a name="line-448"></a>                            <span class='hs-comment'>-- emit the 'done' signal when done.</span>
<a name="line-449"></a><span class='hs-definition'>printOperationRun</span> <span class='hs-varid'>self</span> <span class='hs-varid'>action</span> <span class='hs-varid'>parent</span> <span class='hs-keyglyph'>=</span>
<a name="line-450"></a>  <span class='hs-varid'>liftM</span> <span class='hs-layout'>(</span><span class='hs-varid'>toEnum</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromIntegral</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span>
<a name="line-451"></a>  <span class='hs-varid'>propagateGError</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>errorPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-452"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-layout'>(</span><span class='hs-conid'>Window</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg4</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_print_operation_run</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>arg4</span><span class='hs-layout'>)</span>
<a name="line-453"></a><span class='hs-comment'>{-# LINE 407 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-454"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-455"></a>    <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromEnum</span><span class='hs-layout'>)</span> <span class='hs-varid'>action</span><span class='hs-layout'>)</span>
<a name="line-456"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toWindow</span> <span class='hs-varid'>parent</span><span class='hs-layout'>)</span>
<a name="line-457"></a>    <span class='hs-varid'>errorPtr</span>
<a name="line-458"></a>
<a name="line-459"></a><a name="printOperationCancel"></a><span class='hs-comment'>-- | Cancels a running print operation. This function may be called from a</span>
<a name="line-460"></a><span class='hs-comment'>-- 'beginPrint', 'paginate' or 'drawPage' signal handler</span>
<a name="line-461"></a><span class='hs-comment'>-- to stop the currently running print operation.</span>
<a name="line-462"></a><span class='hs-comment'>--</span>
<a name="line-463"></a><span class='hs-definition'>printOperationCancel</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-464"></a><span class='hs-definition'>printOperationCancel</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-465"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_cancel</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-466"></a><span class='hs-comment'>{-# LINE 419 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-467"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-468"></a>
<a name="line-469"></a>
<a name="line-470"></a><a name="printOperationDrawPageFinish"></a><span class='hs-comment'>-- | Signalize that drawing of particular page is complete.</span>
<a name="line-471"></a><span class='hs-comment'>--</span>
<a name="line-472"></a><span class='hs-comment'>-- It is called after completion of page drawing (e.g. drawing in another</span>
<a name="line-473"></a><span class='hs-comment'>-- thread). If 'printOperationSetDeferDrawing' was called before, then this</span>
<a name="line-474"></a><span class='hs-comment'>-- function has to be called by application. In another case it is called by</span>
<a name="line-475"></a><span class='hs-comment'>-- the library itself.</span>
<a name="line-476"></a><span class='hs-comment'>--</span>
<a name="line-477"></a><span class='hs-comment'>-- * Available since Gtk+ version 2.16</span>
<a name="line-478"></a><span class='hs-comment'>--</span>
<a name="line-479"></a><span class='hs-definition'>printOperationDrawPageFinish</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-480"></a><span class='hs-definition'>printOperationDrawPageFinish</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-481"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_draw_page_finish</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-482"></a><span class='hs-comment'>{-# LINE 434 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-483"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-484"></a>
<a name="line-485"></a><a name="printOperationSetDeferDrawing"></a><span class='hs-comment'>-- | Sets up the 'PrintOperation' to wait for calling of</span>
<a name="line-486"></a><span class='hs-comment'>-- 'printOperationDrawPageFinish' from application. It can be used for drawing</span>
<a name="line-487"></a><span class='hs-comment'>-- page in another thread.</span>
<a name="line-488"></a><span class='hs-comment'>--</span>
<a name="line-489"></a><span class='hs-comment'>-- This function must be called in the callback of \"draw-page\" signal.</span>
<a name="line-490"></a><span class='hs-comment'>--</span>
<a name="line-491"></a><span class='hs-comment'>-- * Available since Gtk+ version 2.16</span>
<a name="line-492"></a><span class='hs-comment'>--</span>
<a name="line-493"></a><span class='hs-definition'>printOperationSetDeferDrawing</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-494"></a><span class='hs-definition'>printOperationSetDeferDrawing</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-495"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_set_defer_drawing</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-496"></a><span class='hs-comment'>{-# LINE 447 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-497"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-498"></a>
<a name="line-499"></a>
<a name="line-500"></a><a name="printOperationGetStatus"></a><span class='hs-comment'>-- | Returns the status of the print operation. Also see</span>
<a name="line-501"></a><span class='hs-comment'>-- 'printOperationGetStatusString'.</span>
<a name="line-502"></a><span class='hs-comment'>--</span>
<a name="line-503"></a><span class='hs-definition'>printOperationGetStatus</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-504"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>PrintStatus</span> <span class='hs-comment'>-- ^ returns the status of the print operation</span>
<a name="line-505"></a><span class='hs-definition'>printOperationGetStatus</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-506"></a>  <span class='hs-varid'>liftM</span> <span class='hs-layout'>(</span><span class='hs-varid'>toEnum</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromIntegral</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span>
<a name="line-507"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_get_status</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-508"></a><span class='hs-comment'>{-# LINE 458 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-509"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-510"></a>
<a name="line-511"></a><a name="printOperationGetStatusString"></a><span class='hs-comment'>-- | Returns a string representation of the status of the print operation. The</span>
<a name="line-512"></a><span class='hs-comment'>-- string is translated and suitable for displaying the print status e.g. in a</span>
<a name="line-513"></a><span class='hs-comment'>-- 'Statusbar'.</span>
<a name="line-514"></a><span class='hs-comment'>--</span>
<a name="line-515"></a><span class='hs-comment'>-- Use 'printOperationGetStatus' to obtain a status value that is suitable</span>
<a name="line-516"></a><span class='hs-comment'>-- for programmatic use.</span>
<a name="line-517"></a><span class='hs-comment'>--</span>
<a name="line-518"></a><span class='hs-definition'>printOperationGetStatusString</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-519"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>String</span> <span class='hs-comment'>-- ^ returns a string representation of the status of the print</span>
<a name="line-520"></a>              <span class='hs-comment'>-- operation</span>
<a name="line-521"></a><span class='hs-definition'>printOperationGetStatusString</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-522"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_get_status_string</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-523"></a><span class='hs-comment'>{-# LINE 472 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-524"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-525"></a>  <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>peekUTFString</span>
<a name="line-526"></a>
<a name="line-527"></a><a name="printOperationIsFinished"></a><span class='hs-comment'>-- | A convenience function to find out if the print operation is finished,</span>
<a name="line-528"></a><span class='hs-comment'>-- either successfully ('PrintStatusFinished') or unsuccessfully</span>
<a name="line-529"></a><span class='hs-comment'>-- ('PrintStatusFinishedAborted').</span>
<a name="line-530"></a><span class='hs-comment'>--</span>
<a name="line-531"></a><span class='hs-comment'>-- Note: when you enable print status tracking the print operation can be in</span>
<a name="line-532"></a><span class='hs-comment'>-- a non-finished state even after done has been called, as the operation</span>
<a name="line-533"></a><span class='hs-comment'>-- status then tracks the print job status on the printer.</span>
<a name="line-534"></a><span class='hs-comment'>--</span>
<a name="line-535"></a><span class='hs-definition'>printOperationIsFinished</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-536"></a> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns @True@, if the print operation is finished.</span>
<a name="line-537"></a><span class='hs-definition'>printOperationIsFinished</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-538"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-539"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperation</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_print_operation_is_finished</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-540"></a><span class='hs-comment'>{-# LINE 488 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-541"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperation</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-542"></a>
<a name="line-543"></a><a name="printRunPageSetupDialog"></a><span class='hs-comment'>-- | Runs a page setup dialog, letting the user modify the values from @pageSetup@. If the user cancels</span>
<a name="line-544"></a><span class='hs-comment'>-- the dialog, the returned 'PageSetup' is identical to the passed in @pageSetup@, otherwise it</span>
<a name="line-545"></a><span class='hs-comment'>-- contains the modifications done in the dialog.</span>
<a name="line-546"></a><span class='hs-comment'>--</span>
<a name="line-547"></a><span class='hs-comment'>-- Note that this function may use a recursive mainloop to show the page setup dialog. See</span>
<a name="line-548"></a><span class='hs-comment'>-- 'printRunPageSetupDialogAsync' if this is a problem.</span>
<a name="line-549"></a><span class='hs-definition'>printRunPageSetupDialog</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>WindowClass</span> <span class='hs-varid'>window</span><span class='hs-layout'>,</span> <span class='hs-conid'>PageSetupClass</span> <span class='hs-varid'>pageSetup</span><span class='hs-layout'>,</span> <span class='hs-conid'>PrintSettingsClass</span> <span class='hs-varid'>setting</span><span class='hs-layout'>)</span>
<a name="line-550"></a>                          <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>window</span> <span class='hs-comment'>-- ^ @parent@ transient parent.</span>
<a name="line-551"></a>                          <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pageSetup</span> <span class='hs-comment'>-- ^ @pageSetup@ an existing 'PageSetup'.</span>
<a name="line-552"></a>                          <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>setting</span> <span class='hs-comment'>-- ^ @settings@ a 'PrintSettings'</span>
<a name="line-553"></a>                          <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>PageSetup</span> <span class='hs-comment'>-- ^ returns a new 'PageSetup'</span>
<a name="line-554"></a><span class='hs-definition'>printRunPageSetupDialog</span> <span class='hs-varid'>window</span> <span class='hs-varid'>pageSetup</span> <span class='hs-varid'>setting</span> <span class='hs-keyglyph'>=</span>
<a name="line-555"></a>  <span class='hs-varid'>wrapNewGObject</span> <span class='hs-varid'>mkPageSetup</span> <span class='hs-varop'>$</span>
<a name="line-556"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>Window</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>PageSetup</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>PrintSettings</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_print_run_page_setup_dialog</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span><span class='hs-layout'>)</span>
<a name="line-557"></a><span class='hs-comment'>{-# LINE 504 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-558"></a>     <span class='hs-layout'>(</span><span class='hs-varid'>toWindow</span> <span class='hs-varid'>window</span><span class='hs-layout'>)</span>
<a name="line-559"></a>     <span class='hs-layout'>(</span><span class='hs-varid'>toPageSetup</span> <span class='hs-varid'>pageSetup</span><span class='hs-layout'>)</span>
<a name="line-560"></a>     <span class='hs-layout'>(</span><span class='hs-varid'>toPrintSettings</span> <span class='hs-varid'>setting</span><span class='hs-layout'>)</span>
<a name="line-561"></a>
<a name="line-562"></a><a name="PageSetupDoneFunc"></a><span class='hs-keyword'>type</span> <span class='hs-conid'>PageSetupDoneFunc</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>FunPtr</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>PageSetup</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><span class='hs-layout'>)</span>
<a name="line-563"></a><span class='hs-comment'>{-# LINE 509 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</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-str'>"wrapper"</span> <span class='hs-varid'>mkGtkPageSetupDoneFunc</span> <span class='hs-keyglyph'>::</span>
<a name="line-566"></a>  <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>PageSetup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-567"></a>  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>PageSetupDoneFunc</span>
<a name="line-568"></a>
<a name="line-569"></a><a name="printRunPageSetupDialogAsync"></a><span class='hs-comment'>-- | Runs a page setup dialog, letting the user modify the values from @pageSetup@.</span>
<a name="line-570"></a><span class='hs-comment'>--</span>
<a name="line-571"></a><span class='hs-comment'>-- In contrast to 'printRunPageSetupDialog', this function returns after showing the page setup</span>
<a name="line-572"></a><span class='hs-comment'>-- dialog on platforms that support this, and calls @doneCb@ from a signal handler for the 'response'</span>
<a name="line-573"></a><span class='hs-comment'>-- signal of the dialog.</span>
<a name="line-574"></a><span class='hs-definition'>printRunPageSetupDialogAsync</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>WindowClass</span> <span class='hs-varid'>window</span><span class='hs-layout'>,</span> <span class='hs-conid'>PageSetupClass</span> <span class='hs-varid'>pageSetup</span><span class='hs-layout'>,</span> <span class='hs-conid'>PrintSettingsClass</span> <span class='hs-varid'>setting</span><span class='hs-layout'>)</span>
<a name="line-575"></a>                               <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>window</span> <span class='hs-comment'>-- ^ @parent@ transient parent.</span>
<a name="line-576"></a>                               <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pageSetup</span> <span class='hs-comment'>-- ^ @pageSetup@ an existing 'PageSetup'.</span>
<a name="line-577"></a>                               <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>setting</span> <span class='hs-comment'>-- ^ @settings@ a 'PrintSettings'</span>
<a name="line-578"></a>                               <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>PageSetup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ @doneCb@ a function to call when the user saves the modified page setup</span>
<a name="line-579"></a>                               <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-580"></a><span class='hs-definition'>printRunPageSetupDialogAsync</span> <span class='hs-varid'>window</span> <span class='hs-varid'>pageSetup</span> <span class='hs-varid'>setting</span> <span class='hs-varid'>doneCb</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-581"></a>  <span class='hs-varid'>funcPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>mkGtkPageSetupDoneFunc</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>setupPtr</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-keyword'>do</span>
<a name="line-582"></a>              <span class='hs-varid'>setup</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>makeNewGObject</span> <span class='hs-varid'>mkPageSetup</span> <span class='hs-layout'>(</span><span class='hs-varid'>return</span> <span class='hs-varid'>setupPtr</span><span class='hs-layout'>)</span>
<a name="line-583"></a>              <span class='hs-varid'>doneCb</span> <span class='hs-varid'>setup</span>
<a name="line-584"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>Window</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>PageSetup</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>PrintSettings</span> <span class='hs-varid'>arg3</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg4</span> <span class='hs-varid'>arg5</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg1</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr1</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg2</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr2</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>withForeignPtr</span> <span class='hs-varid'>arg3</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>argPtr3</span> <span class='hs-keyglyph'>-&gt;</span><span class='hs-varid'>gtk_print_run_page_setup_dialog_async</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>argPtr2</span> <span class='hs-varid'>argPtr3</span> <span class='hs-varid'>arg4</span> <span class='hs-varid'>arg5</span><span class='hs-layout'>)</span>
<a name="line-585"></a><span class='hs-comment'>{-# LINE 530 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-586"></a>     <span class='hs-layout'>(</span><span class='hs-varid'>toWindow</span> <span class='hs-varid'>window</span><span class='hs-layout'>)</span>
<a name="line-587"></a>     <span class='hs-layout'>(</span><span class='hs-varid'>toPageSetup</span> <span class='hs-varid'>pageSetup</span><span class='hs-layout'>)</span>
<a name="line-588"></a>     <span class='hs-layout'>(</span><span class='hs-varid'>toPrintSettings</span> <span class='hs-varid'>setting</span><span class='hs-layout'>)</span>
<a name="line-589"></a>     <span class='hs-varid'>funcPtr</span>
<a name="line-590"></a>     <span class='hs-varid'>nullPtr</span>
<a name="line-591"></a>
<a name="line-592"></a><a name="printOperationPreviewEndPreview"></a><span class='hs-comment'>-- | Ends a preview.</span>
<a name="line-593"></a><span class='hs-comment'>--</span>
<a name="line-594"></a><span class='hs-comment'>-- This function must be called to finish a custom print preview.</span>
<a name="line-595"></a><span class='hs-definition'>printOperationPreviewEndPreview</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationPreviewClass</span> <span class='hs-varid'>self</span>
<a name="line-596"></a>                                  <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span>
<a name="line-597"></a>                                  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-598"></a><span class='hs-definition'>printOperationPreviewEndPreview</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=</span>
<a name="line-599"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperationPreview</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_print_operation_preview_end_preview</span> <span class='hs-varid'>argPtr1</span><span class='hs-layout'>)</span>
<a name="line-600"></a><span class='hs-comment'>{-# LINE 544 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-601"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperationPreview</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-602"></a>
<a name="line-603"></a><a name="printOperationPreviewIsSelected"></a><span class='hs-comment'>-- | Returns whether the given page is included in the set of pages that have been selected for printing.</span>
<a name="line-604"></a><span class='hs-definition'>printOperationPreviewIsSelected</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationPreviewClass</span> <span class='hs-varid'>self</span>
<a name="line-605"></a>                                  <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-comment'>-- ^ @preview@ a 'PrintOperationPreview'</span>
<a name="line-606"></a>                                  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ @pageNr@ a page number</span>
<a name="line-607"></a>                                  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span> <span class='hs-comment'>-- ^ returns 'True' if the page has been selected for printing</span>
<a name="line-608"></a><span class='hs-definition'>printOperationPreviewIsSelected</span> <span class='hs-varid'>self</span> <span class='hs-varid'>pageNr</span> <span class='hs-keyglyph'>=</span>
<a name="line-609"></a>  <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>$</span>
<a name="line-610"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperationPreview</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_print_operation_preview_is_selected</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-611"></a><span class='hs-comment'>{-# LINE 554 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-612"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperationPreview</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-613"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>pageNr</span><span class='hs-layout'>)</span>
<a name="line-614"></a>
<a name="line-615"></a><a name="printOperationPreviewRenderPage"></a><span class='hs-comment'>-- | Renders a page to the preview, using the print context that was passed to the "preview" handler</span>
<a name="line-616"></a><span class='hs-comment'>-- together with preview.</span>
<a name="line-617"></a><span class='hs-comment'>--</span>
<a name="line-618"></a><span class='hs-comment'>-- A custom iprint preview should use this function in its 'expose' handler to render the currently</span>
<a name="line-619"></a><span class='hs-comment'>-- selected page.</span>
<a name="line-620"></a><span class='hs-comment'>--</span>
<a name="line-621"></a><span class='hs-comment'>-- Note that this function requires a suitable cairo context to be associated with the print context.</span>
<a name="line-622"></a><span class='hs-definition'>printOperationPreviewRenderPage</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationPreviewClass</span> <span class='hs-varid'>self</span>
<a name="line-623"></a>                                  <span class='hs-keyglyph'>=&gt;</span> <span class='hs-varid'>self</span> <span class='hs-comment'>-- ^ @preview@ a 'PrintOperationPreview'</span>
<a name="line-624"></a>                                  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-comment'>-- ^ @pageNr@ the page to render</span>
<a name="line-625"></a>                                  <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-626"></a><span class='hs-definition'>printOperationPreviewRenderPage</span> <span class='hs-varid'>self</span> <span class='hs-varid'>pageNr</span> <span class='hs-keyglyph'>=</span>
<a name="line-627"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>PrintOperationPreview</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_print_operation_preview_render_page</span> <span class='hs-varid'>argPtr1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span>
<a name="line-628"></a><span class='hs-comment'>{-# LINE 570 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-629"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>toPrintOperationPreview</span> <span class='hs-varid'>self</span><span class='hs-layout'>)</span>
<a name="line-630"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>pageNr</span><span class='hs-layout'>)</span>
<a name="line-631"></a>
<a name="line-632"></a><span class='hs-comment'>--------------------</span>
<a name="line-633"></a><span class='hs-comment'>-- Attributes</span>
<a name="line-634"></a>
<a name="line-635"></a><a name="printOperationDefaultPageSetup"></a><span class='hs-comment'>-- | The 'PageSetup' used by default.</span>
<a name="line-636"></a><span class='hs-comment'>--</span>
<a name="line-637"></a><span class='hs-comment'>-- This page setup will be used by 'printOperationRun', but it can be overridden on a per-page</span>
<a name="line-638"></a><span class='hs-comment'>-- basis by connecting to the 'requestPageSetup' signal.</span>
<a name="line-639"></a><span class='hs-comment'>--</span>
<a name="line-640"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-641"></a><span class='hs-definition'>printOperationDefaultPageSetup</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>PageSetupClass</span> <span class='hs-varid'>pageSetup</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ReadWriteAttr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>PageSetup</span> <span class='hs-varid'>pageSetup</span>
<a name="line-642"></a><span class='hs-definition'>printOperationDefaultPageSetup</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromObjectProperty</span> <span class='hs-str'>"default-page-setup"</span>
<a name="line-643"></a>                                   <span class='hs-varid'>gtk_page_setup_get_type</span>
<a name="line-644"></a><span class='hs-comment'>{-# LINE 585 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-645"></a>
<a name="line-646"></a><a name="printOperationPrintSettings"></a><span class='hs-comment'>-- | The 'PrintSettings' used for initializing the dialog.</span>
<a name="line-647"></a><span class='hs-comment'>--</span>
<a name="line-648"></a><span class='hs-comment'>-- Setting this property is typically used to re-establish print settings from a previous print</span>
<a name="line-649"></a><span class='hs-comment'>-- operation, see 'printOperationRun'.</span>
<a name="line-650"></a><span class='hs-comment'>--</span>
<a name="line-651"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-652"></a><span class='hs-definition'>printOperationPrintSettings</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span><span class='hs-layout'>,</span> <span class='hs-conid'>PrintSettingsClass</span> <span class='hs-varid'>printSettings</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ReadWriteAttr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>PrintSettings</span> <span class='hs-varid'>printSettings</span>
<a name="line-653"></a><span class='hs-definition'>printOperationPrintSettings</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromObjectProperty</span> <span class='hs-str'>"print-settings"</span>
<a name="line-654"></a>                                <span class='hs-varid'>gtk_print_settings_get_type</span>
<a name="line-655"></a><span class='hs-comment'>{-# LINE 595 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-656"></a>
<a name="line-657"></a><a name="printOperationJobName"></a><span class='hs-comment'>-- | A string used to identify the job (e.g. in monitoring applications like eggcups).</span>
<a name="line-658"></a><span class='hs-comment'>--</span>
<a name="line-659"></a><span class='hs-comment'>-- If you don't set a job name, GTK+ picks a default one by numbering successive print jobs.</span>
<a name="line-660"></a><span class='hs-comment'>--</span>
<a name="line-661"></a><span class='hs-comment'>-- Default value: \"\"</span>
<a name="line-662"></a><span class='hs-comment'>--</span>
<a name="line-663"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-664"></a><span class='hs-definition'>printOperationJobName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>String</span>
<a name="line-665"></a><span class='hs-definition'>printOperationJobName</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromStringProperty</span> <span class='hs-str'>"job-name"</span>
<a name="line-666"></a>
<a name="line-667"></a><a name="printOperationNPages"></a><span class='hs-comment'>-- | The number of pages in the document.</span>
<a name="line-668"></a><span class='hs-comment'>--</span>
<a name="line-669"></a><span class='hs-comment'>-- This must be set to a positive number before the rendering starts. It may be set in a 'beginPrint'</span>
<a name="line-670"></a><span class='hs-comment'>-- signal hander.</span>
<a name="line-671"></a><span class='hs-comment'>--</span>
<a name="line-672"></a><span class='hs-comment'>-- Note that the page numbers passed to the 'requestPageSetup' and 'drawPage' signals are 0-based,</span>
<a name="line-673"></a><span class='hs-comment'>-- i.e. if the user chooses to print all pages, the last 'drawPage' signal will be for page @nPages@ -</span>
<a name="line-674"></a><span class='hs-comment'>-- 1.</span>
<a name="line-675"></a><span class='hs-comment'>--</span>
<a name="line-676"></a><span class='hs-comment'>-- Allowed values: &gt;= 'GMaxulong'</span>
<a name="line-677"></a><span class='hs-comment'>--</span>
<a name="line-678"></a><span class='hs-comment'>-- Default value: -1</span>
<a name="line-679"></a><span class='hs-comment'>--</span>
<a name="line-680"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-681"></a><span class='hs-definition'>printOperationNPages</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Int</span>
<a name="line-682"></a><span class='hs-definition'>printOperationNPages</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromIntProperty</span> <span class='hs-str'>"n-pages"</span>
<a name="line-683"></a>
<a name="line-684"></a><a name="printOperationCurrentPage"></a><span class='hs-comment'>-- | The current page in the document.</span>
<a name="line-685"></a><span class='hs-comment'>--</span>
<a name="line-686"></a><span class='hs-comment'>-- If this is set before 'printOperationRun', the user will be able to select to print only the</span>
<a name="line-687"></a><span class='hs-comment'>-- current page.</span>
<a name="line-688"></a><span class='hs-comment'>--</span>
<a name="line-689"></a><span class='hs-comment'>-- Note that this only makes sense for pre-paginated documents.</span>
<a name="line-690"></a><span class='hs-comment'>--</span>
<a name="line-691"></a><span class='hs-comment'>-- Allowed values: &gt;= 'GMaxulong'</span>
<a name="line-692"></a><span class='hs-comment'>--</span>
<a name="line-693"></a><span class='hs-comment'>-- Default value: -1</span>
<a name="line-694"></a><span class='hs-comment'>--</span>
<a name="line-695"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-696"></a><span class='hs-definition'>printOperationCurrentPage</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Int</span>
<a name="line-697"></a><span class='hs-definition'>printOperationCurrentPage</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromIntProperty</span> <span class='hs-str'>"current-page"</span>
<a name="line-698"></a>
<a name="line-699"></a><a name="printOperationUseFullPage"></a><span class='hs-comment'>-- | If 'True', the transformation for the cairo context obtained from 'PrintContext' puts the origin at</span>
<a name="line-700"></a><span class='hs-comment'>-- the top left corner of the page (which may not be the top left corner of the sheet, depending on</span>
<a name="line-701"></a><span class='hs-comment'>-- page orientation and the number of pages per sheet). Otherwise, the origin is at the top left corner</span>
<a name="line-702"></a><span class='hs-comment'>-- of the imageable area (i.e. inside the margins).</span>
<a name="line-703"></a><span class='hs-comment'>--</span>
<a name="line-704"></a><span class='hs-comment'>-- Default value: 'False'</span>
<a name="line-705"></a><span class='hs-comment'>--</span>
<a name="line-706"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-707"></a><span class='hs-definition'>printOperationUseFullPage</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-708"></a><span class='hs-definition'>printOperationUseFullPage</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromBoolProperty</span> <span class='hs-str'>"use-full-page"</span>
<a name="line-709"></a>
<a name="line-710"></a><a name="printOperationTrackPrintStatus"></a><span class='hs-comment'>-- | If 'True', the print operation will try to continue report on the status of the print job in the</span>
<a name="line-711"></a><span class='hs-comment'>-- printer queues and printer. This can allow your application to show things like "out of paper"</span>
<a name="line-712"></a><span class='hs-comment'>-- issues, and when the print job actually reaches the printer. However, this is often implemented</span>
<a name="line-713"></a><span class='hs-comment'>-- using polling, and should not be enabled unless needed.</span>
<a name="line-714"></a><span class='hs-comment'>--</span>
<a name="line-715"></a><span class='hs-comment'>-- Default value: 'False'</span>
<a name="line-716"></a><span class='hs-comment'>--</span>
<a name="line-717"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-718"></a><span class='hs-definition'>printOperationTrackPrintStatus</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-719"></a><span class='hs-definition'>printOperationTrackPrintStatus</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromBoolProperty</span> <span class='hs-str'>"track-print-status"</span>
<a name="line-720"></a>
<a name="line-721"></a><a name="printOperationUnit"></a><span class='hs-comment'>-- | The transformation for the cairo context obtained from 'PrintContext' is set up in such a way that</span>
<a name="line-722"></a><span class='hs-comment'>-- distances are measured in units of unit.</span>
<a name="line-723"></a><span class='hs-comment'>--</span>
<a name="line-724"></a><span class='hs-comment'>-- Default value: ''UnitPixel''</span>
<a name="line-725"></a><span class='hs-comment'>--</span>
<a name="line-726"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-727"></a><span class='hs-comment'>--</span>
<a name="line-728"></a><span class='hs-definition'>printOperationUnit</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Unit</span>
<a name="line-729"></a><span class='hs-definition'>printOperationUnit</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromEnumProperty</span> <span class='hs-str'>"unit"</span>
<a name="line-730"></a>                       <span class='hs-varid'>gtk_unit_get_type</span>
<a name="line-731"></a><span class='hs-comment'>{-# LINE 670 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-732"></a>
<a name="line-733"></a><a name="printOperationShowProgress"></a><span class='hs-comment'>-- | Determines whether to show a progress dialog during the print operation.</span>
<a name="line-734"></a><span class='hs-comment'>--</span>
<a name="line-735"></a><span class='hs-comment'>-- Default value: 'False'</span>
<a name="line-736"></a><span class='hs-comment'>--</span>
<a name="line-737"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-738"></a><span class='hs-definition'>printOperationShowProgress</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-739"></a><span class='hs-definition'>printOperationShowProgress</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromBoolProperty</span> <span class='hs-str'>"show-progress"</span>
<a name="line-740"></a>
<a name="line-741"></a><a name="printOperationAllowAsync"></a><span class='hs-comment'>-- | Determines whether the print operation may run asynchronously or not.</span>
<a name="line-742"></a><span class='hs-comment'>--</span>
<a name="line-743"></a><span class='hs-comment'>-- Some systems don't support asynchronous printing, but those that do will return</span>
<a name="line-744"></a><span class='hs-comment'>-- ''PrintOperationResultInProgress'' as the status, and emit the "done" signal when the operation</span>
<a name="line-745"></a><span class='hs-comment'>-- is actually done.</span>
<a name="line-746"></a><span class='hs-comment'>--</span>
<a name="line-747"></a><span class='hs-comment'>-- The Windows port does not support asynchronous operation at all (this is unlikely to change). On</span>
<a name="line-748"></a><span class='hs-comment'>-- other platforms, all actions except for ''PrintOperationActionExport'' support asynchronous</span>
<a name="line-749"></a><span class='hs-comment'>-- operation.</span>
<a name="line-750"></a><span class='hs-comment'>--</span>
<a name="line-751"></a><span class='hs-comment'>-- Default value: 'False'</span>
<a name="line-752"></a><span class='hs-comment'>--</span>
<a name="line-753"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-754"></a><span class='hs-definition'>printOperationAllowAsync</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-755"></a><span class='hs-definition'>printOperationAllowAsync</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromBoolProperty</span> <span class='hs-str'>"allow-async"</span>
<a name="line-756"></a>
<a name="line-757"></a><a name="printOperationExportFilename"></a><span class='hs-comment'>-- | The name of a file to generate instead of showing the print dialog. Currently, PDF is the only</span>
<a name="line-758"></a><span class='hs-comment'>-- supported format.</span>
<a name="line-759"></a><span class='hs-comment'>--</span>
<a name="line-760"></a><span class='hs-comment'>-- The intended use of this property is for implementing "Export to PDF" actions.</span>
<a name="line-761"></a><span class='hs-comment'>--</span>
<a name="line-762"></a><span class='hs-comment'>-- "Print to PDF" support is independent of this and is done by letting the user pick the "Print to</span>
<a name="line-763"></a><span class='hs-comment'>-- PDF" item from the list of printers in the print dialog.</span>
<a name="line-764"></a><span class='hs-comment'>--</span>
<a name="line-765"></a><span class='hs-comment'>-- Default value: 'Nothing'</span>
<a name="line-766"></a><span class='hs-comment'>--</span>
<a name="line-767"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-768"></a><span class='hs-definition'>printOperationExportFilename</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>String</span>
<a name="line-769"></a><span class='hs-definition'>printOperationExportFilename</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromStringProperty</span> <span class='hs-str'>"export-filename"</span>
<a name="line-770"></a>
<a name="line-771"></a><a name="printOperationStatus"></a><span class='hs-comment'>-- | The status of the print operation.</span>
<a name="line-772"></a><span class='hs-comment'>--</span>
<a name="line-773"></a><span class='hs-comment'>-- Default value: ''PrintStatusInitial''</span>
<a name="line-774"></a><span class='hs-comment'>--</span>
<a name="line-775"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-776"></a><span class='hs-definition'>printOperationStatus</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ReadAttr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>PrintStatus</span>
<a name="line-777"></a><span class='hs-definition'>printOperationStatus</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>readAttrFromEnumProperty</span> <span class='hs-str'>"status"</span>
<a name="line-778"></a>                         <span class='hs-varid'>gtk_print_status_get_type</span>
<a name="line-779"></a><span class='hs-comment'>{-# LINE 717 "./Graphics/UI/Gtk/Printing/PrintOperation.chs" #-}</span>
<a name="line-780"></a>
<a name="line-781"></a><a name="printOperationStatusString"></a><span class='hs-comment'>-- | A string representation of the status of the print operation. The string is translated and suitable</span>
<a name="line-782"></a><span class='hs-comment'>-- for displaying the print status e.g. in a 'Statusbar'.</span>
<a name="line-783"></a><span class='hs-comment'>--</span>
<a name="line-784"></a><span class='hs-comment'>-- See the 'printOperationStatus' property for a status value that is suitable for programmatic use.</span>
<a name="line-785"></a><span class='hs-comment'>--</span>
<a name="line-786"></a><span class='hs-comment'>-- Default value: \"\"</span>
<a name="line-787"></a><span class='hs-comment'>--</span>
<a name="line-788"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-789"></a><span class='hs-definition'>printOperationStatusString</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ReadAttr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>String</span>
<a name="line-790"></a><span class='hs-definition'>printOperationStatusString</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>readAttrFromStringProperty</span> <span class='hs-str'>"status-string"</span>
<a name="line-791"></a>
<a name="line-792"></a><a name="printOperationCustomTabLabel"></a><span class='hs-comment'>-- | Used as the label of the tab containing custom widgets. Note that this property may be ignored on</span>
<a name="line-793"></a><span class='hs-comment'>-- some platforms.</span>
<a name="line-794"></a><span class='hs-comment'>--</span>
<a name="line-795"></a><span class='hs-comment'>-- If this is 'Nothing', GTK+ uses a default label.</span>
<a name="line-796"></a><span class='hs-comment'>--</span>
<a name="line-797"></a><span class='hs-comment'>-- Default value: 'Nothing'</span>
<a name="line-798"></a><span class='hs-comment'>--</span>
<a name="line-799"></a><span class='hs-comment'>-- Since 2.10</span>
<a name="line-800"></a><span class='hs-definition'>printOperationCustomTabLabel</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>String</span>
<a name="line-801"></a><span class='hs-definition'>printOperationCustomTabLabel</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromStringProperty</span> <span class='hs-str'>"custom-tab-label"</span>
<a name="line-802"></a>
<a name="line-803"></a>
<a name="line-804"></a><a name="printOperationSupportSelection"></a><span class='hs-comment'>-- | If 'True', the print operation will support print of selection. This allows the print dialog to show a</span>
<a name="line-805"></a><span class='hs-comment'>-- "Selection" button.</span>
<a name="line-806"></a><span class='hs-comment'>--</span>
<a name="line-807"></a><span class='hs-comment'>-- Default value: 'False'</span>
<a name="line-808"></a><span class='hs-comment'>--</span>
<a name="line-809"></a><span class='hs-comment'>-- Since 2.18</span>
<a name="line-810"></a><span class='hs-definition'>printOperationSupportSelection</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-811"></a><span class='hs-definition'>printOperationSupportSelection</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromBoolProperty</span> <span class='hs-str'>"support-selection"</span>
<a name="line-812"></a>
<a name="line-813"></a><a name="printOperationHasSelection"></a><span class='hs-comment'>-- | Determines whether there is a selection in your application. This can allow your application to</span>
<a name="line-814"></a><span class='hs-comment'>-- print the selection. This is typically used to make a "Selection" button sensitive.</span>
<a name="line-815"></a><span class='hs-comment'>--</span>
<a name="line-816"></a><span class='hs-comment'>-- Default value: 'False'</span>
<a name="line-817"></a><span class='hs-comment'>--</span>
<a name="line-818"></a><span class='hs-comment'>-- Since 2.18</span>
<a name="line-819"></a><span class='hs-definition'>printOperationHasSelection</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-820"></a><span class='hs-definition'>printOperationHasSelection</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromBoolProperty</span> <span class='hs-str'>"has-selection"</span>
<a name="line-821"></a>
<a name="line-822"></a><a name="printOperationEmbedPageSetup"></a><span class='hs-comment'>-- | If 'True', page size combo box and orientation combo box are embedded into page setup page.</span>
<a name="line-823"></a><span class='hs-comment'>--</span>
<a name="line-824"></a><span class='hs-comment'>-- Default value: 'False'</span>
<a name="line-825"></a><span class='hs-comment'>--</span>
<a name="line-826"></a><span class='hs-comment'>-- Since 2.18</span>
<a name="line-827"></a><span class='hs-definition'>printOperationEmbedPageSetup</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Attr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Bool</span>
<a name="line-828"></a><span class='hs-definition'>printOperationEmbedPageSetup</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>newAttrFromBoolProperty</span> <span class='hs-str'>"embed-page-setup"</span>
<a name="line-829"></a>
<a name="line-830"></a><a name="printOperationNPagesToPrint"></a><span class='hs-comment'>-- | The number of pages that will be printed.</span>
<a name="line-831"></a><span class='hs-comment'>--</span>
<a name="line-832"></a><span class='hs-comment'>-- Note that this value is set during print preparation phase (''PrintStatusPreparing''), so this</span>
<a name="line-833"></a><span class='hs-comment'>-- value should never be get before the data generation phase (''PrintStatusGeneratingData''). You</span>
<a name="line-834"></a><span class='hs-comment'>-- can connect to the 'statusChanged' signal and call 'printOperationGetNPagesToPrint' when</span>
<a name="line-835"></a><span class='hs-comment'>-- print status is ''PrintStatusGeneratingData''. This is typically used to track the progress of</span>
<a name="line-836"></a><span class='hs-comment'>-- print operation.</span>
<a name="line-837"></a><span class='hs-comment'>--</span>
<a name="line-838"></a><span class='hs-comment'>-- Allowed values: &gt;= 'GMaxulong'</span>
<a name="line-839"></a><span class='hs-comment'>--</span>
<a name="line-840"></a><span class='hs-comment'>-- Default value: -1</span>
<a name="line-841"></a><span class='hs-comment'>--</span>
<a name="line-842"></a><span class='hs-comment'>-- Since 2.18</span>
<a name="line-843"></a><span class='hs-definition'>printOperationNPagesToPrint</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>ReadAttr</span> <span class='hs-varid'>self</span> <span class='hs-conid'>Int</span>
<a name="line-844"></a><span class='hs-definition'>printOperationNPagesToPrint</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>readAttrFromIntProperty</span> <span class='hs-str'>"n-pages-to-print"</span>
<a name="line-845"></a>
<a name="line-846"></a>
<a name="line-847"></a><span class='hs-comment'>--------------------</span>
<a name="line-848"></a><span class='hs-comment'>-- Signals</span>
<a name="line-849"></a>
<a name="line-850"></a><a name="printOptDone"></a><span class='hs-comment'>-- | Emitted when the print operation run has finished doing everything</span>
<a name="line-851"></a><span class='hs-comment'>-- required for printing.</span>
<a name="line-852"></a><span class='hs-comment'>--</span>
<a name="line-853"></a><span class='hs-comment'>-- @result@ gives you information about what happened during the run. If</span>
<a name="line-854"></a><span class='hs-comment'>-- @result@ is 'PrintOperationResultError' then you can call</span>
<a name="line-855"></a><span class='hs-comment'>-- 'printOperationGetError' for more information.</span>
<a name="line-856"></a><span class='hs-comment'>--</span>
<a name="line-857"></a><span class='hs-comment'>-- If you enabled print status tracking then 'printOperationIsFinished' may</span>
<a name="line-858"></a><span class='hs-comment'>-- still return @False@ after 'done' was</span>
<a name="line-859"></a><span class='hs-comment'>-- emitted.</span>
<a name="line-860"></a><span class='hs-comment'>--</span>
<a name="line-861"></a><span class='hs-definition'>printOptDone</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</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'>PrintOperationResult</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-862"></a><span class='hs-definition'>printOptDone</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_ENUM__NONE</span> <span class='hs-str'>"done"</span><span class='hs-layout'>)</span>
<a name="line-863"></a>
<a name="line-864"></a><a name="printOptBeginPrint"></a><span class='hs-comment'>-- | Emitted after the user has finished changing print settings in the</span>
<a name="line-865"></a><span class='hs-comment'>-- dialog, before the actual rendering starts.</span>
<a name="line-866"></a><span class='hs-comment'>--</span>
<a name="line-867"></a><span class='hs-comment'>-- A typical use for 'begin-print' is to use the parameters from the</span>
<a name="line-868"></a><span class='hs-comment'>-- 'PrintContext' and paginate the document accordingly, and then set the</span>
<a name="line-869"></a><span class='hs-comment'>-- number of pages with 'printOperationSetNPages'.</span>
<a name="line-870"></a><span class='hs-comment'>--</span>
<a name="line-871"></a><span class='hs-definition'>printOptBeginPrint</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</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'>PrintContext</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-872"></a><span class='hs-definition'>printOptBeginPrint</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT__NONE</span> <span class='hs-str'>"begin_print"</span><span class='hs-layout'>)</span>
<a name="line-873"></a>
<a name="line-874"></a><a name="printOptPaginate"></a><span class='hs-comment'>-- | Emitted after the 'beginPrint' signal,</span>
<a name="line-875"></a><span class='hs-comment'>-- but before the actual rendering starts. It keeps getting emitted until a</span>
<a name="line-876"></a><span class='hs-comment'>-- connected signal handler returns @True@.</span>
<a name="line-877"></a><span class='hs-comment'>--</span>
<a name="line-878"></a><span class='hs-comment'>-- The 'paginate' signal is intended to be used for paginating a document in</span>
<a name="line-879"></a><span class='hs-comment'>-- small chunks, to avoid blocking the user interface for a long time. The</span>
<a name="line-880"></a><span class='hs-comment'>-- signal handler should update the number of pages using</span>
<a name="line-881"></a><span class='hs-comment'>-- 'printOperationSetNPages', and return @True@ if the document has been</span>
<a name="line-882"></a><span class='hs-comment'>-- completely paginated.</span>
<a name="line-883"></a><span class='hs-comment'>--</span>
<a name="line-884"></a><span class='hs-comment'>-- If you don't need to do pagination in chunks, you can simply do it all in</span>
<a name="line-885"></a><span class='hs-comment'>-- the 'begin-print handler', and set the number of pages from there.</span>
<a name="line-886"></a><span class='hs-comment'>--</span>
<a name="line-887"></a><span class='hs-definition'>printOptPaginate</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</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'>PrintContext</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span><span class='hs-layout'>)</span>
<a name="line-888"></a><span class='hs-definition'>printOptPaginate</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT__BOOL</span> <span class='hs-str'>"paginate"</span><span class='hs-layout'>)</span>
<a name="line-889"></a>
<a name="line-890"></a><a name="printOptRequestPageSetup"></a><span class='hs-comment'>-- | Emitted once for every page that is printed, to give the application a</span>
<a name="line-891"></a><span class='hs-comment'>-- chance to modify the page setup. Any changes done to @setup@ will be in</span>
<a name="line-892"></a><span class='hs-comment'>-- force only for printing this page.</span>
<a name="line-893"></a><span class='hs-comment'>--</span>
<a name="line-894"></a><span class='hs-definition'>printOptRequestPageSetup</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</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'>PrintContext</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>PageSetup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-895"></a><span class='hs-definition'>printOptRequestPageSetup</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT_INT_OBJECT__NONE</span> <span class='hs-str'>"request_page_setup"</span><span class='hs-layout'>)</span>
<a name="line-896"></a>
<a name="line-897"></a><a name="printOptDrawPage"></a><span class='hs-comment'>-- | Emitted for every page that is printed. The signal handler must render</span>
<a name="line-898"></a><span class='hs-comment'>-- the @pageNr@'s page onto the cairo context obtained from @context@ using</span>
<a name="line-899"></a><span class='hs-comment'>-- 'printContextGetCairoContext'.</span>
<a name="line-900"></a><span class='hs-comment'>--</span>
<a name="line-901"></a><span class='hs-comment'>-- Use 'printOperationSetUseFullPage' and 'printOperationSetUnit' before</span>
<a name="line-902"></a><span class='hs-comment'>-- starting the print operation to set up the transformation of the cairo</span>
<a name="line-903"></a><span class='hs-comment'>-- context according to your needs.</span>
<a name="line-904"></a><span class='hs-comment'>--</span>
<a name="line-905"></a><span class='hs-definition'>printOptDrawPage</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</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'>PrintContext</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Int</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-906"></a><span class='hs-definition'>printOptDrawPage</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT_INT__NONE</span> <span class='hs-str'>"draw_page"</span><span class='hs-layout'>)</span>
<a name="line-907"></a>
<a name="line-908"></a><a name="printOptEndPrint"></a><span class='hs-comment'>-- | Emitted after all pages have been rendered. A handler for this signal can</span>
<a name="line-909"></a><span class='hs-comment'>-- clean up any resources that have been allocated in the 'beginPrint' handler.</span>
<a name="line-910"></a><span class='hs-comment'>--</span>
<a name="line-911"></a><span class='hs-definition'>printOptEndPrint</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</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'>PrintContext</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-912"></a><span class='hs-definition'>printOptEndPrint</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT__NONE</span> <span class='hs-str'>"end_print"</span><span class='hs-layout'>)</span>
<a name="line-913"></a>
<a name="line-914"></a><a name="printOptStatusChanged"></a><span class='hs-comment'>-- | Emitted at between the various phases of the print operation. See</span>
<a name="line-915"></a><span class='hs-comment'>-- 'PrintStatus' for the phases that are being discriminated. Use</span>
<a name="line-916"></a><span class='hs-comment'>-- 'printOperationGetStatus' to find out the current status.</span>
<a name="line-917"></a><span class='hs-comment'>--</span>
<a name="line-918"></a><span class='hs-definition'>printOptStatusChanged</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-919"></a><span class='hs-definition'>printOptStatusChanged</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_NONE__NONE</span> <span class='hs-str'>"status_changed"</span><span class='hs-layout'>)</span>
<a name="line-920"></a>
<a name="line-921"></a><a name="printOptCreateCustomWidget"></a><span class='hs-comment'>-- | Emitted when displaying the print dialog. If you return a widget in a</span>
<a name="line-922"></a><span class='hs-comment'>-- handler for this signal it will be added to a custom tab in the print</span>
<a name="line-923"></a><span class='hs-comment'>-- dialog. You typically return a container widget with multiple widgets in it.</span>
<a name="line-924"></a><span class='hs-comment'>--</span>
<a name="line-925"></a><span class='hs-comment'>-- The print dialog owns the returned widget, and its lifetime is not</span>
<a name="line-926"></a><span class='hs-comment'>-- controlled by the application. However, the widget is guaranteed to stay</span>
<a name="line-927"></a><span class='hs-comment'>-- around until the 'customWidgetApply'</span>
<a name="line-928"></a><span class='hs-comment'>-- signal is emitted on the operation. Then you can read out any information</span>
<a name="line-929"></a><span class='hs-comment'>-- you need from the widgets.</span>
<a name="line-930"></a><span class='hs-comment'>--</span>
<a name="line-931"></a><span class='hs-definition'>printOptCreateCustomWidget</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</span> <span class='hs-varid'>self</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>Signal</span> <span class='hs-varid'>self</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span>
<a name="line-932"></a><span class='hs-definition'>printOptCreateCustomWidget</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_NONE__OBJECTPTR</span> <span class='hs-str'>"create_custom_widget"</span><span class='hs-layout'>)</span>
<a name="line-933"></a>
<a name="line-934"></a><a name="connect_NONE__OBJECTPTR"></a><span class='hs-comment'>-- | Signal helper functions.</span>
<a name="line-935"></a><span class='hs-definition'>connect_NONE__OBJECTPTR</span> <span class='hs-keyglyph'>::</span>
<a name="line-936"></a>    <span class='hs-conid'>GObjectClass</span> <span class='hs-varid'>obj</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>SignalName</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-937"></a>    <span class='hs-conid'>ConnectAfter</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>obj</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-938"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-939"></a>    <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>ConnectId</span> <span class='hs-varid'>obj</span><span class='hs-layout'>)</span>
<a name="line-940"></a><span class='hs-definition'>connect_NONE__OBJECTPTR</span> <span class='hs-varid'>signal</span> <span class='hs-varid'>after</span> <span class='hs-varid'>obj</span> <span class='hs-varid'>user</span> <span class='hs-keyglyph'>=</span>
<a name="line-941"></a>    <span class='hs-varid'>connectGeneric</span> <span class='hs-varid'>signal</span> <span class='hs-varid'>after</span> <span class='hs-varid'>obj</span> <span class='hs-varid'>action</span>
<a name="line-942"></a>        <span class='hs-keyword'>where</span> <span class='hs-varid'>action</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Ptr</span> <span class='hs-conid'>GObject</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>Widget</span><span class='hs-layout'>)</span>
<a name="line-943"></a>              <span class='hs-varid'>action</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span>
<a name="line-944"></a>                  <span class='hs-varid'>failOnGError</span> <span class='hs-varop'>$</span> <span class='hs-keyword'>do</span>
<a name="line-945"></a>                    <span class='hs-varid'>x</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>user</span>
<a name="line-946"></a>                    <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>unsafeForeignPtrToPtr</span> <span class='hs-layout'>(</span><span class='hs-varid'>unWidget</span> <span class='hs-layout'>(</span><span class='hs-varid'>toWidget</span> <span class='hs-varid'>x</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-947"></a>
<a name="line-948"></a>
<a name="line-949"></a><a name="printOptUpdateCustomWidget"></a><span class='hs-comment'>-- | Emitted after change of selected printer. The actual page setup and print</span>
<a name="line-950"></a><span class='hs-comment'>-- settings are passed to the custom widget, which can actualize itself</span>
<a name="line-951"></a><span class='hs-comment'>-- according to this change.</span>
<a name="line-952"></a><span class='hs-comment'>--</span>
<a name="line-953"></a><span class='hs-comment'>-- * Available since Gtk+ version 2.18</span>
<a name="line-954"></a><span class='hs-comment'>--</span>
<a name="line-955"></a><span class='hs-definition'>printOptUpdateCustomWidget</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</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'>Widget</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>PageSetup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>PrintSettings</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-956"></a><span class='hs-definition'>printOptUpdateCustomWidget</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT_OBJECT_OBJECT__NONE</span> <span class='hs-str'>"update_custom_widget"</span><span class='hs-layout'>)</span>
<a name="line-957"></a>
<a name="line-958"></a>
<a name="line-959"></a><a name="printOptCustomWidgetApply"></a><span class='hs-comment'>-- | Emitted right before 'beginPrint' if you</span>
<a name="line-960"></a><span class='hs-comment'>-- added a custom widget in the 'createCustomWidtet' handler. When you get this signal you should read the</span>
<a name="line-961"></a><span class='hs-comment'>-- information from the custom widgets, as the widgets are not guaraneed to be</span>
<a name="line-962"></a><span class='hs-comment'>-- around at a later time.</span>
<a name="line-963"></a><span class='hs-comment'>--</span>
<a name="line-964"></a><span class='hs-definition'>printOptCustomWidgetApply</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</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'>Widget</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-965"></a><span class='hs-definition'>printOptCustomWidgetApply</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT__NONE</span> <span class='hs-str'>"custom_widget_apply"</span><span class='hs-layout'>)</span>
<a name="line-966"></a>
<a name="line-967"></a><a name="printOptPreview"></a><span class='hs-comment'>-- | Gets emitted when a preview is requested from the native dialog.</span>
<a name="line-968"></a><span class='hs-comment'>--</span>
<a name="line-969"></a><span class='hs-comment'>-- The default handler for this signal uses an external viewer application</span>
<a name="line-970"></a><span class='hs-comment'>-- to preview.</span>
<a name="line-971"></a><span class='hs-comment'>--</span>
<a name="line-972"></a><span class='hs-comment'>-- To implement a custom print preview, an application must return @True@</span>
<a name="line-973"></a><span class='hs-comment'>-- from its handler for this signal. In order to use the provided @context@ for</span>
<a name="line-974"></a><span class='hs-comment'>-- the preview implementation, it must be given a suitable cairo context with</span>
<a name="line-975"></a><span class='hs-comment'>-- 'printContextSetCairoContext'.</span>
<a name="line-976"></a><span class='hs-comment'>--</span>
<a name="line-977"></a><span class='hs-comment'>-- The custom preview implementation can use</span>
<a name="line-978"></a><span class='hs-comment'>-- 'printOperationPreviewIsSelected' and 'printOperationPreviewRenderPage' to</span>
<a name="line-979"></a><span class='hs-comment'>-- find pages which are selected for print and render them. The preview must be</span>
<a name="line-980"></a><span class='hs-comment'>-- finished by calling 'printOperationPreviewEndPreview' (typically in response</span>
<a name="line-981"></a><span class='hs-comment'>-- to the user clicking a close button).</span>
<a name="line-982"></a><span class='hs-comment'>--</span>
<a name="line-983"></a><span class='hs-definition'>printOptPreview</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationClass</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'>PrintOperationPreview</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>PrintContext</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Window</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>Bool</span><span class='hs-layout'>)</span>
<a name="line-984"></a><span class='hs-definition'>printOptPreview</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT_OBJECT_OBJECT__BOOL</span> <span class='hs-str'>"preview"</span><span class='hs-layout'>)</span>
<a name="line-985"></a>
<a name="line-986"></a><a name="printOptReady"></a><span class='hs-comment'>-- | The 'ready' signal gets emitted once per preview operation, before the first page is rendered.</span>
<a name="line-987"></a><span class='hs-comment'>--</span>
<a name="line-988"></a><span class='hs-comment'>-- A handler for this signal can be used for setup tasks.</span>
<a name="line-989"></a><span class='hs-definition'>printOptReady</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationPreviewClass</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'>PrintContext</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-990"></a><span class='hs-definition'>printOptReady</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT__NONE</span> <span class='hs-str'>"ready"</span><span class='hs-layout'>)</span>
<a name="line-991"></a>
<a name="line-992"></a><a name="printOptGotPageSize"></a><span class='hs-comment'>-- | The 'gotPageSize' signal is emitted once for each page that gets rendered to the preview.</span>
<a name="line-993"></a><span class='hs-comment'>--</span>
<a name="line-994"></a><span class='hs-comment'>-- A handler for this signal should update the context according to @pageSetup@ and set up a suitable</span>
<a name="line-995"></a><span class='hs-comment'>-- cairo context, using 'printContextSetCairoContext'.</span>
<a name="line-996"></a><span class='hs-definition'>printOptGotPageSize</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PrintOperationPreviewClass</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'>PrintContext</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>PageSetup</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-997"></a><span class='hs-definition'>printOptGotPageSize</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Signal</span> <span class='hs-layout'>(</span><span class='hs-varid'>connect_OBJECT_OBJECT__NONE</span> <span class='hs-str'>"got_page_size"</span><span class='hs-layout'>)</span>
<a name="line-998"></a>
<a name="line-999"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_new"</span>
<a name="line-1000"></a>  <span class='hs-varid'>gtk_print_operation_new</span> <span class='hs-keyglyph'>::</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'>PrintOperation</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1001"></a>
<a name="line-1002"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_allow_async"</span>
<a name="line-1003"></a>  <span class='hs-varid'>gtk_print_operation_set_allow_async</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'>PrintOperation</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1004"></a>
<a name="line-1005"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_get_error"</span>
<a name="line-1006"></a>  <span class='hs-varid'>gtk_print_operation_get_error</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'>PrintOperation</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'>()</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><span class='hs-layout'>)</span>
<a name="line-1007"></a>
<a name="line-1008"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_job_name"</span>
<a name="line-1009"></a>  <span class='hs-varid'>gtk_print_operation_set_job_name</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>PrintOperation</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1010"></a>
<a name="line-1011"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_n_pages"</span>
<a name="line-1012"></a>  <span class='hs-varid'>gtk_print_operation_set_n_pages</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'>PrintOperation</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1013"></a>
<a name="line-1014"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_get_n_pages_to_print"</span>
<a name="line-1015"></a>  <span class='hs-varid'>gtk_print_operation_get_n_pages_to_print</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'>PrintOperation</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-1016"></a>
<a name="line-1017"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_current_page"</span>
<a name="line-1018"></a>  <span class='hs-varid'>gtk_print_operation_set_current_page</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'>PrintOperation</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1019"></a>
<a name="line-1020"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_use_full_page"</span>
<a name="line-1021"></a>  <span class='hs-varid'>gtk_print_operation_set_use_full_page</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'>PrintOperation</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1022"></a>
<a name="line-1023"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_unit"</span>
<a name="line-1024"></a>  <span class='hs-varid'>gtk_print_operation_set_unit</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'>PrintOperation</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1025"></a>
<a name="line-1026"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_export_filename"</span>
<a name="line-1027"></a>  <span class='hs-varid'>gtk_print_operation_set_export_filename</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'>PrintOperation</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1028"></a>
<a name="line-1029"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_show_progress"</span>
<a name="line-1030"></a>  <span class='hs-varid'>gtk_print_operation_set_show_progress</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'>PrintOperation</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1031"></a>
<a name="line-1032"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_track_print_status"</span>
<a name="line-1033"></a>  <span class='hs-varid'>gtk_print_operation_set_track_print_status</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'>PrintOperation</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1034"></a>
<a name="line-1035"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_custom_tab_label"</span>
<a name="line-1036"></a>  <span class='hs-varid'>gtk_print_operation_set_custom_tab_label</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'>PrintOperation</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1037"></a>
<a name="line-1038"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_run"</span>
<a name="line-1039"></a>  <span class='hs-varid'>gtk_print_operation_run</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'>PrintOperation</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'>Window</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'>()</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><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1040"></a>
<a name="line-1041"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_cancel"</span>
<a name="line-1042"></a>  <span class='hs-varid'>gtk_print_operation_cancel</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'>PrintOperation</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-1043"></a>
<a name="line-1044"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_draw_page_finish"</span>
<a name="line-1045"></a>  <span class='hs-varid'>gtk_print_operation_draw_page_finish</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'>PrintOperation</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-1046"></a>
<a name="line-1047"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_set_defer_drawing"</span>
<a name="line-1048"></a>  <span class='hs-varid'>gtk_print_operation_set_defer_drawing</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'>PrintOperation</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-1049"></a>
<a name="line-1050"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_get_status"</span>
<a name="line-1051"></a>  <span class='hs-varid'>gtk_print_operation_get_status</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'>PrintOperation</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-1052"></a>
<a name="line-1053"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_get_status_string"</span>
<a name="line-1054"></a>  <span class='hs-varid'>gtk_print_operation_get_status_string</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'>PrintOperation</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'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1055"></a>
<a name="line-1056"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_is_finished"</span>
<a name="line-1057"></a>  <span class='hs-varid'>gtk_print_operation_is_finished</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'>PrintOperation</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-1058"></a>
<a name="line-1059"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_run_page_setup_dialog"</span>
<a name="line-1060"></a>  <span class='hs-varid'>gtk_print_run_page_setup_dialog</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'>Window</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'>PageSetup</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'>PrintSettings</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'>PageSetup</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-1061"></a>
<a name="line-1062"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_run_page_setup_dialog_async"</span>
<a name="line-1063"></a>  <span class='hs-varid'>gtk_print_run_page_setup_dialog_async</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'>Window</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'>PageSetup</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'>PrintSettings</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'>FunPtr</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>PageSetup</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><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><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1064"></a>
<a name="line-1065"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_preview_end_preview"</span>
<a name="line-1066"></a>  <span class='hs-varid'>gtk_print_operation_preview_end_preview</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'>PrintOperationPreview</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-1067"></a>
<a name="line-1068"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_preview_is_selected"</span>
<a name="line-1069"></a>  <span class='hs-varid'>gtk_print_operation_preview_is_selected</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'>PrintOperationPreview</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-1070"></a>
<a name="line-1071"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>safe</span> <span class='hs-str'>"gtk_print_operation_preview_render_page"</span>
<a name="line-1072"></a>  <span class='hs-varid'>gtk_print_operation_preview_render_page</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'>PrintOperationPreview</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-1073"></a>
<a name="line-1074"></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_page_setup_get_type"</span>
<a name="line-1075"></a>  <span class='hs-varid'>gtk_page_setup_get_type</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CUInt</span>
<a name="line-1076"></a>
<a name="line-1077"></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_print_settings_get_type"</span>
<a name="line-1078"></a>  <span class='hs-varid'>gtk_print_settings_get_type</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CUInt</span>
<a name="line-1079"></a>
<a name="line-1080"></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_unit_get_type"</span>
<a name="line-1081"></a>  <span class='hs-varid'>gtk_unit_get_type</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CUInt</span>
<a name="line-1082"></a>
<a name="line-1083"></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_print_status_get_type"</span>
<a name="line-1084"></a>  <span class='hs-varid'>gtk_print_status_get_type</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CUInt</span>
</pre></body>
</html>