Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module implements the patch algorithm for containers.
Synopsis
- class IsContainer container child | container -> child where
- appendChild :: container -> child event -> Widget -> IO ()
- replaceChild :: container -> child event -> Int32 -> Widget -> Widget -> IO ()
- patchInContainer :: (IsWidget container, IsContainer container, Patchable child, IsContainer container child) => StateTree ContainerState container child event cs -> container -> Vector (child e1) -> Vector (child e2) -> IO (StateTree ContainerState container child event cs)
Documentation
class IsContainer container child | container -> child where Source #
Describes supported GTK+ containers and their specialized APIs for appending and replacing child widgets.
:: container | Container widget |
-> child event | Declarative child widget |
-> Widget | GTK child widget to append |
-> IO () |
Append a child widget to the container.
:: container | Container widget |
-> child event | Declarative child widget |
-> Int32 | Index to replace at |
-> Widget | Old GTK widget to replace |
-> Widget | New GTK widget to replace with |
-> IO () |
Replace the child widget at the given index in the container.
Instances
IsContainer Box BoxChild Source # | |
Defined in GI.Gtk.Declarative.Container.Box | |
IsContainer Menu MenuItem Source # | |
Defined in GI.Gtk.Declarative.Container.MenuItem | |
IsContainer MenuBar MenuItem Source # | |
Defined in GI.Gtk.Declarative.Container.MenuItem | |
IsContainer MenuShell MenuItem Source # | |
Defined in GI.Gtk.Declarative.Container.MenuItem | |
IsContainer Paned Pane Source # | |
Defined in GI.Gtk.Declarative.Container.Paned | |
IsContainer ListBox (Bin ListBoxRow) Source # | |
Defined in GI.Gtk.Declarative.Container.ListBox |
patchInContainer :: (IsWidget container, IsContainer container, Patchable child, IsContainer container child) => StateTree ContainerState container child event cs -> container -> Vector (child e1) -> Vector (child e2) -> IO (StateTree ContainerState container child event cs) Source #
Patch all children in a container. This does not feature any ID checking, as seen in React, so reordering children in a container can produce many updates.