| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell98 |
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
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
Instances
| Event c => ReactiveReadField (ReactiveElement a b c) a b c |
class ReactiveWriteField a b c d where Source
Instances
| Event c => ReactiveWriteField (ReactiveElement a b c) a b c |
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
Instances
| Event c => ReactiveReadWriteField (ReactiveElement a b c) a b c |
data Event c => ReactiveElement a b c Source
Instances
| Event c => ReactiveReadWriteField (ReactiveElement a b c) a b c | |
| Event c => ReactiveWriteField (ReactiveElement a b c) a b c | |
| Event c => ReactiveReadField (ReactiveElement a b c) a b c | |
| Event c => ReactiveField (ReactiveElement a b c) a b c |
type FieldAccessor a b c = ProtectedModel b c -> ReactiveFieldReadWrite IO a Source
mkFieldAccessor :: (InitialisedEvent c, Event c) => ReactiveElement a b c -> ProtectedModel b c -> ReactiveFieldReadWrite IO a Source