reflex-gi-gtk-0.2.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 #-}
{-|
Description : Interface class for reactive GTK
Copyright : Sven Bartscher 2020
License : MPL-2.0
Maintainer : sven.bartscher@weltraumschlangen.de
Stability : experimental
-}
module Reflex.GI.Gtk.Class (MonadReflexGtk) 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.Input (MonadGtkSource)
import Reflex.GI.Gtk.Run.Class (MonadRunGtk)
-- | This class declares the interface provided for use in monadic
-- code for constructing reactive networks. The most notable
-- implementation is 'Reflex.GI.Gtk.Host.ReflexGtk'.
type MonadReflexGtk t m = ( MonadIO m
, MonadFix m
, MonadRunGtk m
, ReflexHost t
, MonadHold t m
, MonadGtkSource 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)
)