packages feed

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

{-# LANGUAGE CPP, FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
#if !MIN_VERSION_base(4,8,0)
{-# LANGUAGE OverlappingInstances #-}
#endif

---------- 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,
  QApplicationPtr (..),
  setAutoSipEnabled,
  setStartDragDistance,
  setStartDragTime,
  setStyleSheet,
  new,
  aboutQt,
  activeModalWidget,
  activePopupWidget,
  activeWindow,
  setActiveWindow,
  alert,
  allWidgets,
  beep,
  clipboard,
  closeAllWindows,
  colorSpec,
  setColorSpec,
  cursorFlashTime,
  setCursorFlashTime,
  desktopSettingsAware,
  setDesktopSettingsAware,
  doubleClickInterval,
  setDoubleClickInterval,
  focusWidget,
  globalStrut,
  setGlobalStrut,
  isLeftToRight,
  isRightToLeft,
  keyboardInputInterval,
  layoutDirection,
  quitOnLastWindowClosed,
  restoreOverrideCursor,
  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 M12
import qualified Graphics.UI.Qtah.Generated.Core.QList.QWidget as M74
import qualified Graphics.UI.Qtah.Generated.Core.QObject as M30
import qualified Graphics.UI.Qtah.Generated.Core.QPoint as M34
import qualified Graphics.UI.Qtah.Generated.Core.QSize as M42
import qualified Graphics.UI.Qtah.Generated.Core.QString as M46
import qualified Graphics.UI.Qtah.Generated.Core.QStringList as M48
import qualified Graphics.UI.Qtah.Generated.Core.Types as M58
import qualified Graphics.UI.Qtah.Generated.Gui.QClipboard as M88
import qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M280
import Prelude (($), (.), (/=), (=<<), (==))
import qualified Prelude as HoppyP
import qualified Prelude as QtahP

foreign import ccall "genpop__QApplication_new" new' ::  HoppyF.Ptr M48.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 M280.QWidget)
foreign import ccall "genpop__QApplication_activePopupWidget" activePopupWidget' ::  HoppyP.IO (HoppyF.Ptr M280.QWidget)
foreign import ccall "genpop__QApplication_activeWindow" activeWindow' ::  HoppyP.IO (HoppyF.Ptr M280.QWidget)
foreign import ccall "genpop__QApplication_setActiveWindow" setActiveWindow' ::  HoppyF.Ptr M280.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_alert" alert' ::  HoppyF.Ptr M280.QWidget -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_allWidgets" allWidgets' ::  HoppyP.IO (HoppyF.Ptr M74.QListQWidgetConst)
foreign import ccall "genpop__QApplication_autoSipEnabled" autoSipEnabled' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QApplication_setAutoSipEnabled" setAutoSipEnabled' ::  HoppyF.Ptr QApplication -> HoppyFHR.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_beep" beep' ::  HoppyP.IO ()
foreign import ccall "genpop__QApplication_clipboard" clipboard' ::  HoppyP.IO (HoppyF.Ptr M88.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 HoppyFHR.CBool
foreign import ccall "genpop__QApplication_setDesktopSettingsAware" setDesktopSettingsAware' ::  HoppyFHR.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 M280.QWidget)
foreign import ccall "genpop__QApplication_globalStrut" globalStrut' ::  HoppyP.IO (HoppyF.Ptr M42.QSizeConst)
foreign import ccall "genpop__QApplication_setGlobalStrut" setGlobalStrut' ::  HoppyF.Ptr M42.QSizeConst -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_isLeftToRight" isLeftToRight' ::  HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QApplication_isRightToLeft" isRightToLeft' ::  HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QApplication_isSessionRestored" isSessionRestored' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO HoppyFHR.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 HoppyFHR.CBool
foreign import ccall "genpop__QApplication_restoreOverrideCursor" restoreOverrideCursor' ::  HoppyP.IO ()
foreign import ccall "genpop__QApplication_sessionId" sessionId' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO (HoppyF.Ptr M46.QStringConst)
foreign import ccall "genpop__QApplication_sessionKey" sessionKey' ::  HoppyF.Ptr QApplicationConst -> HoppyP.IO (HoppyF.Ptr M46.QStringConst)
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' ::  HoppyFHR.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 M46.QStringConst)
foreign import ccall "genpop__QApplication_setStyleSheet" setStyleSheet' ::  HoppyF.Ptr QApplication -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QApplication_topLevelAtPoint" topLevelAtPoint' ::  HoppyF.Ptr M34.QPointConst -> HoppyP.IO (HoppyF.Ptr M280.QWidget)
foreign import ccall "genpop__QApplication_topLevelAtRaw" topLevelAtRaw' ::  HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M280.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 M34.QPointConst -> HoppyP.IO (HoppyF.Ptr M280.QWidget)
foreign import ccall "genpop__QApplication_widgetAtRaw" widgetAtRaw' ::  HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M280.QWidget)
foreign import ccall "gencast__QApplication__QCoreApplication" castQApplicationToQCoreApplication :: HoppyF.Ptr QApplicationConst -> HoppyF.Ptr M12.QCoreApplicationConst
foreign import ccall "gencast__QCoreApplication__QApplication" castQCoreApplicationToQApplication :: HoppyF.Ptr M12.QCoreApplicationConst -> HoppyF.Ptr QApplicationConst
foreign import ccall "gencast__QApplication__QObject" castQApplicationToQObject :: HoppyF.Ptr QApplicationConst -> HoppyF.Ptr M30.QObjectConst
foreign import ccall "gencast__QObject__QApplication" castQObjectToQApplication :: HoppyF.Ptr M30.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

#if MIN_VERSION_base(4,8,0)
instance {-# OVERLAPPABLE #-} QApplicationConstPtr a => QApplicationValue a where
#else
instance QApplicationConstPtr a => QApplicationValue a where
#endif
  withQApplicationPtr = HoppyP.flip ($) . toQApplicationConst

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

autoSipEnabled :: (QApplicationValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
autoSipEnabled arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap (/= 0)
  (autoSipEnabled' arg'1')

isSessionRestored :: (QApplicationValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isSessionRestored arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap (/= 0)
  (isSessionRestored' arg'1')

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

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

startDragDistance :: (QApplicationValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Int
startDragDistance arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap HoppyFHR.coerceIntegral
  (startDragDistance' arg'1')

startDragTime :: (QApplicationValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Int
startDragTime arg'1 =
  withQApplicationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap HoppyFHR.coerceIntegral
  (startDragTime' arg'1')

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

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

setAutoSipEnabled :: (QApplicationPtr arg'1) => arg'1 -> HoppyP.Bool -> HoppyP.IO ()
setAutoSipEnabled arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  let arg'2' = if arg'2 then 1 else 0 in
  (setAutoSipEnabled' arg'1' arg'2')

setStartDragDistance :: (QApplicationPtr arg'1) => arg'1 -> HoppyP.Int -> HoppyP.IO ()
setStartDragDistance arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral arg'2 in
  (setStartDragDistance' arg'1' arg'2')

setStartDragTime :: (QApplicationPtr arg'1) => arg'1 -> HoppyP.Int -> HoppyP.IO ()
setStartDragTime arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQApplication arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral arg'2 in
  (setStartDragTime' arg'1' arg'2')

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

setDesktopSettingsAware ::  HoppyP.Bool -> HoppyP.IO ()
setDesktopSettingsAware arg'1 =
  let arg'1' = if arg'1 then 1 else 0 in
  (setDesktopSettingsAware' arg'1')

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

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

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

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

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

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

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

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

layoutDirection ::  HoppyP.IO M58.QtLayoutDirection
layoutDirection =
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (layoutDirection')

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

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

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

setLayoutDirection ::  M58.QtLayoutDirection -> HoppyP.IO ()
setLayoutDirection arg'1 =
  let arg'1' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'1 in
  (setLayoutDirection' arg'1')

setQuitOnLastWindowClosed ::  HoppyP.Bool -> HoppyP.IO ()
setQuitOnLastWindowClosed arg'1 =
  let arg'1' = if arg'1 then 1 else 0 in
  (setQuitOnLastWindowClosed' arg'1')

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

topLevelAtRaw ::  HoppyP.Int -> HoppyP.Int -> HoppyP.IO M280.QWidget
topLevelAtRaw arg'1 arg'2 =
  let arg'1' = HoppyFHR.coerceIntegral arg'1 in
  let arg'2' = HoppyFHR.coerceIntegral arg'2 in
  HoppyP.fmap M280.QWidget
  (topLevelAtRaw' arg'1' arg'2')

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

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

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

widgetAtRaw ::  HoppyP.Int -> HoppyP.Int -> HoppyP.IO M280.QWidget
widgetAtRaw arg'1 arg'2 =
  let arg'1' = HoppyFHR.coerceIntegral arg'1 in
  let arg'2' = HoppyFHR.coerceIntegral arg'2 in
  HoppyP.fmap M280.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 M12.QCoreApplicationConstPtr QApplicationConst where
  toQCoreApplicationConst (QApplicationConst ptr') = M12.QCoreApplicationConst $ castQApplicationToQCoreApplication ptr'
  toQCoreApplicationConst (QApplicationConstGc fptr' ptr') = M12.QCoreApplicationConstGc fptr' $ castQApplicationToQCoreApplication ptr'

instance M30.QObjectConstPtr QApplicationConst where
  toQObjectConst (QApplicationConst ptr') = M30.QObjectConst $ castQApplicationToQObject ptr'
  toQObjectConst (QApplicationConstGc fptr' ptr') = M30.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 M12.QCoreApplicationConstPtr QApplication where
  toQCoreApplicationConst (QApplication ptr') = M12.QCoreApplicationConst $ castQApplicationToQCoreApplication $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'
  toQCoreApplicationConst (QApplicationGc fptr' ptr') = M12.QCoreApplicationConstGc fptr' $ castQApplicationToQCoreApplication $ (HoppyF.castPtr :: HoppyF.Ptr QApplication -> HoppyF.Ptr QApplicationConst) ptr'

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

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

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

class QApplicationSuper a where
  downToQApplication :: a -> QApplication

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

class QApplicationSuperConst a where
  downToQApplicationConst :: a -> QApplicationConst

instance QApplicationSuperConst M12.QCoreApplicationConst where
  downToQApplicationConst = cast'
    where
      cast' (M12.QCoreApplicationConst ptr') = QApplicationConst $ castQCoreApplicationToQApplication ptr'
      cast' (M12.QCoreApplicationConstGc fptr' ptr') = QApplicationConstGc fptr' $ castQCoreApplicationToQApplication ptr'
instance QApplicationSuperConst M30.QObjectConst where
  downToQApplicationConst = cast'
    where
      cast' (M30.QObjectConst ptr') = QApplicationConst $ castQObjectToQApplication ptr'
      cast' (M30.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