wx-0.91.0.0: wxHaskell

Safe HaskellNone
LanguageHaskell98

Graphics.UI.WX.Classes

Contents

Description

This modules defines attributes common to many widgets and organizes them into Haskell classes. Look at the instance definitions to see what kind of widgets support the attributes.

Sometimes it is hard to find what attributes a certain widget supports since the instance definitions might be on some class higher in the hierarchy. For example, many instances are defined for Window a -- this means that all those attributes are applicable to any kind of Window, i.e. frames, buttons, panels etc. However, these attributes will not be explicitly listed at the type definitions of those classes.

Synopsis

Data types

data Border Source

Window borders

Constructors

BorderSimple

Displays a thin border around the window.

BorderDouble

Displays a double border. Windows only.

BorderSunken

Displays a sunken border.

BorderRaised

Displays a raised border.

BorderStatic

Displays a border suitable for a static control. Windows only

BorderNone

No border

Text

class Textual w where Source

Widgets with a label or text field.

Minimal complete definition

text

Methods

text :: Attr w String Source

The text of a widget. It is interpreted differently for for different widgets, for example, the title of a frame or the content of a static text control.

appendText :: w -> String -> IO () Source

class Literate w where Source

Widgets with a font.

Minimal complete definition

font, textColor, textBgcolor

Methods

font :: Attr w FontStyle Source

The font of the widget.

fontSize :: Attr w Int Source

The font size.

fontWeight :: Attr w FontWeight Source

The font weight.

fontFamily :: Attr w FontFamily Source

The font family.

fontShape :: Attr w FontShape Source

The font style.

fontFace :: Attr w String Source

The font face: determines a platform dependent font.

fontUnderline :: Attr w Bool Source

Is the font underlined?

textColor :: Attr w Color Source

Text color.

textBgcolor :: Attr w Color Source

Text background color

Instances

Rendering

class Dimensions w where Source

Widgets that have a size.

Minimal complete definition

Nothing

Methods

outerSize :: Attr w Size Source

The outer size of a widget (in pixels).

position :: Attr w Point Source

The (relative) position of a widget.

area :: Attr w Rect Source

The occupied area.

bestSize :: ReadAttr w Size Source

The preferred size of a widget.

clientSize :: Attr w Size Source

The area available for client use (i.e. without the border etc).

virtualSize :: Attr w Size Source

The virtual size of a widget (ie. the total scrolling area)

Instances

class Colored w where Source

Minimal complete definition

Nothing

Methods

bgcolor :: Attr w Color Source

The background color.

color :: Attr w Color Source

The (foreground) color

Instances

class Visible w where Source

Visible widgets.

Minimal complete definition

Nothing

Methods

visible :: Attr w Bool Source

Is the widget visible?

refresh :: w -> IO () Source

Refresh the widget explicitly.

fullRepaintOnResize :: Attr w Bool Source

Should the widget be fully repainted on resize? This attribute only has effect when set at creation. If False, you will have to repaint the new window area manually at a resize, but flickering caused by background redraws can be prevented in this way. (False by default)

Instances

class Bordered w where Source

Widgets with a border.

Minimal complete definition

Nothing

Methods

border :: Attr w Border Source

Specify the border of a widget.

Instances

Hierarchy

class Child w where Source

Widgets that are part of a hierarchical order.

Minimal complete definition

Nothing

Methods

parent :: ReadAttr w (Window ()) Source

The parent widget.

Instances

class Parent w where Source

Parent widgets.

Minimal complete definition

Nothing

Methods

children :: ReadAttr w [Window ()] Source

Get the child widgets of a window.

clipChildren :: Attr w Bool Source

Reduce flicker by not redrawing the background under child controls. This attribute has to be set at creation time. (True by default)

Instances

class Closeable w where Source

Widgets that can be closed.

Methods

close :: w -> IO () Source

Close the widget.

Instances

Containers

class Selection w where Source

Widgets with a single selection (radio group or listbox)

Methods

selection :: Attr w Int Source

The current selection as a zero-based index. Certain widgets return -1 when no item is selected.

class Selections w where Source

Widget with zero or more selections (multi select list boxes)

Methods

selections :: Attr w [Int] Source

The currently selected items in zero-based indices.

Instances

class Items w a | w -> a where Source

Widgets containing certain items (like strings in a listbox)

Minimal complete definition

itemCount, item, itemDelete

Methods

itemCount :: ReadAttr w Int Source

Number of items.

items :: Attr w [a] Source

All the items as a list. This attribute might not be writable for some widgets (like radioboxes)

item :: Int -> Attr w a Source

An item by zero-based index.

itemDelete :: w -> Int -> IO () Source

Delete an item. Only valid for writeable items.

itemsDelete :: w -> IO () Source

Delete all items. Only valid for writeable items.

itemAppend :: w -> a -> IO () Source

Append an item. Only valid for writeable items.

Misc.

class Able w where Source

Widgets that can be enabled or disabled.

Methods

enabled :: Attr w Bool Source

Enable, or disable, the widget.

class Help w where Source

Widgets with help text.

Methods

help :: Attr w String Source

Short help text, normally displayed in the status bar or popup balloon.

Instances

class Tipped w where Source

Widgets that have a tooltip

Methods

tooltip :: Attr w String Source

The tooltip information

class Identity w where Source

The identity determines the wxWidgets ID of a widget.

Methods

identity :: Attr w Int Source

The identity determines the wxWidgets ID of a widget.

class Styled w where Source

The style is a bitmask that determines various properties of a widget.

Methods

style :: Attr w Int Source

The windows style.

Instances

class Framed w where Source

Widgets that have a system frame around them.

Minimal complete definition

Nothing

Methods

resizeable :: Attr w Bool Source

Make the widget user resizeable? This attribute must be set at creation time.

minimizeable :: Attr w Bool Source

Can the widget be minimized? This attribute must be set at creation time.

maximizeable :: Attr w Bool Source

Can the widget be maximized? This attribute must be set at creation time and is normally used together with resizeable.

closeable :: Attr w Bool Source

Can the widget be closed by the user? This attribute must be set at creation time.

Instances

class Checkable w where Source

Checkable widgets

Methods

checkable :: Attr w Bool Source

Is the widget checkable?

checked :: Attr w Bool Source

Is the widget checked?

class Dockable w where Source

Dockable widgets.

Methods

dockable :: Attr w Bool Source

Is the widget dockable?

class Pictured w where Source

Widgets with a picture.

Methods

picture :: Attr w FilePath Source

The image of a widget.

class Valued w where Source

Items with a value.

Methods

value :: Attr (w a) a Source

The value of an object.

Instances

class Sized w where Source

Sized objects (like bitmaps)

Methods

size :: Attr w Size Source

The size of an object. (is outerSize for Dimensions widgets).

Instances

class HasDefault w where Source

Objects which activate a Window by default keypress

Methods

unsafeDefaultItem :: Attr w (Window ()) Source

Define a default item as any type deriving from Window. Great care is required when using this option as you will have to cast the item to/from Window() using objectCast. For the common use case where the window in question is a Button, please use defaultButton as it is typesafe.

defaultButton :: Attr w (Button ()) Source

Define the default button for a TopLevelWindow. This is recommended for most use cases as the most common default control is a Button.

Instances