keera-hails-mvc-model-protectedmodel-0.0.3.5: Rapid Gtk Application Development - Protected Reactive Models

Safe HaskellSafe-Inferred
LanguageHaskell98

Hails.MVC.Model.ProtectedModel.Reactive

Description

Protected Reactive Fields

This module defines several classes and operations that are used to create reactive fields and to bind reactive fields in the view to reactive fields in the model.

FIXME: Due to the restrictions in the type classes, the current version uses Model.ProtectedModel.ProtectedModelInternals.ProtectedModel.

Documentation

type Setter a b c = ProtectedModel b c -> a -> IO () Source

type Getter a b c = ProtectedModel b c -> IO a Source

type Modifier a b c = ProtectedModel b c -> (a -> a) -> IO () Source

type ModifierIO a b c = ProtectedModel b c -> (a -> IO a) -> IO () Source

class ReactiveField a b c d | a -> b, a -> c, a -> d where Source

Methods

events :: a -> [d] Source

Instances

Event c => ReactiveField (ReactiveElement a b c) a b c 

onChanged :: (Event d, ReactiveField a b c d) => ProtectedModel c d -> a -> IO () -> IO () Source

class ReactiveField a b c d => ReactiveReadField a b c d where Source

Methods

getter :: a -> Getter b c d Source

Instances

class ReactiveWriteField a b c d where Source

Methods

setter :: a -> Setter b c d Source

Instances

class (ReactiveField a b c d, ReactiveReadField a b c d, ReactiveWriteField a b c d) => ReactiveReadWriteField a b c d where Source

Minimal complete definition

Nothing

Methods

modifier :: a -> Modifier b c d Source

modifierIO :: a -> ModifierIO b c d Source

Instances

data Event c => ReactiveElement a b c Source

Constructors

ReactiveElement 

Fields

reEvents :: [c]
 
reSetter :: Setter a b c
 
reGetter :: Getter a b c
 

Instances