packages feed

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

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

module Graphics.UI.Qtah.Generated.Widgets.QDialogButtonBox (
  castQDialogButtonBoxToQWidget,
  castQWidgetToQDialogButtonBox,
  castQDialogButtonBoxToQObject,
  castQObjectToQDialogButtonBox,
  QDialogButtonBoxValue (..),
  QDialogButtonBoxConstPtr (..),
  button,
  buttonRole,
  buttons,
  centerButtons,
  orientation,
  standardButton,
  standardButtons,
  QDialogButtonBoxPtr (..),
  addButton,
  addButtonWithText,
  addStandardButton,
  setCenterButtons,
  clear,
  setOrientation,
  removeButton,
  setStandardButtons,
  emitAccepted,
  emitClicked,
  emitHelpRequested,
  emitRejected,
  QDialogButtonBoxConst (..),
  castQDialogButtonBoxToConst,
  QDialogButtonBox (..),
  castQDialogButtonBoxToNonconst,
  new,
  newWithParent,
  QDialogButtonBoxSuper (..),
  QDialogButtonBoxSuperConst (..),
  QDialogButtonBoxButtonLayout (..),
  QDialogButtonBoxButtonRole (..),
  QDialogButtonBoxStandardButton (..),
  QDialogButtonBoxStandardButtons,
  IsQDialogButtonBoxStandardButtons (..),
  abort,
  apply,
  cancel,
  close,
  discard,
  help,
  ignore,
  no,
  noButton,
  noToAll,
  ok,
  open,
  reset,
  restoreDefaults,
  retry,
  save,
  saveAll,
  yes,
  yesToAll,
  ) where

import Data.Bits ((.&.), (.|.))
import qualified Data.Bits as QtahDB
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Foreign.Hoppy.Runtime as QtahFHR
import qualified Graphics.UI.Qtah.Flags as QtahFlags
import qualified Graphics.UI.Qtah.Generated.Core.QList.QAbstractButton as M194
import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94
import qualified Graphics.UI.Qtah.Generated.Core.QString as M142
import qualified Graphics.UI.Qtah.Generated.Core.Types as M190
import qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractButton as M354
import qualified Graphics.UI.Qtah.Generated.Widgets.QPushButton as M458
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__QDialogButtonBox_new" new' ::  HoppyP.IO (HoppyF.Ptr QDialogButtonBox)
foreign import ccall "genpop__QDialogButtonBox_newWithParent" newWithParent' ::  HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr QDialogButtonBox)
foreign import ccall "genpop__QDialogButtonBox_addButton" addButton' ::  HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr M354.QAbstractButton -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QDialogButtonBox_addButtonWithText" addButtonWithText' ::  HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr M142.QStringConst -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M458.QPushButton)
foreign import ccall "genpop__QDialogButtonBox_addStandardButton" addStandardButton' ::  HoppyF.Ptr QDialogButtonBox -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M458.QPushButton)
foreign import ccall "genpop__QDialogButtonBox_button" button' ::  HoppyF.Ptr QDialogButtonBoxConst -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M458.QPushButton)
foreign import ccall "genpop__QDialogButtonBox_buttonRole" buttonRole' ::  HoppyF.Ptr QDialogButtonBoxConst -> HoppyF.Ptr M354.QAbstractButton -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QDialogButtonBox_buttons" buttons' ::  HoppyF.Ptr QDialogButtonBoxConst -> HoppyP.IO (HoppyF.Ptr M194.QListQAbstractButtonConst)
foreign import ccall "genpop__QDialogButtonBox_centerButtons" centerButtons' ::  HoppyF.Ptr QDialogButtonBoxConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QDialogButtonBox_setCenterButtons" setCenterButtons' ::  HoppyF.Ptr QDialogButtonBox -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QDialogButtonBox_clear" clear' ::  HoppyF.Ptr QDialogButtonBox -> HoppyP.IO ()
foreign import ccall "genpop__QDialogButtonBox_orientation" orientation' ::  HoppyF.Ptr QDialogButtonBoxConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QDialogButtonBox_setOrientation" setOrientation' ::  HoppyF.Ptr QDialogButtonBox -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QDialogButtonBox_removeButton" removeButton' ::  HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr M354.QAbstractButton -> HoppyP.IO ()
foreign import ccall "genpop__QDialogButtonBox_standardButton" standardButton' ::  HoppyF.Ptr QDialogButtonBoxConst -> HoppyF.Ptr M354.QAbstractButton -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QDialogButtonBox_standardButtons" standardButtons' ::  HoppyF.Ptr QDialogButtonBoxConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QDialogButtonBox_setStandardButtons" setStandardButtons' ::  HoppyF.Ptr QDialogButtonBox -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QDialogButtonBox_emitAccepted" emitAccepted' ::  HoppyF.Ptr QDialogButtonBox -> HoppyP.IO ()
foreign import ccall "genpop__QDialogButtonBox_emitClicked" emitClicked' ::  HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr M354.QAbstractButton -> HoppyP.IO ()
foreign import ccall "genpop__QDialogButtonBox_emitHelpRequested" emitHelpRequested' ::  HoppyF.Ptr QDialogButtonBox -> HoppyP.IO ()
foreign import ccall "genpop__QDialogButtonBox_emitRejected" emitRejected' ::  HoppyF.Ptr QDialogButtonBox -> HoppyP.IO ()
foreign import ccall "gencast__QDialogButtonBox__QWidget" castQDialogButtonBoxToQWidget :: HoppyF.Ptr QDialogButtonBoxConst -> HoppyF.Ptr M506.QWidgetConst
foreign import ccall "gencast__QWidget__QDialogButtonBox" castQWidgetToQDialogButtonBox :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr QDialogButtonBoxConst
foreign import ccall "gencast__QDialogButtonBox__QObject" castQDialogButtonBoxToQObject :: HoppyF.Ptr QDialogButtonBoxConst -> HoppyF.Ptr M94.QObjectConst
foreign import ccall "gencast__QObject__QDialogButtonBox" castQObjectToQDialogButtonBox :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QDialogButtonBoxConst
foreign import ccall "gendel__QDialogButtonBox" delete'QDialogButtonBox :: HoppyF.Ptr QDialogButtonBoxConst -> HoppyP.IO ()
foreign import ccall "&gendel__QDialogButtonBox" deletePtr'QDialogButtonBox :: HoppyF.FunPtr (HoppyF.Ptr QDialogButtonBoxConst -> HoppyP.IO ())

class QDialogButtonBoxValue a where
  withQDialogButtonBoxPtr :: a -> (QDialogButtonBoxConst -> HoppyP.IO b) -> HoppyP.IO b

instance {-# OVERLAPPABLE #-} QDialogButtonBoxConstPtr a => QDialogButtonBoxValue a where
  withQDialogButtonBoxPtr = HoppyP.flip ($) . toQDialogButtonBoxConst

class (M506.QWidgetConstPtr this) => QDialogButtonBoxConstPtr this where
  toQDialogButtonBoxConst :: this -> QDialogButtonBoxConst

button :: (QDialogButtonBoxValue this) => (this) {- ^ this -} -> (QDialogButtonBoxStandardButton) -> (HoppyP.IO M458.QPushButton)
button arg'1 arg'2 =
  withQDialogButtonBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'2 >>= \arg'2' ->
  HoppyP.fmap M458.QPushButton
  (button' arg'1' arg'2')

buttonRole :: (QDialogButtonBoxValue this, M354.QAbstractButtonPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QDialogButtonBoxButtonRole)
buttonRole arg'1 arg'2 =
  withQDialogButtonBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M354.toQAbstractButton arg'2) $ \arg'2' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (buttonRole' arg'1' arg'2')

buttons :: (QDialogButtonBoxValue this) => (this) {- ^ this -} -> (HoppyP.IO [M354.QAbstractButton])
buttons arg'1 =
  withQDialogButtonBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M194.QListQAbstractButtonConst) =<<
  (buttons' arg'1')

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

orientation :: (QDialogButtonBoxValue this) => (this) {- ^ this -} -> (HoppyP.IO M190.QtOrientation)
orientation arg'1 =
  withQDialogButtonBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (orientation' arg'1')

standardButton :: (QDialogButtonBoxValue this, M354.QAbstractButtonPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QDialogButtonBoxStandardButton)
standardButton arg'1 arg'2 =
  withQDialogButtonBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M354.toQAbstractButton arg'2) $ \arg'2' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (standardButton' arg'1' arg'2')

standardButtons :: (QDialogButtonBoxValue this) => (this) {- ^ this -} -> (HoppyP.IO QDialogButtonBoxStandardButtons)
standardButtons arg'1 =
  withQDialogButtonBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    QtahP.return . QtahFlags.numToFlags
  ) =<<
  (standardButtons' arg'1')

class (QDialogButtonBoxConstPtr this, M506.QWidgetPtr this) => QDialogButtonBoxPtr this where
  toQDialogButtonBox :: this -> QDialogButtonBox

addButton :: (QDialogButtonBoxPtr this, M354.QAbstractButtonPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (QDialogButtonBoxButtonRole) -> (HoppyP.IO ())
addButton arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M354.toQAbstractButton arg'2) $ \arg'2' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'3 >>= \arg'3' ->
  (addButton' arg'1' arg'2' arg'3')

addButtonWithText :: (QDialogButtonBoxPtr this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (QDialogButtonBoxButtonRole) -> (HoppyP.IO M458.QPushButton)
addButtonWithText arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'3 >>= \arg'3' ->
  HoppyP.fmap M458.QPushButton
  (addButtonWithText' arg'1' arg'2' arg'3')

addStandardButton :: (QDialogButtonBoxPtr this) => (this) {- ^ this -} -> (QDialogButtonBoxStandardButton) -> (HoppyP.IO M458.QPushButton)
addStandardButton arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'2 >>= \arg'2' ->
  HoppyP.fmap M458.QPushButton
  (addStandardButton' arg'1' arg'2')

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

clear :: (QDialogButtonBoxPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
clear arg'1 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  (clear' arg'1')

setOrientation :: (QDialogButtonBoxPtr this) => (this) {- ^ this -} -> (M190.QtOrientation) -> (HoppyP.IO ())
setOrientation arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'2 >>= \arg'2' ->
  (setOrientation' arg'1' arg'2')

removeButton :: (QDialogButtonBoxPtr this, M354.QAbstractButtonPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
removeButton arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M354.toQAbstractButton arg'2) $ \arg'2' ->
  (removeButton' arg'1' arg'2')

setStandardButtons :: (QDialogButtonBoxPtr this, IsQDialogButtonBoxStandardButtons arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setStandardButtons arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  (
    QtahP.return . QtahFlags.flagsToNum . toQDialogButtonBoxStandardButtons
  ) arg'2 >>= \arg'2' ->
  (setStandardButtons' arg'1' arg'2')

emitAccepted :: (QDialogButtonBoxPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
emitAccepted arg'1 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  (emitAccepted' arg'1')

emitClicked :: (QDialogButtonBoxPtr this, M354.QAbstractButtonPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
emitClicked arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M354.toQAbstractButton arg'2) $ \arg'2' ->
  (emitClicked' arg'1' arg'2')

emitHelpRequested :: (QDialogButtonBoxPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
emitHelpRequested arg'1 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  (emitHelpRequested' arg'1')

emitRejected :: (QDialogButtonBoxPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
emitRejected arg'1 =
  HoppyFHR.withCppPtr (toQDialogButtonBox arg'1) $ \arg'1' ->
  (emitRejected' arg'1')

data QDialogButtonBoxConst =
    QDialogButtonBoxConst (HoppyF.Ptr QDialogButtonBoxConst)
  | QDialogButtonBoxConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QDialogButtonBoxConst)
  deriving (HoppyP.Show)

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

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

castQDialogButtonBoxToConst :: QDialogButtonBox -> QDialogButtonBoxConst
castQDialogButtonBoxToConst (QDialogButtonBox ptr') = QDialogButtonBoxConst $ HoppyF.castPtr ptr'
castQDialogButtonBoxToConst (QDialogButtonBoxGc fptr' ptr') = QDialogButtonBoxConstGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QDialogButtonBoxConstPtr QDialogButtonBoxConst where
  toQDialogButtonBoxConst = HoppyP.id

instance M506.QWidgetConstPtr QDialogButtonBoxConst where
  toQWidgetConst (QDialogButtonBoxConst ptr') = M506.QWidgetConst $ castQDialogButtonBoxToQWidget ptr'
  toQWidgetConst (QDialogButtonBoxConstGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQDialogButtonBoxToQWidget ptr'

instance M94.QObjectConstPtr QDialogButtonBoxConst where
  toQObjectConst (QDialogButtonBoxConst ptr') = M94.QObjectConst $ castQDialogButtonBoxToQObject ptr'
  toQObjectConst (QDialogButtonBoxConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQDialogButtonBoxToQObject ptr'

data QDialogButtonBox =
    QDialogButtonBox (HoppyF.Ptr QDialogButtonBox)
  | QDialogButtonBoxGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QDialogButtonBox)
  deriving (HoppyP.Show)

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

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

castQDialogButtonBoxToNonconst :: QDialogButtonBoxConst -> QDialogButtonBox
castQDialogButtonBoxToNonconst (QDialogButtonBoxConst ptr') = QDialogButtonBox $ HoppyF.castPtr ptr'
castQDialogButtonBoxToNonconst (QDialogButtonBoxConstGc fptr' ptr') = QDialogButtonBoxGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QDialogButtonBoxConstPtr QDialogButtonBox where
  toQDialogButtonBoxConst (QDialogButtonBox ptr') = QDialogButtonBoxConst $ (HoppyF.castPtr :: HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr QDialogButtonBoxConst) ptr'
  toQDialogButtonBoxConst (QDialogButtonBoxGc fptr' ptr') = QDialogButtonBoxConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr QDialogButtonBoxConst) ptr'

instance QDialogButtonBoxPtr QDialogButtonBox where
  toQDialogButtonBox = HoppyP.id

instance M506.QWidgetConstPtr QDialogButtonBox where
  toQWidgetConst (QDialogButtonBox ptr') = M506.QWidgetConst $ castQDialogButtonBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr QDialogButtonBoxConst) ptr'
  toQWidgetConst (QDialogButtonBoxGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQDialogButtonBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr QDialogButtonBoxConst) ptr'

instance M506.QWidgetPtr QDialogButtonBox where
  toQWidget (QDialogButtonBox ptr') = M506.QWidget $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQDialogButtonBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr QDialogButtonBoxConst) ptr'
  toQWidget (QDialogButtonBoxGc fptr' ptr') = M506.QWidgetGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQDialogButtonBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr QDialogButtonBoxConst) ptr'

instance M94.QObjectConstPtr QDialogButtonBox where
  toQObjectConst (QDialogButtonBox ptr') = M94.QObjectConst $ castQDialogButtonBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr QDialogButtonBoxConst) ptr'
  toQObjectConst (QDialogButtonBoxGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQDialogButtonBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr QDialogButtonBoxConst) ptr'

instance M94.QObjectPtr QDialogButtonBox where
  toQObject (QDialogButtonBox ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQDialogButtonBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr QDialogButtonBoxConst) ptr'
  toQObject (QDialogButtonBoxGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQDialogButtonBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QDialogButtonBox -> HoppyF.Ptr QDialogButtonBoxConst) ptr'

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

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

class QDialogButtonBoxSuper a where
  downToQDialogButtonBox :: a -> QDialogButtonBox

instance QDialogButtonBoxSuper M506.QWidget where
  downToQDialogButtonBox = castQDialogButtonBoxToNonconst . cast' . M506.castQWidgetToConst
    where
      cast' (M506.QWidgetConst ptr') = QDialogButtonBoxConst $ castQWidgetToQDialogButtonBox ptr'
      cast' (M506.QWidgetConstGc fptr' ptr') = QDialogButtonBoxConstGc fptr' $ castQWidgetToQDialogButtonBox ptr'
instance QDialogButtonBoxSuper M94.QObject where
  downToQDialogButtonBox = castQDialogButtonBoxToNonconst . cast' . M94.castQObjectToConst
    where
      cast' (M94.QObjectConst ptr') = QDialogButtonBoxConst $ castQObjectToQDialogButtonBox ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QDialogButtonBoxConstGc fptr' $ castQObjectToQDialogButtonBox ptr'

class QDialogButtonBoxSuperConst a where
  downToQDialogButtonBoxConst :: a -> QDialogButtonBoxConst

instance QDialogButtonBoxSuperConst M506.QWidgetConst where
  downToQDialogButtonBoxConst = cast'
    where
      cast' (M506.QWidgetConst ptr') = QDialogButtonBoxConst $ castQWidgetToQDialogButtonBox ptr'
      cast' (M506.QWidgetConstGc fptr' ptr') = QDialogButtonBoxConstGc fptr' $ castQWidgetToQDialogButtonBox ptr'
instance QDialogButtonBoxSuperConst M94.QObjectConst where
  downToQDialogButtonBoxConst = cast'
    where
      cast' (M94.QObjectConst ptr') = QDialogButtonBoxConst $ castQObjectToQDialogButtonBox ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QDialogButtonBoxConstGc fptr' $ castQObjectToQDialogButtonBox ptr'

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

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

data QDialogButtonBoxButtonLayout =
  WinLayout
  | MacLayout
  | KdeLayout
  | GnomeLayout
  | UnknownQDialogButtonBoxButtonLayout (HoppyFC.CInt)
  deriving (HoppyP.Show)

instance HoppyFHR.CppEnum (HoppyFC.CInt) QDialogButtonBoxButtonLayout where
  fromCppEnum WinLayout = 0
  fromCppEnum MacLayout = 1
  fromCppEnum KdeLayout = 2
  fromCppEnum GnomeLayout = 3
  fromCppEnum (UnknownQDialogButtonBoxButtonLayout n) = n
  
  toCppEnum (0) = WinLayout
  toCppEnum (1) = MacLayout
  toCppEnum (2) = KdeLayout
  toCppEnum (3) = GnomeLayout
  toCppEnum n = UnknownQDialogButtonBoxButtonLayout n

instance HoppyP.Eq QDialogButtonBoxButtonLayout where
  x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y

instance HoppyP.Ord QDialogButtonBoxButtonLayout where
  compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)

data QDialogButtonBoxButtonRole =
  InvalidRole
  | AcceptRole
  | RejectRole
  | DestructiveRole
  | ActionRole
  | HelpRole
  | YesRole
  | NoRole
  | ResetRole
  | ApplyRole
  | UnknownQDialogButtonBoxButtonRole (HoppyFC.CInt)
  deriving (HoppyP.Show)

instance HoppyFHR.CppEnum (HoppyFC.CInt) QDialogButtonBoxButtonRole where
  fromCppEnum InvalidRole = -1
  fromCppEnum AcceptRole = 0
  fromCppEnum RejectRole = 1
  fromCppEnum DestructiveRole = 2
  fromCppEnum ActionRole = 3
  fromCppEnum HelpRole = 4
  fromCppEnum YesRole = 5
  fromCppEnum NoRole = 6
  fromCppEnum ResetRole = 7
  fromCppEnum ApplyRole = 8
  fromCppEnum (UnknownQDialogButtonBoxButtonRole n) = n
  
  toCppEnum (-1) = InvalidRole
  toCppEnum (0) = AcceptRole
  toCppEnum (1) = RejectRole
  toCppEnum (2) = DestructiveRole
  toCppEnum (3) = ActionRole
  toCppEnum (4) = HelpRole
  toCppEnum (5) = YesRole
  toCppEnum (6) = NoRole
  toCppEnum (7) = ResetRole
  toCppEnum (8) = ApplyRole
  toCppEnum n = UnknownQDialogButtonBoxButtonRole n

instance HoppyP.Eq QDialogButtonBoxButtonRole where
  x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y

instance HoppyP.Ord QDialogButtonBoxButtonRole where
  compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)

data QDialogButtonBoxStandardButton =
  Ok
  | Open
  | Save
  | Cancel
  | Close
  | Discard
  | Apply
  | Reset
  | RestoreDefaults
  | Help
  | SaveAll
  | Yes
  | YesToAll
  | No
  | NoToAll
  | Abort
  | Retry
  | Ignore
  | NoButton
  | UnknownQDialogButtonBoxStandardButton (HoppyFC.CInt)
  deriving (HoppyP.Show)

instance HoppyFHR.CppEnum (HoppyFC.CInt) QDialogButtonBoxStandardButton where
  fromCppEnum Ok = 1024
  fromCppEnum Open = 8192
  fromCppEnum Save = 2048
  fromCppEnum Cancel = 4194304
  fromCppEnum Close = 2097152
  fromCppEnum Discard = 8388608
  fromCppEnum Apply = 33554432
  fromCppEnum Reset = 67108864
  fromCppEnum RestoreDefaults = 134217728
  fromCppEnum Help = 16777216
  fromCppEnum SaveAll = 4096
  fromCppEnum Yes = 16384
  fromCppEnum YesToAll = 32768
  fromCppEnum No = 65536
  fromCppEnum NoToAll = 131072
  fromCppEnum Abort = 262144
  fromCppEnum Retry = 524288
  fromCppEnum Ignore = 1048576
  fromCppEnum NoButton = 0
  fromCppEnum (UnknownQDialogButtonBoxStandardButton n) = n
  
  toCppEnum (0) = NoButton
  toCppEnum (1024) = Ok
  toCppEnum (2048) = Save
  toCppEnum (4096) = SaveAll
  toCppEnum (8192) = Open
  toCppEnum (16384) = Yes
  toCppEnum (32768) = YesToAll
  toCppEnum (65536) = No
  toCppEnum (131072) = NoToAll
  toCppEnum (262144) = Abort
  toCppEnum (524288) = Retry
  toCppEnum (1048576) = Ignore
  toCppEnum (2097152) = Close
  toCppEnum (4194304) = Cancel
  toCppEnum (8388608) = Discard
  toCppEnum (16777216) = Help
  toCppEnum (33554432) = Apply
  toCppEnum (67108864) = Reset
  toCppEnum (134217728) = RestoreDefaults
  toCppEnum n = UnknownQDialogButtonBoxStandardButton n

instance HoppyP.Eq QDialogButtonBoxStandardButton where
  x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y

instance HoppyP.Ord QDialogButtonBoxStandardButton where
  compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)

newtype QDialogButtonBoxStandardButtons = QDialogButtonBoxStandardButtons (HoppyFC.CInt) deriving (QtahP.Eq, QtahP.Ord, QtahP.Show)

instance QtahFlags.Flags (HoppyFC.CInt) QDialogButtonBoxStandardButton QDialogButtonBoxStandardButtons where
  enumToFlags = QDialogButtonBoxStandardButtons . QtahFHR.fromCppEnum
  flagsToEnum (QDialogButtonBoxStandardButtons x') = QtahFHR.toCppEnum x'

class IsQDialogButtonBoxStandardButtons a where
  toQDialogButtonBoxStandardButtons :: a -> QDialogButtonBoxStandardButtons

instance IsQDialogButtonBoxStandardButtons QDialogButtonBoxStandardButtons where toQDialogButtonBoxStandardButtons = QtahP.id
instance IsQDialogButtonBoxStandardButtons QDialogButtonBoxStandardButton where toQDialogButtonBoxStandardButtons = QtahFlags.enumToFlags
instance IsQDialogButtonBoxStandardButtons (HoppyFC.CInt) where toQDialogButtonBoxStandardButtons = QtahFlags.numToFlags

abort :: QDialogButtonBoxStandardButtons
abort = QDialogButtonBoxStandardButtons (262144)

apply :: QDialogButtonBoxStandardButtons
apply = QDialogButtonBoxStandardButtons (33554432)

cancel :: QDialogButtonBoxStandardButtons
cancel = QDialogButtonBoxStandardButtons (4194304)

close :: QDialogButtonBoxStandardButtons
close = QDialogButtonBoxStandardButtons (2097152)

discard :: QDialogButtonBoxStandardButtons
discard = QDialogButtonBoxStandardButtons (8388608)

help :: QDialogButtonBoxStandardButtons
help = QDialogButtonBoxStandardButtons (16777216)

ignore :: QDialogButtonBoxStandardButtons
ignore = QDialogButtonBoxStandardButtons (1048576)

no :: QDialogButtonBoxStandardButtons
no = QDialogButtonBoxStandardButtons (65536)

noButton :: QDialogButtonBoxStandardButtons
noButton = QDialogButtonBoxStandardButtons (0)

noToAll :: QDialogButtonBoxStandardButtons
noToAll = QDialogButtonBoxStandardButtons (131072)

ok :: QDialogButtonBoxStandardButtons
ok = QDialogButtonBoxStandardButtons (1024)

open :: QDialogButtonBoxStandardButtons
open = QDialogButtonBoxStandardButtons (8192)

reset :: QDialogButtonBoxStandardButtons
reset = QDialogButtonBoxStandardButtons (67108864)

restoreDefaults :: QDialogButtonBoxStandardButtons
restoreDefaults = QDialogButtonBoxStandardButtons (134217728)

retry :: QDialogButtonBoxStandardButtons
retry = QDialogButtonBoxStandardButtons (524288)

save :: QDialogButtonBoxStandardButtons
save = QDialogButtonBoxStandardButtons (2048)

saveAll :: QDialogButtonBoxStandardButtons
saveAll = QDialogButtonBoxStandardButtons (4096)

yes :: QDialogButtonBoxStandardButtons
yes = QDialogButtonBoxStandardButtons (16384)

yesToAll :: QDialogButtonBoxStandardButtons
yesToAll = QDialogButtonBoxStandardButtons (32768)

instance QtahDB.Bits QDialogButtonBoxStandardButtons where
  x .&. y = QtahFlags.numToFlags (QtahFlags.flagsToNum x .&. QtahFlags.flagsToNum y)
  x .|. y = QtahFlags.numToFlags (QtahFlags.flagsToNum x .|. QtahFlags.flagsToNum y)
  xor x y = QtahFlags.numToFlags $ QtahDB.xor (QtahFlags.flagsToNum x) (QtahFlags.flagsToNum y)
  complement x = QtahFlags.numToFlags $ QtahDB.complement $ QtahFlags.flagsToNum x
  shift x i = QtahFlags.numToFlags $ QtahDB.shift (QtahFlags.flagsToNum x) i
  rotate x i = QtahFlags.numToFlags $ QtahDB.rotate (QtahFlags.flagsToNum x) i
  bitSize x = case QtahDB.bitSizeMaybe x of
      QtahP.Just n -> n
      QtahP.Nothing -> QtahP.error "bitSize is undefined"
  bitSizeMaybe = QtahDB.bitSizeMaybe . QtahFlags.flagsToNum
  isSigned = QtahDB.isSigned . QtahFlags.flagsToNum
  testBit x i = QtahDB.testBit (QtahFlags.flagsToNum x) i
  bit = QtahFlags.numToFlags . QtahDB.bit
  popCount = QtahDB.popCount . QtahFlags.flagsToNum