packages feed

qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Widgets/QApplication.hs

{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------

module Graphics.UI.Qtah.Generated.Widgets.QApplication (
  castQApplicationToQCoreApplication,
  castQCoreApplicationToQApplication,
  castQApplicationToQObject,
  castQObjectToQApplication,
  QApplicationValue (..),
  QApplicationConstPtr (..),
  autoSipEnabled,
  isSessionRestored,
  sessionId,
  sessionKey,
  startDragDistance,
  startDragTime,
  styleSheet,
  windowIcon,
  QApplicationPtr (..),
  setAutoSipEnabled,
  setStartDragDistance,
  setStartDragTime,
  setStyleSheet,
  setWindowIcon,
  emitFocusChanged,
  emitFontDatabaseChanged,
  emitLastWindowClosed,
  new,
  aboutQt,
  activeModalWidget,
  activePopupWidget,
  activeWindow,
  setActiveWindow,
  alert,
  allWidgets,
  beep,
  clipboard,
  closeAllWindows,
  colorSpec,
  setColorSpec,
  cursorFlashTime,
  setCursorFlashTime,
  desktopSettingsAware,
  setDesktopSettingsAware,
  doubleClickInterval,
  setDoubleClickInterval,
  focusWidget,
  font,
  fontWithWidget,
  fontWithClass,
  globalStrut,
  setGlobalStrut,
  isLeftToRight,
  isRightToLeft,
  keyboardInputInterval,
  layoutDirection,
  quitOnLastWindowClosed,
  restoreOverrideCursor,
  setFont,
  setFontWithClass,
  setKeyboardInputInterval,
  setLayoutDirection,
  setQuitOnLastWindowClosed,
  topLevelAtPoint,
  topLevelAtRaw,
  wheelScrollLines,
  setWheelScrollLines,
  widgetAtPoint,
  widgetAtRaw,
  QApplicationConst (..),
  castQApplicationToConst,
  QApplication (..),
  castQApplicationToNonconst,
  QApplicationSuper (..),
  QApplicationSuperConst (..),
  ) where

import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Core.HSize as HSize
import qualified Graphics.UI.Qtah.Generated.Core.QCoreApplication as M20
import qualified Graphics.UI.Qtah.Generated.Core.QList.QWidget as M210
import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94
import qualified Graphics.UI.Qtah.Generated.Core.QPoint as M114
import qualified Graphics.UI.Qtah.Generated.Core.QSize as M134
import qualified Graphics.UI.Qtah.Generated.Core.QString as M142
import qualified Graphics.UI.Qtah.Generated.Core.QStringList as M144
import qualified Graphics.UI.Qtah.Generated.Core.Types as M190
import qualified Graphics.UI.Qtah.Generated.Gui.QClipboard as M248
import qualified Graphics.UI.Qtah.Generated.Gui.QFont as M276
import qualified Graphics.UI.Qtah.Generated.Gui.QIcon as M288
import qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M506
import Prelude (($), (.), (/=), (=<<), (==), (>>=))
import qualified Prelude as HoppyP
import qualified Prelude as QtahP

foreign import ccall "genpop__QApplication_new" new' ::  HoppyF.Ptr M144.QStringListConst -> HoppyP.IO (HoppyF.Ptr QApplication)
foreign import ccall "genpop__QApplication_aboutQt" aboutQt' ::  HoppyP.IO ()
foreign import ccall "genpop__QApplication_activeModalWidget" activeModalWidget' ::  HoppyP.IO (HoppyF.Ptr M506.QWidget)
foreign import ccall "genpop__QApplication_activePopupWidget" activePopupWidget' ::  HoppyP.IO (HoppyF.Ptr M506.QWidget)
foreign import ccall "genpop__QApplication_activeWindow" activeWindow' ::  HoppyP.IO (HoppyF.Ptr M506.QWidget)
foreign import ccall "genpop__QApplication_setActiveWindow" setActiveWindow' ::  HoppyF.Ptr M506.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_alert" alert' ::  HoppyF.Ptr M506.QWidget -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_allWidgets" allWidgets' ::  HoppyP.IO (HoppyF.Ptr M210.QListQWidgetConst)
foreign import ccall "genpop__QApplication_autoSipEnabled" autoSipEnabled' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QApplication_setAutoSipEnabled" setAutoSipEnabled' ::  HoppyF.Ptr QApplication -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_beep" beep' ::  HoppyP.IO ()
foreign import ccall "genpop__QApplication_clipboard" clipboard' ::  HoppyP.IO (HoppyF.Ptr M248.QClipboard)
foreign import ccall "genpop__QApplication_closeAllWindows" closeAllWindows' ::  HoppyP.IO ()
foreign import ccall "genpop__QApplication_colorSpec" colorSpec' ::  HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QApplication_setColorSpec" setColorSpec' ::  HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_cursorFlashTime" cursorFlashTime' ::  HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QApplication_setCursorFlashTime" setCursorFlashTime' ::  HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_desktopSettingsAware" desktopSettingsAware' ::  HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QApplication_setDesktopSettingsAware" setDesktopSettingsAware' ::  HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_doubleClickInterval" doubleClickInterval' ::  HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QApplication_setDoubleClickInterval" setDoubleClickInterval' ::  HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_focusWidget" focusWidget' ::  HoppyP.IO (HoppyF.Ptr M506.QWidget)
foreign import ccall "genpop__QApplication_font" font' ::  HoppyP.IO (HoppyF.Ptr M276.QFontConst)
foreign import ccall "genpop__QApplication_fontWithWidget" fontWithWidget' ::  HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr M276.QFontConst)
foreign import ccall "genpop__QApplication_fontWithClass" fontWithClass' ::  HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr M276.QFontConst)
foreign import ccall "genpop__QApplication_globalStrut" globalStrut' ::  HoppyP.IO (HoppyF.Ptr M134.QSizeConst)
foreign import ccall "genpop__QApplication_setGlobalStrut" setGlobalStrut' ::  HoppyF.Ptr M134.QSizeConst -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_isLeftToRight" isLeftToRight' ::  HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QApplication_isRightToLeft" isRightToLeft' ::  HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QApplication_isSessionRestored" isSessionRestored' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QApplication_keyboardInputInterval" keyboardInputInterval' ::  HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QApplication_layoutDirection" layoutDirection' ::  HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QApplication_quitOnLastWindowClosed" quitOnLastWindowClosed' ::  HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QApplication_restoreOverrideCursor" restoreOverrideCursor' ::  HoppyP.IO ()
foreign import ccall "genpop__QApplication_sessionId" sessionId' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QApplication_sessionKey" sessionKey' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QApplication_setFont" setFont' ::  HoppyF.Ptr M276.QFontConst -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_setFontWithClass" setFontWithClass' ::  HoppyF.Ptr M276.QFontConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_setKeyboardInputInterval" setKeyboardInputInterval' ::  HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_setLayoutDirection" setLayoutDirection' ::  HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_setQuitOnLastWindowClosed" setQuitOnLastWindowClosed' ::  HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_startDragDistance" startDragDistance' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QApplication_setStartDragDistance" setStartDragDistance' ::  HoppyF.Ptr QApplication -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_startDragTime" startDragTime' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QApplication_setStartDragTime" setStartDragTime' ::  HoppyF.Ptr QApplication -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_styleSheet" styleSheet' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QApplication_setStyleSheet" setStyleSheet' ::  HoppyF.Ptr QApplication -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_topLevelAtPoint" topLevelAtPoint' ::  HoppyF.Ptr M114.QPointConst -> HoppyP.IO (HoppyF.Ptr M506.QWidget)
foreign import ccall "genpop__QApplication_topLevelAtRaw" topLevelAtRaw' ::  HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M506.QWidget)
foreign import ccall "genpop__QApplication_wheelScrollLines" wheelScrollLines' ::  HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QApplication_setWheelScrollLines" setWheelScrollLines' ::  HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_widgetAtPoint" widgetAtPoint' ::  HoppyF.Ptr M114.QPointConst -> HoppyP.IO (HoppyF.Ptr M506.QWidget)
foreign import ccall "genpop__QApplication_widgetAtRaw" widgetAtRaw' ::  HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M506.QWidget)
foreign import ccall "genpop__QApplication_windowIcon" windowIcon' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO (HoppyF.Ptr M288.QIconConst)
foreign import ccall "genpop__QApplication_setWindowIcon" setWindowIcon' ::  HoppyF.Ptr QApplication -> HoppyF.Ptr M288.QIconConst -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_emitFocusChanged" emitFocusChanged' ::  HoppyF.Ptr QApplication -> HoppyF.Ptr M506.QWidget -> HoppyF.Ptr M506.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_emitFontDatabaseChanged" emitFontDatabaseChanged' ::  HoppyF.Ptr QApplication -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_emitLastWindowClosed" emitLastWindowClosed' ::  HoppyF.Ptr QApplication -> HoppyP.IO ()
foreign import ccall "gencast__QApplication__QCoreApplication" castQApplicationToQCoreApplication :: HoppyF.Ptr QApplicationConst -> HoppyF.Ptr M20.QCoreApplicationConst
foreign import ccall "gencast__QCoreApplication__QApplication" castQCoreApplicationToQApplication :: HoppyF.Ptr M20.QCoreApplicationConst -> HoppyF.Ptr QApplicationConst
foreign import ccall "gencast__QApplication__QObject" castQApplicationToQObject :: HoppyF.Ptr QApplicationConst -> HoppyF.Ptr M94.QObjectConst
foreign import ccall "gencast__QObject__QApplication" castQObjectToQApplication :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QApplicationConst
foreign import ccall "gendel__QApplication" delete'QApplication :: HoppyF.Ptr QApplicationConst -> HoppyP.IO ()
foreign import ccall "&gendel__QApplication" deletePtr'QApplication :: HoppyF.FunPtr (HoppyF.Ptr QApplicationConst -> HoppyP.IO ())

class QApplicationValue a where
  withQApplicationPtr :: a -> (QApplicationConst -> HoppyP.IO b) -> HoppyP.IO b

instance {-# OVERLAPPABLE #-} QApplicationConstPtr a => QApplicationValue a where
  withQApplicationPtr = HoppyP.flip ($) . toQApplicationConst

class (M20.QCoreApplicationConstPtr this) => QApplicationConstPtr this where
  toQApplicationConst :: this -> QApplicationConst

autoSipEnabled :: (QApplicationValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
autoSipEnabled arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (autoSipEnabled' arg'1')

isSessionRestored :: (QApplicationValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isSessionRestored arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isSessionRestored' arg'1')

sessionId :: (QApplicationValue this) => (this) {- ^ this -} -> (HoppyP.IO QtahP.String)
sessionId arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (sessionId' arg'1')

sessionKey :: (QApplicationValue this) => (this) {- ^ this -} -> (HoppyP.IO QtahP.String)
sessionKey arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (sessionKey' arg'1')

startDragDistance :: (QApplicationValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
startDragDistance arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (startDragDistance' arg'1')

startDragTime :: (QApplicationValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
startDragTime arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (startDragTime' arg'1')

styleSheet :: (QApplicationValue this) => (this) {- ^ this -} -> (HoppyP.IO QtahP.String)
styleSheet arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
  (styleSheet' arg'1')

windowIcon :: (QApplicationValue this) => (this) {- ^ this -} -> (HoppyP.IO M288.QIcon)
windowIcon arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M288.QIconConst) =<<
  (windowIcon' arg'1')

class (QApplicationConstPtr this, M20.QCoreApplicationPtr this) => QApplicationPtr this where
  toQApplication :: this -> QApplication

setAutoSipEnabled :: (QApplicationPtr this) => (this) {- ^ this -} -> (HoppyP.Bool) -> (HoppyP.IO ())
setAutoSipEnabled arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  (
    \x -> HoppyP.return $ if x then 1 else 0
  ) arg'2 >>= \arg'2' ->
  (setAutoSipEnabled' arg'1' arg'2')

setStartDragDistance :: (QApplicationPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO ())
setStartDragDistance arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (setStartDragDistance' arg'1' arg'2')

setStartDragTime :: (QApplicationPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO ())
setStartDragTime arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (setStartDragTime' arg'1' arg'2')

setStyleSheet :: (QApplicationPtr this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setStyleSheet arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (setStyleSheet' arg'1' arg'2')

setWindowIcon :: (QApplicationPtr this, M288.QIconValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setWindowIcon arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  M288.withQIconPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (setWindowIcon' arg'1' arg'2')

emitFocusChanged :: (QApplicationPtr this, M506.QWidgetPtr arg'2, M506.QWidgetPtr arg'3) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (HoppyP.IO ())
emitFocusChanged arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'2) $ \arg'2' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'3) $ \arg'3' ->
  (emitFocusChanged' arg'1' arg'2' arg'3')

emitFontDatabaseChanged :: (QApplicationPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
emitFontDatabaseChanged arg'1 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  (emitFontDatabaseChanged' arg'1')

emitLastWindowClosed :: (QApplicationPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
emitLastWindowClosed arg'1 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  (emitLastWindowClosed' arg'1')

new :: (M144.QStringListValue arg'1) => (arg'1) -> (HoppyP.IO QApplication)
new arg'1 =
  M144.withQStringListPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap QApplication
  (new' arg'1')

aboutQt :: (HoppyP.IO ())
aboutQt =
  (aboutQt')

activeModalWidget :: (HoppyP.IO M506.QWidget)
activeModalWidget =
  HoppyP.fmap M506.QWidget
  (activeModalWidget')

activePopupWidget :: (HoppyP.IO M506.QWidget)
activePopupWidget =
  HoppyP.fmap M506.QWidget
  (activePopupWidget')

activeWindow :: (HoppyP.IO M506.QWidget)
activeWindow =
  HoppyP.fmap M506.QWidget
  (activeWindow')

setActiveWindow :: (M506.QWidgetPtr arg'1) => (arg'1) -> (HoppyP.IO ())
setActiveWindow arg'1 =
  HoppyFHR.withCppPtr (M506.toQWidget arg'1) $ \arg'1' ->
  (setActiveWindow' arg'1')

alert :: (M506.QWidgetPtr arg'1) => (arg'1) -> (HoppyP.Int) -> (HoppyP.IO ())
alert arg'1 arg'2 =
  HoppyFHR.withCppPtr (M506.toQWidget arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (alert' arg'1' arg'2')

allWidgets :: (HoppyP.IO [M506.QWidget])
allWidgets =
  (HoppyFHR.decodeAndDelete . M210.QListQWidgetConst) =<<
  (allWidgets')

beep :: (HoppyP.IO ())
beep =
  (beep')

clipboard :: (HoppyP.IO M248.QClipboard)
clipboard =
  HoppyP.fmap M248.QClipboard
  (clipboard')

closeAllWindows :: (HoppyP.IO ())
closeAllWindows =
  (closeAllWindows')

colorSpec :: (HoppyP.IO HoppyP.Int)
colorSpec =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (colorSpec')

setColorSpec :: (HoppyP.Int) -> (HoppyP.IO ())
setColorSpec arg'1 =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'1 >>= \arg'1' ->
  (setColorSpec' arg'1')

cursorFlashTime :: (HoppyP.IO HoppyP.Int)
cursorFlashTime =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (cursorFlashTime')

setCursorFlashTime :: (HoppyP.Int) -> (HoppyP.IO ())
setCursorFlashTime arg'1 =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'1 >>= \arg'1' ->
  (setCursorFlashTime' arg'1')

desktopSettingsAware :: (HoppyP.IO HoppyP.Bool)
desktopSettingsAware =
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (desktopSettingsAware')

setDesktopSettingsAware :: (HoppyP.Bool) -> (HoppyP.IO ())
setDesktopSettingsAware arg'1 =
  (
    \x -> HoppyP.return $ if x then 1 else 0
  ) arg'1 >>= \arg'1' ->
  (setDesktopSettingsAware' arg'1')

doubleClickInterval :: (HoppyP.IO HoppyP.Int)
doubleClickInterval =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (doubleClickInterval')

setDoubleClickInterval :: (HoppyP.Int) -> (HoppyP.IO ())
setDoubleClickInterval arg'1 =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'1 >>= \arg'1' ->
  (setDoubleClickInterval' arg'1')

focusWidget :: (HoppyP.IO M506.QWidget)
focusWidget =
  HoppyP.fmap M506.QWidget
  (focusWidget')

font :: (HoppyP.IO M276.QFont)
font =
  (HoppyFHR.decodeAndDelete . M276.QFontConst) =<<
  (font')

fontWithWidget :: (M506.QWidgetPtr arg'1) => (arg'1) -> (HoppyP.IO M276.QFont)
fontWithWidget arg'1 =
  HoppyFHR.withCppPtr (M506.toQWidget arg'1) $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M276.QFontConst) =<<
  (fontWithWidget' arg'1')

fontWithClass :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO M276.QFont)
fontWithClass arg'1 =
  M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M276.QFontConst) =<<
  (fontWithClass' arg'1')

globalStrut :: (HoppyP.IO HSize.HSize)
globalStrut =
  (HoppyFHR.decodeAndDelete . M134.QSizeConst) =<<
  (globalStrut')

setGlobalStrut :: (M134.QSizeValue arg'1) => (arg'1) -> (HoppyP.IO ())
setGlobalStrut arg'1 =
  M134.withQSizePtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (setGlobalStrut' arg'1')

isLeftToRight :: (HoppyP.IO HoppyP.Bool)
isLeftToRight =
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isLeftToRight')

isRightToLeft :: (HoppyP.IO HoppyP.Bool)
isRightToLeft =
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isRightToLeft')

keyboardInputInterval :: (HoppyP.IO HoppyP.Int)
keyboardInputInterval =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (keyboardInputInterval')

layoutDirection :: (HoppyP.IO M190.QtLayoutDirection)
layoutDirection =
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (layoutDirection')

quitOnLastWindowClosed :: (HoppyP.IO HoppyP.Bool)
quitOnLastWindowClosed =
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (quitOnLastWindowClosed')

restoreOverrideCursor :: (HoppyP.IO ())
restoreOverrideCursor =
  (restoreOverrideCursor')

setFont :: (M276.QFontValue arg'1) => (arg'1) -> (HoppyP.IO ())
setFont arg'1 =
  M276.withQFontPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (setFont' arg'1')

setFontWithClass :: (M276.QFontValue arg'1, M142.QStringValue arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO ())
setFontWithClass arg'1 arg'2 =
  M276.withQFontPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (setFontWithClass' arg'1' arg'2')

setKeyboardInputInterval :: (HoppyP.Int) -> (HoppyP.IO ())
setKeyboardInputInterval arg'1 =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'1 >>= \arg'1' ->
  (setKeyboardInputInterval' arg'1')

setLayoutDirection :: (M190.QtLayoutDirection) -> (HoppyP.IO ())
setLayoutDirection arg'1 =
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'1 >>= \arg'1' ->
  (setLayoutDirection' arg'1')

setQuitOnLastWindowClosed :: (HoppyP.Bool) -> (HoppyP.IO ())
setQuitOnLastWindowClosed arg'1 =
  (
    \x -> HoppyP.return $ if x then 1 else 0
  ) arg'1 >>= \arg'1' ->
  (setQuitOnLastWindowClosed' arg'1')

topLevelAtPoint :: (M114.QPointValue arg'1) => (arg'1) -> (HoppyP.IO M506.QWidget)
topLevelAtPoint arg'1 =
  M114.withQPointPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap M506.QWidget
  (topLevelAtPoint' arg'1')

topLevelAtRaw :: (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.IO M506.QWidget)
topLevelAtRaw arg'1 arg'2 =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'1 >>= \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  HoppyP.fmap M506.QWidget
  (topLevelAtRaw' arg'1' arg'2')

wheelScrollLines :: (HoppyP.IO HoppyP.Int)
wheelScrollLines =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (wheelScrollLines')

setWheelScrollLines :: (HoppyP.Int) -> (HoppyP.IO ())
setWheelScrollLines arg'1 =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'1 >>= \arg'1' ->
  (setWheelScrollLines' arg'1')

widgetAtPoint :: (M114.QPointValue arg'1) => (arg'1) -> (HoppyP.IO M506.QWidget)
widgetAtPoint arg'1 =
  M114.withQPointPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap M506.QWidget
  (widgetAtPoint' arg'1')

widgetAtRaw :: (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.IO M506.QWidget)
widgetAtRaw arg'1 arg'2 =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'1 >>= \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  HoppyP.fmap M506.QWidget
  (widgetAtRaw' arg'1' arg'2')

data QApplicationConst =
    QApplicationConst (HoppyF.Ptr QApplicationConst)
  | QApplicationConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QApplicationConst)
  deriving (HoppyP.Show)

instance HoppyP.Eq QApplicationConst where
  x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y

instance HoppyP.Ord QApplicationConst where
  compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)

castQApplicationToConst :: QApplication -> QApplicationConst
castQApplicationToConst (QApplication ptr') = QApplicationConst $ HoppyF.castPtr ptr'
castQApplicationToConst (QApplicationGc fptr' ptr') = QApplicationConstGc fptr' $ HoppyF.castPtr ptr'

instance HoppyFHR.CppPtr QApplicationConst where
  nullptr = QApplicationConst HoppyF.nullPtr
  
  withCppPtr (QApplicationConst ptr') f' = f' ptr'
  withCppPtr (QApplicationConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
  
  toPtr (QApplicationConst ptr') = ptr'
  toPtr (QApplicationConstGc _ ptr') = ptr'
  
  touchCppPtr (QApplicationConst _) = HoppyP.return ()
  touchCppPtr (QApplicationConstGc fptr' _) = HoppyF.touchForeignPtr fptr'

instance HoppyFHR.Deletable QApplicationConst where
  delete (QApplicationConst ptr') = delete'QApplication ptr'
  delete (QApplicationConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QApplicationConst", " object."]
  
  toGc this'@(QApplicationConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QApplicationConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QApplication :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
  toGc this'@(QApplicationConstGc {}) = HoppyP.return this'

instance QApplicationConstPtr QApplicationConst where
  toQApplicationConst = HoppyP.id

instance M20.QCoreApplicationConstPtr QApplicationConst where
  toQCoreApplicationConst (QApplicationConst ptr') = M20.QCoreApplicationConst $ castQApplicationToQCoreApplication ptr'
  toQCoreApplicationConst (QApplicationConstGc fptr' ptr') = M20.QCoreApplicationConstGc fptr' $ castQApplicationToQCoreApplication ptr'

instance M94.QObjectConstPtr QApplicationConst where
  toQObjectConst (QApplicationConst ptr') = M94.QObjectConst $ castQApplicationToQObject ptr'
  toQObjectConst (QApplicationConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQApplicationToQObject ptr'

data QApplication =
    QApplication (HoppyF.Ptr QApplication)
  | QApplicationGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QApplication)
  deriving (HoppyP.Show)

instance HoppyP.Eq QApplication where
  x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y

instance HoppyP.Ord QApplication where
  compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)

castQApplicationToNonconst :: QApplicationConst -> QApplication
castQApplicationToNonconst (QApplicationConst ptr') = QApplication $ HoppyF.castPtr ptr'
castQApplicationToNonconst (QApplicationConstGc fptr' ptr') = QApplicationGc fptr' $ HoppyF.castPtr ptr'

instance HoppyFHR.CppPtr QApplication where
  nullptr = QApplication HoppyF.nullPtr
  
  withCppPtr (QApplication ptr') f' = f' ptr'
  withCppPtr (QApplicationGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
  
  toPtr (QApplication ptr') = ptr'
  toPtr (QApplicationGc _ ptr') = ptr'
  
  touchCppPtr (QApplication _) = HoppyP.return ()
  touchCppPtr (QApplicationGc fptr' _) = HoppyF.touchForeignPtr fptr'

instance HoppyFHR.Deletable QApplication where
  delete (QApplication ptr') = delete'QApplication $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QApplicationConst)
  delete (QApplicationGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QApplication", " object."]
  
  toGc this'@(QApplication ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QApplicationGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QApplication :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
  toGc this'@(QApplicationGc {}) = HoppyP.return this'

instance QApplicationConstPtr QApplication where
  toQApplicationConst (QApplication ptr') = QApplicationConst $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'
  toQApplicationConst (QApplicationGc fptr' ptr') = QApplicationConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'

instance QApplicationPtr QApplication where
  toQApplication = HoppyP.id

instance M20.QCoreApplicationConstPtr QApplication where
  toQCoreApplicationConst (QApplication ptr') = M20.QCoreApplicationConst $ castQApplicationToQCoreApplication $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'
  toQCoreApplicationConst (QApplicationGc fptr' ptr') = M20.QCoreApplicationConstGc fptr' $ castQApplicationToQCoreApplication $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'

instance M20.QCoreApplicationPtr QApplication where
  toQCoreApplication (QApplication ptr') = M20.QCoreApplication $ (HoppyF.castPtr :: HoppyF.Ptr M20.QCoreApplicationConst -> HoppyF.Ptr M20.QCoreApplication) $ castQApplicationToQCoreApplication $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'
  toQCoreApplication (QApplicationGc fptr' ptr') = M20.QCoreApplicationGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M20.QCoreApplicationConst -> HoppyF.Ptr M20.QCoreApplication) $ castQApplicationToQCoreApplication $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'

instance M94.QObjectConstPtr QApplication where
  toQObjectConst (QApplication ptr') = M94.QObjectConst $ castQApplicationToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'
  toQObjectConst (QApplicationGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQApplicationToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'

instance M94.QObjectPtr QApplication where
  toQObject (QApplication ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQApplicationToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'
  toQObject (QApplicationGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQApplicationToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'

class QApplicationSuper a where
  downToQApplication :: a -> QApplication

instance QApplicationSuper M20.QCoreApplication where
  downToQApplication = castQApplicationToNonconst . cast' . M20.castQCoreApplicationToConst
    where
      cast' (M20.QCoreApplicationConst ptr') = QApplicationConst $ castQCoreApplicationToQApplication ptr'
      cast' (M20.QCoreApplicationConstGc fptr' ptr') = QApplicationConstGc fptr' $ castQCoreApplicationToQApplication ptr'
instance QApplicationSuper M94.QObject where
  downToQApplication = castQApplicationToNonconst . cast' . M94.castQObjectToConst
    where
      cast' (M94.QObjectConst ptr') = QApplicationConst $ castQObjectToQApplication ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QApplicationConstGc fptr' $ castQObjectToQApplication ptr'

class QApplicationSuperConst a where
  downToQApplicationConst :: a -> QApplicationConst

instance QApplicationSuperConst M20.QCoreApplicationConst where
  downToQApplicationConst = cast'
    where
      cast' (M20.QCoreApplicationConst ptr') = QApplicationConst $ castQCoreApplicationToQApplication ptr'
      cast' (M20.QCoreApplicationConstGc fptr' ptr') = QApplicationConstGc fptr' $ castQCoreApplicationToQApplication ptr'
instance QApplicationSuperConst M94.QObjectConst where
  downToQApplicationConst = cast'
    where
      cast' (M94.QObjectConst ptr') = QApplicationConst $ castQObjectToQApplication ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QApplicationConstGc fptr' $ castQObjectToQApplication ptr'

instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QApplication)) QApplication where
  assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'

instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QApplication)) QApplication where
  decode = HoppyP.fmap QApplication . HoppyF.peek