packages feed

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

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

module Graphics.UI.Qtah.Generated.Widgets.QTreeView (
  castQTreeViewToQAbstractItemView,
  castQAbstractItemViewToQTreeView,
  castQTreeViewToQAbstractScrollArea,
  castQAbstractScrollAreaToQTreeView,
  castQTreeViewToQFrame,
  castQFrameToQTreeView,
  castQTreeViewToQWidget,
  castQWidgetToQTreeView,
  castQTreeViewToQObject,
  castQObjectToQTreeView,
  QTreeViewValue (..),
  QTreeViewConstPtr (..),
  allColumnsShowFocus,
  isAnimated,
  autoExpandDelay,
  expandsOnDoubleClick,
  isHeaderHidden,
  indentation,
  itemsExpandable,
  rootIsDecorated,
  isSortingEnabled,
  uniformRowHeights,
  wordWrap,
  columnAt,
  columnViewportPosition,
  columnWidth,
  indexAbove,
  indexBelow,
  isColumnHidden,
  isExpanded,
  isFirstColumnSpanned,
  isRowHidden,
  QTreeViewPtr (..),
  setAllColumnsShowFocus,
  setAnimated,
  setAutoExpandDelay,
  setExpandsOnDoubleClick,
  setHeaderHidden,
  setIndentation,
  setItemsExpandable,
  setRootIsDecorated,
  setSortingEnabled,
  setUniformRowHeights,
  setWordWrap,
  dataChanged,
  dataChangedWithRoles,
  setColumnHidden,
  setColumnWidth,
  setExpanded,
  setFirstColumnSpanned,
  setRowHidden,
  setTreePosition,
  selectAll,
  collapse,
  collapseAll,
  expand,
  expandAll,
  expandRecursively,
  expandRecursivelyWithDepth,
  expandToDepth,
  hideColumn,
  resizeColumnToContents,
  showColumn,
  sortByColumn,
  emitCollapsed,
  emitExpanded,
  QTreeViewConst (..),
  castQTreeViewToConst,
  QTreeView (..),
  castQTreeViewToNonconst,
  new,
  QTreeViewSuper (..),
  QTreeViewSuperConst (..),
  ) where

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.QModelIndex as M92
import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94
import qualified Graphics.UI.Qtah.Generated.Core.QVector.Int as M214
import qualified Graphics.UI.Qtah.Generated.Core.Types as M190
import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractItemView as M360
import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractScrollArea as M362
import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QFrame as M400
import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M506
import Prelude (($), (.), (/=), (=<<), (==), (>>=))
import qualified Prelude as HoppyP

foreign import ccall "genpop__QTreeView_new" new' ::  HoppyP.IO (HoppyF.Ptr QTreeView)
foreign import ccall "genpop__QTreeView_allColumnsShowFocus" allColumnsShowFocus' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_setAllColumnsShowFocus" setAllColumnsShowFocus' ::  HoppyF.Ptr QTreeView -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_isAnimated" isAnimated' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_setAnimated" setAnimated' ::  HoppyF.Ptr QTreeView -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_autoExpandDelay" autoExpandDelay' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QTreeView_setAutoExpandDelay" setAutoExpandDelay' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_expandsOnDoubleClick" expandsOnDoubleClick' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_setExpandsOnDoubleClick" setExpandsOnDoubleClick' ::  HoppyF.Ptr QTreeView -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_isHeaderHidden" isHeaderHidden' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_setHeaderHidden" setHeaderHidden' ::  HoppyF.Ptr QTreeView -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_indentation" indentation' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QTreeView_setIndentation" setIndentation' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_itemsExpandable" itemsExpandable' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_setItemsExpandable" setItemsExpandable' ::  HoppyF.Ptr QTreeView -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_rootIsDecorated" rootIsDecorated' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_setRootIsDecorated" setRootIsDecorated' ::  HoppyF.Ptr QTreeView -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_isSortingEnabled" isSortingEnabled' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_setSortingEnabled" setSortingEnabled' ::  HoppyF.Ptr QTreeView -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_uniformRowHeights" uniformRowHeights' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_setUniformRowHeights" setUniformRowHeights' ::  HoppyF.Ptr QTreeView -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_wordWrap" wordWrap' ::  HoppyF.Ptr QTreeViewConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_setWordWrap" setWordWrap' ::  HoppyF.Ptr QTreeView -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_columnAt" columnAt' ::  HoppyF.Ptr QTreeViewConst -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QTreeView_columnViewportPosition" columnViewportPosition' ::  HoppyF.Ptr QTreeViewConst -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QTreeView_columnWidth" columnWidth' ::  HoppyF.Ptr QTreeViewConst -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QTreeView_dataChanged" dataChanged' ::  HoppyF.Ptr QTreeView -> HoppyF.Ptr M92.QModelIndexConst -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_dataChangedWithRoles" dataChangedWithRoles' ::  HoppyF.Ptr QTreeView -> HoppyF.Ptr M92.QModelIndexConst -> HoppyF.Ptr M92.QModelIndexConst -> HoppyF.Ptr M214.QVectorIntConst -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_indexAbove" indexAbove' ::  HoppyF.Ptr QTreeViewConst -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO (HoppyF.Ptr M92.QModelIndexConst)
foreign import ccall "genpop__QTreeView_indexBelow" indexBelow' ::  HoppyF.Ptr QTreeViewConst -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO (HoppyF.Ptr M92.QModelIndexConst)
foreign import ccall "genpop__QTreeView_isColumnHidden" isColumnHidden' ::  HoppyF.Ptr QTreeViewConst -> HoppyFC.CInt -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_isExpanded" isExpanded' ::  HoppyF.Ptr QTreeViewConst -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_isFirstColumnSpanned" isFirstColumnSpanned' ::  HoppyF.Ptr QTreeViewConst -> HoppyFC.CInt -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_isRowHidden" isRowHidden' ::  HoppyF.Ptr QTreeViewConst -> HoppyFC.CInt -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QTreeView_setColumnHidden" setColumnHidden' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_setColumnWidth" setColumnWidth' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_setExpanded" setExpanded' ::  HoppyF.Ptr QTreeView -> HoppyF.Ptr M92.QModelIndexConst -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_setFirstColumnSpanned" setFirstColumnSpanned' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyF.Ptr M92.QModelIndexConst -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_setRowHidden" setRowHidden' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyF.Ptr M92.QModelIndexConst -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_setTreePosition" setTreePosition' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_selectAll" selectAll' ::  HoppyF.Ptr QTreeView -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_collapse" collapse' ::  HoppyF.Ptr QTreeView -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_collapseAll" collapseAll' ::  HoppyF.Ptr QTreeView -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_expand" expand' ::  HoppyF.Ptr QTreeView -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_expandAll" expandAll' ::  HoppyF.Ptr QTreeView -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_expandRecursively" expandRecursively' ::  HoppyF.Ptr QTreeView -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_expandRecursivelyWithDepth" expandRecursivelyWithDepth' ::  HoppyF.Ptr QTreeView -> HoppyF.Ptr M92.QModelIndexConst -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_expandToDepth" expandToDepth' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_hideColumn" hideColumn' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_resizeColumnToContents" resizeColumnToContents' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_showColumn" showColumn' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_sortByColumn" sortByColumn' ::  HoppyF.Ptr QTreeView -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_emitCollapsed" emitCollapsed' ::  HoppyF.Ptr QTreeView -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO ()
foreign import ccall "genpop__QTreeView_emitExpanded" emitExpanded' ::  HoppyF.Ptr QTreeView -> HoppyF.Ptr M92.QModelIndexConst -> HoppyP.IO ()
foreign import ccall "gencast__QTreeView__QAbstractItemView" castQTreeViewToQAbstractItemView :: HoppyF.Ptr QTreeViewConst -> HoppyF.Ptr M360.QAbstractItemViewConst
foreign import ccall "gencast__QAbstractItemView__QTreeView" castQAbstractItemViewToQTreeView :: HoppyF.Ptr M360.QAbstractItemViewConst -> HoppyF.Ptr QTreeViewConst
foreign import ccall "gencast__QTreeView__QAbstractScrollArea" castQTreeViewToQAbstractScrollArea :: HoppyF.Ptr QTreeViewConst -> HoppyF.Ptr M362.QAbstractScrollAreaConst
foreign import ccall "gencast__QAbstractScrollArea__QTreeView" castQAbstractScrollAreaToQTreeView :: HoppyF.Ptr M362.QAbstractScrollAreaConst -> HoppyF.Ptr QTreeViewConst
foreign import ccall "gencast__QTreeView__QFrame" castQTreeViewToQFrame :: HoppyF.Ptr QTreeViewConst -> HoppyF.Ptr M400.QFrameConst
foreign import ccall "gencast__QFrame__QTreeView" castQFrameToQTreeView :: HoppyF.Ptr M400.QFrameConst -> HoppyF.Ptr QTreeViewConst
foreign import ccall "gencast__QTreeView__QWidget" castQTreeViewToQWidget :: HoppyF.Ptr QTreeViewConst -> HoppyF.Ptr M506.QWidgetConst
foreign import ccall "gencast__QWidget__QTreeView" castQWidgetToQTreeView :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr QTreeViewConst
foreign import ccall "gencast__QTreeView__QObject" castQTreeViewToQObject :: HoppyF.Ptr QTreeViewConst -> HoppyF.Ptr M94.QObjectConst
foreign import ccall "gencast__QObject__QTreeView" castQObjectToQTreeView :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QTreeViewConst
foreign import ccall "gendel__QTreeView" delete'QTreeView :: HoppyF.Ptr QTreeViewConst -> HoppyP.IO ()
foreign import ccall "&gendel__QTreeView" deletePtr'QTreeView :: HoppyF.FunPtr (HoppyF.Ptr QTreeViewConst -> HoppyP.IO ())

class QTreeViewValue a where
  withQTreeViewPtr :: a -> (QTreeViewConst -> HoppyP.IO b) -> HoppyP.IO b

instance {-# OVERLAPPABLE #-} QTreeViewConstPtr a => QTreeViewValue a where
  withQTreeViewPtr = HoppyP.flip ($) . toQTreeViewConst

class (M360.QAbstractItemViewConstPtr this) => QTreeViewConstPtr this where
  toQTreeViewConst :: this -> QTreeViewConst

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

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

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

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

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

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

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

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

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

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

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

columnAt :: (QTreeViewValue this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO HoppyP.Int)
columnAt arg'1 arg'2 =
  withQTreeViewPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (columnAt' arg'1' arg'2')

columnViewportPosition :: (QTreeViewValue this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO HoppyP.Int)
columnViewportPosition arg'1 arg'2 =
  withQTreeViewPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (columnViewportPosition' arg'1' arg'2')

columnWidth :: (QTreeViewValue this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO HoppyP.Int)
columnWidth arg'1 arg'2 =
  withQTreeViewPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (columnWidth' arg'1' arg'2')

indexAbove :: (QTreeViewValue this, M92.QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO M92.QModelIndex)
indexAbove arg'1 arg'2 =
  withQTreeViewPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (HoppyFHR.decodeAndDelete . M92.QModelIndexConst) =<<
  (indexAbove' arg'1' arg'2')

indexBelow :: (QTreeViewValue this, M92.QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO M92.QModelIndex)
indexBelow arg'1 arg'2 =
  withQTreeViewPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (HoppyFHR.decodeAndDelete . M92.QModelIndexConst) =<<
  (indexBelow' arg'1' arg'2')

isColumnHidden :: (QTreeViewValue this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO HoppyP.Bool)
isColumnHidden arg'1 arg'2 =
  withQTreeViewPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isColumnHidden' arg'1' arg'2')

isExpanded :: (QTreeViewValue this, M92.QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
isExpanded arg'1 arg'2 =
  withQTreeViewPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isExpanded' arg'1' arg'2')

isFirstColumnSpanned :: (QTreeViewValue this, M92.QModelIndexValue arg'3) => (this) {- ^ this -} -> (HoppyP.Int) -> (arg'3) -> (HoppyP.IO HoppyP.Bool)
isFirstColumnSpanned arg'1 arg'2 arg'3 =
  withQTreeViewPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  M92.withQModelIndexPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isFirstColumnSpanned' arg'1' arg'2' arg'3')

isRowHidden :: (QTreeViewValue this, M92.QModelIndexValue arg'3) => (this) {- ^ this -} -> (HoppyP.Int) -> (arg'3) -> (HoppyP.IO HoppyP.Bool)
isRowHidden arg'1 arg'2 arg'3 =
  withQTreeViewPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  M92.withQModelIndexPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isRowHidden' arg'1' arg'2' arg'3')

class (QTreeViewConstPtr this, M360.QAbstractItemViewPtr this) => QTreeViewPtr this where
  toQTreeView :: this -> QTreeView

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

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

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

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

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

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

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

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

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

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

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

dataChanged :: (QTreeViewPtr this, M92.QModelIndexValue arg'2, M92.QModelIndexValue arg'3) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (HoppyP.IO ())
dataChanged arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M92.withQModelIndexPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  (dataChanged' arg'1' arg'2' arg'3')

dataChangedWithRoles :: (QTreeViewPtr this, M92.QModelIndexValue arg'2, M92.QModelIndexValue arg'3, M214.QVectorIntValue arg'4) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (arg'4) -> (HoppyP.IO ())
dataChangedWithRoles arg'1 arg'2 arg'3 arg'4 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  M92.withQModelIndexPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  M214.withQVectorIntPtr arg'4 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'4' ->
  (dataChangedWithRoles' arg'1' arg'2' arg'3' arg'4')

setColumnHidden :: (QTreeViewPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.Bool) -> (HoppyP.IO ())
setColumnHidden arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    \x -> HoppyP.return $ if x then 1 else 0
  ) arg'3 >>= \arg'3' ->
  (setColumnHidden' arg'1' arg'2' arg'3')

setColumnWidth :: (QTreeViewPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.IO ())
setColumnWidth arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'3 >>= \arg'3' ->
  (setColumnWidth' arg'1' arg'2' arg'3')

setExpanded :: (QTreeViewPtr this, M92.QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.Bool) -> (HoppyP.IO ())
setExpanded arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    \x -> HoppyP.return $ if x then 1 else 0
  ) arg'3 >>= \arg'3' ->
  (setExpanded' arg'1' arg'2' arg'3')

setFirstColumnSpanned :: (QTreeViewPtr this, M92.QModelIndexValue arg'3) => (this) {- ^ this -} -> (HoppyP.Int) -> (arg'3) -> (HoppyP.Bool) -> (HoppyP.IO ())
setFirstColumnSpanned arg'1 arg'2 arg'3 arg'4 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  M92.withQModelIndexPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  (
    \x -> HoppyP.return $ if x then 1 else 0
  ) arg'4 >>= \arg'4' ->
  (setFirstColumnSpanned' arg'1' arg'2' arg'3' arg'4')

setRowHidden :: (QTreeViewPtr this, M92.QModelIndexValue arg'3) => (this) {- ^ this -} -> (HoppyP.Int) -> (arg'3) -> (HoppyP.Bool) -> (HoppyP.IO ())
setRowHidden arg'1 arg'2 arg'3 arg'4 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  M92.withQModelIndexPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
  (
    \x -> HoppyP.return $ if x then 1 else 0
  ) arg'4 >>= \arg'4' ->
  (setRowHidden' arg'1' arg'2' arg'3' arg'4')

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

selectAll :: (QTreeViewPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
selectAll arg'1 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  (selectAll' arg'1')

collapse :: (QTreeViewPtr this, M92.QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
collapse arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (collapse' arg'1' arg'2')

collapseAll :: (QTreeViewPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
collapseAll arg'1 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  (collapseAll' arg'1')

expand :: (QTreeViewPtr this, M92.QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
expand arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (expand' arg'1' arg'2')

expandAll :: (QTreeViewPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
expandAll arg'1 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  (expandAll' arg'1')

expandRecursively :: (QTreeViewPtr this, M92.QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
expandRecursively arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (expandRecursively' arg'1' arg'2')

expandRecursivelyWithDepth :: (QTreeViewPtr this, M92.QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.Int) -> (HoppyP.IO ())
expandRecursivelyWithDepth arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'3 >>= \arg'3' ->
  (expandRecursivelyWithDepth' arg'1' arg'2' arg'3')

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

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

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

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

sortByColumn :: (QTreeViewPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (M190.QtSortOrder) -> (HoppyP.IO ())
sortByColumn arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'3 >>= \arg'3' ->
  (sortByColumn' arg'1' arg'2' arg'3')

emitCollapsed :: (QTreeViewPtr this, M92.QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
emitCollapsed arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (emitCollapsed' arg'1' arg'2')

emitExpanded :: (QTreeViewPtr this, M92.QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
emitExpanded arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQTreeView arg'1) $ \arg'1' ->
  M92.withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (emitExpanded' arg'1' arg'2')

data QTreeViewConst =
    QTreeViewConst (HoppyF.Ptr QTreeViewConst)
  | QTreeViewConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QTreeViewConst)
  deriving (HoppyP.Show)

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

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

castQTreeViewToConst :: QTreeView -> QTreeViewConst
castQTreeViewToConst (QTreeView ptr') = QTreeViewConst $ HoppyF.castPtr ptr'
castQTreeViewToConst (QTreeViewGc fptr' ptr') = QTreeViewConstGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QTreeViewConstPtr QTreeViewConst where
  toQTreeViewConst = HoppyP.id

instance M360.QAbstractItemViewConstPtr QTreeViewConst where
  toQAbstractItemViewConst (QTreeViewConst ptr') = M360.QAbstractItemViewConst $ castQTreeViewToQAbstractItemView ptr'
  toQAbstractItemViewConst (QTreeViewConstGc fptr' ptr') = M360.QAbstractItemViewConstGc fptr' $ castQTreeViewToQAbstractItemView ptr'

instance M362.QAbstractScrollAreaConstPtr QTreeViewConst where
  toQAbstractScrollAreaConst (QTreeViewConst ptr') = M362.QAbstractScrollAreaConst $ castQTreeViewToQAbstractScrollArea ptr'
  toQAbstractScrollAreaConst (QTreeViewConstGc fptr' ptr') = M362.QAbstractScrollAreaConstGc fptr' $ castQTreeViewToQAbstractScrollArea ptr'

instance M400.QFrameConstPtr QTreeViewConst where
  toQFrameConst (QTreeViewConst ptr') = M400.QFrameConst $ castQTreeViewToQFrame ptr'
  toQFrameConst (QTreeViewConstGc fptr' ptr') = M400.QFrameConstGc fptr' $ castQTreeViewToQFrame ptr'

instance M506.QWidgetConstPtr QTreeViewConst where
  toQWidgetConst (QTreeViewConst ptr') = M506.QWidgetConst $ castQTreeViewToQWidget ptr'
  toQWidgetConst (QTreeViewConstGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQTreeViewToQWidget ptr'

instance M94.QObjectConstPtr QTreeViewConst where
  toQObjectConst (QTreeViewConst ptr') = M94.QObjectConst $ castQTreeViewToQObject ptr'
  toQObjectConst (QTreeViewConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQTreeViewToQObject ptr'

data QTreeView =
    QTreeView (HoppyF.Ptr QTreeView)
  | QTreeViewGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QTreeView)
  deriving (HoppyP.Show)

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

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

castQTreeViewToNonconst :: QTreeViewConst -> QTreeView
castQTreeViewToNonconst (QTreeViewConst ptr') = QTreeView $ HoppyF.castPtr ptr'
castQTreeViewToNonconst (QTreeViewConstGc fptr' ptr') = QTreeViewGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QTreeViewConstPtr QTreeView where
  toQTreeViewConst (QTreeView ptr') = QTreeViewConst $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQTreeViewConst (QTreeViewGc fptr' ptr') = QTreeViewConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

instance QTreeViewPtr QTreeView where
  toQTreeView = HoppyP.id

instance M360.QAbstractItemViewConstPtr QTreeView where
  toQAbstractItemViewConst (QTreeView ptr') = M360.QAbstractItemViewConst $ castQTreeViewToQAbstractItemView $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQAbstractItemViewConst (QTreeViewGc fptr' ptr') = M360.QAbstractItemViewConstGc fptr' $ castQTreeViewToQAbstractItemView $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

instance M360.QAbstractItemViewPtr QTreeView where
  toQAbstractItemView (QTreeView ptr') = M360.QAbstractItemView $ (HoppyF.castPtr :: HoppyF.Ptr M360.QAbstractItemViewConst -> HoppyF.Ptr M360.QAbstractItemView) $ castQTreeViewToQAbstractItemView $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQAbstractItemView (QTreeViewGc fptr' ptr') = M360.QAbstractItemViewGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M360.QAbstractItemViewConst -> HoppyF.Ptr M360.QAbstractItemView) $ castQTreeViewToQAbstractItemView $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

instance M362.QAbstractScrollAreaConstPtr QTreeView where
  toQAbstractScrollAreaConst (QTreeView ptr') = M362.QAbstractScrollAreaConst $ castQTreeViewToQAbstractScrollArea $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQAbstractScrollAreaConst (QTreeViewGc fptr' ptr') = M362.QAbstractScrollAreaConstGc fptr' $ castQTreeViewToQAbstractScrollArea $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

instance M362.QAbstractScrollAreaPtr QTreeView where
  toQAbstractScrollArea (QTreeView ptr') = M362.QAbstractScrollArea $ (HoppyF.castPtr :: HoppyF.Ptr M362.QAbstractScrollAreaConst -> HoppyF.Ptr M362.QAbstractScrollArea) $ castQTreeViewToQAbstractScrollArea $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQAbstractScrollArea (QTreeViewGc fptr' ptr') = M362.QAbstractScrollAreaGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M362.QAbstractScrollAreaConst -> HoppyF.Ptr M362.QAbstractScrollArea) $ castQTreeViewToQAbstractScrollArea $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

instance M400.QFrameConstPtr QTreeView where
  toQFrameConst (QTreeView ptr') = M400.QFrameConst $ castQTreeViewToQFrame $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQFrameConst (QTreeViewGc fptr' ptr') = M400.QFrameConstGc fptr' $ castQTreeViewToQFrame $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

instance M400.QFramePtr QTreeView where
  toQFrame (QTreeView ptr') = M400.QFrame $ (HoppyF.castPtr :: HoppyF.Ptr M400.QFrameConst -> HoppyF.Ptr M400.QFrame) $ castQTreeViewToQFrame $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQFrame (QTreeViewGc fptr' ptr') = M400.QFrameGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M400.QFrameConst -> HoppyF.Ptr M400.QFrame) $ castQTreeViewToQFrame $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

instance M506.QWidgetConstPtr QTreeView where
  toQWidgetConst (QTreeView ptr') = M506.QWidgetConst $ castQTreeViewToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQWidgetConst (QTreeViewGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQTreeViewToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

instance M506.QWidgetPtr QTreeView where
  toQWidget (QTreeView ptr') = M506.QWidget $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQTreeViewToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQWidget (QTreeViewGc fptr' ptr') = M506.QWidgetGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQTreeViewToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

instance M94.QObjectConstPtr QTreeView where
  toQObjectConst (QTreeView ptr') = M94.QObjectConst $ castQTreeViewToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQObjectConst (QTreeViewGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQTreeViewToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

instance M94.QObjectPtr QTreeView where
  toQObject (QTreeView ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQTreeViewToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'
  toQObject (QTreeViewGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQTreeViewToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QTreeView -> HoppyF.Ptr QTreeViewConst) ptr'

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

class QTreeViewSuper a where
  downToQTreeView :: a -> QTreeView

instance QTreeViewSuper M360.QAbstractItemView where
  downToQTreeView = castQTreeViewToNonconst . cast' . M360.castQAbstractItemViewToConst
    where
      cast' (M360.QAbstractItemViewConst ptr') = QTreeViewConst $ castQAbstractItemViewToQTreeView ptr'
      cast' (M360.QAbstractItemViewConstGc fptr' ptr') = QTreeViewConstGc fptr' $ castQAbstractItemViewToQTreeView ptr'
instance QTreeViewSuper M362.QAbstractScrollArea where
  downToQTreeView = castQTreeViewToNonconst . cast' . M362.castQAbstractScrollAreaToConst
    where
      cast' (M362.QAbstractScrollAreaConst ptr') = QTreeViewConst $ castQAbstractScrollAreaToQTreeView ptr'
      cast' (M362.QAbstractScrollAreaConstGc fptr' ptr') = QTreeViewConstGc fptr' $ castQAbstractScrollAreaToQTreeView ptr'
instance QTreeViewSuper M400.QFrame where
  downToQTreeView = castQTreeViewToNonconst . cast' . M400.castQFrameToConst
    where
      cast' (M400.QFrameConst ptr') = QTreeViewConst $ castQFrameToQTreeView ptr'
      cast' (M400.QFrameConstGc fptr' ptr') = QTreeViewConstGc fptr' $ castQFrameToQTreeView ptr'
instance QTreeViewSuper M506.QWidget where
  downToQTreeView = castQTreeViewToNonconst . cast' . M506.castQWidgetToConst
    where
      cast' (M506.QWidgetConst ptr') = QTreeViewConst $ castQWidgetToQTreeView ptr'
      cast' (M506.QWidgetConstGc fptr' ptr') = QTreeViewConstGc fptr' $ castQWidgetToQTreeView ptr'
instance QTreeViewSuper M94.QObject where
  downToQTreeView = castQTreeViewToNonconst . cast' . M94.castQObjectToConst
    where
      cast' (M94.QObjectConst ptr') = QTreeViewConst $ castQObjectToQTreeView ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QTreeViewConstGc fptr' $ castQObjectToQTreeView ptr'

class QTreeViewSuperConst a where
  downToQTreeViewConst :: a -> QTreeViewConst

instance QTreeViewSuperConst M360.QAbstractItemViewConst where
  downToQTreeViewConst = cast'
    where
      cast' (M360.QAbstractItemViewConst ptr') = QTreeViewConst $ castQAbstractItemViewToQTreeView ptr'
      cast' (M360.QAbstractItemViewConstGc fptr' ptr') = QTreeViewConstGc fptr' $ castQAbstractItemViewToQTreeView ptr'
instance QTreeViewSuperConst M362.QAbstractScrollAreaConst where
  downToQTreeViewConst = cast'
    where
      cast' (M362.QAbstractScrollAreaConst ptr') = QTreeViewConst $ castQAbstractScrollAreaToQTreeView ptr'
      cast' (M362.QAbstractScrollAreaConstGc fptr' ptr') = QTreeViewConstGc fptr' $ castQAbstractScrollAreaToQTreeView ptr'
instance QTreeViewSuperConst M400.QFrameConst where
  downToQTreeViewConst = cast'
    where
      cast' (M400.QFrameConst ptr') = QTreeViewConst $ castQFrameToQTreeView ptr'
      cast' (M400.QFrameConstGc fptr' ptr') = QTreeViewConstGc fptr' $ castQFrameToQTreeView ptr'
instance QTreeViewSuperConst M506.QWidgetConst where
  downToQTreeViewConst = cast'
    where
      cast' (M506.QWidgetConst ptr') = QTreeViewConst $ castQWidgetToQTreeView ptr'
      cast' (M506.QWidgetConstGc fptr' ptr') = QTreeViewConstGc fptr' $ castQWidgetToQTreeView ptr'
instance QTreeViewSuperConst M94.QObjectConst where
  downToQTreeViewConst = cast'
    where
      cast' (M94.QObjectConst ptr') = QTreeViewConst $ castQObjectToQTreeView ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QTreeViewConstGc fptr' $ castQObjectToQTreeView ptr'

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

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