gi-gtk-declarative-0.7.0: Declarative GTK+ programming in Haskell
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Declarative.Container.Patch

Description

This module implements the patch algorithm for containers.

Synopsis

Documentation

class IsContainer container child | container -> child where Source #

Describes supported GTK+ containers and their specialized APIs for appending and replacing child widgets.

Methods

appendChild Source #

Arguments

:: container

Container widget

-> child event

Declarative child widget

-> Widget

GTK child widget to append

-> IO () 

Append a child widget to the container.

replaceChild Source #

Arguments

:: 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

Instances details
IsContainer Grid GridChild Source # 
Instance details

Defined in GI.Gtk.Declarative.Container.Grid

Methods

appendChild :: Grid -> GridChild event -> Widget -> IO () Source #

replaceChild :: Grid -> GridChild event -> Int32 -> Widget -> Widget -> IO () Source #

IsContainer MenuBar MenuItem Source # 
Instance details

Defined in GI.Gtk.Declarative.Container.MenuItem

Methods

appendChild :: MenuBar -> MenuItem event -> Widget -> IO () Source #

replaceChild :: MenuBar -> MenuItem event -> Int32 -> Widget -> Widget -> IO () Source #

IsContainer Notebook Widget Source # 
Instance details

Defined in GI.Gtk.Declarative.Container.Notebook

Methods

appendChild :: Notebook -> Widget event -> Widget0 -> IO () Source #

replaceChild :: Notebook -> Widget event -> Int32 -> Widget0 -> Widget0 -> IO () Source #

IsContainer Paned Pane Source # 
Instance details

Defined in GI.Gtk.Declarative.Container.Paned

Methods

appendChild :: Paned -> Pane event -> Widget -> IO () Source #

replaceChild :: Paned -> Pane event -> Int32 -> Widget -> Widget -> IO () Source #

IsContainer MenuShell MenuItem Source # 
Instance details

Defined in GI.Gtk.Declarative.Container.MenuItem

Methods

appendChild :: MenuShell -> MenuItem event -> Widget -> IO () Source #

replaceChild :: MenuShell -> MenuItem event -> Int32 -> Widget -> Widget -> IO () Source #

IsContainer Menu MenuItem Source # 
Instance details

Defined in GI.Gtk.Declarative.Container.MenuItem

Methods

appendChild :: Menu -> MenuItem event -> Widget -> IO () Source #

replaceChild :: Menu -> MenuItem event -> Int32 -> Widget -> Widget -> IO () Source #

IsContainer Box BoxChild Source # 
Instance details

Defined in GI.Gtk.Declarative.Container.Box

Methods

appendChild :: Box -> BoxChild event -> Widget -> IO () Source #

replaceChild :: Box -> BoxChild event -> Int32 -> Widget -> Widget -> IO () Source #

IsContainer ListBox (Bin ListBoxRow) Source # 
Instance details

Defined in GI.Gtk.Declarative.Container.ListBox

Methods

appendChild :: ListBox -> Bin ListBoxRow event -> Widget -> IO () Source #

replaceChild :: ListBox -> Bin ListBoxRow event -> Int32 -> Widget -> Widget -> IO () Source #

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.