{-# LINE 2 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
{-# LANGUAGE ScopedTypeVariables #-}

{-# LINE 3 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
-- -*-haskell-*-
-- GIMP Toolkit (GTK) Widget PrintSettings
--
-- Author : Andy Stewart
--
-- Created: 28 Mar 2010
--
-- Copyright (C) 2010 Andy Stewart
--
-- This library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Lesser General Public
-- License as published by the Free Software Foundation; either
-- version 2.1 of the License, or (at your option) any later version.
--
-- This library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Lesser General Public License for more details.
--
-- |
-- Maintainer : gtk2hs-users@lists.sourceforge.net
-- Stability : provisional
-- Portability : portable (depends on GHC)
--
-- Stores print settings
--
-- * Module available since Gtk+ version 2.10
--
module Graphics.UI.Gtk.Printing.PrintSettings (

-- * Detail
--
-- | A 'PrintSettings' object represents the settings of a print dialog in a
-- system-independent way. The main use for this object is that once you\'ve
-- printed you can get a settings object that represents the settings the user
-- chose, and the next time you print you can pass that object in so that the
-- user doesn't have to re-set all his settings.
--
-- Its also possible to enumerate the settings so that you can easily save
-- the settings for the next time your app runs, or even store them in a
-- document. The predefined keys try to use shared values as much as possible
-- so that moving such a document between systems still works.
--
-- Printing support was added in Gtk+ 2.10.
--

-- * Class Hierarchy
--
-- |
-- @
-- | 'GObject'
-- | +----PrintSettings
-- @


-- * Types
  PrintSettings,
  PrintSettingsClass,
  castToPrintSettings,
  toPrintSettings,
  -- PageRange,

-- * Enums
  PageOrientation(..),

  NumberUpLayout(..),

  PrintQuality(..),
  PrintDuplex(..),
  PrintPages(..),
  PageSet(..),

-- * Constructors
  printSettingsNew,

  printSettingsNewFromFile,


-- * Methods
  printSettingsCopy,
  printSettingsHasKey,
  printSettingsGet,
  printSettingsSet,
  printSettingsUnset,
  printSettingsForeach,
  printSettingsGetBool,
  printSettingsSetBool,
  printSettingsGetDouble,
  printSettingsGetDoubleWithDefault,
  printSettingsSetDouble,
  printSettingsGetLength,
  printSettingsSetLength,
  printSettingsGetInt,
  printSettingsGetIntWithDefault,
  printSettingsSetInt,
  printSettingsGetPaperWidth,
  printSettingsSetPaperWidth,
  printSettingsGetPaperHeight,
  printSettingsSetPaperHeight,

  printSettingsSetResolutionXy,
  printSettingsGetResolutionX,
  printSettingsGetResolutionY,

  -- printSettingsGetPageRanges,
  -- printSettingsSetPageRanges,

  printSettingsLoadFile,


  printSettingsToFile,


-- * Attributes
  printSettingsPrinter,
  printSettingsOrientation,
  printSettingsPaperSize,
  printSettingsUseColor,
  printSettingsCollate,
  printSettingsReverse,
  printSettingsDuplex,
  printSettingsQuality,
  printSettingsNCopies,
  printSettingsNumberUp,
  printSettingsResolution,
  printSettingsScale,
  printSettingsPrintPages,
  printSettingsPageSet,
  printSettingsDefaultSource,
  printSettingsMediaType,
  printSettingsDither,
  printSettingsFinishings,
  printSettingsOutputBin,

  printSettingsNumberUpLayout,


  printSettingsPrinterLpi,


  ) where

import Control.Monad (liftM)

import System.Glib.FFI
import System.Glib.Attributes
import System.Glib.UTFString
import System.Glib.GError
import Graphics.UI.Gtk.Types
{-# LINE 152 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}

import Graphics.UI.Gtk.Printing.PaperSize (PaperSize(PaperSize), mkPaperSize, Unit(..))



{-# LINE 157 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}


--------------------
-- Enums
data PageOrientation = PageOrientationPortrait
                     | PageOrientationLandscape
                     | PageOrientationReversePortrait
                     | PageOrientationReverseLandscape
                     deriving (Int -> PageOrientation
PageOrientation -> Int
PageOrientation -> [PageOrientation]
PageOrientation -> PageOrientation
PageOrientation -> PageOrientation -> [PageOrientation]
PageOrientation
-> PageOrientation -> PageOrientation -> [PageOrientation]
(PageOrientation -> PageOrientation)
-> (PageOrientation -> PageOrientation)
-> (Int -> PageOrientation)
-> (PageOrientation -> Int)
-> (PageOrientation -> [PageOrientation])
-> (PageOrientation -> PageOrientation -> [PageOrientation])
-> (PageOrientation -> PageOrientation -> [PageOrientation])
-> (PageOrientation
    -> PageOrientation -> PageOrientation -> [PageOrientation])
-> Enum PageOrientation
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: PageOrientation -> PageOrientation
succ :: PageOrientation -> PageOrientation
$cpred :: PageOrientation -> PageOrientation
pred :: PageOrientation -> PageOrientation
$ctoEnum :: Int -> PageOrientation
toEnum :: Int -> PageOrientation
$cfromEnum :: PageOrientation -> Int
fromEnum :: PageOrientation -> Int
$cenumFrom :: PageOrientation -> [PageOrientation]
enumFrom :: PageOrientation -> [PageOrientation]
$cenumFromThen :: PageOrientation -> PageOrientation -> [PageOrientation]
enumFromThen :: PageOrientation -> PageOrientation -> [PageOrientation]
$cenumFromTo :: PageOrientation -> PageOrientation -> [PageOrientation]
enumFromTo :: PageOrientation -> PageOrientation -> [PageOrientation]
$cenumFromThenTo :: PageOrientation
-> PageOrientation -> PageOrientation -> [PageOrientation]
enumFromThenTo :: PageOrientation
-> PageOrientation -> PageOrientation -> [PageOrientation]
Enum,PageOrientation
PageOrientation -> PageOrientation -> Bounded PageOrientation
forall a. a -> a -> Bounded a
$cminBound :: PageOrientation
minBound :: PageOrientation
$cmaxBound :: PageOrientation
maxBound :: PageOrientation
Bounded,PageOrientation -> PageOrientation -> Bool
(PageOrientation -> PageOrientation -> Bool)
-> (PageOrientation -> PageOrientation -> Bool)
-> Eq PageOrientation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PageOrientation -> PageOrientation -> Bool
== :: PageOrientation -> PageOrientation -> Bool
$c/= :: PageOrientation -> PageOrientation -> Bool
/= :: PageOrientation -> PageOrientation -> Bool
Eq,Int -> PageOrientation -> ShowS
[PageOrientation] -> ShowS
PageOrientation -> String
(Int -> PageOrientation -> ShowS)
-> (PageOrientation -> String)
-> ([PageOrientation] -> ShowS)
-> Show PageOrientation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PageOrientation -> ShowS
showsPrec :: Int -> PageOrientation -> ShowS
$cshow :: PageOrientation -> String
show :: PageOrientation -> String
$cshowList :: [PageOrientation] -> ShowS
showList :: [PageOrientation] -> ShowS
Show)

{-# LINE 162 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}

data PrintQuality = PrintQualityLow
                  | PrintQualityNormal
                  | PrintQualityHigh
                  | PrintQualityDraft
                  deriving (Int -> PrintQuality
PrintQuality -> Int
PrintQuality -> [PrintQuality]
PrintQuality -> PrintQuality
PrintQuality -> PrintQuality -> [PrintQuality]
PrintQuality -> PrintQuality -> PrintQuality -> [PrintQuality]
(PrintQuality -> PrintQuality)
-> (PrintQuality -> PrintQuality)
-> (Int -> PrintQuality)
-> (PrintQuality -> Int)
-> (PrintQuality -> [PrintQuality])
-> (PrintQuality -> PrintQuality -> [PrintQuality])
-> (PrintQuality -> PrintQuality -> [PrintQuality])
-> (PrintQuality -> PrintQuality -> PrintQuality -> [PrintQuality])
-> Enum PrintQuality
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: PrintQuality -> PrintQuality
succ :: PrintQuality -> PrintQuality
$cpred :: PrintQuality -> PrintQuality
pred :: PrintQuality -> PrintQuality
$ctoEnum :: Int -> PrintQuality
toEnum :: Int -> PrintQuality
$cfromEnum :: PrintQuality -> Int
fromEnum :: PrintQuality -> Int
$cenumFrom :: PrintQuality -> [PrintQuality]
enumFrom :: PrintQuality -> [PrintQuality]
$cenumFromThen :: PrintQuality -> PrintQuality -> [PrintQuality]
enumFromThen :: PrintQuality -> PrintQuality -> [PrintQuality]
$cenumFromTo :: PrintQuality -> PrintQuality -> [PrintQuality]
enumFromTo :: PrintQuality -> PrintQuality -> [PrintQuality]
$cenumFromThenTo :: PrintQuality -> PrintQuality -> PrintQuality -> [PrintQuality]
enumFromThenTo :: PrintQuality -> PrintQuality -> PrintQuality -> [PrintQuality]
Enum,PrintQuality
PrintQuality -> PrintQuality -> Bounded PrintQuality
forall a. a -> a -> Bounded a
$cminBound :: PrintQuality
minBound :: PrintQuality
$cmaxBound :: PrintQuality
maxBound :: PrintQuality
Bounded,PrintQuality -> PrintQuality -> Bool
(PrintQuality -> PrintQuality -> Bool)
-> (PrintQuality -> PrintQuality -> Bool) -> Eq PrintQuality
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PrintQuality -> PrintQuality -> Bool
== :: PrintQuality -> PrintQuality -> Bool
$c/= :: PrintQuality -> PrintQuality -> Bool
/= :: PrintQuality -> PrintQuality -> Bool
Eq,Int -> PrintQuality -> ShowS
[PrintQuality] -> ShowS
PrintQuality -> String
(Int -> PrintQuality -> ShowS)
-> (PrintQuality -> String)
-> ([PrintQuality] -> ShowS)
-> Show PrintQuality
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PrintQuality -> ShowS
showsPrec :: Int -> PrintQuality -> ShowS
$cshow :: PrintQuality -> String
show :: PrintQuality -> String
$cshowList :: [PrintQuality] -> ShowS
showList :: [PrintQuality] -> ShowS
Show)

{-# LINE 164 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}

data PrintDuplex = PrintDuplexSimplex
                 | PrintDuplexHorizontal
                 | PrintDuplexVertical
                 deriving (Enum,Bounded,Eq,Show)

{-# LINE 166 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}

data PrintPages = PrintPagesAll
                | PrintPagesCurrent
                | PrintPagesRanges
                | PrintPagesSelection
                deriving (Int -> PrintPages
PrintPages -> Int
PrintPages -> [PrintPages]
PrintPages -> PrintPages
PrintPages -> PrintPages -> [PrintPages]
PrintPages -> PrintPages -> PrintPages -> [PrintPages]
(PrintPages -> PrintPages)
-> (PrintPages -> PrintPages)
-> (Int -> PrintPages)
-> (PrintPages -> Int)
-> (PrintPages -> [PrintPages])
-> (PrintPages -> PrintPages -> [PrintPages])
-> (PrintPages -> PrintPages -> [PrintPages])
-> (PrintPages -> PrintPages -> PrintPages -> [PrintPages])
-> Enum PrintPages
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: PrintPages -> PrintPages
succ :: PrintPages -> PrintPages
$cpred :: PrintPages -> PrintPages
pred :: PrintPages -> PrintPages
$ctoEnum :: Int -> PrintPages
toEnum :: Int -> PrintPages
$cfromEnum :: PrintPages -> Int
fromEnum :: PrintPages -> Int
$cenumFrom :: PrintPages -> [PrintPages]
enumFrom :: PrintPages -> [PrintPages]
$cenumFromThen :: PrintPages -> PrintPages -> [PrintPages]
enumFromThen :: PrintPages -> PrintPages -> [PrintPages]
$cenumFromTo :: PrintPages -> PrintPages -> [PrintPages]
enumFromTo :: PrintPages -> PrintPages -> [PrintPages]
$cenumFromThenTo :: PrintPages -> PrintPages -> PrintPages -> [PrintPages]
enumFromThenTo :: PrintPages -> PrintPages -> PrintPages -> [PrintPages]
Enum,PrintPages
PrintPages -> PrintPages -> Bounded PrintPages
forall a. a -> a -> Bounded a
$cminBound :: PrintPages
minBound :: PrintPages
$cmaxBound :: PrintPages
maxBound :: PrintPages
Bounded,PrintPages -> PrintPages -> Bool
(PrintPages -> PrintPages -> Bool)
-> (PrintPages -> PrintPages -> Bool) -> Eq PrintPages
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PrintPages -> PrintPages -> Bool
== :: PrintPages -> PrintPages -> Bool
$c/= :: PrintPages -> PrintPages -> Bool
/= :: PrintPages -> PrintPages -> Bool
Eq,Int -> PrintPages -> ShowS
[PrintPages] -> ShowS
PrintPages -> String
(Int -> PrintPages -> ShowS)
-> (PrintPages -> String)
-> ([PrintPages] -> ShowS)
-> Show PrintPages
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PrintPages -> ShowS
showsPrec :: Int -> PrintPages -> ShowS
$cshow :: PrintPages -> String
show :: PrintPages -> String
$cshowList :: [PrintPages] -> ShowS
showList :: [PrintPages] -> ShowS
Show)

{-# LINE 168 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}

data PageSet = PageSetAll
             | PageSetEven
             | PageSetOdd
             deriving (Enum,Bounded,Eq,Show)

{-# LINE 170 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}


-- | Used to determine the layout of pages on a sheet when printing multiple pages per sheet.
data NumberUpLayout = NumberUpLayoutLeftToRightTopToBottom
                    | NumberUpLayoutLeftToRightBottomToTop
                    | NumberUpLayoutRightToLeftTopToBottom
                    | NumberUpLayoutRightToLeftBottomToTop
                    | NumberUpLayoutTopToBottomLeftToRight
                    | NumberUpLayoutTopToBottomRightToLeft
                    | NumberUpLayoutBottomToTopLeftToRight
                    | NumberUpLayoutBottomToTopRightToLeft
                    deriving (Enum,Bounded,Eq,Show)

{-# LINE 174 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}


--------------------
-- Constructors

-- | Creates a new 'PrintSettings' object.
--
printSettingsNew :: IO PrintSettings
printSettingsNew =
  wrapNewGObject mkPrintSettings $
  gtk_print_settings_new
{-# LINE 185 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}


-- | Reads the print settings from @fileName@. Returns a new 'PrintSettings'
-- object with the restored settings.
--
-- * Available since Gtk+ version 2.12
--
printSettingsNewFromFile :: GlibFilePath fp
 => fp -- ^ @fileName@ - the filename to read the settings from
 -> IO PrintSettings
printSettingsNewFromFile :: forall fp. GlibFilePath fp => fp -> IO PrintSettings
printSettingsNewFromFile fp
fileName =
  (ForeignPtr PrintSettings -> PrintSettings,
 FinalizerPtr PrintSettings)
-> IO (Ptr PrintSettings) -> IO PrintSettings
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
wrapNewGObject (ForeignPtr PrintSettings -> PrintSettings,
 FinalizerPtr PrintSettings)
forall {a}.
(ForeignPtr PrintSettings -> PrintSettings, FinalizerPtr a)
mkPrintSettings (IO (Ptr PrintSettings) -> IO PrintSettings)
-> IO (Ptr PrintSettings) -> IO PrintSettings
forall a b. (a -> b) -> a -> b
$
  (Ptr (Ptr ()) -> IO (Ptr PrintSettings)) -> IO (Ptr PrintSettings)
forall a. (Ptr (Ptr ()) -> IO a) -> IO a
propagateGError ((Ptr (Ptr ()) -> IO (Ptr PrintSettings))
 -> IO (Ptr PrintSettings))
-> (Ptr (Ptr ()) -> IO (Ptr PrintSettings))
-> IO (Ptr PrintSettings)
forall a b. (a -> b) -> a -> b
$ \Ptr (Ptr ())
errorPtr ->
  fp -> (CString -> IO (Ptr PrintSettings)) -> IO (Ptr PrintSettings)
forall a. fp -> (CString -> IO a) -> IO a
forall fp a. GlibFilePath fp => fp -> (CString -> IO a) -> IO a
withUTFFilePath fp
fileName ((CString -> IO (Ptr PrintSettings)) -> IO (Ptr PrintSettings))
-> (CString -> IO (Ptr PrintSettings)) -> IO (Ptr PrintSettings)
forall a b. (a -> b) -> a -> b
$ \CString
fileNamePtr ->
  CString -> Ptr (Ptr ()) -> IO (Ptr PrintSettings)
gtk_print_settings_new_from_file
{-# LINE 200 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
        CString
fileNamePtr
        Ptr (Ptr ())
errorPtr



--------------------
-- Methods

-- | Copies a 'PrintSettings' object.
--
printSettingsCopy :: PrintSettingsClass self => self
 -> IO PrintSettings -- ^ returns a newly allocated copy of @other@
printSettingsCopy :: forall self. PrintSettingsClass self => self -> IO PrintSettings
printSettingsCopy self
self =
  (ForeignPtr PrintSettings -> PrintSettings,
 FinalizerPtr PrintSettings)
-> IO (Ptr PrintSettings) -> IO PrintSettings
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
wrapNewGObject (ForeignPtr PrintSettings -> PrintSettings,
 FinalizerPtr PrintSettings)
forall {a}.
(ForeignPtr PrintSettings -> PrintSettings, FinalizerPtr a)
mkPrintSettings (IO (Ptr PrintSettings) -> IO PrintSettings)
-> IO (Ptr PrintSettings) -> IO PrintSettings
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO (Ptr PrintSettings))
-> IO (Ptr PrintSettings)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO (Ptr PrintSettings))
 -> IO (Ptr PrintSettings))
-> (Ptr PrintSettings -> IO (Ptr PrintSettings))
-> IO (Ptr PrintSettings)
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO (Ptr PrintSettings)
gtk_print_settings_copy Ptr PrintSettings
argPtr1)
{-# LINE 215 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Returns @True@, if a value is associated with @key@.
--
printSettingsHasKey :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> IO Bool -- ^ returns @True@, if @key@ has a value
printSettingsHasKey :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO Bool
printSettingsHasKey self
self string
key =
  (CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
  string -> (CString -> IO CInt) -> IO CInt
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO CInt) -> IO CInt)
-> (CString -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO CInt
gtk_print_settings_has_key Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 226 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr

-- | Looks up the string value associated with @key@.
--
printSettingsGet :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> IO string -- ^ returns the string value for @key@
printSettingsGet :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO string
printSettingsGet self
self string
key =
  string -> (CString -> IO string) -> IO string
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO string) -> IO string)
-> (CString -> IO string) -> IO string
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CString) -> IO CString)
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO CString
gtk_print_settings_get Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 237 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr
  IO CString -> (CString -> IO string) -> IO string
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= CString -> IO string
forall s. GlibString s => CString -> IO s
peekUTFString

-- | Associates @value@ with @key@.
--
printSettingsSet :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> string -- ^ @value@ - a string value
 -> IO ()
printSettingsSet :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> string -> IO ()
printSettingsSet self
self string
key string
value =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
value ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
valuePtr ->
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 CString
arg3 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> CString -> IO ()
gtk_print_settings_set Ptr PrintSettings
argPtr1 CString
arg2 CString
arg3)
{-# LINE 251 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr
    CString
valuePtr

-- | Removes any value associated with @key@
--
printSettingsUnset :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> IO ()
printSettingsUnset :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsUnset self
self string
key =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO ()
gtk_print_settings_unset Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 263 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr

-- | Calls @func@ for each key-value pair of @settings@.
--
printSettingsForeach :: PrintSettingsClass self => self
 -> (String -> IO ()) -- ^ @func@ - the function to call
 -> IO ()
printSettingsForeach :: forall self.
PrintSettingsClass self =>
self -> (String -> IO ()) -> IO ()
printSettingsForeach self
self String -> IO ()
func = do
  PrintSettingsFunc
funcPtr <- (CString -> CString -> Ptr () -> IO ()) -> IO PrintSettingsFunc
mkPrintSettingsFunc ((CString -> CString -> Ptr () -> IO ()) -> IO PrintSettingsFunc)
-> (CString -> CString -> Ptr () -> IO ()) -> IO PrintSettingsFunc
forall a b. (a -> b) -> a -> b
$ \CString
_ CString
strPtr Ptr ()
_ -> do
    String
str <- CString -> IO String
peekCString CString
strPtr
    String -> IO ()
func String
str
  (\(PrintSettings ForeignPtr PrintSettings
arg1) PrintSettingsFunc
arg2 Ptr ()
arg3 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> PrintSettingsFunc -> Ptr () -> IO ()
gtk_print_settings_foreach Ptr PrintSettings
argPtr1 PrintSettingsFunc
arg2 Ptr ()
arg3)
{-# LINE 276 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    PrintSettingsFunc
funcPtr
    (PrintSettingsFunc -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr PrintSettingsFunc
funcPtr)

type PrintSettingsFunc = FunPtr (((Ptr CChar) -> ((Ptr CChar) -> ((Ptr ()) -> (IO ())))))
{-# LINE 281 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}

foreign import ccall "wrapper" mkPrintSettingsFunc ::
  (CString -> CString -> Ptr () -> IO ())
  -> IO PrintSettingsFunc

-- | Returns the boolean represented by the value that is associated with
-- @key@.
--
-- The string \"true\" represents @True@, any other string @False@.
--
printSettingsGetBool :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> IO Bool -- ^ returns @True@, if @key@ maps to a true value.
printSettingsGetBool :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO Bool
printSettingsGetBool self
self string
key =
  (CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
  string -> (CString -> IO CInt) -> IO CInt
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO CInt) -> IO CInt)
-> (CString -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO CInt
gtk_print_settings_get_bool Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 298 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr

-- | Sets @key@ to a boolean value.
--
printSettingsSetBool :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> Bool -- ^ @value@ - a boolean
 -> IO ()
printSettingsSetBool :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> Bool -> IO ()
printSettingsSetBool self
self string
key Bool
value =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 CInt
arg3 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> CInt -> IO ()
gtk_print_settings_set_bool Ptr PrintSettings
argPtr1 CString
arg2 CInt
arg3)
{-# LINE 310 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr
    (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
value)

-- | Returns the double value associated with @key@, or 0.
--
printSettingsGetDouble :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> IO Double -- ^ returns the double value of @key@
printSettingsGetDouble :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO Double
printSettingsGetDouble self
self string
key =
  (CDouble -> Double) -> IO CDouble -> IO Double
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac (IO CDouble -> IO Double) -> IO CDouble -> IO Double
forall a b. (a -> b) -> a -> b
$
  string -> (CString -> IO CDouble) -> IO CDouble
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO CDouble) -> IO CDouble)
-> (CString -> IO CDouble) -> IO CDouble
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CDouble) -> IO CDouble)
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO CDouble
gtk_print_settings_get_double Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 323 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr

-- | Returns the floating point number represented by the value that is
-- associated with @key@, or @defaultVal@ if the value does not represent a
-- floating point number.
--
-- Floating point numbers are parsed with 'gAsciiStrtod'.
--
printSettingsGetDoubleWithDefault :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> Double -- ^ @def@ - the default value
 -> IO Double -- ^ returns the floating point number associated with @key@
printSettingsGetDoubleWithDefault :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> Double -> IO Double
printSettingsGetDoubleWithDefault self
self string
key Double
def =
  (CDouble -> Double) -> IO CDouble -> IO Double
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac (IO CDouble -> IO Double) -> IO CDouble -> IO Double
forall a b. (a -> b) -> a -> b
$
  string -> (CString -> IO CDouble) -> IO CDouble
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO CDouble) -> IO CDouble)
-> (CString -> IO CDouble) -> IO CDouble
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 CDouble
arg3 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CDouble) -> IO CDouble)
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> CDouble -> IO CDouble
gtk_print_settings_get_double_with_default Ptr PrintSettings
argPtr1 CString
arg2 CDouble
arg3)
{-# LINE 340 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr
    (Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
def)

-- | Sets @key@ to a double value.
--
printSettingsSetDouble :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> Double -- ^ @value@ - a double value
 -> IO ()
printSettingsSetDouble :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> Double -> IO ()
printSettingsSetDouble self
self string
key Double
value =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 CDouble
arg3 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> CDouble -> IO ()
gtk_print_settings_set_double Ptr PrintSettings
argPtr1 CString
arg2 CDouble
arg3)
{-# LINE 353 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr
    (Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
value)

-- | Returns the value associated with @key@, interpreted as a length. The
-- returned value is converted to @units@.
--
printSettingsGetLength :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> Unit -- ^ @unit@ - the unit of the return value
 -> IO Double -- ^ returns the length value of @key@, converted to @unit@
printSettingsGetLength :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> Unit -> IO Double
printSettingsGetLength self
self string
key Unit
unit =
  (CDouble -> Double) -> IO CDouble -> IO Double
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac (IO CDouble -> IO Double) -> IO CDouble -> IO Double
forall a b. (a -> b) -> a -> b
$
  string -> (CString -> IO CDouble) -> IO CDouble
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO CDouble) -> IO CDouble)
-> (CString -> IO CDouble) -> IO CDouble
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 CInt
arg3 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CDouble) -> IO CDouble)
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> CInt -> IO CDouble
gtk_print_settings_get_length Ptr PrintSettings
argPtr1 CString
arg2 CInt
arg3)
{-# LINE 368 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Unit -> Int) -> Unit -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Unit -> Int
forall a. Enum a => a -> Int
fromEnum) Unit
unit)

-- | Associates a length in units of @unit@ with @key@.
--
printSettingsSetLength :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> Double -- ^ @value@ - a length
 -> Unit -- ^ @unit@ - the unit of @length@
 -> IO ()
printSettingsSetLength :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> Double -> Unit -> IO ()
printSettingsSetLength self
self string
key Double
value Unit
unit =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 CDouble
arg3 CInt
arg4 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> CDouble -> CInt -> IO ()
gtk_print_settings_set_length Ptr PrintSettings
argPtr1 CString
arg2 CDouble
arg3 CInt
arg4)
{-# LINE 382 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr
    (Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
value)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Unit -> Int) -> Unit -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Unit -> Int
forall a. Enum a => a -> Int
fromEnum) Unit
unit)

-- | Returns the integer value of @key@, or 0.
--
printSettingsGetInt :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> IO Int -- ^ returns the integer value of @key@
printSettingsGetInt :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO Int
printSettingsGetInt self
self string
key =
  (CInt -> Int) -> IO CInt -> IO Int
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (IO CInt -> IO Int) -> IO CInt -> IO Int
forall a b. (a -> b) -> a -> b
$
  string -> (CString -> IO CInt) -> IO CInt
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO CInt) -> IO CInt)
-> (CString -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO CInt
gtk_print_settings_get_int Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 396 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr

-- | Returns the value of @key@, interpreted as an integer, or the default
-- value.
--
printSettingsGetIntWithDefault :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> Int -- ^ @def@ - the default value
 -> IO Int -- ^ returns the integer value of @key@
printSettingsGetIntWithDefault :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> Int -> IO Int
printSettingsGetIntWithDefault self
self string
key Int
def =
  (CInt -> Int) -> IO CInt -> IO Int
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (IO CInt -> IO Int) -> IO CInt -> IO Int
forall a b. (a -> b) -> a -> b
$
  string -> (CString -> IO CInt) -> IO CInt
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO CInt) -> IO CInt)
-> (CString -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 CInt
arg3 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> CInt -> IO CInt
gtk_print_settings_get_int_with_default Ptr PrintSettings
argPtr1 CString
arg2 CInt
arg3)
{-# LINE 410 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr
    (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
def)

-- | Sets @key@ to an integer value.
--
printSettingsSetInt :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @key@ - a key
 -> Int -- ^ @value@ - an integer
 -> IO ()
printSettingsSetInt :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> Int -> IO ()
printSettingsSetInt self
self string
key Int
value =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
key ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
keyPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 CInt
arg3 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> CInt -> IO ()
gtk_print_settings_set_int Ptr PrintSettings
argPtr1 CString
arg2 CInt
arg3)
{-# LINE 423 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
keyPtr
    (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
value)

-- | Convenience function to obtain the value of ''PrintSettingsPrinter''.
printSettingsGetPrinter :: (PrintSettingsClass self, GlibString string) => self
 -> IO string -- ^ returns the printer name
printSettingsGetPrinter :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetPrinter self
self =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CString) -> IO CString)
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CString
gtk_print_settings_get_printer Ptr PrintSettings
argPtr1)
{-# LINE 432 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
  IO CString -> (CString -> IO string) -> IO string
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= CString -> IO string
forall s. GlibString s => CString -> IO s
peekUTFString

-- | Convenience function to obtain the value of ''PrintSettingsPrinter''.
printSettingsSetPrinter :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @printer@ - the printer name
 -> IO ()
printSettingsSetPrinter :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetPrinter self
self string
printer =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
printer ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
printerPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO ()
gtk_print_settings_set_printer Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 442 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
printerPtr

-- | Get the value of ''PrintSettingsOrientation'', converted to a 'PageOrientation'.
printSettingsGetOrientation :: PrintSettingsClass self => self
 -> IO PageOrientation -- ^ returns the orientation
printSettingsGetOrientation :: forall self. PrintSettingsClass self => self -> IO PageOrientation
printSettingsGetOrientation self
self =
  (CInt -> PageOrientation) -> IO CInt -> IO PageOrientation
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Int -> PageOrientation
forall a. Enum a => Int -> a
toEnum (Int -> PageOrientation)
-> (CInt -> Int) -> CInt -> PageOrientation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) (IO CInt -> IO PageOrientation) -> IO CInt -> IO PageOrientation
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_orientation Ptr PrintSettings
argPtr1)
{-# LINE 451 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of ''PrintSettingsOrientation''.
printSettingsSetOrientation :: PrintSettingsClass self => self
 -> PageOrientation -- ^ @orientation@ - a page orientation
 -> IO ()
printSettingsSetOrientation :: forall self.
PrintSettingsClass self =>
self -> PageOrientation -> IO ()
printSettingsSetOrientation self
self PageOrientation
orientation =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_orientation Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 459 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt)
-> (PageOrientation -> Int) -> PageOrientation -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PageOrientation -> Int
forall a. Enum a => a -> Int
fromEnum) PageOrientation
orientation)

-- | Gets the value of 'PrintSettingsPaperFormat', converted to a 'PaperSize'.
printSettingsGetPaperSize :: PrintSettingsClass self => self
 -> IO PaperSize -- ^ returns the paper size
printSettingsGetPaperSize :: forall self. PrintSettingsClass self => self -> IO PaperSize
printSettingsGetPaperSize self
self =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO (Ptr ())) -> IO (Ptr ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr PrintSettings -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO (Ptr ())
gtk_print_settings_get_paper_size Ptr PrintSettings
argPtr1)
{-# LINE 467 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
            (self -> PrintSettings
forall o. PrintSettingsClass o => o -> PrintSettings
toPrintSettings self
self)
  IO (Ptr ()) -> (Ptr () -> IO PaperSize) -> IO PaperSize
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Ptr PaperSize -> IO PaperSize
mkPaperSize (Ptr PaperSize -> IO PaperSize)
-> (Ptr () -> Ptr PaperSize) -> Ptr () -> IO PaperSize
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ptr () -> Ptr PaperSize
forall a b. Ptr a -> Ptr b
castPtr

-- | Sets the value of 'PrintSettingsPaperFormat', 'PrintSettingsPaperWidth' and
-- 'PrintSettingsPaperHeight'.
printSettingsSetPaperSize :: PrintSettingsClass self => self
 -> PaperSize -- ^ @paperSize@ - a paper size
 -> IO ()
printSettingsSetPaperSize :: forall self. PrintSettingsClass self => self -> PaperSize -> IO ()
printSettingsSetPaperSize self
self (PaperSize ForeignPtr PaperSize
paperSize) =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) Ptr ()
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> Ptr () -> IO ()
gtk_print_settings_set_paper_size Ptr PrintSettings
argPtr1 Ptr ()
arg2)
{-# LINE 477 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Ptr PaperSize -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr (Ptr PaperSize -> Ptr ()) -> Ptr PaperSize -> Ptr ()
forall a b. (a -> b) -> a -> b
$ ForeignPtr PaperSize -> Ptr PaperSize
forall a. ForeignPtr a -> Ptr a
unsafeForeignPtrToPtr (ForeignPtr PaperSize -> Ptr PaperSize)
-> ForeignPtr PaperSize -> Ptr PaperSize
forall a b. (a -> b) -> a -> b
$ ForeignPtr PaperSize
paperSize)

-- | Gets the value of 'PrintSettingsPaperWidth', converted to unit.
--
printSettingsGetPaperWidth :: PrintSettingsClass self => self
 -> Unit -- ^ @unit@ - the unit for the return value
 -> IO Double -- ^ returns the paper width, in units of @unit@
printSettingsGetPaperWidth :: forall self. PrintSettingsClass self => self -> Unit -> IO Double
printSettingsGetPaperWidth self
self Unit
unit =
  (CDouble -> Double) -> IO CDouble -> IO Double
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac (IO CDouble -> IO Double) -> IO CDouble -> IO Double
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CDouble) -> IO CDouble)
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO CDouble
gtk_print_settings_get_paper_width Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 488 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Unit -> Int) -> Unit -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Unit -> Int
forall a. Enum a => a -> Int
fromEnum) Unit
unit)

-- | Sets the value of 'PrintSettingsPaperWidth'.
--
printSettingsSetPaperWidth :: PrintSettingsClass self => self
 -> Double -- ^ @width@ - the paper width
 -> Unit -- ^ @unit@ - the units of @width@
 -> IO ()
printSettingsSetPaperWidth :: forall self.
PrintSettingsClass self =>
self -> Double -> Unit -> IO ()
printSettingsSetPaperWidth self
self Double
width Unit
unit =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CDouble
arg2 CInt
arg3 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CDouble -> CInt -> IO ()
gtk_print_settings_set_paper_width Ptr PrintSettings
argPtr1 CDouble
arg2 CInt
arg3)
{-# LINE 499 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
width)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Unit -> Int) -> Unit -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Unit -> Int
forall a. Enum a => a -> Int
fromEnum) Unit
unit)

-- | Gets the value of 'PrintSettingsPaperHeight', converted to unit.
--
printSettingsGetPaperHeight :: PrintSettingsClass self => self
 -> Unit -- ^ @unit@ - the unit for the return value
 -> IO Double -- ^ returns the paper height, in units of @unit@
printSettingsGetPaperHeight :: forall self. PrintSettingsClass self => self -> Unit -> IO Double
printSettingsGetPaperHeight self
self Unit
unit =
  (CDouble -> Double) -> IO CDouble -> IO Double
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac (IO CDouble -> IO Double) -> IO CDouble -> IO Double
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CDouble) -> IO CDouble)
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO CDouble
gtk_print_settings_get_paper_height Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 511 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Unit -> Int) -> Unit -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Unit -> Int
forall a. Enum a => a -> Int
fromEnum) Unit
unit)

-- | Sets the value of 'PrintSettingsPaperHeight'.
--
printSettingsSetPaperHeight :: PrintSettingsClass self => self
 -> Double -- ^ @height@ - the paper height
 -> Unit -- ^ @unit@ - the units of @height@
 -> IO ()
printSettingsSetPaperHeight :: forall self.
PrintSettingsClass self =>
self -> Double -> Unit -> IO ()
printSettingsSetPaperHeight self
self Double
height Unit
unit =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CDouble
arg2 CInt
arg3 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CDouble -> CInt -> IO ()
gtk_print_settings_set_paper_height Ptr PrintSettings
argPtr1 CDouble
arg2 CInt
arg3)
{-# LINE 522 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
height)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Unit -> Int) -> Unit -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Unit -> Int
forall a. Enum a => a -> Int
fromEnum) Unit
unit)

-- | Gets the value of ''PrintSettingsUseColor''.
printSettingsGetUseColor :: PrintSettingsClass self => self
 -> IO Bool -- ^ returns whether to use color
printSettingsGetUseColor :: forall self. PrintSettingsClass self => self -> IO Bool
printSettingsGetUseColor self
self =
  (CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_use_color Ptr PrintSettings
argPtr1)
{-# LINE 532 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of ''PrintSettingsUseColor''.
printSettingsSetUseColor :: PrintSettingsClass self => self
 -> Bool -- ^ @useColor@ - whether to use color
 -> IO ()
printSettingsSetUseColor :: forall self. PrintSettingsClass self => self -> Bool -> IO ()
printSettingsSetUseColor self
self Bool
useColor =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_use_color Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 540 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
useColor)

-- | Gets the value of ''PrintSettingsCollate''.
printSettingsGetCollate :: PrintSettingsClass self => self
 -> IO Bool -- ^ returns whether to collate the printed pages
printSettingsGetCollate :: forall self. PrintSettingsClass self => self -> IO Bool
printSettingsGetCollate self
self =
  (CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_collate Ptr PrintSettings
argPtr1)
{-# LINE 549 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of ''PrintSettingsCollate''.
printSettingsSetCollate :: PrintSettingsClass self => self
 -> Bool -- ^ @collate@ - whether to collate the output
 -> IO ()
printSettingsSetCollate :: forall self. PrintSettingsClass self => self -> Bool -> IO ()
printSettingsSetCollate self
self Bool
collate =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_collate Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 557 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
collate)

-- | Gets the value of ''PrintSettingsReverse''.
printSettingsGetReverse :: PrintSettingsClass self => self
 -> IO Bool -- ^ returns whether to reverse the order of the printed pages
printSettingsGetReverse :: forall self. PrintSettingsClass self => self -> IO Bool
printSettingsGetReverse self
self =
  (CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_reverse Ptr PrintSettings
argPtr1)
{-# LINE 566 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of ''PrintSettingsReverse''.
printSettingsSetReverse :: PrintSettingsClass self => self
 -> Bool -- ^ @reverse@ - whether to reverse the output
 -> IO ()
printSettingsSetReverse :: forall self. PrintSettingsClass self => self -> Bool -> IO ()
printSettingsSetReverse self
self Bool
reverse =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_reverse Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 574 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
reverse)

-- | Gets the value of ''PrintSettingsDuplex''.
printSettingsGetDuplex :: PrintSettingsClass self => self
 -> IO PrintDuplex -- ^ returns whether to print the output in duplex.
printSettingsGetDuplex :: forall self. PrintSettingsClass self => self -> IO PrintDuplex
printSettingsGetDuplex self
self =
  (CInt -> PrintDuplex) -> IO CInt -> IO PrintDuplex
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Int -> PrintDuplex
forall a. Enum a => Int -> a
toEnum (Int -> PrintDuplex) -> (CInt -> Int) -> CInt -> PrintDuplex
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) (IO CInt -> IO PrintDuplex) -> IO CInt -> IO PrintDuplex
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_duplex Ptr PrintSettings
argPtr1)
{-# LINE 583 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of 'PrintSettingsDuplex'.
printSettingsSetDuplex :: PrintSettingsClass self => self
 -> PrintDuplex -- ^ @duplex@ - a 'PrintDuplex' value
 -> IO ()
printSettingsSetDuplex :: forall self.
PrintSettingsClass self =>
self -> PrintDuplex -> IO ()
printSettingsSetDuplex self
self PrintDuplex
duplex =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_duplex Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 591 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (PrintDuplex -> Int) -> PrintDuplex -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PrintDuplex -> Int
forall a. Enum a => a -> Int
fromEnum) PrintDuplex
duplex)

-- | Gets the value of 'PrintSettingsQuality'.
printSettingsGetQuality :: PrintSettingsClass self => self
 -> IO PrintQuality -- ^ returns the print quality
printSettingsGetQuality :: forall self. PrintSettingsClass self => self -> IO PrintQuality
printSettingsGetQuality self
self =
  (CInt -> PrintQuality) -> IO CInt -> IO PrintQuality
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Int -> PrintQuality
forall a. Enum a => Int -> a
toEnum (Int -> PrintQuality) -> (CInt -> Int) -> CInt -> PrintQuality
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) (IO CInt -> IO PrintQuality) -> IO CInt -> IO PrintQuality
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_quality Ptr PrintSettings
argPtr1)
{-# LINE 600 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of 'PrintSettingsQuality'.
printSettingsSetQuality :: PrintSettingsClass self => self
 -> PrintQuality -- ^ @quality@ - a 'PrintQuality' value
 -> IO ()
printSettingsSetQuality :: forall self.
PrintSettingsClass self =>
self -> PrintQuality -> IO ()
printSettingsSetQuality self
self PrintQuality
quality =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_quality Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 608 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (PrintQuality -> Int) -> PrintQuality -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PrintQuality -> Int
forall a. Enum a => a -> Int
fromEnum) PrintQuality
quality)

-- | Gets the value of 'PrintSettingsNCopies'.
printSettingsGetNCopies :: PrintSettingsClass self => self
 -> IO Int -- ^ returns the number of copies to print
printSettingsGetNCopies :: forall self. PrintSettingsClass self => self -> IO Int
printSettingsGetNCopies self
self =
  (CInt -> Int) -> IO CInt -> IO Int
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (IO CInt -> IO Int) -> IO CInt -> IO Int
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_n_copies Ptr PrintSettings
argPtr1)
{-# LINE 617 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of 'PrintSettingsNCopies'.
printSettingsSetNCopies :: PrintSettingsClass self => self
 -> Int -- ^ @numCopies@ - the number of copies
 -> IO ()
printSettingsSetNCopies :: forall self. PrintSettingsClass self => self -> Int -> IO ()
printSettingsSetNCopies self
self Int
numCopies =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_n_copies Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 625 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
numCopies)

-- | Gets the value of 'PrintSettingsNumberUp'.
printSettingsGetNumberUp :: PrintSettingsClass self => self
 -> IO Int -- ^ returns the number of pages per sheet
printSettingsGetNumberUp :: forall self. PrintSettingsClass self => self -> IO Int
printSettingsGetNumberUp self
self =
  (CInt -> Int) -> IO CInt -> IO Int
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (IO CInt -> IO Int) -> IO CInt -> IO Int
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_number_up Ptr PrintSettings
argPtr1)
{-# LINE 634 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of 'PrintSettingsNumberUp'.
printSettingsSetNumberUp :: PrintSettingsClass self => self
 -> Int -- ^ @numberUp@ - the number of pages per sheet
 -> IO ()
printSettingsSetNumberUp :: forall self. PrintSettingsClass self => self -> Int -> IO ()
printSettingsSetNumberUp self
self Int
numberUp =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_number_up Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 642 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
numberUp)


-- | Gets the value of 'PrintSettingsNumberUpLayout'.
printSettingsGetNumberUpLayout :: PrintSettingsClass self => self
 -> IO NumberUpLayout -- ^ returns layout of page in number-up mode
printSettingsGetNumberUpLayout :: forall self. PrintSettingsClass self => self -> IO NumberUpLayout
printSettingsGetNumberUpLayout self
self =
  (CInt -> NumberUpLayout) -> IO CInt -> IO NumberUpLayout
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Int -> NumberUpLayout
forall a. Enum a => Int -> a
toEnum (Int -> NumberUpLayout) -> (CInt -> Int) -> CInt -> NumberUpLayout
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) (IO CInt -> IO NumberUpLayout) -> IO CInt -> IO NumberUpLayout
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_number_up_layout Ptr PrintSettings
argPtr1)
{-# LINE 652 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of 'PrintSettingsNumberUpLayout'.
printSettingsSetNumberUpLayout :: PrintSettingsClass self => self
 -> NumberUpLayout -- ^ @numberUpLayout@ - a 'NumberUpLayout' value
 -> IO ()
printSettingsSetNumberUpLayout :: forall self.
PrintSettingsClass self =>
self -> NumberUpLayout -> IO ()
printSettingsSetNumberUpLayout self
self NumberUpLayout
numberUpLayout =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_number_up_layout Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 660 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (NumberUpLayout -> Int) -> NumberUpLayout -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. NumberUpLayout -> Int
forall a. Enum a => a -> Int
fromEnum) NumberUpLayout
numberUpLayout)


-- | Gets the value of 'PrintSettingsResolution'.
printSettingsGetResolution :: PrintSettingsClass self => self
 -> IO Int -- ^ returns the resolution in dpi
printSettingsGetResolution :: forall self. PrintSettingsClass self => self -> IO Int
printSettingsGetResolution self
self =
  (CInt -> Int) -> IO CInt -> IO Int
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (IO CInt -> IO Int) -> IO CInt -> IO Int
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_resolution Ptr PrintSettings
argPtr1)
{-# LINE 670 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the values of 'PrintSettingsResolution', 'PrintSettingsResolutionX' and
-- 'PrintSettingsResolutionY'.
printSettingsSetResolution :: PrintSettingsClass self => self
 -> Int -- ^ @resolution@ - the resolution in dpi
 -> IO ()
printSettingsSetResolution :: forall self. PrintSettingsClass self => self -> Int -> IO ()
printSettingsSetResolution self
self Int
resolution =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_resolution Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 679 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
resolution)


-- | Sets the values of 'PrintSettingsResolution', 'PrintSettingsResolutionX' and
-- 'PrintSettingsResolutionY'.
--
-- * Available since Gtk+ version 2.16
--
printSettingsSetResolutionXy :: PrintSettingsClass self => self
 -> Int -- ^ @resolutionX@ - the horizontal resolution in dpi
 -> Int -- ^ @resolutionY@ - the vertical resolution in dpi
 -> IO ()
printSettingsSetResolutionXy :: forall self. PrintSettingsClass self => self -> Int -> Int -> IO ()
printSettingsSetResolutionXy self
self Int
resolutionX Int
resolutionY =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 CInt
arg3 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> CInt -> IO ()
gtk_print_settings_set_resolution_xy Ptr PrintSettings
argPtr1 CInt
arg2 CInt
arg3)
{-# LINE 694 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
resolutionX)
    (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
resolutionY)

-- | Gets the value of @"resolution-x"@.
--
-- * Available since Gtk+ version 2.16
--
printSettingsGetResolutionX :: PrintSettingsClass self => self
 -> IO Int -- ^ returns the horizontal resolution in dpi
printSettingsGetResolutionX :: forall self. PrintSettingsClass self => self -> IO Int
printSettingsGetResolutionX self
self =
  (CInt -> Int) -> IO CInt -> IO Int
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (IO CInt -> IO Int) -> IO CInt -> IO Int
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_resolution_x Ptr PrintSettings
argPtr1)
{-# LINE 707 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Gets the value of @"resolution-y"@.
--
-- * Available since Gtk+ version 2.16
--
printSettingsGetResolutionY :: PrintSettingsClass self => self
 -> IO Int -- ^ returns the vertical resolution in dpi
printSettingsGetResolutionY :: forall self. PrintSettingsClass self => self -> IO Int
printSettingsGetResolutionY self
self =
  (CInt -> Int) -> IO CInt -> IO Int
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (IO CInt -> IO Int) -> IO CInt -> IO Int
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_resolution_y Ptr PrintSettings
argPtr1)
{-# LINE 718 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Gets the value of 'PrintSettingsPrinterLpi'.
printSettingsGetPrinterLpi :: PrintSettingsClass self => self
 -> IO Double -- ^ returns the resolution in lpi (lines per inch)
printSettingsGetPrinterLpi :: forall self. PrintSettingsClass self => self -> IO Double
printSettingsGetPrinterLpi self
self =
  (CDouble -> Double) -> IO CDouble -> IO Double
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac (IO CDouble -> IO Double) -> IO CDouble -> IO Double
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CDouble) -> IO CDouble)
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CDouble
gtk_print_settings_get_printer_lpi Ptr PrintSettings
argPtr1)
{-# LINE 726 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of 'PrintSettingsPrinterLpi'.
printSettingsSetPrinterLpi :: PrintSettingsClass self => self
 -> Double -- ^ @lpi@ - the resolution in lpi (lines per inch)
 -> IO ()
printSettingsSetPrinterLpi :: forall self. PrintSettingsClass self => self -> Double -> IO ()
printSettingsSetPrinterLpi self
self Double
lpi =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CDouble
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CDouble -> IO ()
gtk_print_settings_set_printer_lpi Ptr PrintSettings
argPtr1 CDouble
arg2)
{-# LINE 734 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
lpi)


-- | Gets the value of 'PrintSettingsScale'.
printSettingsGetScale :: PrintSettingsClass self => self
 -> IO Double -- ^ returns the scale in percent
printSettingsGetScale :: forall self. PrintSettingsClass self => self -> IO Double
printSettingsGetScale self
self =
  (CDouble -> Double) -> IO CDouble -> IO Double
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac (IO CDouble -> IO Double) -> IO CDouble -> IO Double
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CDouble) -> IO CDouble)
-> (Ptr PrintSettings -> IO CDouble) -> IO CDouble
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CDouble
gtk_print_settings_get_scale Ptr PrintSettings
argPtr1)
{-# LINE 744 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of 'PrintSettingsScale'.
printSettingsSetScale :: PrintSettingsClass self => self
 -> Double -- ^ @scale@ - the scale in percent
 -> IO ()
printSettingsSetScale :: forall self. PrintSettingsClass self => self -> Double -> IO ()
printSettingsSetScale self
self Double
scale =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CDouble
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CDouble -> IO ()
gtk_print_settings_set_scale Ptr PrintSettings
argPtr1 CDouble
arg2)
{-# LINE 752 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    (Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
scale)

-- | Gets the value of 'PrintSettingsPrintPages'.
printSettingsGetPrintPages :: PrintSettingsClass self => self
 -> IO PrintPages -- ^ returns which pages to print
printSettingsGetPrintPages :: forall self. PrintSettingsClass self => self -> IO PrintPages
printSettingsGetPrintPages self
self =
  (CInt -> PrintPages) -> IO CInt -> IO PrintPages
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Int -> PrintPages
forall a. Enum a => Int -> a
toEnum (Int -> PrintPages) -> (CInt -> Int) -> CInt -> PrintPages
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) (IO CInt -> IO PrintPages) -> IO CInt -> IO PrintPages
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_print_pages Ptr PrintSettings
argPtr1)
{-# LINE 761 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of 'PrintSettingsPrintPages'.
printSettingsSetPrintPages :: PrintSettingsClass self => self
 -> PrintPages -- ^ @pages@ - a 'PrintPages' value
 -> IO ()
printSettingsSetPrintPages :: forall self. PrintSettingsClass self => self -> PrintPages -> IO ()
printSettingsSetPrintPages self
self PrintPages
pages =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_print_pages Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 769 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (PrintPages -> Int) -> PrintPages -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PrintPages -> Int
forall a. Enum a => a -> Int
fromEnum) PrintPages
pages)

-- | Gets the value of 'PrintSettingsPageRanges'.
--
-- printSettingsGetPageRanges :: PrintSettingsClass self => self
-- -> IO [PageRange] -- ^ returns an array of 'PageRange'.
-- printSettingsGetPageRanges self =
-- alloca $ \numRangesPtr -> do
-- rangeListPtr <- {# call gtk_print_settings_get_page_ranges #}
-- (toPrintSettings self)
-- numRangesPtr
-- rangeLen <- peek numRangesPtr
-- ptrList <- peekArray (fromIntegral rangeLen) (castPtr rangeListPtr)
-- rangeList <- mapM peek ptrList
-- {#call unsafe g_free#} (castPtr rangeListPtr)
-- return rangeList

-- | Sets the value of @"page-ranges"@.
--
-- printSettingsSetPageRanges :: PrintSettingsClass self => self
-- -> [PageRange] -- ^ @pageRanges@ - an array of 'PageRange'
-- -> IO ()
-- printSettingsSetPageRanges self rangeList =
-- withArrayLen (concatMap (\(PageRange x y) -> [fromIntegral x, fromIntegral y]) rangeList)
-- $ \rangeLen rangeListPtr ->
-- {# call gtk_print_settings_set_page_ranges #}
-- (toPrintSettings self)
-- (castPtr rangeListPtr)
-- (fromIntegral rangeLen)

-- | Gets the value of 'PrintSettingsPageSet'.
printSettingsGetPageSet :: PrintSettingsClass self => self
 -> IO PageSet -- ^ returns the set of pages to print
printSettingsGetPageSet :: forall self. PrintSettingsClass self => self -> IO PageSet
printSettingsGetPageSet self
self =
  (CInt -> PageSet) -> IO CInt -> IO PageSet
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Int -> PageSet
forall a. Enum a => Int -> a
toEnum (Int -> PageSet) -> (CInt -> Int) -> CInt -> PageSet
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) (IO CInt -> IO PageSet) -> IO CInt -> IO PageSet
forall a b. (a -> b) -> a -> b
$
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CInt
gtk_print_settings_get_page_set Ptr PrintSettings
argPtr1)
{-# LINE 806 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)

-- | Sets the value of 'PrintSettingsPageSet'.
printSettingsSetPageSet :: PrintSettingsClass self => self
 -> PageSet -- ^ @pageSet@ - a 'PageSet' value
 -> IO ()
printSettingsSetPageSet :: forall self. PrintSettingsClass self => self -> PageSet -> IO ()
printSettingsSetPageSet self
self PageSet
pageSet =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CInt
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CInt -> IO ()
gtk_print_settings_set_page_set Ptr PrintSettings
argPtr1 CInt
arg2)
{-# LINE 814 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    ((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (PageSet -> Int) -> PageSet -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PageSet -> Int
forall a. Enum a => a -> Int
fromEnum) PageSet
pageSet)

-- | Gets the value of 'PrintSettingsDefaultSource'.
printSettingsGetDefaultSource :: (PrintSettingsClass self, GlibString string) => self
 -> IO string -- ^ returns the default source
printSettingsGetDefaultSource :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetDefaultSource self
self =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CString) -> IO CString)
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CString
gtk_print_settings_get_default_source Ptr PrintSettings
argPtr1)
{-# LINE 822 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
  IO CString -> (CString -> IO string) -> IO string
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= CString -> IO string
forall s. GlibString s => CString -> IO s
peekUTFString

-- | Sets the value of 'PrintSettingsDefaultSource'.
printSettingsSetDefaultSource :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @defaultSource@ - the default source
 -> IO ()
printSettingsSetDefaultSource :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetDefaultSource self
self string
defaultSource =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
defaultSource ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
defaultSourcePtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO ()
gtk_print_settings_set_default_source Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 832 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
defaultSourcePtr

-- | Gets the value of 'PrintSettingsMediaType'.
printSettingsGetMediaType :: (PrintSettingsClass self, GlibString string) => self
 -> IO string -- ^ returns the media type
printSettingsGetMediaType :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetMediaType self
self =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CString) -> IO CString)
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CString
gtk_print_settings_get_media_type Ptr PrintSettings
argPtr1)
{-# LINE 840 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
  IO CString -> (CString -> IO string) -> IO string
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= CString -> IO string
forall s. GlibString s => CString -> IO s
peekUTFString

-- | Sets the value of 'PrintSettingsMediaType'.
printSettingsSetMediaType :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @mediaType@ - the media type
 -> IO ()
printSettingsSetMediaType :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetMediaType self
self string
mediaType =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
mediaType ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
mediaTypePtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO ()
gtk_print_settings_set_media_type Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 850 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
mediaTypePtr

-- | Gets the value of 'PrintSettingsDither'.
printSettingsGetDither :: (PrintSettingsClass self, GlibString string) => self
 -> IO string -- ^ returns the dithering that is used
printSettingsGetDither :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetDither self
self =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CString) -> IO CString)
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CString
gtk_print_settings_get_dither Ptr PrintSettings
argPtr1)
{-# LINE 858 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
  IO CString -> (CString -> IO string) -> IO string
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= CString -> IO string
forall s. GlibString s => CString -> IO s
peekUTFString

-- | Sets the value of 'PrintSettingsDither'.
printSettingsSetDither :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @dither@ - the dithering that is used
 -> IO ()
printSettingsSetDither :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetDither self
self string
dither =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
dither ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
ditherPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO ()
gtk_print_settings_set_dither Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 868 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
ditherPtr

-- | Gets the value of 'PrintSettingsFinishings'.
printSettingsGetFinishings :: (PrintSettingsClass self, GlibString string) => self
 -> IO string -- ^ returns the finishings
printSettingsGetFinishings :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetFinishings self
self =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CString) -> IO CString)
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CString
gtk_print_settings_get_finishings Ptr PrintSettings
argPtr1)
{-# LINE 876 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
  IO CString -> (CString -> IO string) -> IO string
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= CString -> IO string
forall s. GlibString s => CString -> IO s
peekUTFString

-- | Sets the value of 'PrintSettingsFinishings'.
printSettingsSetFinishings :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @finishings@ - the finishings
 -> IO ()
printSettingsSetFinishings :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetFinishings self
self string
finishings =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
finishings ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
finishingsPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO ()
gtk_print_settings_set_finishings Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 886 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
finishingsPtr

-- | Gets the value of 'PrintSettingsOutputBin'.
printSettingsGetOutputBin :: (PrintSettingsClass self, GlibString string) => self
 -> IO string -- ^ returns the output bin
printSettingsGetOutputBin :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetOutputBin self
self =
  (\(PrintSettings ForeignPtr PrintSettings
arg1) -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CString) -> IO CString)
-> (Ptr PrintSettings -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> IO CString
gtk_print_settings_get_output_bin Ptr PrintSettings
argPtr1)
{-# LINE 894 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
  IO CString -> (CString -> IO string) -> IO string
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= CString -> IO string
forall s. GlibString s => CString -> IO s
peekUTFString

-- | Sets the value of 'PrintSettingsOutputBin'.
printSettingsSetOutputBin :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @outputBin@ - the output bin
 -> IO ()
printSettingsSetOutputBin :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetOutputBin self
self string
outputBin =
  string -> (CString -> IO ()) -> IO ()
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
outputBin ((CString -> IO ()) -> IO ()) -> (CString -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \CString
outputBinPtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 -> ForeignPtr PrintSettings -> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO ()) -> IO ())
-> (Ptr PrintSettings -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> IO ()
gtk_print_settings_set_output_bin Ptr PrintSettings
argPtr1 CString
arg2)
{-# LINE 904 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
outputBinPtr



-- | Reads the print settings from @fileName@. See 'printSettingsToFile'.
--
-- * Available since Gtk+ version 2.14
--
printSettingsLoadFile :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @fileName@ - the filename to read the settings from
 -> IO Bool -- ^ returns @True@ on success
printSettingsLoadFile :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO Bool
printSettingsLoadFile self
self string
fileName =
  (CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
  (Ptr (Ptr ()) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr ()) -> IO a) -> IO a
propagateGError ((Ptr (Ptr ()) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr ()) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr (Ptr ())
errorPtr ->
  string -> (CString -> IO CInt) -> IO CInt
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
fileName ((CString -> IO CInt) -> IO CInt)
-> (CString -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \CString
fileNamePtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 Ptr (Ptr ())
arg3 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> Ptr (Ptr ()) -> IO CInt
gtk_print_settings_load_file Ptr PrintSettings
argPtr1 CString
arg2 Ptr (Ptr ())
arg3)
{-# LINE 921 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
fileNamePtr
    Ptr (Ptr ())
errorPtr




-- | This function saves the print settings from @settings@ to @fileName@.
--
-- * Available since Gtk+ version 2.12
--
printSettingsToFile :: (PrintSettingsClass self, GlibString string) => self
 -> string -- ^ @fileName@ - the file to save to
 -> IO Bool -- ^ returns @True@ on success
printSettingsToFile :: forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO Bool
printSettingsToFile self
self string
fileName =
  (CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
  (Ptr (Ptr ()) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr ()) -> IO a) -> IO a
propagateGError ((Ptr (Ptr ()) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr ()) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr (Ptr ())
errorPtr ->
  string -> (CString -> IO CInt) -> IO CInt
forall a. string -> (CString -> IO a) -> IO a
forall s a. GlibString s => s -> (CString -> IO a) -> IO a
withUTFString string
fileName ((CString -> IO CInt) -> IO CInt)
-> (CString -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \CString
fileNamePtr ->
  (\(PrintSettings ForeignPtr PrintSettings
arg1) CString
arg2 Ptr (Ptr ())
arg3 -> ForeignPtr PrintSettings
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PrintSettings
arg1 ((Ptr PrintSettings -> IO CInt) -> IO CInt)
-> (Ptr PrintSettings -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr PrintSettings
argPtr1 ->Ptr PrintSettings -> CString -> Ptr (Ptr ()) -> IO CInt
gtk_print_settings_to_file Ptr PrintSettings
argPtr1 CString
arg2 Ptr (Ptr ())
arg3)
{-# LINE 940 "./Graphics/UI/Gtk/Printing/PrintSettings.chs" #-}
    (toPrintSettings self)
    CString
fileNamePtr
    Ptr (Ptr ())
errorPtr


-- | Obtain the value of 'PrintSettingsPrinter'.
printSettingsPrinter :: (PrintSettingsClass self, GlibString string) => Attr self string
printSettingsPrinter :: forall self string.
(PrintSettingsClass self, GlibString string) =>
Attr self string
printSettingsPrinter = (self -> IO string)
-> (self -> string -> IO ()) -> ReadWriteAttr self string string
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO string
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetPrinter
  self -> string -> IO ()
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetPrinter

-- | The value of ''PrintSettingsOrientation'', converted to a 'PageOrientation'.
printSettingsOrientation :: PrintSettingsClass self => Attr self PageOrientation
printSettingsOrientation :: forall self. PrintSettingsClass self => Attr self PageOrientation
printSettingsOrientation = (self -> IO PageOrientation)
-> (self -> PageOrientation -> IO ())
-> ReadWriteAttr self PageOrientation PageOrientation
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO PageOrientation
forall self. PrintSettingsClass self => self -> IO PageOrientation
printSettingsGetOrientation
  self -> PageOrientation -> IO ()
forall self.
PrintSettingsClass self =>
self -> PageOrientation -> IO ()
printSettingsSetOrientation

-- | The value of 'PrintSettingsPaperFormat', converted to a 'PaperSize'.
printSettingsPaperSize :: PrintSettingsClass self => Attr self PaperSize
printSettingsPaperSize :: forall self. PrintSettingsClass self => Attr self PaperSize
printSettingsPaperSize = (self -> IO PaperSize)
-> (self -> PaperSize -> IO ())
-> ReadWriteAttr self PaperSize PaperSize
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO PaperSize
forall self. PrintSettingsClass self => self -> IO PaperSize
printSettingsGetPaperSize
  self -> PaperSize -> IO ()
forall self. PrintSettingsClass self => self -> PaperSize -> IO ()
printSettingsSetPaperSize

-- | The value of ''PrintSettingsUseColor''.
printSettingsUseColor :: PrintSettingsClass self => Attr self Bool
printSettingsUseColor :: forall self. PrintSettingsClass self => Attr self Bool
printSettingsUseColor = (self -> IO Bool)
-> (self -> Bool -> IO ()) -> ReadWriteAttr self Bool Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO Bool
forall self. PrintSettingsClass self => self -> IO Bool
printSettingsGetUseColor
  self -> Bool -> IO ()
forall self. PrintSettingsClass self => self -> Bool -> IO ()
printSettingsSetUseColor

-- | The value of ''PrintSettingsCollate''.
printSettingsCollate :: PrintSettingsClass self => Attr self Bool
printSettingsCollate :: forall self. PrintSettingsClass self => Attr self Bool
printSettingsCollate = (self -> IO Bool)
-> (self -> Bool -> IO ()) -> ReadWriteAttr self Bool Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO Bool
forall self. PrintSettingsClass self => self -> IO Bool
printSettingsGetCollate
  self -> Bool -> IO ()
forall self. PrintSettingsClass self => self -> Bool -> IO ()
printSettingsSetCollate

-- | The value of ''PrintSettingsReverse''.
printSettingsReverse :: PrintSettingsClass self => Attr self Bool
printSettingsReverse :: forall self. PrintSettingsClass self => Attr self Bool
printSettingsReverse = (self -> IO Bool)
-> (self -> Bool -> IO ()) -> ReadWriteAttr self Bool Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO Bool
forall self. PrintSettingsClass self => self -> IO Bool
printSettingsGetReverse
  self -> Bool -> IO ()
forall self. PrintSettingsClass self => self -> Bool -> IO ()
printSettingsSetReverse

-- | The value of ''PrintSettingsDuplex''.
printSettingsDuplex :: PrintSettingsClass self => Attr self PrintDuplex
printSettingsDuplex :: forall self. PrintSettingsClass self => Attr self PrintDuplex
printSettingsDuplex = (self -> IO PrintDuplex)
-> (self -> PrintDuplex -> IO ())
-> ReadWriteAttr self PrintDuplex PrintDuplex
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO PrintDuplex
forall self. PrintSettingsClass self => self -> IO PrintDuplex
printSettingsGetDuplex
  self -> PrintDuplex -> IO ()
forall self.
PrintSettingsClass self =>
self -> PrintDuplex -> IO ()
printSettingsSetDuplex

-- | The value of ''PrintSettingsQuality''.
printSettingsQuality :: PrintSettingsClass self => Attr self PrintQuality
printSettingsQuality :: forall self. PrintSettingsClass self => Attr self PrintQuality
printSettingsQuality = (self -> IO PrintQuality)
-> (self -> PrintQuality -> IO ())
-> ReadWriteAttr self PrintQuality PrintQuality
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO PrintQuality
forall self. PrintSettingsClass self => self -> IO PrintQuality
printSettingsGetQuality
  self -> PrintQuality -> IO ()
forall self.
PrintSettingsClass self =>
self -> PrintQuality -> IO ()
printSettingsSetQuality

-- | The value of 'PrintSettingsNCopies'.
printSettingsNCopies :: PrintSettingsClass self => Attr self Int
printSettingsNCopies :: forall self. PrintSettingsClass self => Attr self Int
printSettingsNCopies = (self -> IO Int)
-> (self -> Int -> IO ()) -> ReadWriteAttr self Int Int
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO Int
forall self. PrintSettingsClass self => self -> IO Int
printSettingsGetNCopies
  self -> Int -> IO ()
forall self. PrintSettingsClass self => self -> Int -> IO ()
printSettingsSetNCopies

-- | The value of 'PrintSettingsNumberUp'.
printSettingsNumberUp :: PrintSettingsClass self => Attr self Int
printSettingsNumberUp :: forall self. PrintSettingsClass self => Attr self Int
printSettingsNumberUp = (self -> IO Int)
-> (self -> Int -> IO ()) -> ReadWriteAttr self Int Int
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO Int
forall self. PrintSettingsClass self => self -> IO Int
printSettingsGetNumberUp
  self -> Int -> IO ()
forall self. PrintSettingsClass self => self -> Int -> IO ()
printSettingsSetNumberUp

-- | The value of 'PrintSettingsResolution'.
printSettingsResolution :: PrintSettingsClass self => Attr self Int
printSettingsResolution :: forall self. PrintSettingsClass self => Attr self Int
printSettingsResolution = (self -> IO Int)
-> (self -> Int -> IO ()) -> ReadWriteAttr self Int Int
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO Int
forall self. PrintSettingsClass self => self -> IO Int
printSettingsGetResolution
  self -> Int -> IO ()
forall self. PrintSettingsClass self => self -> Int -> IO ()
printSettingsSetResolution

-- | The value of 'PrintSettingsScale'.
printSettingsScale :: PrintSettingsClass self => Attr self Double
printSettingsScale :: forall self. PrintSettingsClass self => Attr self Double
printSettingsScale = (self -> IO Double)
-> (self -> Double -> IO ()) -> ReadWriteAttr self Double Double
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO Double
forall self. PrintSettingsClass self => self -> IO Double
printSettingsGetScale
  self -> Double -> IO ()
forall self. PrintSettingsClass self => self -> Double -> IO ()
printSettingsSetScale

-- | The value of 'PrintSettingsPrintPages'.
printSettingsPrintPages :: PrintSettingsClass self => Attr self PrintPages
printSettingsPrintPages :: forall self. PrintSettingsClass self => Attr self PrintPages
printSettingsPrintPages = (self -> IO PrintPages)
-> (self -> PrintPages -> IO ())
-> ReadWriteAttr self PrintPages PrintPages
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO PrintPages
forall self. PrintSettingsClass self => self -> IO PrintPages
printSettingsGetPrintPages
  self -> PrintPages -> IO ()
forall self. PrintSettingsClass self => self -> PrintPages -> IO ()
printSettingsSetPrintPages

-- | The value of 'PrintSettingsPageSet'.
printSettingsPageSet :: PrintSettingsClass self => Attr self PageSet
printSettingsPageSet :: forall self. PrintSettingsClass self => Attr self PageSet
printSettingsPageSet = (self -> IO PageSet)
-> (self -> PageSet -> IO ()) -> ReadWriteAttr self PageSet PageSet
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO PageSet
forall self. PrintSettingsClass self => self -> IO PageSet
printSettingsGetPageSet
  self -> PageSet -> IO ()
forall self. PrintSettingsClass self => self -> PageSet -> IO ()
printSettingsSetPageSet

-- | The value of 'PrintSettingsDefaultSource'.
printSettingsDefaultSource :: (PrintSettingsClass self, GlibString string) => Attr self string
printSettingsDefaultSource :: forall self string.
(PrintSettingsClass self, GlibString string) =>
Attr self string
printSettingsDefaultSource = (self -> IO string)
-> (self -> string -> IO ()) -> ReadWriteAttr self string string
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO string
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetDefaultSource
  self -> string -> IO ()
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetDefaultSource

-- | The value of 'PrintSettingsMediaType'.
printSettingsMediaType :: (PrintSettingsClass self, GlibString string) => Attr self string
printSettingsMediaType :: forall self string.
(PrintSettingsClass self, GlibString string) =>
Attr self string
printSettingsMediaType = (self -> IO string)
-> (self -> string -> IO ()) -> ReadWriteAttr self string string
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO string
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetMediaType
  self -> string -> IO ()
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetMediaType

-- | The value of 'PrintSettingsDither'.
printSettingsDither :: (PrintSettingsClass self, GlibString string) => Attr self string
printSettingsDither :: forall self string.
(PrintSettingsClass self, GlibString string) =>
Attr self string
printSettingsDither = (self -> IO string)
-> (self -> string -> IO ()) -> ReadWriteAttr self string string
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO string
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetDither
  self -> string -> IO ()
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetDither

-- | The value of 'PrintSettingsFinishings'.
printSettingsFinishings :: (PrintSettingsClass self, GlibString string) => Attr self string
printSettingsFinishings :: forall self string.
(PrintSettingsClass self, GlibString string) =>
Attr self string
printSettingsFinishings = (self -> IO string)
-> (self -> string -> IO ()) -> ReadWriteAttr self string string
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO string
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetFinishings
  self -> string -> IO ()
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetFinishings

-- | The value of 'PrintSettingsOutputBin'.
printSettingsOutputBin :: (PrintSettingsClass self, GlibString string) => Attr self string
printSettingsOutputBin :: forall self string.
(PrintSettingsClass self, GlibString string) =>
Attr self string
printSettingsOutputBin = (self -> IO string)
-> (self -> string -> IO ()) -> ReadWriteAttr self string string
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO string
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> IO string
printSettingsGetOutputBin
  self -> string -> IO ()
forall self string.
(PrintSettingsClass self, GlibString string) =>
self -> string -> IO ()
printSettingsSetOutputBin


-- | The value of 'PrintSettingsNumberUpLayout'.
printSettingsNumberUpLayout :: PrintSettingsClass self => Attr self NumberUpLayout
printSettingsNumberUpLayout :: forall self. PrintSettingsClass self => Attr self NumberUpLayout
printSettingsNumberUpLayout = (self -> IO NumberUpLayout)
-> (self -> NumberUpLayout -> IO ())
-> ReadWriteAttr self NumberUpLayout NumberUpLayout
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO NumberUpLayout
forall self. PrintSettingsClass self => self -> IO NumberUpLayout
printSettingsGetNumberUpLayout
  self -> NumberUpLayout -> IO ()
forall self.
PrintSettingsClass self =>
self -> NumberUpLayout -> IO ()
printSettingsSetNumberUpLayout



-- | The value of 'PrintSettingsPrinterLpi'.
printSettingsPrinterLpi :: PrintSettingsClass self => Attr self Double
printSettingsPrinterLpi :: forall self. PrintSettingsClass self => Attr self Double
printSettingsPrinterLpi = (self -> IO Double)
-> (self -> Double -> IO ()) -> ReadWriteAttr self Double Double
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
  self -> IO Double
forall self. PrintSettingsClass self => self -> IO Double
printSettingsGetPrinterLpi
  self -> Double -> IO ()
forall self. PrintSettingsClass self => self -> Double -> IO ()
printSettingsSetPrinterLpi

foreign import ccall safe "gtk_print_settings_new"
  gtk_print_settings_new :: (IO (Ptr PrintSettings))

foreign import ccall safe "gtk_print_settings_new_from_file"
  gtk_print_settings_new_from_file :: ((Ptr CChar) -> ((Ptr (Ptr ())) -> (IO (Ptr PrintSettings))))

foreign import ccall safe "gtk_print_settings_copy"
  gtk_print_settings_copy :: ((Ptr PrintSettings) -> (IO (Ptr PrintSettings)))

foreign import ccall safe "gtk_print_settings_has_key"
  gtk_print_settings_has_key :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO CInt)))

foreign import ccall safe "gtk_print_settings_get"
  gtk_print_settings_get :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO (Ptr CChar))))

foreign import ccall safe "gtk_print_settings_set"
  gtk_print_settings_set :: ((Ptr PrintSettings) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))

foreign import ccall safe "gtk_print_settings_unset"
  gtk_print_settings_unset :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "gtk_print_settings_foreach"
  gtk_print_settings_foreach :: ((Ptr PrintSettings) -> ((FunPtr ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr ()) -> (IO ()))))) -> ((Ptr ()) -> (IO ()))))

foreign import ccall safe "gtk_print_settings_get_bool"
  gtk_print_settings_get_bool :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO CInt)))

foreign import ccall safe "gtk_print_settings_set_bool"
  gtk_print_settings_set_bool :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (CInt -> (IO ()))))

foreign import ccall safe "gtk_print_settings_get_double"
  gtk_print_settings_get_double :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO CDouble)))

foreign import ccall safe "gtk_print_settings_get_double_with_default"
  gtk_print_settings_get_double_with_default :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (CDouble -> (IO CDouble))))

foreign import ccall safe "gtk_print_settings_set_double"
  gtk_print_settings_set_double :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (CDouble -> (IO ()))))

foreign import ccall safe "gtk_print_settings_get_length"
  gtk_print_settings_get_length :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (CInt -> (IO CDouble))))

foreign import ccall safe "gtk_print_settings_set_length"
  gtk_print_settings_set_length :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (CDouble -> (CInt -> (IO ())))))

foreign import ccall safe "gtk_print_settings_get_int"
  gtk_print_settings_get_int :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO CInt)))

foreign import ccall safe "gtk_print_settings_get_int_with_default"
  gtk_print_settings_get_int_with_default :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (CInt -> (IO CInt))))

foreign import ccall safe "gtk_print_settings_set_int"
  gtk_print_settings_set_int :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (CInt -> (IO ()))))

foreign import ccall safe "gtk_print_settings_get_printer"
  gtk_print_settings_get_printer :: ((Ptr PrintSettings) -> (IO (Ptr CChar)))

foreign import ccall safe "gtk_print_settings_set_printer"
  gtk_print_settings_set_printer :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_orientation"
  gtk_print_settings_get_orientation :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_orientation"
  gtk_print_settings_set_orientation :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_paper_size"
  gtk_print_settings_get_paper_size :: ((Ptr PrintSettings) -> (IO (Ptr ())))

foreign import ccall safe "gtk_print_settings_set_paper_size"
  gtk_print_settings_set_paper_size :: ((Ptr PrintSettings) -> ((Ptr ()) -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_paper_width"
  gtk_print_settings_get_paper_width :: ((Ptr PrintSettings) -> (CInt -> (IO CDouble)))

foreign import ccall safe "gtk_print_settings_set_paper_width"
  gtk_print_settings_set_paper_width :: ((Ptr PrintSettings) -> (CDouble -> (CInt -> (IO ()))))

foreign import ccall safe "gtk_print_settings_get_paper_height"
  gtk_print_settings_get_paper_height :: ((Ptr PrintSettings) -> (CInt -> (IO CDouble)))

foreign import ccall safe "gtk_print_settings_set_paper_height"
  gtk_print_settings_set_paper_height :: ((Ptr PrintSettings) -> (CDouble -> (CInt -> (IO ()))))

foreign import ccall safe "gtk_print_settings_get_use_color"
  gtk_print_settings_get_use_color :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_use_color"
  gtk_print_settings_set_use_color :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_collate"
  gtk_print_settings_get_collate :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_collate"
  gtk_print_settings_set_collate :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_reverse"
  gtk_print_settings_get_reverse :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_reverse"
  gtk_print_settings_set_reverse :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_duplex"
  gtk_print_settings_get_duplex :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_duplex"
  gtk_print_settings_set_duplex :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_quality"
  gtk_print_settings_get_quality :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_quality"
  gtk_print_settings_set_quality :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_n_copies"
  gtk_print_settings_get_n_copies :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_n_copies"
  gtk_print_settings_set_n_copies :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_number_up"
  gtk_print_settings_get_number_up :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_number_up"
  gtk_print_settings_set_number_up :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_number_up_layout"
  gtk_print_settings_get_number_up_layout :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_number_up_layout"
  gtk_print_settings_set_number_up_layout :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_resolution"
  gtk_print_settings_get_resolution :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_resolution"
  gtk_print_settings_set_resolution :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_set_resolution_xy"
  gtk_print_settings_set_resolution_xy :: ((Ptr PrintSettings) -> (CInt -> (CInt -> (IO ()))))

foreign import ccall safe "gtk_print_settings_get_resolution_x"
  gtk_print_settings_get_resolution_x :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_get_resolution_y"
  gtk_print_settings_get_resolution_y :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_get_printer_lpi"
  gtk_print_settings_get_printer_lpi :: ((Ptr PrintSettings) -> (IO CDouble))

foreign import ccall safe "gtk_print_settings_set_printer_lpi"
  gtk_print_settings_set_printer_lpi :: ((Ptr PrintSettings) -> (CDouble -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_scale"
  gtk_print_settings_get_scale :: ((Ptr PrintSettings) -> (IO CDouble))

foreign import ccall safe "gtk_print_settings_set_scale"
  gtk_print_settings_set_scale :: ((Ptr PrintSettings) -> (CDouble -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_print_pages"
  gtk_print_settings_get_print_pages :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_print_pages"
  gtk_print_settings_set_print_pages :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_page_set"
  gtk_print_settings_get_page_set :: ((Ptr PrintSettings) -> (IO CInt))

foreign import ccall safe "gtk_print_settings_set_page_set"
  gtk_print_settings_set_page_set :: ((Ptr PrintSettings) -> (CInt -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_default_source"
  gtk_print_settings_get_default_source :: ((Ptr PrintSettings) -> (IO (Ptr CChar)))

foreign import ccall safe "gtk_print_settings_set_default_source"
  gtk_print_settings_set_default_source :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_media_type"
  gtk_print_settings_get_media_type :: ((Ptr PrintSettings) -> (IO (Ptr CChar)))

foreign import ccall safe "gtk_print_settings_set_media_type"
  gtk_print_settings_set_media_type :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_dither"
  gtk_print_settings_get_dither :: ((Ptr PrintSettings) -> (IO (Ptr CChar)))

foreign import ccall safe "gtk_print_settings_set_dither"
  gtk_print_settings_set_dither :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_finishings"
  gtk_print_settings_get_finishings :: ((Ptr PrintSettings) -> (IO (Ptr CChar)))

foreign import ccall safe "gtk_print_settings_set_finishings"
  gtk_print_settings_set_finishings :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "gtk_print_settings_get_output_bin"
  gtk_print_settings_get_output_bin :: ((Ptr PrintSettings) -> (IO (Ptr CChar)))

foreign import ccall safe "gtk_print_settings_set_output_bin"
  gtk_print_settings_set_output_bin :: ((Ptr PrintSettings) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "gtk_print_settings_load_file"
  gtk_print_settings_load_file :: ((Ptr PrintSettings) -> ((Ptr CChar) -> ((Ptr (Ptr ())) -> (IO CInt))))

foreign import ccall safe "gtk_print_settings_to_file"
  gtk_print_settings_to_file :: ((Ptr PrintSettings) -> ((Ptr CChar) -> ((Ptr (Ptr ())) -> (IO CInt))))