packages feed

qtah-qt5-0.3.0: src/Graphics/UI/Qtah/Generated/Widgets/QMessageBox.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.QMessageBox (
  castQMessageBoxToQDialog,
  castQDialogToQMessageBox,
  castQMessageBoxToQWidget,
  castQWidgetToQMessageBox,
  castQMessageBoxToQObject,
  castQObjectToQMessageBox,
  QMessageBoxValue (..),
  QMessageBoxConstPtr (..),
  button,
  buttonRole,
  buttons,
  checkBox,
  clickedButton,
  defaultButton,
  detailedText,
  escapeButton,
  icon,
  informativeText,
  standardButton,
  standardButtons,
  text,
  textFormat,
  textInteractionFlags,
  QMessageBoxPtr (..),
  addButton,
  addNewButton,
  addStandardButton,
  setCheckBox,
  setDetailedText,
  setIcon,
  setInformativeText,
  removeButton,
  setDefaultButton,
  setDefaultButtonStandard,
  setEscapeButton,
  setEscapeButtonStandard,
  setWindowModality,
  setWindowTitle,
  setStandardButtons,
  setText,
  setTextFormat,
  setTextInteractionFlags,
  about,
  aboutQt,
  critical,
  criticalWithButtons,
  information,
  informationWithButtons,
  question,
  questionWithButtons,
  warning,
  warningWithButtons,
  QMessageBoxConst (..),
  castQMessageBoxToConst,
  QMessageBox (..),
  castQMessageBoxToNonconst,
  new,
  newWithParent,
  QMessageBoxSuper (..),
  QMessageBoxSuperConst (..),
  QMessageBoxButtonRole (..),
  QMessageBoxIcon (..),
  QMessageBoxStandardButton (..),
  QMessageBoxStandardButtons (..),
  IsQMessageBoxStandardButtons (..),
  ok,
  open,
  save,
  cancel,
  close,
  discard,
  apply,
  reset,
  restoreDefaults,
  help,
  saveAll,
  yes,
  yesToAll,
  no,
  noToAll,
  abort,
  retry,
  ignore,
  noButton,
  ) where

import qualified Data.Bits as HoppyDB
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Generated.Core.QList.QAbstractButton as M62
import qualified Graphics.UI.Qtah.Generated.Core.QObject as M30
import qualified Graphics.UI.Qtah.Generated.Core.QString as M46
import qualified Graphics.UI.Qtah.Generated.Core.Types as M58
import qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractButton as M162
import qualified Graphics.UI.Qtah.Generated.Widgets.QCheckBox as M184
import qualified Graphics.UI.Qtah.Generated.Widgets.QDialog as M188
import qualified Graphics.UI.Qtah.Generated.Widgets.QPushButton as M248
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__QMessageBox_new" new' ::  HoppyP.IO (HoppyF.Ptr QMessageBox)
foreign import ccall "genpop__QMessageBox_newWithParent" newWithParent' ::  HoppyF.Ptr M280.QWidget -> HoppyP.IO (HoppyF.Ptr QMessageBox)
foreign import ccall "genpop__QMessageBox_about" about' ::  HoppyF.Ptr M280.QWidget -> HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_aboutQt" aboutQt' ::  HoppyF.Ptr M280.QWidget -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_addButton" addButton' ::  HoppyF.Ptr QMessageBox -> HoppyF.Ptr M162.QAbstractButton -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_addNewButton" addNewButton' ::  HoppyF.Ptr QMessageBox -> HoppyF.Ptr M46.QStringConst -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M248.QPushButton)
foreign import ccall "genpop__QMessageBox_addStandardButton" addStandardButton' ::  HoppyF.Ptr QMessageBox -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M248.QPushButton)
foreign import ccall "genpop__QMessageBox_button" button' ::  HoppyF.Ptr QMessageBoxConst -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M162.QAbstractButton)
foreign import ccall "genpop__QMessageBox_buttonRole" buttonRole' ::  HoppyF.Ptr QMessageBoxConst -> HoppyF.Ptr M162.QAbstractButton -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_buttons" buttons' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO (HoppyF.Ptr M62.QListQAbstractButtonConst)
foreign import ccall "genpop__QMessageBox_checkBox" checkBox' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO (HoppyF.Ptr M184.QCheckBox)
foreign import ccall "genpop__QMessageBox_setCheckBox" setCheckBox' ::  HoppyF.Ptr QMessageBox -> HoppyF.Ptr M184.QCheckBox -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_clickedButton" clickedButton' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO (HoppyF.Ptr M162.QAbstractButton)
foreign import ccall "genpop__QMessageBox_critical" critical' ::  HoppyF.Ptr M280.QWidget -> HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_criticalWithButtons" criticalWithButtons' ::  HoppyF.Ptr M280.QWidget -> HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M46.QStringConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_defaultButton" defaultButton' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO (HoppyF.Ptr M248.QPushButton)
foreign import ccall "genpop__QMessageBox_detailedText" detailedText' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO (HoppyF.Ptr M46.QStringConst)
foreign import ccall "genpop__QMessageBox_setDetailedText" setDetailedText' ::  HoppyF.Ptr QMessageBox -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_escapeButton" escapeButton' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO (HoppyF.Ptr M162.QAbstractButton)
foreign import ccall "genpop__QMessageBox_icon" icon' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_setIcon" setIcon' ::  HoppyF.Ptr QMessageBox -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_information" information' ::  HoppyF.Ptr M280.QWidget -> HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_informationWithButtons" informationWithButtons' ::  HoppyF.Ptr M280.QWidget -> HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M46.QStringConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_informativeText" informativeText' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO (HoppyF.Ptr M46.QStringConst)
foreign import ccall "genpop__QMessageBox_setInformativeText" setInformativeText' ::  HoppyF.Ptr QMessageBox -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_question" question' ::  HoppyF.Ptr M280.QWidget -> HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_questionWithButtons" questionWithButtons' ::  HoppyF.Ptr M280.QWidget -> HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M46.QStringConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_removeButton" removeButton' ::  HoppyF.Ptr QMessageBox -> HoppyF.Ptr M162.QAbstractButton -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_setDefaultButton" setDefaultButton' ::  HoppyF.Ptr QMessageBox -> HoppyF.Ptr M248.QPushButton -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_setDefaultButtonStandard" setDefaultButtonStandard' ::  HoppyF.Ptr QMessageBox -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_setEscapeButton" setEscapeButton' ::  HoppyF.Ptr QMessageBox -> HoppyF.Ptr M248.QPushButton -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_setEscapeButtonStandard" setEscapeButtonStandard' ::  HoppyF.Ptr QMessageBox -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_setWindowModality" setWindowModality' ::  HoppyF.Ptr QMessageBox -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_setWindowTitle" setWindowTitle' ::  HoppyF.Ptr QMessageBox -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_standardButton" standardButton' ::  HoppyF.Ptr QMessageBoxConst -> HoppyF.Ptr M162.QAbstractButton -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_standardButtons" standardButtons' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_setStandardButtons" setStandardButtons' ::  HoppyF.Ptr QMessageBox -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_text" text' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO (HoppyF.Ptr M46.QStringConst)
foreign import ccall "genpop__QMessageBox_setText" setText' ::  HoppyF.Ptr QMessageBox -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_textFormat" textFormat' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_setTextFormat" setTextFormat' ::  HoppyF.Ptr QMessageBox -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_textInteractionFlags" textInteractionFlags' ::  HoppyF.Ptr QMessageBoxConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_setTextInteractionFlags" setTextInteractionFlags' ::  HoppyF.Ptr QMessageBox -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QMessageBox_warning" warning' ::  HoppyF.Ptr M280.QWidget -> HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMessageBox_warningWithButtons" warningWithButtons' ::  HoppyF.Ptr M280.QWidget -> HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M46.QStringConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "gencast__QMessageBox__QDialog" castQMessageBoxToQDialog :: HoppyF.Ptr QMessageBoxConst -> HoppyF.Ptr M188.QDialogConst
foreign import ccall "gencast__QDialog__QMessageBox" castQDialogToQMessageBox :: HoppyF.Ptr M188.QDialogConst -> HoppyF.Ptr QMessageBoxConst
foreign import ccall "gencast__QMessageBox__QWidget" castQMessageBoxToQWidget :: HoppyF.Ptr QMessageBoxConst -> HoppyF.Ptr M280.QWidgetConst
foreign import ccall "gencast__QWidget__QMessageBox" castQWidgetToQMessageBox :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr QMessageBoxConst
foreign import ccall "gencast__QMessageBox__QObject" castQMessageBoxToQObject :: HoppyF.Ptr QMessageBoxConst -> HoppyF.Ptr M30.QObjectConst
foreign import ccall "gencast__QObject__QMessageBox" castQObjectToQMessageBox :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr QMessageBoxConst
foreign import ccall "gendel__QMessageBox" delete'QMessageBox :: HoppyF.Ptr QMessageBoxConst -> HoppyP.IO ()
foreign import ccall "&gendel__QMessageBox" deletePtr'QMessageBox :: HoppyF.FunPtr (HoppyF.Ptr QMessageBoxConst -> HoppyP.IO ())

class QMessageBoxValue a where
  withQMessageBoxPtr :: a -> (QMessageBoxConst -> HoppyP.IO b) -> HoppyP.IO b

#if MIN_VERSION_base(4,8,0)
instance {-# OVERLAPPABLE #-} QMessageBoxConstPtr a => QMessageBoxValue a where
#else
instance QMessageBoxConstPtr a => QMessageBoxValue a where
#endif
  withQMessageBoxPtr = HoppyP.flip ($) . toQMessageBoxConst

class (M188.QDialogConstPtr this) => QMessageBoxConstPtr this where
  toQMessageBoxConst :: this -> QMessageBoxConst

button :: (QMessageBoxValue arg'1) => arg'1 -> QMessageBoxStandardButton -> HoppyP.IO M162.QAbstractButton
button arg'1 arg'2 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'2 in
  HoppyP.fmap M162.QAbstractButton
  (button' arg'1' arg'2')

buttonRole :: (QMessageBoxValue arg'1, M162.QAbstractButtonPtr arg'2) => arg'1 -> arg'2 -> HoppyP.IO QMessageBoxButtonRole
buttonRole arg'1 arg'2 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M162.toQAbstractButton arg'2) $ \arg'2' ->
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (buttonRole' arg'1' arg'2')

buttons :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO [M162.QAbstractButton]
buttons arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M62.QListQAbstractButtonConst) =<<
  (buttons' arg'1')

checkBox :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO M184.QCheckBox
checkBox arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap M184.QCheckBox
  (checkBox' arg'1')

clickedButton :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO M162.QAbstractButton
clickedButton arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap M162.QAbstractButton
  (clickedButton' arg'1')

defaultButton :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO M248.QPushButton
defaultButton arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap M248.QPushButton
  (defaultButton' arg'1')

detailedText :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO QtahP.String
detailedText arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M46.QStringConst) =<<
  (detailedText' arg'1')

escapeButton :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO M162.QAbstractButton
escapeButton arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap M162.QAbstractButton
  (escapeButton' arg'1')

icon :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO QMessageBoxIcon
icon arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (icon' arg'1')

informativeText :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO QtahP.String
informativeText arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M46.QStringConst) =<<
  (informativeText' arg'1')

standardButton :: (QMessageBoxValue arg'1, M162.QAbstractButtonPtr arg'2) => arg'1 -> arg'2 -> HoppyP.IO QMessageBoxStandardButton
standardButton arg'1 arg'2 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M162.toQAbstractButton arg'2) $ \arg'2' ->
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (standardButton' arg'1' arg'2')

standardButtons :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO QMessageBoxStandardButtons
standardButtons arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap QMessageBoxStandardButtons
  (standardButtons' arg'1')

text :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO QtahP.String
text arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M46.QStringConst) =<<
  (text' arg'1')

textFormat :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO M58.QtTextFormat
textFormat arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (textFormat' arg'1')

textInteractionFlags :: (QMessageBoxValue arg'1) => arg'1 -> HoppyP.IO M58.QtTextInteractionFlags
textInteractionFlags arg'1 =
  withQMessageBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap M58.QtTextInteractionFlags
  (textInteractionFlags' arg'1')

class (QMessageBoxConstPtr this, M188.QDialogPtr this) => QMessageBoxPtr this where
  toQMessageBox :: this -> QMessageBox

addButton :: (QMessageBoxPtr arg'1, M162.QAbstractButtonPtr arg'2) => arg'1 -> arg'2 -> QMessageBoxButtonRole -> HoppyP.IO ()
addButton arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M162.toQAbstractButton arg'2) $ \arg'2' ->
  let arg'3' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'3 in
  (addButton' arg'1' arg'2' arg'3')

addNewButton :: (QMessageBoxPtr arg'1, M46.QStringValue arg'2) => arg'1 -> arg'2 -> QMessageBoxButtonRole -> HoppyP.IO M248.QPushButton
addNewButton arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  let arg'3' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'3 in
  HoppyP.fmap M248.QPushButton
  (addNewButton' arg'1' arg'2' arg'3')

addStandardButton :: (QMessageBoxPtr arg'1) => arg'1 -> QMessageBoxStandardButton -> HoppyP.IO M248.QPushButton
addStandardButton arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'2 in
  HoppyP.fmap M248.QPushButton
  (addStandardButton' arg'1' arg'2')

setCheckBox :: (QMessageBoxPtr arg'1, M184.QCheckBoxPtr arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setCheckBox arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M184.toQCheckBox arg'2) $ \arg'2' ->
  (setCheckBox' arg'1' arg'2')

setDetailedText :: (QMessageBoxPtr arg'1, M46.QStringValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setDetailedText arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (setDetailedText' arg'1' arg'2')

setIcon :: (QMessageBoxPtr arg'1) => arg'1 -> QMessageBoxIcon -> HoppyP.IO ()
setIcon arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'2 in
  (setIcon' arg'1' arg'2')

setInformativeText :: (QMessageBoxPtr arg'1, M46.QStringValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setInformativeText arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (setInformativeText' arg'1' arg'2')

removeButton :: (QMessageBoxPtr arg'1, M162.QAbstractButtonPtr arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
removeButton arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M162.toQAbstractButton arg'2) $ \arg'2' ->
  (removeButton' arg'1' arg'2')

setDefaultButton :: (QMessageBoxPtr arg'1, M248.QPushButtonPtr arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setDefaultButton arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M248.toQPushButton arg'2) $ \arg'2' ->
  (setDefaultButton' arg'1' arg'2')

setDefaultButtonStandard :: (QMessageBoxPtr arg'1) => arg'1 -> QMessageBoxStandardButton -> HoppyP.IO ()
setDefaultButtonStandard arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'2 in
  (setDefaultButtonStandard' arg'1' arg'2')

setEscapeButton :: (QMessageBoxPtr arg'1, M248.QPushButtonPtr arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setEscapeButton arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M248.toQPushButton arg'2) $ \arg'2' ->
  (setEscapeButton' arg'1' arg'2')

setEscapeButtonStandard :: (QMessageBoxPtr arg'1) => arg'1 -> QMessageBoxStandardButton -> HoppyP.IO ()
setEscapeButtonStandard arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'2 in
  (setEscapeButtonStandard' arg'1' arg'2')

setWindowModality :: (QMessageBoxPtr arg'1) => arg'1 -> M58.QtWindowModality -> HoppyP.IO ()
setWindowModality arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'2 in
  (setWindowModality' arg'1' arg'2')

setWindowTitle :: (QMessageBoxPtr arg'1, M46.QStringValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setWindowTitle arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (setWindowTitle' arg'1' arg'2')

setStandardButtons :: (QMessageBoxPtr arg'1, IsQMessageBoxStandardButtons arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setStandardButtons arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  let arg'2' = fromQMessageBoxStandardButtons $ toQMessageBoxStandardButtons arg'2 in
  (setStandardButtons' arg'1' arg'2')

setText :: (QMessageBoxPtr arg'1, M46.QStringValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setText arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (setText' arg'1' arg'2')

setTextFormat :: (QMessageBoxPtr arg'1) => arg'1 -> M58.QtTextFormat -> HoppyP.IO ()
setTextFormat arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'2 in
  (setTextFormat' arg'1' arg'2')

setTextInteractionFlags :: (QMessageBoxPtr arg'1, M58.IsQtTextInteractionFlags arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setTextInteractionFlags arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQMessageBox arg'1) $ \arg'1' ->
  let arg'2' = M58.fromQtTextInteractionFlags $ M58.toQtTextInteractionFlags arg'2 in
  (setTextInteractionFlags' arg'1' arg'2')

about :: (M280.QWidgetPtr arg'1, M46.QStringValue arg'2, M46.QStringValue arg'3) => arg'1 -> arg'2 -> arg'3 -> HoppyP.IO ()
about arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M46.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  (about' arg'1' arg'2' arg'3')

aboutQt :: (M280.QWidgetPtr arg'1, M46.QStringValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
aboutQt arg'1 arg'2 =
  HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (aboutQt' arg'1' arg'2')

critical :: (M280.QWidgetPtr arg'1, M46.QStringValue arg'2, M46.QStringValue arg'3) => arg'1 -> arg'2 -> arg'3 -> HoppyP.IO QMessageBoxStandardButton
critical arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M46.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (critical' arg'1' arg'2' arg'3')

criticalWithButtons :: (M280.QWidgetPtr arg'1, M46.QStringValue arg'2, M46.QStringValue arg'3, IsQMessageBoxStandardButtons arg'4) => arg'1 -> arg'2 -> arg'3 -> arg'4 -> QMessageBoxStandardButton -> HoppyP.IO QMessageBoxStandardButton
criticalWithButtons arg'1 arg'2 arg'3 arg'4 arg'5 =
  HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M46.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  let arg'4' = fromQMessageBoxStandardButtons $ toQMessageBoxStandardButtons arg'4 in
  let arg'5' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'5 in
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (criticalWithButtons' arg'1' arg'2' arg'3' arg'4' arg'5')

information :: (M280.QWidgetPtr arg'1, M46.QStringValue arg'2, M46.QStringValue arg'3) => arg'1 -> arg'2 -> arg'3 -> HoppyP.IO QMessageBoxStandardButton
information arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M46.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (information' arg'1' arg'2' arg'3')

informationWithButtons :: (M280.QWidgetPtr arg'1, M46.QStringValue arg'2, M46.QStringValue arg'3, IsQMessageBoxStandardButtons arg'4) => arg'1 -> arg'2 -> arg'3 -> arg'4 -> QMessageBoxStandardButton -> HoppyP.IO QMessageBoxStandardButton
informationWithButtons arg'1 arg'2 arg'3 arg'4 arg'5 =
  HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M46.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  let arg'4' = fromQMessageBoxStandardButtons $ toQMessageBoxStandardButtons arg'4 in
  let arg'5' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'5 in
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (informationWithButtons' arg'1' arg'2' arg'3' arg'4' arg'5')

question :: (M280.QWidgetPtr arg'1, M46.QStringValue arg'2, M46.QStringValue arg'3) => arg'1 -> arg'2 -> arg'3 -> HoppyP.IO QMessageBoxStandardButton
question arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M46.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (question' arg'1' arg'2' arg'3')

questionWithButtons :: (M280.QWidgetPtr arg'1, M46.QStringValue arg'2, M46.QStringValue arg'3, IsQMessageBoxStandardButtons arg'4) => arg'1 -> arg'2 -> arg'3 -> arg'4 -> QMessageBoxStandardButton -> HoppyP.IO QMessageBoxStandardButton
questionWithButtons arg'1 arg'2 arg'3 arg'4 arg'5 =
  HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M46.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  let arg'4' = fromQMessageBoxStandardButtons $ toQMessageBoxStandardButtons arg'4 in
  let arg'5' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'5 in
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (questionWithButtons' arg'1' arg'2' arg'3' arg'4' arg'5')

warning :: (M280.QWidgetPtr arg'1, M46.QStringValue arg'2, M46.QStringValue arg'3) => arg'1 -> arg'2 -> arg'3 -> HoppyP.IO QMessageBoxStandardButton
warning arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M46.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (warning' arg'1' arg'2' arg'3')

warningWithButtons :: (M280.QWidgetPtr arg'1, M46.QStringValue arg'2, M46.QStringValue arg'3, IsQMessageBoxStandardButtons arg'4) => arg'1 -> arg'2 -> arg'3 -> arg'4 -> QMessageBoxStandardButton -> HoppyP.IO QMessageBoxStandardButton
warningWithButtons arg'1 arg'2 arg'3 arg'4 arg'5 =
  HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
  M46.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M46.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  let arg'4' = fromQMessageBoxStandardButtons $ toQMessageBoxStandardButtons arg'4 in
  let arg'5' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'5 in
  HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
  (warningWithButtons' arg'1' arg'2' arg'3' arg'4' arg'5')

data QMessageBoxConst =
    QMessageBoxConst (HoppyF.Ptr QMessageBoxConst)
  | QMessageBoxConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QMessageBoxConst)
  deriving (HoppyP.Show)

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

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

castQMessageBoxToConst :: QMessageBox -> QMessageBoxConst
castQMessageBoxToConst (QMessageBox ptr') = QMessageBoxConst $ HoppyF.castPtr ptr'
castQMessageBoxToConst (QMessageBoxGc fptr' ptr') = QMessageBoxConstGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QMessageBoxConstPtr QMessageBoxConst where
  toQMessageBoxConst = HoppyP.id

instance M188.QDialogConstPtr QMessageBoxConst where
  toQDialogConst (QMessageBoxConst ptr') = M188.QDialogConst $ castQMessageBoxToQDialog ptr'
  toQDialogConst (QMessageBoxConstGc fptr' ptr') = M188.QDialogConstGc fptr' $ castQMessageBoxToQDialog ptr'

instance M280.QWidgetConstPtr QMessageBoxConst where
  toQWidgetConst (QMessageBoxConst ptr') = M280.QWidgetConst $ castQMessageBoxToQWidget ptr'
  toQWidgetConst (QMessageBoxConstGc fptr' ptr') = M280.QWidgetConstGc fptr' $ castQMessageBoxToQWidget ptr'

instance M30.QObjectConstPtr QMessageBoxConst where
  toQObjectConst (QMessageBoxConst ptr') = M30.QObjectConst $ castQMessageBoxToQObject ptr'
  toQObjectConst (QMessageBoxConstGc fptr' ptr') = M30.QObjectConstGc fptr' $ castQMessageBoxToQObject ptr'

data QMessageBox =
    QMessageBox (HoppyF.Ptr QMessageBox)
  | QMessageBoxGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QMessageBox)
  deriving (HoppyP.Show)

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

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

castQMessageBoxToNonconst :: QMessageBoxConst -> QMessageBox
castQMessageBoxToNonconst (QMessageBoxConst ptr') = QMessageBox $ HoppyF.castPtr ptr'
castQMessageBoxToNonconst (QMessageBoxConstGc fptr' ptr') = QMessageBoxGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QMessageBoxConstPtr QMessageBox where
  toQMessageBoxConst (QMessageBox ptr') = QMessageBoxConst $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'
  toQMessageBoxConst (QMessageBoxGc fptr' ptr') = QMessageBoxConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'

instance QMessageBoxPtr QMessageBox where
  toQMessageBox = HoppyP.id

instance M188.QDialogConstPtr QMessageBox where
  toQDialogConst (QMessageBox ptr') = M188.QDialogConst $ castQMessageBoxToQDialog $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'
  toQDialogConst (QMessageBoxGc fptr' ptr') = M188.QDialogConstGc fptr' $ castQMessageBoxToQDialog $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'

instance M188.QDialogPtr QMessageBox where
  toQDialog (QMessageBox ptr') = M188.QDialog $ (HoppyF.castPtr :: HoppyF.Ptr M188.QDialogConst -> HoppyF.Ptr M188.QDialog) $ castQMessageBoxToQDialog $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'
  toQDialog (QMessageBoxGc fptr' ptr') = M188.QDialogGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M188.QDialogConst -> HoppyF.Ptr M188.QDialog) $ castQMessageBoxToQDialog $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'

instance M280.QWidgetConstPtr QMessageBox where
  toQWidgetConst (QMessageBox ptr') = M280.QWidgetConst $ castQMessageBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'
  toQWidgetConst (QMessageBoxGc fptr' ptr') = M280.QWidgetConstGc fptr' $ castQMessageBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'

instance M280.QWidgetPtr QMessageBox where
  toQWidget (QMessageBox ptr') = M280.QWidget $ (HoppyF.castPtr :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr M280.QWidget) $ castQMessageBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'
  toQWidget (QMessageBoxGc fptr' ptr') = M280.QWidgetGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr M280.QWidget) $ castQMessageBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'

instance M30.QObjectConstPtr QMessageBox where
  toQObjectConst (QMessageBox ptr') = M30.QObjectConst $ castQMessageBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'
  toQObjectConst (QMessageBoxGc fptr' ptr') = M30.QObjectConstGc fptr' $ castQMessageBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'

instance M30.QObjectPtr QMessageBox where
  toQObject (QMessageBox ptr') = M30.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr M30.QObject) $ castQMessageBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'
  toQObject (QMessageBoxGc fptr' ptr') = M30.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr M30.QObject) $ castQMessageBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QMessageBox -> HoppyF.Ptr QMessageBoxConst) ptr'

new ::  HoppyP.IO QMessageBox
new =
  HoppyP.fmap QMessageBox
  (new')

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

class QMessageBoxSuper a where
  downToQMessageBox :: a -> QMessageBox

instance QMessageBoxSuper M188.QDialog where
  downToQMessageBox = castQMessageBoxToNonconst . cast' . M188.castQDialogToConst
    where
      cast' (M188.QDialogConst ptr') = QMessageBoxConst $ castQDialogToQMessageBox ptr'
      cast' (M188.QDialogConstGc fptr' ptr') = QMessageBoxConstGc fptr' $ castQDialogToQMessageBox ptr'
instance QMessageBoxSuper M280.QWidget where
  downToQMessageBox = castQMessageBoxToNonconst . cast' . M280.castQWidgetToConst
    where
      cast' (M280.QWidgetConst ptr') = QMessageBoxConst $ castQWidgetToQMessageBox ptr'
      cast' (M280.QWidgetConstGc fptr' ptr') = QMessageBoxConstGc fptr' $ castQWidgetToQMessageBox ptr'
instance QMessageBoxSuper M30.QObject where
  downToQMessageBox = castQMessageBoxToNonconst . cast' . M30.castQObjectToConst
    where
      cast' (M30.QObjectConst ptr') = QMessageBoxConst $ castQObjectToQMessageBox ptr'
      cast' (M30.QObjectConstGc fptr' ptr') = QMessageBoxConstGc fptr' $ castQObjectToQMessageBox ptr'

class QMessageBoxSuperConst a where
  downToQMessageBoxConst :: a -> QMessageBoxConst

instance QMessageBoxSuperConst M188.QDialogConst where
  downToQMessageBoxConst = cast'
    where
      cast' (M188.QDialogConst ptr') = QMessageBoxConst $ castQDialogToQMessageBox ptr'
      cast' (M188.QDialogConstGc fptr' ptr') = QMessageBoxConstGc fptr' $ castQDialogToQMessageBox ptr'
instance QMessageBoxSuperConst M280.QWidgetConst where
  downToQMessageBoxConst = cast'
    where
      cast' (M280.QWidgetConst ptr') = QMessageBoxConst $ castQWidgetToQMessageBox ptr'
      cast' (M280.QWidgetConstGc fptr' ptr') = QMessageBoxConstGc fptr' $ castQWidgetToQMessageBox ptr'
instance QMessageBoxSuperConst M30.QObjectConst where
  downToQMessageBoxConst = cast'
    where
      cast' (M30.QObjectConst ptr') = QMessageBoxConst $ castQObjectToQMessageBox ptr'
      cast' (M30.QObjectConstGc fptr' ptr') = QMessageBoxConstGc fptr' $ castQObjectToQMessageBox ptr'

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

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

data QMessageBoxButtonRole =
  InvalidRole
  | AcceptRole
  | RejectRole
  | DescructiveRole
  | ActionRole
  | HelpRole
  | YesRole
  | NoRole
  | ApplyRole
  | ResetRole
  deriving (HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)

instance HoppyP.Enum QMessageBoxButtonRole where
  fromEnum InvalidRole = -1
  fromEnum AcceptRole = 0
  fromEnum RejectRole = 1
  fromEnum DescructiveRole = 2
  fromEnum ActionRole = 3
  fromEnum HelpRole = 4
  fromEnum YesRole = 5
  fromEnum NoRole = 6
  fromEnum ApplyRole = 7
  fromEnum ResetRole = 8
  
  toEnum (-1) = InvalidRole
  toEnum (0) = AcceptRole
  toEnum (1) = RejectRole
  toEnum (2) = DescructiveRole
  toEnum (3) = ActionRole
  toEnum (4) = HelpRole
  toEnum (5) = YesRole
  toEnum (6) = NoRole
  toEnum (7) = ApplyRole
  toEnum (8) = ResetRole
  toEnum n' = HoppyP.error $ "Unknown QMessageBoxButtonRole numeric value: " ++ HoppyP.show n'

data QMessageBoxIcon =
  NoIcon
  | Information
  | Warning
  | Critical
  | Question
  deriving (HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)

instance HoppyP.Enum QMessageBoxIcon where
  fromEnum NoIcon = 0
  fromEnum Information = 1
  fromEnum Warning = 2
  fromEnum Critical = 3
  fromEnum Question = 4
  
  toEnum (0) = NoIcon
  toEnum (1) = Information
  toEnum (2) = Warning
  toEnum (3) = Critical
  toEnum (4) = Question
  toEnum n' = HoppyP.error $ "Unknown QMessageBoxIcon numeric value: " ++ HoppyP.show n'

data QMessageBoxStandardButton =
  Ok
  | Open
  | Save
  | Cancel
  | Close
  | Discard
  | Apply
  | Reset
  | RestoreDefaults
  | Help
  | SaveAll
  | Yes
  | YesToAll
  | No
  | NoToAll
  | Abort
  | Retry
  | Ignore
  | NoButton
  deriving (HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)

instance HoppyP.Enum QMessageBoxStandardButton where
  fromEnum Ok = 1024
  fromEnum Open = 8192
  fromEnum Save = 2048
  fromEnum Cancel = 4194304
  fromEnum Close = 2097152
  fromEnum Discard = 8388608
  fromEnum Apply = 33554432
  fromEnum Reset = 67108864
  fromEnum RestoreDefaults = 134217728
  fromEnum Help = 16777216
  fromEnum SaveAll = 4096
  fromEnum Yes = 16384
  fromEnum YesToAll = 32768
  fromEnum No = 65536
  fromEnum NoToAll = 131072
  fromEnum Abort = 262144
  fromEnum Retry = 524288
  fromEnum Ignore = 1048576
  fromEnum NoButton = 0
  
  toEnum (1024) = Ok
  toEnum (8192) = Open
  toEnum (2048) = Save
  toEnum (4194304) = Cancel
  toEnum (2097152) = Close
  toEnum (8388608) = Discard
  toEnum (33554432) = Apply
  toEnum (67108864) = Reset
  toEnum (134217728) = RestoreDefaults
  toEnum (16777216) = Help
  toEnum (4096) = SaveAll
  toEnum (16384) = Yes
  toEnum (32768) = YesToAll
  toEnum (65536) = No
  toEnum (131072) = NoToAll
  toEnum (262144) = Abort
  toEnum (524288) = Retry
  toEnum (1048576) = Ignore
  toEnum (0) = NoButton
  toEnum n' = HoppyP.error $ "Unknown QMessageBoxStandardButton numeric value: " ++ HoppyP.show n'

newtype QMessageBoxStandardButtons = QMessageBoxStandardButtons { fromQMessageBoxStandardButtons :: HoppyFC.CInt }
  deriving (HoppyDB.Bits, HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)

class IsQMessageBoxStandardButtons a where
  toQMessageBoxStandardButtons :: a -> QMessageBoxStandardButtons

instance IsQMessageBoxStandardButtons (HoppyFC.CInt) where
  toQMessageBoxStandardButtons = QMessageBoxStandardButtons
instance IsQMessageBoxStandardButtons (HoppyP.Int) where
  toQMessageBoxStandardButtons = QMessageBoxStandardButtons . HoppyFHR.coerceIntegral
instance IsQMessageBoxStandardButtons QMessageBoxStandardButtons where
  toQMessageBoxStandardButtons = HoppyP.id

instance IsQMessageBoxStandardButtons QMessageBoxStandardButton where
  toQMessageBoxStandardButtons = QMessageBoxStandardButtons . HoppyFHR.coerceIntegral . HoppyP.fromEnum

ok = QMessageBoxStandardButtons 1024
open = QMessageBoxStandardButtons 8192
save = QMessageBoxStandardButtons 2048
cancel = QMessageBoxStandardButtons 4194304
close = QMessageBoxStandardButtons 2097152
discard = QMessageBoxStandardButtons 8388608
apply = QMessageBoxStandardButtons 33554432
reset = QMessageBoxStandardButtons 67108864
restoreDefaults = QMessageBoxStandardButtons 134217728
help = QMessageBoxStandardButtons 16777216
saveAll = QMessageBoxStandardButtons 4096
yes = QMessageBoxStandardButtons 16384
yesToAll = QMessageBoxStandardButtons 32768
no = QMessageBoxStandardButtons 65536
noToAll = QMessageBoxStandardButtons 131072
abort = QMessageBoxStandardButtons 262144
retry = QMessageBoxStandardButtons 524288
ignore = QMessageBoxStandardButtons 1048576
noButton = QMessageBoxStandardButtons 0