packages feed

reflex-gi-gtk-0.1.0.0: src/Reflex/GI/Gtk/Class.hs

-- This Source Code Form is subject to the terms of the Mozilla Public
-- License, v. 2.0. If a copy of the MPL was not distributed with this
-- file, You can obtain one at https://mozilla.org/MPL/2.0/.

{-# LANGUAGE ConstraintKinds, FlexibleContexts #-}

module Reflex.GI.Gtk.Class (MonadGtk) where

import Control.Monad.Fix (MonadFix)
import Control.Monad.IO.Class (MonadIO)
import Reflex ( Adjustable
              , MonadHold
              , NotReady
              , PerformEvent
              , Performable
              , PostBuild
              , TriggerEvent
              )
import Reflex.Host.Class (ReflexHost)
import Reflex.GI.Gtk.Run.Class (MonadRunGtk)

-- | A set of classes available in reactive code working with GTK.
type MonadGtk t m = ( MonadIO m
                    , MonadFix m
                    , MonadRunGtk m
                    , ReflexHost t
                    , MonadHold t m
                    , NotReady t m
                    , TriggerEvent t m
                    , PostBuild t m
                    , Adjustable t m
                    , PerformEvent t m
                    , MonadIO (Performable m)
                    , MonadRunGtk (Performable m)
                    , MonadFix (Performable m)
                    , MonadHold t (Performable m)
                    )