packages feed

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

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

module Graphics.UI.Qtah.Generated.Widgets.QFormLayout (
  castQFormLayoutToQLayout,
  castQLayoutToQFormLayout,
  castQFormLayoutToQObject,
  castQObjectToQFormLayout,
  castQFormLayoutToQLayoutItem,
  castQLayoutItemToQFormLayout,
  QFormLayoutValue (..),
  QFormLayoutConstPtr (..),
  fieldGrowthPolicy,
  formAlignment,
  getItemRow,
  getItemRole,
  getLayoutRow,
  getLayoutRole,
  getWidgetRow,
  getWidgetRole,
  horizontalSpacing,
  itemAt,
  labelAlignment,
  labelForFieldWidget,
  labelForFieldLayout,
  rowCount,
  rowWrapPolicy,
  spacing,
  verticalSpacing,
  QFormLayoutPtr (..),
  addRowWidgetWidget,
  addRowWidgetLayout,
  addRowStringWidget,
  addRowStringLayout,
  addRowWidget,
  addRowLayout,
  setFieldGrowthPolicy,
  setFormAlignment,
  setHorizontalSpacing,
  insertRowWidgetWidget,
  insertRowWidgetLayout,
  insertRowStringWidget,
  insertRowStringLayout,
  insertRowWidget,
  insertRowLayout,
  setLabelAlignment,
  setRowWrapPolicy,
  setItem,
  setLayout,
  setWidget,
  setSpacing,
  setVerticalSpacing,
  QFormLayoutConst (..),
  castQFormLayoutToConst,
  QFormLayout (..),
  castQFormLayoutToNonconst,
  new,
  newWithParent,
  QFormLayoutSuper (..),
  QFormLayoutSuperConst (..),
  QFormLayoutFieldGrowthPolicy (..),
  QFormLayoutItemRole (..),
  QFormLayoutRowWrapPolicy (..),
  ) where

import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Flags as QtahFlags
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.QLayout as M432
import qualified Graphics.UI.Qtah.Generated.Widgets.QLayoutItem as M434
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__QFormLayout_new" new' ::  HoppyP.IO (HoppyF.Ptr QFormLayout)
foreign import ccall "genpop__QFormLayout_newWithParent" newWithParent' ::  HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr QFormLayout)
foreign import ccall "genpop__QFormLayout_addRowWidgetWidget" addRowWidgetWidget' ::  HoppyF.Ptr QFormLayout -> HoppyF.Ptr M506.QWidget -> HoppyF.Ptr M506.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_addRowWidgetLayout" addRowWidgetLayout' ::  HoppyF.Ptr QFormLayout -> HoppyF.Ptr M506.QWidget -> HoppyF.Ptr M432.QLayout -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_addRowStringWidget" addRowStringWidget' ::  HoppyF.Ptr QFormLayout -> HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M506.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_addRowStringLayout" addRowStringLayout' ::  HoppyF.Ptr QFormLayout -> HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M432.QLayout -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_addRowWidget" addRowWidget' ::  HoppyF.Ptr QFormLayout -> HoppyF.Ptr M506.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_addRowLayout" addRowLayout' ::  HoppyF.Ptr QFormLayout -> HoppyF.Ptr M432.QLayout -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_fieldGrowthPolicy" fieldGrowthPolicy' ::  HoppyF.Ptr QFormLayoutConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_setFieldGrowthPolicy" setFieldGrowthPolicy' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_formAlignment" formAlignment' ::  HoppyF.Ptr QFormLayoutConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_setFormAlignment" setFormAlignment' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_getItemRow" getItemRow' ::  HoppyF.Ptr QFormLayoutConst -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_getItemRole" getItemRole' ::  HoppyF.Ptr QFormLayoutConst -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_getLayoutRow" getLayoutRow' ::  HoppyF.Ptr QFormLayoutConst -> HoppyF.Ptr M432.QLayout -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_getLayoutRole" getLayoutRole' ::  HoppyF.Ptr QFormLayoutConst -> HoppyF.Ptr M432.QLayout -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_getWidgetRow" getWidgetRow' ::  HoppyF.Ptr QFormLayoutConst -> HoppyF.Ptr M506.QWidget -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_getWidgetRole" getWidgetRole' ::  HoppyF.Ptr QFormLayoutConst -> HoppyF.Ptr M506.QWidget -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_horizontalSpacing" horizontalSpacing' ::  HoppyF.Ptr QFormLayoutConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_setHorizontalSpacing" setHorizontalSpacing' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_insertRowWidgetWidget" insertRowWidgetWidget' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyF.Ptr M506.QWidget -> HoppyF.Ptr M506.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_insertRowWidgetLayout" insertRowWidgetLayout' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyF.Ptr M506.QWidget -> HoppyF.Ptr M432.QLayout -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_insertRowStringWidget" insertRowStringWidget' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M506.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_insertRowStringLayout" insertRowStringLayout' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M432.QLayout -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_insertRowWidget" insertRowWidget' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyF.Ptr M506.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_insertRowLayout" insertRowLayout' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyF.Ptr M432.QLayout -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_itemAt" itemAt' ::  HoppyF.Ptr QFormLayoutConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M434.QLayoutItem)
foreign import ccall "genpop__QFormLayout_labelAlignment" labelAlignment' ::  HoppyF.Ptr QFormLayoutConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_setLabelAlignment" setLabelAlignment' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_labelForFieldWidget" labelForFieldWidget' ::  HoppyF.Ptr QFormLayoutConst -> HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr M506.QWidget)
foreign import ccall "genpop__QFormLayout_labelForFieldLayout" labelForFieldLayout' ::  HoppyF.Ptr QFormLayoutConst -> HoppyF.Ptr M432.QLayout -> HoppyP.IO (HoppyF.Ptr M506.QWidget)
foreign import ccall "genpop__QFormLayout_rowCount" rowCount' ::  HoppyF.Ptr QFormLayoutConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_rowWrapPolicy" rowWrapPolicy' ::  HoppyF.Ptr QFormLayoutConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_setRowWrapPolicy" setRowWrapPolicy' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_setItem" setItem' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyF.Ptr M434.QLayoutItem -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_setLayout" setLayout' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyF.Ptr M432.QLayout -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_setWidget" setWidget' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyF.Ptr M506.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_spacing" spacing' ::  HoppyF.Ptr QFormLayoutConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_setSpacing" setSpacing' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QFormLayout_verticalSpacing" verticalSpacing' ::  HoppyF.Ptr QFormLayoutConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QFormLayout_setVerticalSpacing" setVerticalSpacing' ::  HoppyF.Ptr QFormLayout -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "gencast__QFormLayout__QLayout" castQFormLayoutToQLayout :: HoppyF.Ptr QFormLayoutConst -> HoppyF.Ptr M432.QLayoutConst
foreign import ccall "gencast__QLayout__QFormLayout" castQLayoutToQFormLayout :: HoppyF.Ptr M432.QLayoutConst -> HoppyF.Ptr QFormLayoutConst
foreign import ccall "gencast__QFormLayout__QObject" castQFormLayoutToQObject :: HoppyF.Ptr QFormLayoutConst -> HoppyF.Ptr M94.QObjectConst
foreign import ccall "gencast__QObject__QFormLayout" castQObjectToQFormLayout :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QFormLayoutConst
foreign import ccall "gencast__QFormLayout__QLayoutItem" castQFormLayoutToQLayoutItem :: HoppyF.Ptr QFormLayoutConst -> HoppyF.Ptr M434.QLayoutItemConst
foreign import ccall "gencast__QLayoutItem__QFormLayout" castQLayoutItemToQFormLayout :: HoppyF.Ptr M434.QLayoutItemConst -> HoppyF.Ptr QFormLayoutConst
foreign import ccall "gendel__QFormLayout" delete'QFormLayout :: HoppyF.Ptr QFormLayoutConst -> HoppyP.IO ()
foreign import ccall "&gendel__QFormLayout" deletePtr'QFormLayout :: HoppyF.FunPtr (HoppyF.Ptr QFormLayoutConst -> HoppyP.IO ())

class QFormLayoutValue a where
  withQFormLayoutPtr :: a -> (QFormLayoutConst -> HoppyP.IO b) -> HoppyP.IO b

instance {-# OVERLAPPABLE #-} QFormLayoutConstPtr a => QFormLayoutValue a where
  withQFormLayoutPtr = HoppyP.flip ($) . toQFormLayoutConst

class (M432.QLayoutConstPtr this) => QFormLayoutConstPtr this where
  toQFormLayoutConst :: this -> QFormLayoutConst

fieldGrowthPolicy :: (QFormLayoutValue this) => (this) {- ^ this -} -> (HoppyP.IO QFormLayoutFieldGrowthPolicy)
fieldGrowthPolicy arg'1 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (fieldGrowthPolicy' arg'1')

formAlignment :: (QFormLayoutValue this) => (this) {- ^ this -} -> (HoppyP.IO M190.QtAlignment)
formAlignment arg'1 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    QtahP.return . QtahFlags.numToFlags
  ) =<<
  (formAlignment' arg'1')

getItemRow :: (QFormLayoutValue arg'1) => (arg'1) -> (HoppyP.Int) -> (HoppyP.IO HoppyP.Int)
getItemRow arg'1 arg'2 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (getItemRow' arg'1' arg'2')

getItemRole :: (QFormLayoutValue arg'1) => (arg'1) -> (HoppyP.Int) -> (HoppyP.IO QFormLayoutItemRole)
getItemRole arg'1 arg'2 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (getItemRole' arg'1' arg'2')

getLayoutRow :: (QFormLayoutValue arg'1, M432.QLayoutPtr arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO HoppyP.Int)
getLayoutRow arg'1 arg'2 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M432.toQLayout arg'2) $ \arg'2' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (getLayoutRow' arg'1' arg'2')

getLayoutRole :: (QFormLayoutValue arg'1, M432.QLayoutPtr arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO QFormLayoutItemRole)
getLayoutRole arg'1 arg'2 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M432.toQLayout arg'2) $ \arg'2' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (getLayoutRole' arg'1' arg'2')

getWidgetRow :: (QFormLayoutValue arg'1, M506.QWidgetPtr arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO HoppyP.Int)
getWidgetRow arg'1 arg'2 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'2) $ \arg'2' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (getWidgetRow' arg'1' arg'2')

getWidgetRole :: (QFormLayoutValue arg'1, M506.QWidgetPtr arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO QFormLayoutItemRole)
getWidgetRole arg'1 arg'2 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'2) $ \arg'2' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (getWidgetRole' arg'1' arg'2')

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

itemAt :: (QFormLayoutValue this) => (this) {- ^ this -} -> (HoppyP.Int) -> (QFormLayoutItemRole) -> (HoppyP.IO M434.QLayoutItem)
itemAt arg'1 arg'2 arg'3 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'3 >>= \arg'3' ->
  HoppyP.fmap M434.QLayoutItem
  (itemAt' arg'1' arg'2' arg'3')

labelAlignment :: (QFormLayoutValue this) => (this) {- ^ this -} -> (HoppyP.IO M190.QtAlignment)
labelAlignment arg'1 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    QtahP.return . QtahFlags.numToFlags
  ) =<<
  (labelAlignment' arg'1')

labelForFieldWidget :: (QFormLayoutValue this, M506.QWidgetPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO M506.QWidget)
labelForFieldWidget arg'1 arg'2 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'2) $ \arg'2' ->
  HoppyP.fmap M506.QWidget
  (labelForFieldWidget' arg'1' arg'2')

labelForFieldLayout :: (QFormLayoutValue this, M432.QLayoutPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO M506.QWidget)
labelForFieldLayout arg'1 arg'2 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M432.toQLayout arg'2) $ \arg'2' ->
  HoppyP.fmap M506.QWidget
  (labelForFieldLayout' arg'1' arg'2')

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

rowWrapPolicy :: (QFormLayoutValue this) => (this) {- ^ this -} -> (HoppyP.IO QFormLayoutRowWrapPolicy)
rowWrapPolicy arg'1 =
  withQFormLayoutPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (rowWrapPolicy' arg'1')

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

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

class (QFormLayoutConstPtr this, M432.QLayoutPtr this) => QFormLayoutPtr this where
  toQFormLayout :: this -> QFormLayout

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

addRowWidgetLayout :: (QFormLayoutPtr this, M506.QWidgetPtr arg'2, M432.QLayoutPtr arg'3) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (HoppyP.IO ())
addRowWidgetLayout arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'2) $ \arg'2' ->
  HoppyFHR.withCppPtr (M432.toQLayout arg'3) $ \arg'3' ->
  (addRowWidgetLayout' arg'1' arg'2' arg'3')

addRowStringWidget :: (QFormLayoutPtr this, M142.QStringValue arg'2, M506.QWidgetPtr arg'3) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (HoppyP.IO ())
addRowStringWidget arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'3) $ \arg'3' ->
  (addRowStringWidget' arg'1' arg'2' arg'3')

addRowStringLayout :: (QFormLayoutPtr this, M142.QStringValue arg'2, M432.QLayoutPtr arg'3) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (HoppyP.IO ())
addRowStringLayout arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  HoppyFHR.withCppPtr (M432.toQLayout arg'3) $ \arg'3' ->
  (addRowStringLayout' arg'1' arg'2' arg'3')

addRowWidget :: (QFormLayoutPtr this, M506.QWidgetPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
addRowWidget arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'2) $ \arg'2' ->
  (addRowWidget' arg'1' arg'2')

addRowLayout :: (QFormLayoutPtr this, M432.QLayoutPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
addRowLayout arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M432.toQLayout arg'2) $ \arg'2' ->
  (addRowLayout' arg'1' arg'2')

setFieldGrowthPolicy :: (QFormLayoutPtr this) => (this) {- ^ this -} -> (QFormLayoutFieldGrowthPolicy) -> (HoppyP.IO ())
setFieldGrowthPolicy arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'2 >>= \arg'2' ->
  (setFieldGrowthPolicy' arg'1' arg'2')

setFormAlignment :: (QFormLayoutPtr this, M190.IsQtAlignment arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setFormAlignment arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    QtahP.return . QtahFlags.flagsToNum . M190.toQtAlignment
  ) arg'2 >>= \arg'2' ->
  (setFormAlignment' arg'1' arg'2')

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

insertRowWidgetWidget :: (QFormLayoutPtr this, M506.QWidgetPtr arg'3, M506.QWidgetPtr arg'4) => (this) {- ^ this -} -> (HoppyP.Int) -> (arg'3) -> (arg'4) -> (HoppyP.IO ())
insertRowWidgetWidget arg'1 arg'2 arg'3 arg'4 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'3) $ \arg'3' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'4) $ \arg'4' ->
  (insertRowWidgetWidget' arg'1' arg'2' arg'3' arg'4')

insertRowWidgetLayout :: (QFormLayoutPtr this, M506.QWidgetPtr arg'3, M432.QLayoutPtr arg'4) => (this) {- ^ this -} -> (HoppyP.Int) -> (arg'3) -> (arg'4) -> (HoppyP.IO ())
insertRowWidgetLayout arg'1 arg'2 arg'3 arg'4 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'3) $ \arg'3' ->
  HoppyFHR.withCppPtr (M432.toQLayout arg'4) $ \arg'4' ->
  (insertRowWidgetLayout' arg'1' arg'2' arg'3' arg'4')

insertRowStringWidget :: (QFormLayoutPtr this, M142.QStringValue arg'3, M506.QWidgetPtr arg'4) => (this) {- ^ this -} -> (HoppyP.Int) -> (arg'3) -> (arg'4) -> (HoppyP.IO ())
insertRowStringWidget arg'1 arg'2 arg'3 arg'4 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  M142.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'4) $ \arg'4' ->
  (insertRowStringWidget' arg'1' arg'2' arg'3' arg'4')

insertRowStringLayout :: (QFormLayoutPtr this, M142.QStringValue arg'3, M432.QLayoutPtr arg'4) => (this) {- ^ this -} -> (HoppyP.Int) -> (arg'3) -> (arg'4) -> (HoppyP.IO ())
insertRowStringLayout arg'1 arg'2 arg'3 arg'4 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  M142.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  HoppyFHR.withCppPtr (M432.toQLayout arg'4) $ \arg'4' ->
  (insertRowStringLayout' arg'1' arg'2' arg'3' arg'4')

insertRowWidget :: (QFormLayoutPtr this, M506.QWidgetPtr arg'3) => (this) {- ^ this -} -> (HoppyP.Int) -> (arg'3) -> (HoppyP.IO ())
insertRowWidget arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'3) $ \arg'3' ->
  (insertRowWidget' arg'1' arg'2' arg'3')

insertRowLayout :: (QFormLayoutPtr this, M432.QLayoutPtr arg'3) => (this) {- ^ this -} -> (HoppyP.Int) -> (arg'3) -> (HoppyP.IO ())
insertRowLayout arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  HoppyFHR.withCppPtr (M432.toQLayout arg'3) $ \arg'3' ->
  (insertRowLayout' arg'1' arg'2' arg'3')

setLabelAlignment :: (QFormLayoutPtr this, M190.IsQtAlignment arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setLabelAlignment arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    QtahP.return . QtahFlags.flagsToNum . M190.toQtAlignment
  ) arg'2 >>= \arg'2' ->
  (setLabelAlignment' arg'1' arg'2')

setRowWrapPolicy :: (QFormLayoutPtr this) => (this) {- ^ this -} -> (QFormLayoutRowWrapPolicy) -> (HoppyP.IO ())
setRowWrapPolicy arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'2 >>= \arg'2' ->
  (setRowWrapPolicy' arg'1' arg'2')

setItem :: (QFormLayoutPtr this, M434.QLayoutItemPtr arg'4) => (this) {- ^ this -} -> (HoppyP.Int) -> (QFormLayoutItemRole) -> (arg'4) -> (HoppyP.IO ())
setItem arg'1 arg'2 arg'3 arg'4 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'3 >>= \arg'3' ->
  HoppyFHR.withCppPtr (M434.toQLayoutItem arg'4) $ \arg'4' ->
  (setItem' arg'1' arg'2' arg'3' arg'4')

setLayout :: (QFormLayoutPtr this, M432.QLayoutPtr arg'4) => (this) {- ^ this -} -> (HoppyP.Int) -> (QFormLayoutItemRole) -> (arg'4) -> (HoppyP.IO ())
setLayout arg'1 arg'2 arg'3 arg'4 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'3 >>= \arg'3' ->
  HoppyFHR.withCppPtr (M432.toQLayout arg'4) $ \arg'4' ->
  (setLayout' arg'1' arg'2' arg'3' arg'4')

setWidget :: (QFormLayoutPtr this, M506.QWidgetPtr arg'4) => (this) {- ^ this -} -> (HoppyP.Int) -> (QFormLayoutItemRole) -> (arg'4) -> (HoppyP.IO ())
setWidget arg'1 arg'2 arg'3 arg'4 =
  HoppyFHR.withCppPtr (toQFormLayout arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'3 >>= \arg'3' ->
  HoppyFHR.withCppPtr (M506.toQWidget arg'4) $ \arg'4' ->
  (setWidget' arg'1' arg'2' arg'3' arg'4')

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

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

data QFormLayoutConst =
    QFormLayoutConst (HoppyF.Ptr QFormLayoutConst)
  | QFormLayoutConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QFormLayoutConst)
  deriving (HoppyP.Show)

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

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

castQFormLayoutToConst :: QFormLayout -> QFormLayoutConst
castQFormLayoutToConst (QFormLayout ptr') = QFormLayoutConst $ HoppyF.castPtr ptr'
castQFormLayoutToConst (QFormLayoutGc fptr' ptr') = QFormLayoutConstGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QFormLayoutConstPtr QFormLayoutConst where
  toQFormLayoutConst = HoppyP.id

instance M432.QLayoutConstPtr QFormLayoutConst where
  toQLayoutConst (QFormLayoutConst ptr') = M432.QLayoutConst $ castQFormLayoutToQLayout ptr'
  toQLayoutConst (QFormLayoutConstGc fptr' ptr') = M432.QLayoutConstGc fptr' $ castQFormLayoutToQLayout ptr'

instance M94.QObjectConstPtr QFormLayoutConst where
  toQObjectConst (QFormLayoutConst ptr') = M94.QObjectConst $ castQFormLayoutToQObject ptr'
  toQObjectConst (QFormLayoutConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQFormLayoutToQObject ptr'

instance M434.QLayoutItemConstPtr QFormLayoutConst where
  toQLayoutItemConst (QFormLayoutConst ptr') = M434.QLayoutItemConst $ castQFormLayoutToQLayoutItem ptr'
  toQLayoutItemConst (QFormLayoutConstGc fptr' ptr') = M434.QLayoutItemConstGc fptr' $ castQFormLayoutToQLayoutItem ptr'

data QFormLayout =
    QFormLayout (HoppyF.Ptr QFormLayout)
  | QFormLayoutGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QFormLayout)
  deriving (HoppyP.Show)

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

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

castQFormLayoutToNonconst :: QFormLayoutConst -> QFormLayout
castQFormLayoutToNonconst (QFormLayoutConst ptr') = QFormLayout $ HoppyF.castPtr ptr'
castQFormLayoutToNonconst (QFormLayoutConstGc fptr' ptr') = QFormLayoutGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QFormLayoutConstPtr QFormLayout where
  toQFormLayoutConst (QFormLayout ptr') = QFormLayoutConst $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'
  toQFormLayoutConst (QFormLayoutGc fptr' ptr') = QFormLayoutConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'

instance QFormLayoutPtr QFormLayout where
  toQFormLayout = HoppyP.id

instance M432.QLayoutConstPtr QFormLayout where
  toQLayoutConst (QFormLayout ptr') = M432.QLayoutConst $ castQFormLayoutToQLayout $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'
  toQLayoutConst (QFormLayoutGc fptr' ptr') = M432.QLayoutConstGc fptr' $ castQFormLayoutToQLayout $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'

instance M432.QLayoutPtr QFormLayout where
  toQLayout (QFormLayout ptr') = M432.QLayout $ (HoppyF.castPtr :: HoppyF.Ptr M432.QLayoutConst -> HoppyF.Ptr M432.QLayout) $ castQFormLayoutToQLayout $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'
  toQLayout (QFormLayoutGc fptr' ptr') = M432.QLayoutGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M432.QLayoutConst -> HoppyF.Ptr M432.QLayout) $ castQFormLayoutToQLayout $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'

instance M94.QObjectConstPtr QFormLayout where
  toQObjectConst (QFormLayout ptr') = M94.QObjectConst $ castQFormLayoutToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'
  toQObjectConst (QFormLayoutGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQFormLayoutToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'

instance M94.QObjectPtr QFormLayout where
  toQObject (QFormLayout ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQFormLayoutToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'
  toQObject (QFormLayoutGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQFormLayoutToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'

instance M434.QLayoutItemConstPtr QFormLayout where
  toQLayoutItemConst (QFormLayout ptr') = M434.QLayoutItemConst $ castQFormLayoutToQLayoutItem $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'
  toQLayoutItemConst (QFormLayoutGc fptr' ptr') = M434.QLayoutItemConstGc fptr' $ castQFormLayoutToQLayoutItem $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'

instance M434.QLayoutItemPtr QFormLayout where
  toQLayoutItem (QFormLayout ptr') = M434.QLayoutItem $ (HoppyF.castPtr :: HoppyF.Ptr M434.QLayoutItemConst -> HoppyF.Ptr M434.QLayoutItem) $ castQFormLayoutToQLayoutItem $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'
  toQLayoutItem (QFormLayoutGc fptr' ptr') = M434.QLayoutItemGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M434.QLayoutItemConst -> HoppyF.Ptr M434.QLayoutItem) $ castQFormLayoutToQLayoutItem $ (HoppyF.castPtr :: HoppyF.Ptr QFormLayout -> HoppyF.Ptr QFormLayoutConst) ptr'

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

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

class QFormLayoutSuper a where
  downToQFormLayout :: a -> QFormLayout

instance QFormLayoutSuper M432.QLayout where
  downToQFormLayout = castQFormLayoutToNonconst . cast' . M432.castQLayoutToConst
    where
      cast' (M432.QLayoutConst ptr') = QFormLayoutConst $ castQLayoutToQFormLayout ptr'
      cast' (M432.QLayoutConstGc fptr' ptr') = QFormLayoutConstGc fptr' $ castQLayoutToQFormLayout ptr'
instance QFormLayoutSuper M94.QObject where
  downToQFormLayout = castQFormLayoutToNonconst . cast' . M94.castQObjectToConst
    where
      cast' (M94.QObjectConst ptr') = QFormLayoutConst $ castQObjectToQFormLayout ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QFormLayoutConstGc fptr' $ castQObjectToQFormLayout ptr'
instance QFormLayoutSuper M434.QLayoutItem where
  downToQFormLayout = castQFormLayoutToNonconst . cast' . M434.castQLayoutItemToConst
    where
      cast' (M434.QLayoutItemConst ptr') = QFormLayoutConst $ castQLayoutItemToQFormLayout ptr'
      cast' (M434.QLayoutItemConstGc fptr' ptr') = QFormLayoutConstGc fptr' $ castQLayoutItemToQFormLayout ptr'

class QFormLayoutSuperConst a where
  downToQFormLayoutConst :: a -> QFormLayoutConst

instance QFormLayoutSuperConst M432.QLayoutConst where
  downToQFormLayoutConst = cast'
    where
      cast' (M432.QLayoutConst ptr') = QFormLayoutConst $ castQLayoutToQFormLayout ptr'
      cast' (M432.QLayoutConstGc fptr' ptr') = QFormLayoutConstGc fptr' $ castQLayoutToQFormLayout ptr'
instance QFormLayoutSuperConst M94.QObjectConst where
  downToQFormLayoutConst = cast'
    where
      cast' (M94.QObjectConst ptr') = QFormLayoutConst $ castQObjectToQFormLayout ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QFormLayoutConstGc fptr' $ castQObjectToQFormLayout ptr'
instance QFormLayoutSuperConst M434.QLayoutItemConst where
  downToQFormLayoutConst = cast'
    where
      cast' (M434.QLayoutItemConst ptr') = QFormLayoutConst $ castQLayoutItemToQFormLayout ptr'
      cast' (M434.QLayoutItemConstGc fptr' ptr') = QFormLayoutConstGc fptr' $ castQLayoutItemToQFormLayout ptr'

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

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

data QFormLayoutFieldGrowthPolicy =
  FieldsStayAtSizeHint
  | ExpandingFieldsGrow
  | AllNonFixedFieldsGrow
  | UnknownQFormLayoutFieldGrowthPolicy (HoppyFC.CInt)
  deriving (HoppyP.Show)

instance HoppyFHR.CppEnum (HoppyFC.CInt) QFormLayoutFieldGrowthPolicy where
  fromCppEnum FieldsStayAtSizeHint = 0
  fromCppEnum ExpandingFieldsGrow = 1
  fromCppEnum AllNonFixedFieldsGrow = 2
  fromCppEnum (UnknownQFormLayoutFieldGrowthPolicy n) = n
  
  toCppEnum (0) = FieldsStayAtSizeHint
  toCppEnum (1) = ExpandingFieldsGrow
  toCppEnum (2) = AllNonFixedFieldsGrow
  toCppEnum n = UnknownQFormLayoutFieldGrowthPolicy n

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

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

data QFormLayoutItemRole =
  LabelRole
  | FieldRole
  | SpanningRole
  | UnknownQFormLayoutItemRole (HoppyFC.CInt)
  deriving (HoppyP.Show)

instance HoppyFHR.CppEnum (HoppyFC.CInt) QFormLayoutItemRole where
  fromCppEnum LabelRole = 0
  fromCppEnum FieldRole = 1
  fromCppEnum SpanningRole = 2
  fromCppEnum (UnknownQFormLayoutItemRole n) = n
  
  toCppEnum (0) = LabelRole
  toCppEnum (1) = FieldRole
  toCppEnum (2) = SpanningRole
  toCppEnum n = UnknownQFormLayoutItemRole n

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

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

data QFormLayoutRowWrapPolicy =
  DontWrapRows
  | WrapLongRows
  | WrapAllRows
  | UnknownQFormLayoutRowWrapPolicy (HoppyFC.CInt)
  deriving (HoppyP.Show)

instance HoppyFHR.CppEnum (HoppyFC.CInt) QFormLayoutRowWrapPolicy where
  fromCppEnum DontWrapRows = 0
  fromCppEnum WrapLongRows = 1
  fromCppEnum WrapAllRows = 2
  fromCppEnum (UnknownQFormLayoutRowWrapPolicy n) = n
  
  toCppEnum (0) = DontWrapRows
  toCppEnum (1) = WrapLongRows
  toCppEnum (2) = WrapAllRows
  toCppEnum n = UnknownQFormLayoutRowWrapPolicy n

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

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