Interface for ui descriptions
Author: Christof Kluss
Version: September 2008
addStyle
:: Widget a b c -> StyleClass -> Widget a b c
|
addStyles
:: Widget a b c -> [StyleClass] -> Widget a b c
|
setStyles
:: Widget a b c -> [StyleClass] -> Widget a b c
|
addHandler
:: Widget a b c -> Handler b c -> Widget a b c
|
addHandlers
:: Widget a b c -> [Handler b c] -> Widget a b c
|
setHandlers
:: Widget a b c -> [Handler b c] -> Widget a b c
|
setRef
:: Widget a b c -> Ref a -> Widget a b c
|
getRef
:: Widget a b c -> (Ref a,Widget a b c)
|
runUI
:: String -> Widget () (UIEnv -> IO ()) () -> IO ()
Run a Widget in a new window. |
exitUI
:: UIEnv -> IO ()
An event handler for terminating the GUI. |
getValue
:: Ref () -> UIEnv -> IO String
Gets the String value of a variable in an UI. |
setValue
:: Ref () -> String -> UIEnv -> IO ()
Sets the String value of a variable in an UI. |
updateValue
:: (String -> String) -> Ref () -> UIEnv -> IO ()
Updates the (String) value of a variable w.r.t. |
appendValue
:: Ref () -> String -> UIEnv -> IO ()
Appends a String value to the contents of a widget. |
changeStyles
:: Ref () -> [StyleClass] -> UIEnv -> IO ()
Changes the style of a widget |
setHandler
:: Ref () -> Event -> (UIEnv -> IO ()) -> UIEnv -> IO ()
Sets a new Handler to a Widget referred by the first argument. |
setDisabled
:: Ref () -> Bool -> UIEnv -> IO ()
Sets the state of a widget to disabled (inactive) or active (inactive widgets do not accept any events) |
addCanvas
:: Ref () -> [CanvasItem] -> UIEnv -> IO ()
Adds a list of canvas items to a canvas referred by the first argument. |
showPopup
:: String -> Widget () (UIEnv -> IO ()) () -> UIEnv -> IO ()
Runs a Widget in a new window. |
showMessage
:: String -> UIEnv -> IO ()
Shows a String Message in a new window. |
colS
:: [StyleClass] -> [Widget a b c] -> Widget a b c
Vertical alignment of widgets. |
col
:: [Widget a b c] -> Widget a b c
|
rowS
:: [StyleClass] -> [Widget a b c] -> Widget a b c
Horizontal alignment of widgets. |
row
:: [Widget a b c] -> Widget a b c
|
matrixS
:: [StyleClass] -> [[Widget a b c]] -> Widget a b c
A 2-dimensional (matrix) alignment of widgets |
matrix
:: [[Widget a b c]] -> Widget a b c
|
entry
:: Ref a -> String -> Widget a b c
An entry widget for entering single lines |
entryS
:: [StyleClass] -> Ref a -> String -> Widget a b c
|
label
:: String -> Widget a b c
A label for showing a text |
labelS
:: [StyleClass] -> String -> Widget a b c
|
button
:: a -> String -> Widget b a c
|
buttonS
:: [StyleClass] -> a -> String -> Widget b a c
|
simpleButton
:: Ref a -> String -> Widget a b c
A button without handler, but reference |
simpleButtonS
:: [StyleClass] -> Ref a -> String -> Widget a b c
|
checkButton
:: Ref a -> b -> String -> Bool -> Widget a b c
A check button: it has value "0" if it is unchecked and value "1" if it is checked |
checkButtonS
:: [StyleClass] -> Ref a -> b -> String -> Bool -> Widget a b c
|
simpleCheckButton
:: Ref a -> String -> Bool -> Widget a b c
|
simpleCheckButtonS
:: [StyleClass] -> Ref a -> String -> Bool -> Widget a b c
|
canvas
:: Ref a -> Int -> Int -> Widget a b c
|
canvasS
:: [StyleClass] -> Ref a -> Int -> Int -> Widget a b c
|
textEdit
:: Ref a -> String -> Int -> Int -> Widget a b c
|
textEditS
:: [StyleClass] -> Ref a -> String -> Int -> Int -> Widget a b c
|
scale
:: Ref a -> b -> Int -> Int -> Widget a b c
A scale widget to input values by a slider |
scaleS
:: [StyleClass] -> Ref a -> b -> Int -> Int -> Widget a b c
|
message
:: Ref a -> Widget a b c
A message for showing simple string values |
messageS
:: [StyleClass] -> Ref a -> Widget a b c
|
:: [Widget a b c] -> Widget a b c
A menubar contains a list of menus |
:: [StyleClass] -> [Widget a b c] -> Widget a b c
|
:: String -> [Widget a b c] -> Widget a b c
A button with a pull-down menu for a menubar |
:: [StyleClass] -> String -> [Widget a b c] -> Widget a b c
|
:: Widget a b c
A separator between menu entries |
:: [StyleClass] -> Widget a b c
|
:: a -> String -> Widget b a c
A button with an associated command and a label string |
:: [StyleClass] -> a -> String -> Widget b a c
|
listBox
:: Int -> [String] -> Ref a -> b -> Widget a b c
A widget containing a list of items for selection |
listBoxS
:: [StyleClass] -> Int -> [String] -> Ref a -> b -> Widget a b c
|
selection
:: Ref a -> [String] -> Widget a b c
A selection button with a reference and a list of name/value pairs. |
selectionInitial
:: Ref a -> [String] -> Int -> Widget a b c
A selection button with a reference, a list of name/value pairs, and a preselected item in this list. |
selectionInitialS
:: [StyleClass] -> Ref a -> [String] -> Int -> Widget a b c
|
radio_main
:: Ref a -> String -> Widget a b c
A main button of a radio (initially "on") with a reference and a value. |
radio_other
:: Ref a -> String -> Widget a b c
A further button of a radio (initially "off") with a reference (identical to the main button of this radio) and a value. |
showBorderStyle
:: BorderStyle -> String
|
showColor
:: Color -> String
Converts a style value into its textual representation. |
showPos
:: Position -> String
|
Constructors:
Cmd
:: a -> Command a b
SpicyDoc
:: b -> Command a b
The data type of references to widgets in a UI window.
Constructors:
Ref
:: a -> Ref a
Constructors:
The generic type of a widget in an UI.
Constructors:
Widget
:: (WidgetKind a b c) -> (Maybe String) -> (Maybe (Ref a)) -> [Handler b c] -> [StyleClass] -> [Widget a b c] -> Widget a b c
The data type of possible events on which handlers can react.
Constructors:
DefaultEvent
:: Event
FocusOut
:: Event
FocusIn
:: Event
MouseButton1
:: Event
MouseButton2
:: Event
MouseButton3
:: Event
KeyPress
:: Event
Return
:: Event
Change
:: Event
Click
:: Event
DoubleClick
:: Event
Constructors:
Col
:: WidgetKind a b c
Row
:: WidgetKind a b c
Matrix
:: [[Widget a b c]] -> WidgetKind a b c
Label
:: WidgetKind a b c
Button
:: WidgetKind a b c
Entry
:: WidgetKind a b c
TextEdit
:: Int -> Int -> WidgetKind a b c
Scale
:: Int -> Int -> WidgetKind a b c
CheckButton
:: Bool -> WidgetKind a b c
Menu
:: WidgetKind a b c
MenuSeparator
:: WidgetKind a b c
MenuBar
:: WidgetKind a b c
MenuItem
:: WidgetKind a b c
Canvas
:: Int -> Int -> WidgetKind a b c
ListBox
:: Int -> [String] -> Int -> WidgetKind a b c
ListBoxItem
:: String -> Bool -> WidgetKind a b c
Name
:: String -> WidgetKind a b c
Link
:: WidgetKind a b c
RadioButton
:: Bool -> WidgetKind a b c
The data type of items in a canvas.
Constructors:
CLine
:: [(Int,Int)] -> String -> CanvasItem
CPolygon
:: [(Int,Int)] -> String -> CanvasItem
CRectangle
:: (Int,Int) -> (Int,Int) -> String -> CanvasItem
COval
:: (Int,Int) -> (Int,Int) -> String -> CanvasItem
CText
:: (Int,Int) -> String -> String -> CanvasItem
Constructors:
Class
:: [Style] -> StyleClass
Constructors:
Center
:: Position
Left
:: Position
Right
:: Position
Top
:: Position
Bottom
:: Position
Constructors:
X
:: Direction
Y
:: Direction
Both
:: Direction
The data type of possible styles.
Constructors:
Align
:: Position -> Style
TextAlign
:: Position -> Style
TextColor
:: Color -> Style
Fill
:: Direction -> Style
Height
:: Int -> Style
Width
:: Int -> Style
Active
:: Bool -> Style
Fg
:: Color -> Style
Bg
:: Color -> Style
Font
:: FontStyle -> Style
Border
:: BorderStyle -> Style
Display
:: Bool -> Style
NameValue
:: String -> String -> Style
Constructors:
Dotted
:: BorderStyle
Dashed
:: BorderStyle
Solid
:: BorderStyle
Constructors:
Bold
:: FontStyle
Italic
:: FontStyle
Underline
:: FontStyle
The data type of possible colors.
Constructors:
Black
:: Color
Blue
:: Color
Brown
:: Color
Cyan
:: Color
Gold
:: Color
Gray
:: Color
Green
:: Color
Magenta
:: Color
Orange
:: Color
Pink
:: Color
Purple
:: Color
Red
:: Color
Tomato
:: Color
Turquoise
:: Color
Violet
:: Color
White
:: Color
Yellow
:: Color
Default
:: Color
Constructors:
|
|
|
|
|
|
|
Updates the (String) value of a variable w.r.t. to an update function. |
Appends a String value to the contents of a widget. |
Changes the style of a widget |
Sets a new Handler to a Widget referred by the first argument. An existing Handler for the same event type is overridden |
Sets the state of a widget to disabled (inactive) or active (inactive widgets do not accept any events) |
Adds a list of canvas items to a canvas referred by the first argument. |
Runs a Widget in a new window. |
Shows a String Message in a new window. |
Vertical alignment of widgets.
|
|
Horizontal alignment of widgets.
|
|
A 2-dimensional (matrix) alignment of widgets
|
|
An entry widget for entering single lines
|
|
A label for showing a text
|
|
|
|
A button without handler, but reference
|
|
A check button: it has value "0" if it is unchecked and value "1" if it is checked
|
|
|
|
|
|
|
|
A scale widget to input values by a slider
|
|
A message for showing simple string values
|
|
A widget containing a list of items for selection |
|
A selection button with a reference and a list of name/value pairs. The names are shown in the selection and the value is returned for the selected name. |
A selection button with a reference, a list of name/value pairs, and a preselected item in this list. The names are shown in the selection and the value is returned for the selected name.
|
|
A main button of a radio (initially "on") with a reference and a value. The value is returned of this button is on. A complete radio button suite always consists of a main button (radiomain) and some further buttons (radioothers) with the same reference. Initially, the main button is selected (or nothing is selected if one uses radiomainoff instead of radio_main). The user can select another button but always at most one button of the radio can be selected. The value corresponding to the selected button is returned in the environment for this radio reference.
|
A further button of a radio (initially "off") with a reference (identical to the main button of this radio) and a value. The value is returned of this button is on.
|
|
Converts a style value into its textual representation.
|