glazier-0.11.0.1: Composable widgets framework with enhanced with transformers and lens.

Safe HaskellNone
LanguageHaskell2010

Glazier.Window

Synopsis

Documentation

newtype WindowT s m v Source #

The Elm view function is basically view :: model -> html This can be enhanced with monadic effects with ReaderT. This is named Window instead of View to avoid confusion with view from Control.Lens

Constructors

WindowT 

Fields

Instances

Monad m => MonadReader s (WindowT s m) Source # 

Methods

ask :: WindowT s m s #

local :: (s -> s) -> WindowT s m a -> WindowT s m a #

reader :: (s -> a) -> WindowT s m a #

MFunctor (WindowT s) Source # 

Methods

hoist :: Monad m => (forall a. m a -> n a) -> WindowT s m b -> WindowT s n b #

MonadTrans (WindowT s) Source # 

Methods

lift :: Monad m => m a -> WindowT s m a #

Monad m => Monad (WindowT s m) Source # 

Methods

(>>=) :: WindowT s m a -> (a -> WindowT s m b) -> WindowT s m b #

(>>) :: WindowT s m a -> WindowT s m b -> WindowT s m b #

return :: a -> WindowT s m a #

fail :: String -> WindowT s m a #

Functor m => Functor (WindowT s m) Source # 

Methods

fmap :: (a -> b) -> WindowT s m a -> WindowT s m b #

(<$) :: a -> WindowT s m b -> WindowT s m a #

MonadFix m => MonadFix (WindowT s m) Source # 

Methods

mfix :: (a -> WindowT s m a) -> WindowT s m a #

MonadFail m => MonadFail (WindowT s m) Source # 

Methods

fail :: String -> WindowT s m a #

Applicative m => Applicative (WindowT s m) Source # 

Methods

pure :: a -> WindowT s m a #

(<*>) :: WindowT s m (a -> b) -> WindowT s m a -> WindowT s m b #

(*>) :: WindowT s m a -> WindowT s m b -> WindowT s m b #

(<*) :: WindowT s m a -> WindowT s m b -> WindowT s m a #

MonadIO m => MonadIO (WindowT s m) Source # 

Methods

liftIO :: IO a -> WindowT s m a #

Alternative m => Alternative (WindowT s m) Source # 

Methods

empty :: WindowT s m a #

(<|>) :: WindowT s m a -> WindowT s m a -> WindowT s m a #

some :: WindowT s m a -> WindowT s m [a] #

many :: WindowT s m a -> WindowT s m [a] #

MonadPlus m => MonadPlus (WindowT s m) Source # 

Methods

mzero :: WindowT s m a #

mplus :: WindowT s m a -> WindowT s m a -> WindowT s m a #

Monad m => Magnify (WindowT s m) (WindowT t m) s t Source # 

Methods

magnify :: LensLike' (Magnified (WindowT s m) c) t s -> WindowT s m c -> WindowT t m c #

(Applicative m, Semigroup v) => Semigroup (WindowT s m v) Source # 

Methods

(<>) :: WindowT s m v -> WindowT s m v -> WindowT s m v #

sconcat :: NonEmpty (WindowT s m v) -> WindowT s m v #

stimes :: Integral b => b -> WindowT s m v -> WindowT s m v #

(Applicative m, Monoid v) => Monoid (WindowT s m v) Source # 

Methods

mempty :: WindowT s m v #

mappend :: WindowT s m v -> WindowT s m v -> WindowT s m v #

mconcat :: [WindowT s m v] -> WindowT s m v #

Wrapped (WindowT s0 m0 v0) Source # 

Associated Types

type Unwrapped (WindowT s0 m0 v0) :: * #

Methods

_Wrapped' :: Iso' (WindowT s0 m0 v0) (Unwrapped (WindowT s0 m0 v0)) #

(~) * (WindowT s0 m0 v0) t0 => Rewrapped (WindowT s1 m1 v1) t0 Source # 
type Magnified (WindowT s m) Source # 
type Magnified (WindowT s m) = Magnified (ReaderT * s m)
type Unwrapped (WindowT s0 m0 v0) Source # 
type Unwrapped (WindowT s0 m0 v0) = ReaderT * s0 m0 v0

_WindowT :: Iso (WindowT s m v) (WindowT s' m' v') (s -> m v) (s' -> m' v') Source #

_WindowT' :: Iso' (WindowT s m v) (s -> m v) Source #

Non polymorphic version of _Window

mkWindowT' :: (s -> m v) -> WindowT s m v Source #

runWindowT' :: WindowT s m v -> s -> m v Source #

belowWindowT :: ((s -> m v) -> s' -> m' v') -> WindowT s m v -> WindowT s' m' v' Source #

underWindowT :: (ReaderT s m v -> ReaderT s' m' v') -> WindowT s m v -> WindowT s' m' v' Source #

overWindowT :: (WindowT s m v -> WindowT s' m' v') -> ReaderT s m v -> ReaderT s' m' v' Source #

aboveWindowT :: (WindowT s m v -> WindowT s' m' v') -> (s -> m v) -> s' -> m' v' Source #