Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Editor a = Editor {
- editorTidings :: Tidings a
- editorElement :: Element
- edited :: Editor a -> Event a
- contents :: Editor a -> Behavior a
- class Editable a where
- data EditorDef a = EditorDef {
- editorDefTidings :: Tidings a
- editorDefLayout :: Layout
- editorDefSetup :: UI Element -> UI Element
- runEditorDef :: EditorDef a -> UI (Editor a)
- liftEditorDef :: (UI Element -> UI Element) -> EditorDef a -> EditorDef a
- data Layout
- (|*|) :: Compose UI EditorDef (b -> a) -> Compose UI EditorDef b -> Compose UI EditorDef a
- (|*) :: Compose UI EditorDef a -> UI Element -> Compose UI EditorDef a
- (*|) :: UI Element -> Compose UI EditorDef a -> Compose UI EditorDef a
- (-*-) :: Compose UI EditorDef (b -> a) -> Compose UI EditorDef b -> Compose UI EditorDef a
- (-*) :: Compose UI EditorDef a -> UI Element -> Compose UI EditorDef a
- (*-) :: UI Element -> Compose UI EditorDef a -> Compose UI EditorDef a
- editorReadShow :: (Read a, Show a) => Behavior (Maybe a) -> Compose UI EditorDef (Maybe a)
- editorEnumBounded :: (Bounded a, Enum a, Ord a, Show a) => Behavior (a -> UI Element) -> Behavior (Maybe a) -> Compose UI EditorDef (Maybe a)
- editorSelection :: Ord a => Behavior [a] -> Behavior (a -> UI Element) -> Behavior (Maybe a) -> Compose UI EditorDef (Maybe a)
- editorSum :: (Ord tag, Show tag) => [(tag, Compose UI EditorDef a)] -> (a -> tag) -> Behavior a -> Compose UI EditorDef a
- editorJust :: (Behavior (Maybe b) -> Compose UI EditorDef (Maybe b)) -> Behavior b -> Compose UI EditorDef b
- newtype Compose k k1 f g a :: forall k k1. (k1 -> *) -> (k -> k1) -> k -> * = Compose {
- getCompose :: f (g a)
Editors
A widget for editing values of type a
.
Editor | |
|
Editor definitions
EditorDef | |
|
Layouts
Editor composition
(|*|) :: Compose UI EditorDef (b -> a) -> Compose UI EditorDef b -> Compose UI EditorDef a infixl 4 Source #
Left-right editor composition
(|*) :: Compose UI EditorDef a -> UI Element -> Compose UI EditorDef a infixl 5 Source #
Left-right composition of an element with a editor
(*|) :: UI Element -> Compose UI EditorDef a -> Compose UI EditorDef a infixl 5 Source #
Left-right composition of an element with a editor
(-*-) :: Compose UI EditorDef (b -> a) -> Compose UI EditorDef b -> Compose UI EditorDef a infixl 4 Source #
Top-down editor composition
(-*) :: Compose UI EditorDef a -> UI Element -> Compose UI EditorDef a infixl 5 Source #
Top-down composition of an element with a editor
(*-) :: UI Element -> Compose UI EditorDef a -> Compose UI EditorDef a infixl 5 Source #
Top-down composition of an element with a editor
Editor constructors
editorEnumBounded :: (Bounded a, Enum a, Ord a, Show a) => Behavior (a -> UI Element) -> Behavior (Maybe a) -> Compose UI EditorDef (Maybe a) Source #
editorSelection :: Ord a => Behavior [a] -> Behavior (a -> UI Element) -> Behavior (Maybe a) -> Compose UI EditorDef (Maybe a) Source #
An editor that presents a dynamic choice of values.
editorSum :: (Ord tag, Show tag) => [(tag, Compose UI EditorDef a)] -> (a -> tag) -> Behavior a -> Compose UI EditorDef a Source #
An editor for union types, built from editors for its constructors.
editorJust :: (Behavior (Maybe b) -> Compose UI EditorDef (Maybe b)) -> Behavior b -> Compose UI EditorDef b Source #
Reexports
newtype Compose k k1 f g a :: forall k k1. (k1 -> *) -> (k -> k1) -> k -> * infixr 9 #
Right-to-left composition of functors. The composition of applicative functors is always applicative, but the composition of monads is not always a monad.
Compose infixr 9 | |
|
(Functor f, Functor g) => Functor (Compose * * f g) | |
(Applicative f, Applicative g) => Applicative (Compose * * f g) | |
(Foldable f, Foldable g) => Foldable (Compose * * f g) | |
(Traversable f, Traversable g) => Traversable (Compose * * f g) | |
Functor f => Generic1 (Compose * * f g) | |
(Alternative f, Applicative g) => Alternative (Compose * * f g) | |
(Eq1 f, Eq1 g) => Eq1 (Compose * * f g) | |
(Ord1 f, Ord1 g) => Ord1 (Compose * * f g) | |
(Read1 f, Read1 g) => Read1 (Compose * * f g) | |
(Show1 f, Show1 g) => Show1 (Compose * * f g) | |
(Eq1 f, Eq1 g, Eq a) => Eq (Compose * * f g a) | |
(Data (f (g a)), Typeable * k, Typeable * k1, Typeable (k1 -> k) g, Typeable (k -> *) f, Typeable k1 a) => Data (Compose k1 k f g a) | |
(Ord1 f, Ord1 g, Ord a) => Ord (Compose * * f g a) | |
(Read1 f, Read1 g, Read a) => Read (Compose * * f g a) | |
(Show1 f, Show1 g, Show a) => Show (Compose * * f g a) | |
Generic (Compose k1 k f g a) | |
type Rep1 (Compose * * f g) | |
type Rep (Compose k1 k f g a) | |