packages feed

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

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

---------- GENERATED FILE, EDITS WILL BE LOST ----------

module Graphics.UI.Qtah.Generated.Widgets.QLabel (
  castQLabelToQFrame,
  castQFrameToQLabel,
  castQLabelToQWidget,
  castQWidgetToQLabel,
  castQLabelToQObject,
  castQObjectToQLabel,
  QLabelValue (..),
  QLabelConstPtr (..),
  alignment,
  buddy,
  hasSelectedText,
  indent,
  margin,
  openExternalLinks,
  hasScaledContents,
  selectedText,
  selectionStart,
  text,
  textFormat,
  wordWrap,
  QLabelPtr (..),
  setAlignment,
  setBuddy,
  clear,
  setIndent,
  setMargin,
  setOpenExternalLinks,
  setScaledContents,
  setInt,
  setDouble,
  setSelection,
  setText,
  setTextFormat,
  setWordWrap,
  QLabelConst (..),
  castQLabelToConst,
  QLabel (..),
  castQLabelToNonconst,
  new,
  newWithParent,
  newWithText,
  newWithTextAndParent,
  QLabelSuper (..),
  QLabelSuperConst (..),
  ) 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.QObject as M30
import qualified Graphics.UI.Qtah.Generated.Core.QString as M46
import qualified Graphics.UI.Qtah.Generated.Core.Types as M58
import qualified Graphics.UI.Qtah.Generated.Widgets.QFrame as M198
import qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M280
import Prelude (($), (.), (/=), (=<<), (==))
import qualified Prelude as HoppyP
import qualified Prelude as QtahP

foreign import ccall "genpop__QLabel_new" new' ::  HoppyP.IO (HoppyF.Ptr QLabel)
foreign import ccall "genpop__QLabel_newWithParent" newWithParent' ::  HoppyF.Ptr M280.QWidget -> HoppyP.IO (HoppyF.Ptr QLabel)
foreign import ccall "genpop__QLabel_newWithText" newWithText' ::  HoppyF.Ptr M46.QStringConst -> HoppyP.IO (HoppyF.Ptr QLabel)
foreign import ccall "genpop__QLabel_newWithTextAndParent" newWithTextAndParent' ::  HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M280.QWidget -> HoppyP.IO (HoppyF.Ptr QLabel)
foreign import ccall "genpop__QLabel_alignment" alignment' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QLabel_setAlignment" setAlignment' ::  HoppyF.Ptr QLabel -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_buddy" buddy' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO (HoppyF.Ptr M280.QWidget)
foreign import ccall "genpop__QLabel_setBuddy" setBuddy' ::  HoppyF.Ptr QLabel -> HoppyF.Ptr M280.QWidget -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_clear" clear' ::  HoppyF.Ptr QLabel -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_hasSelectedText" hasSelectedText' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QLabel_indent" indent' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QLabel_setIndent" setIndent' ::  HoppyF.Ptr QLabel -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_margin" margin' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QLabel_setMargin" setMargin' ::  HoppyF.Ptr QLabel -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_openExternalLinks" openExternalLinks' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QLabel_setOpenExternalLinks" setOpenExternalLinks' ::  HoppyF.Ptr QLabel -> HoppyFHR.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_hasScaledContents" hasScaledContents' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QLabel_setScaledContents" setScaledContents' ::  HoppyF.Ptr QLabel -> HoppyFHR.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_selectedText" selectedText' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO (HoppyF.Ptr M46.QStringConst)
foreign import ccall "genpop__QLabel_selectionStart" selectionStart' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QLabel_setInt" setInt' ::  HoppyF.Ptr QLabel -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_setDouble" setDouble' ::  HoppyF.Ptr QLabel -> HoppyFC.CDouble -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_setSelection" setSelection' ::  HoppyF.Ptr QLabel -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_text" text' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO (HoppyF.Ptr M46.QStringConst)
foreign import ccall "genpop__QLabel_setText" setText' ::  HoppyF.Ptr QLabel -> HoppyF.Ptr M46.QStringConst -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_textFormat" textFormat' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QLabel_setTextFormat" setTextFormat' ::  HoppyF.Ptr QLabel -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QLabel_wordWrap" wordWrap' ::  HoppyF.Ptr QLabelConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QLabel_setWordWrap" setWordWrap' ::  HoppyF.Ptr QLabel -> HoppyFHR.CBool -> HoppyP.IO ()
foreign import ccall "gencast__QLabel__QFrame" castQLabelToQFrame :: HoppyF.Ptr QLabelConst -> HoppyF.Ptr M198.QFrameConst
foreign import ccall "gencast__QFrame__QLabel" castQFrameToQLabel :: HoppyF.Ptr M198.QFrameConst -> HoppyF.Ptr QLabelConst
foreign import ccall "gencast__QLabel__QWidget" castQLabelToQWidget :: HoppyF.Ptr QLabelConst -> HoppyF.Ptr M280.QWidgetConst
foreign import ccall "gencast__QWidget__QLabel" castQWidgetToQLabel :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr QLabelConst
foreign import ccall "gencast__QLabel__QObject" castQLabelToQObject :: HoppyF.Ptr QLabelConst -> HoppyF.Ptr M30.QObjectConst
foreign import ccall "gencast__QObject__QLabel" castQObjectToQLabel :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr QLabelConst
foreign import ccall "gendel__QLabel" delete'QLabel :: HoppyF.Ptr QLabelConst -> HoppyP.IO ()
foreign import ccall "&gendel__QLabel" deletePtr'QLabel :: HoppyF.FunPtr (HoppyF.Ptr QLabelConst -> HoppyP.IO ())

class QLabelValue a where
  withQLabelPtr :: a -> (QLabelConst -> HoppyP.IO b) -> HoppyP.IO b

#if MIN_VERSION_base(4,8,0)
instance {-# OVERLAPPABLE #-} QLabelConstPtr a => QLabelValue a where
#else
instance QLabelConstPtr a => QLabelValue a where
#endif
  withQLabelPtr = HoppyP.flip ($) . toQLabelConst

class (M198.QFrameConstPtr this) => QLabelConstPtr this where
  toQLabelConst :: this -> QLabelConst

alignment :: (QLabelValue arg'1) => arg'1 -> HoppyP.IO M58.QtAlignment
alignment arg'1 =
  withQLabelPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap M58.QtAlignment
  (alignment' arg'1')

buddy :: (QLabelValue arg'1) => arg'1 -> HoppyP.IO M280.QWidget
buddy arg'1 =
  withQLabelPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap M280.QWidget
  (buddy' arg'1')

hasSelectedText :: (QLabelValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
hasSelectedText arg'1 =
  withQLabelPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap (/= 0)
  (hasSelectedText' arg'1')

indent :: (QLabelValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Int
indent arg'1 =
  withQLabelPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap HoppyFHR.coerceIntegral
  (indent' arg'1')

margin :: (QLabelValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Int
margin arg'1 =
  withQLabelPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap HoppyFHR.coerceIntegral
  (margin' arg'1')

openExternalLinks :: (QLabelValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
openExternalLinks arg'1 =
  withQLabelPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap (/= 0)
  (openExternalLinks' arg'1')

hasScaledContents :: (QLabelValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
hasScaledContents arg'1 =
  withQLabelPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap (/= 0)
  (hasScaledContents' arg'1')

selectedText :: (QLabelValue arg'1) => arg'1 -> HoppyP.IO QtahP.String
selectedText arg'1 =
  withQLabelPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M46.QStringConst) =<<
  (selectedText' arg'1')

selectionStart :: (QLabelValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Int
selectionStart arg'1 =
  withQLabelPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap HoppyFHR.coerceIntegral
  (selectionStart' arg'1')

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

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

wordWrap :: (QLabelValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
wordWrap arg'1 =
  withQLabelPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap (/= 0)
  (wordWrap' arg'1')

class (QLabelConstPtr this, M198.QFramePtr this) => QLabelPtr this where
  toQLabel :: this -> QLabel

setAlignment :: (QLabelPtr arg'1, M58.IsQtAlignment arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setAlignment arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQLabel arg'1) $ \arg'1' ->
  let arg'2' = M58.fromQtAlignment $ M58.toQtAlignment arg'2 in
  (setAlignment' arg'1' arg'2')

setBuddy :: (QLabelPtr arg'1, M280.QWidgetPtr arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setBuddy arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQLabel arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M280.toQWidget arg'2) $ \arg'2' ->
  (setBuddy' arg'1' arg'2')

clear :: (QLabelPtr arg'1) => arg'1 -> HoppyP.IO ()
clear arg'1 =
  HoppyFHR.withCppPtr (toQLabel arg'1) $ \arg'1' ->
  (clear' arg'1')

setIndent :: (QLabelPtr arg'1) => arg'1 -> HoppyP.Int -> HoppyP.IO ()
setIndent arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQLabel arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral arg'2 in
  (setIndent' arg'1' arg'2')

setMargin :: (QLabelPtr arg'1) => arg'1 -> HoppyP.Int -> HoppyP.IO ()
setMargin arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQLabel arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral arg'2 in
  (setMargin' arg'1' arg'2')

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

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

setInt :: (QLabelPtr arg'1) => arg'1 -> HoppyP.Int -> HoppyP.IO ()
setInt arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQLabel arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral arg'2 in
  (setInt' arg'1' arg'2')

setDouble :: (QLabelPtr arg'1) => arg'1 -> HoppyP.Double -> HoppyP.IO ()
setDouble arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQLabel arg'1) $ \arg'1' ->
  let arg'2' = HoppyP.realToFrac arg'2 in
  (setDouble' arg'1' arg'2')

setSelection :: (QLabelPtr arg'1) => arg'1 -> HoppyP.Int -> HoppyP.Int -> HoppyP.IO ()
setSelection arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQLabel arg'1) $ \arg'1' ->
  let arg'2' = HoppyFHR.coerceIntegral arg'2 in
  let arg'3' = HoppyFHR.coerceIntegral arg'3 in
  (setSelection' arg'1' arg'2' arg'3')

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

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

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

data QLabelConst =
    QLabelConst (HoppyF.Ptr QLabelConst)
  | QLabelConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QLabelConst)
  deriving (HoppyP.Show)

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

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

castQLabelToConst :: QLabel -> QLabelConst
castQLabelToConst (QLabel ptr') = QLabelConst $ HoppyF.castPtr ptr'
castQLabelToConst (QLabelGc fptr' ptr') = QLabelConstGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QLabelConstPtr QLabelConst where
  toQLabelConst = HoppyP.id

instance M198.QFrameConstPtr QLabelConst where
  toQFrameConst (QLabelConst ptr') = M198.QFrameConst $ castQLabelToQFrame ptr'
  toQFrameConst (QLabelConstGc fptr' ptr') = M198.QFrameConstGc fptr' $ castQLabelToQFrame ptr'

instance M280.QWidgetConstPtr QLabelConst where
  toQWidgetConst (QLabelConst ptr') = M280.QWidgetConst $ castQLabelToQWidget ptr'
  toQWidgetConst (QLabelConstGc fptr' ptr') = M280.QWidgetConstGc fptr' $ castQLabelToQWidget ptr'

instance M30.QObjectConstPtr QLabelConst where
  toQObjectConst (QLabelConst ptr') = M30.QObjectConst $ castQLabelToQObject ptr'
  toQObjectConst (QLabelConstGc fptr' ptr') = M30.QObjectConstGc fptr' $ castQLabelToQObject ptr'

data QLabel =
    QLabel (HoppyF.Ptr QLabel)
  | QLabelGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QLabel)
  deriving (HoppyP.Show)

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

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

castQLabelToNonconst :: QLabelConst -> QLabel
castQLabelToNonconst (QLabelConst ptr') = QLabel $ HoppyF.castPtr ptr'
castQLabelToNonconst (QLabelConstGc fptr' ptr') = QLabelGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QLabelConstPtr QLabel where
  toQLabelConst (QLabel ptr') = QLabelConst $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'
  toQLabelConst (QLabelGc fptr' ptr') = QLabelConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'

instance QLabelPtr QLabel where
  toQLabel = HoppyP.id

instance M198.QFrameConstPtr QLabel where
  toQFrameConst (QLabel ptr') = M198.QFrameConst $ castQLabelToQFrame $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'
  toQFrameConst (QLabelGc fptr' ptr') = M198.QFrameConstGc fptr' $ castQLabelToQFrame $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'

instance M198.QFramePtr QLabel where
  toQFrame (QLabel ptr') = M198.QFrame $ (HoppyF.castPtr :: HoppyF.Ptr M198.QFrameConst -> HoppyF.Ptr M198.QFrame) $ castQLabelToQFrame $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'
  toQFrame (QLabelGc fptr' ptr') = M198.QFrameGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M198.QFrameConst -> HoppyF.Ptr M198.QFrame) $ castQLabelToQFrame $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'

instance M280.QWidgetConstPtr QLabel where
  toQWidgetConst (QLabel ptr') = M280.QWidgetConst $ castQLabelToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'
  toQWidgetConst (QLabelGc fptr' ptr') = M280.QWidgetConstGc fptr' $ castQLabelToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'

instance M280.QWidgetPtr QLabel where
  toQWidget (QLabel ptr') = M280.QWidget $ (HoppyF.castPtr :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr M280.QWidget) $ castQLabelToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'
  toQWidget (QLabelGc fptr' ptr') = M280.QWidgetGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr M280.QWidget) $ castQLabelToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'

instance M30.QObjectConstPtr QLabel where
  toQObjectConst (QLabel ptr') = M30.QObjectConst $ castQLabelToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'
  toQObjectConst (QLabelGc fptr' ptr') = M30.QObjectConstGc fptr' $ castQLabelToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'

instance M30.QObjectPtr QLabel where
  toQObject (QLabel ptr') = M30.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr M30.QObject) $ castQLabelToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'
  toQObject (QLabelGc fptr' ptr') = M30.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr M30.QObject) $ castQLabelToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QLabel -> HoppyF.Ptr QLabelConst) ptr'

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

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

newWithText :: (M46.QStringValue arg'1) => arg'1 -> HoppyP.IO QLabel
newWithText arg'1 =
  M46.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap QLabel
  (newWithText' arg'1')

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

class QLabelSuper a where
  downToQLabel :: a -> QLabel

instance QLabelSuper M198.QFrame where
  downToQLabel = castQLabelToNonconst . cast' . M198.castQFrameToConst
    where
      cast' (M198.QFrameConst ptr') = QLabelConst $ castQFrameToQLabel ptr'
      cast' (M198.QFrameConstGc fptr' ptr') = QLabelConstGc fptr' $ castQFrameToQLabel ptr'
instance QLabelSuper M280.QWidget where
  downToQLabel = castQLabelToNonconst . cast' . M280.castQWidgetToConst
    where
      cast' (M280.QWidgetConst ptr') = QLabelConst $ castQWidgetToQLabel ptr'
      cast' (M280.QWidgetConstGc fptr' ptr') = QLabelConstGc fptr' $ castQWidgetToQLabel ptr'
instance QLabelSuper M30.QObject where
  downToQLabel = castQLabelToNonconst . cast' . M30.castQObjectToConst
    where
      cast' (M30.QObjectConst ptr') = QLabelConst $ castQObjectToQLabel ptr'
      cast' (M30.QObjectConstGc fptr' ptr') = QLabelConstGc fptr' $ castQObjectToQLabel ptr'

class QLabelSuperConst a where
  downToQLabelConst :: a -> QLabelConst

instance QLabelSuperConst M198.QFrameConst where
  downToQLabelConst = cast'
    where
      cast' (M198.QFrameConst ptr') = QLabelConst $ castQFrameToQLabel ptr'
      cast' (M198.QFrameConstGc fptr' ptr') = QLabelConstGc fptr' $ castQFrameToQLabel ptr'
instance QLabelSuperConst M280.QWidgetConst where
  downToQLabelConst = cast'
    where
      cast' (M280.QWidgetConst ptr') = QLabelConst $ castQWidgetToQLabel ptr'
      cast' (M280.QWidgetConstGc fptr' ptr') = QLabelConstGc fptr' $ castQWidgetToQLabel ptr'
instance QLabelSuperConst M30.QObjectConst where
  downToQLabelConst = cast'
    where
      cast' (M30.QObjectConst ptr') = QLabelConst $ castQObjectToQLabel ptr'
      cast' (M30.QObjectConstGc fptr' ptr') = QLabelConstGc fptr' $ castQObjectToQLabel ptr'

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

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