wx-0.90.0.1: wxHaskell

Portabilityportable
Stabilityprovisional
Maintainerwxhaskell-devel@lists.sourceforge.net
Safe HaskellNone

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

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

Widgets with a label or text field.

Methods

text :: Attr w String

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 ()

class Literate w where

Widgets with a font.

Methods

font :: Attr w FontStyle

The font of the widget.

fontSize :: Attr w Int

The font size.

fontWeight :: Attr w FontWeight

The font weight.

fontFamily :: Attr w FontFamily

The font family.

fontShape :: Attr w FontShape

The font style.

fontFace :: Attr w String

The font face: determines a platform dependent font.

fontUnderline :: Attr w Bool

Is the font underlined?

textColor :: Attr w Color

Text color.

textBgcolor :: Attr w Color

Text background color

Instances

Rendering

class Dimensions w where

Widgets that have a size.

Methods

outerSize :: Attr w Size

The outer size of a widget (in pixels).

position :: Attr w Point

The (relative) position of a widget.

area :: Attr w Rect

The occupied area.

bestSize :: ReadAttr w Size

The preferred size of a widget.

clientSize :: Attr w Size

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

virtualSize :: Attr w Size

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

Instances

class Colored w where

Methods

bgcolor :: Attr w Color

The background color.

color :: Attr w Color

The (foreground) color

Instances

class Visible w where

Visible widgets.

Methods

visible :: Attr w Bool

Is the widget visible?

refresh :: w -> IO ()

Refresh the widget explicitly.

fullRepaintOnResize :: Attr w Bool

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

Widgets with a border.

Methods

border :: Attr w Border

Specify the border of a widget.

Instances

Hierarchy

class Child w where

Widgets that are part of a hierarchical order.

Methods

parent :: ReadAttr w (Window ())

The parent widget.

Instances

class Parent w where

Parent widgets.

Methods

children :: ReadAttr w [Window ()]

Get the child widgets of a window.

clipChildren :: Attr w Bool

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

Widgets that can be closed.

Methods

close :: w -> IO ()

Close the widget.

Instances

Containers

class Selection w where

Widgets with a single selection (radio group or listbox)

Methods

selection :: Attr w Int

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

class Selections w where

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

Methods

selections :: Attr w [Int]

The currently selected items in zero-based indices.

Instances

class Items w a | w -> a where

Widgets containing certain items (like strings in a listbox)

Methods

itemCount :: ReadAttr w Int

Number of items.

items :: Attr w [a]

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

item :: Int -> Attr w a

An item by zero-based index.

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

Delete an item. Only valid for writeable items.

itemsDelete :: w -> IO ()

Delete all items. Only valid for writeable items.

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

Append an item. Only valid for writeable items.

Misc.

class Able w where

Widgets that can be enabled or disabled.

Methods

enabled :: Attr w Bool

Enable, or disable, the widget.

class Help w where

Widgets with help text.

Methods

help :: Attr w String

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

Instances

class Tipped w where

Widgets that have a tooltip

Methods

tooltip :: Attr w String

The tooltip information

class Identity w where

The identity determines the wxWindows ID of a widget.

Methods

identity :: Attr w Int

The identity determines the wxWindows ID of a widget.

class Styled w where

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

Methods

style :: Attr w Int

The windows style.

Instances

class Framed w where

Widgets that have a system frame around them.

Methods

resizeable :: Attr w Bool

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

minimizeable :: Attr w Bool

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

maximizeable :: Attr w Bool

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

closeable :: Attr w Bool

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

Instances

class Checkable w where

Checkable widgets

Methods

checkable :: Attr w Bool

Is the widget checkable?

checked :: Attr w Bool

Is the widget checked?

class Dockable w where

Dockable widgets.

Methods

dockable :: Attr w Bool

Is the widget dockable?

class Pictured w where

Widgets with a picture.

Methods

picture :: Attr w FilePath

The image of a widget.

class Valued w where

Items with a value.

Methods

value :: Attr (w a) a

The value of an object.

Instances

class Sized w where

Sized objects (like bitmaps)

Methods

size :: Attr w Size

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

Instances

class HasDefault w where

Objects which activate a Window by default keypress

Methods

unsafeDefaultItem :: Attr w (Window ())

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 ())

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

Instances