ltk-0.15.0.2: Leksah tool kit

Safe HaskellNone
LanguageHaskell98

Graphics.UI.Editor.Basics

Contents

Description

Module for the basiscs of composing GUIs from editors

Synopsis

Types

type Getter alpha beta = alpha -> beta Source

A type for getting a field of a record

type Setter alpha beta = beta -> alpha -> alpha Source

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

data GUIEvent Source

A type for an event in the GUI

Constructors

GUIEvent 

Fields

selector :: GUIEventSelector
 
eventText :: Text
 
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

data GUIEventSelector Source

Constructors

FocusOut

generic, the widget looses the focus

FocusIn

generic, the widget gets the focus

ButtonPressed

generic, a mouse key has been pressed and released, while the widget has the focus

KeyPressed

generic, a keyboard key has been pressed and released, while the widget has the focus

Clicked

button specific, the button has been pressed

MayHaveChanged

generic, no gui event, the contents of the widget may have changed

ValidationError

validation of a contents has failed

type GtkRegFunc = forall o. GObjectClass o => o -> GtkHandler -> IO Connection 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

data Connection Source

Signal handlers for the different pane types

Constructors

forall alpha . GObjectClass alpha => ConnectC (ConnectId alpha) 

activateEvent :: GObjectClass o => o -> Notifier -> Maybe (o -> IO Bool -> IO Connection) -> 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