ltk- Leksah tool kit




Module for the basiscs of composing GUIs from editors



type Getter alpha beta = alpha -> betaSource

A type for getting a field of a record

type Setter alpha beta = beta -> alpha -> alphaSource

A type for setting the field of a record

type Injector beta = beta -> IO ()Source

A type for injecting a value into an editor

type Extractor beta = IO (Maybe beta)Source

A type for extracting a value from an editor

type Applicator beta gamma = beta -> gamma ()Source

A type for the application of a value to be reflected in the GUI

type Editor alpha = Parameters -> Notifier -> IO (Widget, Injector alpha, Extractor alpha)Source

A type to describe an editor. alpha is the type of the individual field of the record

getStandardRegFunction :: GUIEventSelector -> GtkRegFuncSource

A convinence method for not repeating this over and over again

data GUIEvent Source

A type for an event in the GUI




selector :: GUIEventSelector
gtkEvent :: Event
eventPaneName :: String
gtkReturn :: Bool

True means that the event has been completely handled, gtk shoudn't do any further action about it (Often not a good idea

type GtkRegFunc = Widget -> GtkHandler -> IO (ConnectId Widget)Source

A type for a function to register a gtk event |

newtype Notifier Source

The event source in the gtk editor context If the second argument is Left Handler the handler gets registered If the second argument is Right Unique the handler will be removed The returned unique value must be used for unregistering an event

activateEvent :: Widget -> Notifier -> Maybe GtkRegFunc -> GUIEventSelector -> IO ()Source

Activate the event after the event has been declared and the widget has been constructed

propagateEvent :: Notifier -> [Notifier] -> GUIEventSelector -> IO ()Source

Propagate the event with the selector from notifier to eventSource