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

{-# LANGUAGE NoMonomorphismRestriction #-}

module Graphics.UI.Qtah.Widgets.QDockWidget (
  QDockWidgetValue (..),
  QDockWidgetConstPtr (..),
  QDockWidgetPtr (..),
  QDockWidgetConst,
  QDockWidget,
  castConst,
  cast,
  downCastConst,
  downCast,
  new,
  newWithParent,
  newWithText,
  newWithTextAndParent,
  allowedAreas,
  features,
  isAreaAllowed,
  isFloating,
  setAllowedAreas,
  setFeatures,
  setFloating,
  setTitleBarWidget,
  setWidget,
  titleBarWidget,
  toggleViewAction,
  widget,
  QDockWidgetDockWidgetFeature (..),
  QDockWidgetDockWidgetFeatures,
  fromQDockWidgetDockWidgetFeatures,
  IsQDockWidgetDockWidgetFeatures (..),
  noDockWidgetFeatures,
  dockWidgetClosable,
  dockWidgetMovable,
  dockWidgetFloatable,
  allDockWidgetFeatures,
  dockWidgetVerticalTitleBar,
  allowedAreasChangedSignal,
  dockLocationChangedSignal,
  featuresChangedSignal,
  topLevelChangedSignal,
  visibilityChangedSignal,
  ) where

import qualified Graphics.UI.Qtah.Generated.Core.Types as M68
import Graphics.UI.Qtah.Generated.Widgets.QDockWidget
import qualified Graphics.UI.Qtah.Generated.Widgets.QDockWidget as M224
import Graphics.UI.Qtah.Internal.Listener
import qualified Graphics.UI.Qtah.Signal as QtahSignal
import Prelude ()
import qualified Prelude as HoppyP


castConst = toQDockWidgetConst
cast = toQDockWidget
downCastConst = downToQDockWidgetConst
downCast = downToQDockWidget

allowedAreasChangedSignal :: (QDockWidgetPtr object) => QtahSignal.Signal object (M68.QtDockWidgetAreas -> HoppyP.IO ())
allowedAreasChangedSignal = QtahSignal.Signal
  { QtahSignal.internalConnectSignal = \object' fn' -> do
    listener' <- listenerDockWidgetAreas_new fn'
    listenerDockWidgetAreas_connectListener listener' object' "2allowedAreasChanged(QFlags<Qt::DockWidgetArea>)"
  , QtahSignal.internalName = "QDockWidget::allowedAreasChanged (ListenerDockWidgetAreas)"
  }

dockLocationChangedSignal :: (QDockWidgetPtr object) => QtahSignal.Signal object (M68.QtDockWidgetArea -> HoppyP.IO ())
dockLocationChangedSignal = QtahSignal.Signal
  { QtahSignal.internalConnectSignal = \object' fn' -> do
    listener' <- listenerDockWidgetArea_new fn'
    listenerDockWidgetArea_connectListener listener' object' "2dockLocationChanged(Qt::DockWidgetArea)"
  , QtahSignal.internalName = "QDockWidget::dockLocationChanged (ListenerDockWidgetArea)"
  }

featuresChangedSignal :: (QDockWidgetPtr object) => QtahSignal.Signal object (M224.QDockWidgetDockWidgetFeatures -> HoppyP.IO ())
featuresChangedSignal = QtahSignal.Signal
  { QtahSignal.internalConnectSignal = \object' fn' -> do
    listener' <- listenerQDockWidgetFeatures_new fn'
    listenerQDockWidgetFeatures_connectListener listener' object' "2featuresChanged(QFlags<QDockWidget::DockWidgetFeature>)"
  , QtahSignal.internalName = "QDockWidget::featuresChanged (ListenerQDockWidgetFeatures)"
  }

topLevelChangedSignal :: (QDockWidgetPtr object) => QtahSignal.Signal object (HoppyP.Bool -> HoppyP.IO ())
topLevelChangedSignal = QtahSignal.Signal
  { QtahSignal.internalConnectSignal = \object' fn' -> do
    listener' <- listenerBool_new fn'
    listenerBool_connectListener listener' object' "2topLevelChanged(bool)"
  , QtahSignal.internalName = "QDockWidget::topLevelChanged (ListenerBool)"
  }

visibilityChangedSignal :: (QDockWidgetPtr object) => QtahSignal.Signal object (HoppyP.Bool -> HoppyP.IO ())
visibilityChangedSignal = QtahSignal.Signal
  { QtahSignal.internalConnectSignal = \object' fn' -> do
    listener' <- listenerBool_new fn'
    listenerBool_connectListener listener' object' "2visibilityChanged(bool)"
  , QtahSignal.internalName = "QDockWidget::visibilityChanged (ListenerBool)"
  }