ContentsIndex
Graphics.UI.WX.Controls
Contents
Classes
Containers
Controls
Button
Text entry
CheckBox
Choice
ComboBox
ListBox
RadioBox
Spin Control
Slider
Gauge
Tree control
List control
Static text
SplitterWindow
ImageList
MediaCtrl
StyledTextCtrl
Description
Synopsis
data Align
= AlignLeft
| AlignRight
| AlignCentre
class Aligned w where
alignment :: CreateAttr w Align
alignment :: Aligned w => CreateAttr w Align
data Wrap
= WrapNone
| WrapLine
| WrapWord
class Wrapped w where
wrap :: CreateAttr w Wrap
wrap :: Wrapped w => CreateAttr w Wrap
class Sorted w where
sorted :: CreateAttr w Bool
sorted :: Sorted w => CreateAttr w Bool
type Panel a = Window (CPanel a)
panel :: Window a -> [Prop (Panel ())] -> IO (Panel ())
panelEx :: Window a -> Style -> [Prop (Panel ())] -> IO (Panel ())
defaultButton :: Attr (Panel p) (Button ())
type Notebook a = Control (CNotebook a)
notebook :: Window a -> [Prop (Notebook ())] -> IO (Notebook ())
focusOn :: Window a -> IO ()
type Button a = Control (CButton a)
button :: Window a -> [Prop (Button ())] -> IO (Button ())
buttonEx :: Window a -> Style -> [Prop (Button ())] -> IO (Button ())
smallButton :: Window a -> [Prop (Button ())] -> IO (Button ())
type BitmapButton a = Button (CBitmapButton a)
bitmapButton :: Window a -> [Prop (BitmapButton ())] -> IO (BitmapButton ())
type TextCtrl a = Control (CTextCtrl a)
entry :: Window a -> [Prop (TextCtrl ())] -> IO (TextCtrl ())
textEntry :: Window a -> [Prop (TextCtrl ())] -> IO (TextCtrl ())
textCtrl :: Window a -> [Prop (TextCtrl ())] -> IO (TextCtrl ())
textCtrlRich :: Window a -> [Prop (TextCtrl ())] -> IO (TextCtrl ())
textCtrlEx :: Window a -> Style -> [Prop (TextCtrl ())] -> IO (TextCtrl ())
processEnter :: Styled w => Attr w Bool
processTab :: Styled w => Attr w Bool
type CheckBox a = Control (CCheckBox a)
checkBox :: Window a -> [Prop (CheckBox ())] -> IO (CheckBox ())
type Choice a = Control (CChoice a)
choice :: Window a -> [Prop (Choice ())] -> IO (Choice ())
choiceEx :: Window a -> Style -> [Prop (Choice ())] -> IO (Choice ())
type ComboBox a = Choice (CComboBox a)
comboBox :: Window a -> [Prop (ComboBox ())] -> IO (ComboBox ())
comboBoxEx :: Window a -> Style -> [Prop (ComboBox ())] -> IO (ComboBox ())
type ListBox a = Control (CListBox a)
type SingleListBox a = ListBox (CSingleListBox a)
type MultiListBox a = ListBox (CMultiListBox a)
singleListBox :: Window a -> [Prop (SingleListBox ())] -> IO (SingleListBox ())
multiListBox :: Window a -> [Prop (MultiListBox ())] -> IO (MultiListBox ())
type RadioBox a = Control (CRadioBox a)
radioBox :: Window a -> Orientation -> [String] -> [Prop (RadioBox ())] -> IO (RadioBox ())
type SpinCtrl a = Control (CSpinCtrl a)
spinCtrl :: Window a -> Int -> Int -> [Prop (SpinCtrl ())] -> IO (SpinCtrl ())
type Slider a = Control (CSlider a)
hslider :: Window a -> Bool -> Int -> Int -> [Prop (Slider ())] -> IO (Slider ())
vslider :: Window a -> Bool -> Int -> Int -> [Prop (Slider ())] -> IO (Slider ())
sliderEx :: Window a -> Int -> Int -> Style -> [Prop (Slider ())] -> IO (Slider ())
type Gauge a = Control (CGauge a)
hgauge :: Window a -> Int -> [Prop (Gauge ())] -> IO (Gauge ())
vgauge :: Window a -> Int -> [Prop (Gauge ())] -> IO (Gauge ())
gaugeEx :: Window a -> Int -> Style -> [Prop (Gauge ())] -> IO (Gauge ())
type TreeCtrl a = Control (CTreeCtrl a)
treeCtrl :: Window a -> [Prop (TreeCtrl ())] -> IO (TreeCtrl ())
treeCtrlEx :: Window a -> Style -> [Prop (TreeCtrl ())] -> IO (TreeCtrl ())
treeEvent :: Event (TreeCtrl a) (EventTree -> IO ())
type ListCtrl a = Control (CListCtrl a)
listCtrl :: Window a -> [Prop (ListCtrl ())] -> IO (ListCtrl ())
listCtrlEx :: Window a -> Style -> [Prop (ListCtrl ())] -> IO (ListCtrl ())
listEvent :: Event (ListCtrl a) (EventList -> IO ())
columns :: Attr (ListCtrl a) [(String, Align, Int)]
type StaticText a = Control (CStaticText a)
staticText :: Window a -> [Prop (StaticText ())] -> IO (StaticText ())
type SplitterWindow a = Window (CSplitterWindow a)
splitterWindow :: Window a -> [Prop (SplitterWindow ())] -> IO (SplitterWindow ())
type ImageList a = WxObject (CImageList a)
imageList :: Size -> IO (ImageList ())
imageListFromFiles :: Size -> [FilePath] -> IO (ImageList ())
data MediaCtrlBackend
= DirectShow
| MediaControlInterface
| WindowsMediaPlayer10
| QuickTime
| GStreamer
| DefaultBackend
type MediaCtrl a = Window (CMediaCtrl a)
mediaCtrl :: Window a -> [Prop (MediaCtrl ())] -> IO (MediaCtrl ())
mediaCtrlWithBackend :: Window a -> MediaCtrlBackend -> [Prop (MediaCtrl ())] -> IO (MediaCtrl ())
mediaCtrlEx :: Window a -> Style -> MediaCtrlBackend -> [Prop (MediaCtrl ())] -> IO (MediaCtrl ())
type StyledTextCtrl a = Control (CStyledTextCtrl a)
stcEvent :: Event (StyledTextCtrl ()) (EventSTC -> IO ())
styledTextCtrl :: Window a -> [Prop (StyledTextCtrl ())] -> IO (StyledTextCtrl ())
styledTextCtrlEx :: Window a -> Style -> [Prop (StyledTextCtrl ())] -> IO (StyledTextCtrl ())
Classes
data Align
Alignment.
Constructors
AlignLeft
AlignRight
AlignCentre
show/hide Instances
class Aligned w where
Widgets that can have aligned content. Note: this property is not used to set the alignment of a widget itself -- See Graphics.UI.WXCore.Layout for more information about layout.
Methods
alignment :: CreateAttr w Align
Set the alignment of the content. Due to wxWidgets constrictions, this property has to be set at creation time.
show/hide Instances
alignment :: Aligned w => CreateAttr w Align
Set the alignment of the content. Due to wxWidgets constrictions, this property has to be set at creation time.
data Wrap
Wrap mode.
Constructors
WrapNoneNo wrapping (and show a horizontal scrollbar).
WrapLineWrap lines that are too long at any position.
WrapWordWrap lines that are too long at word boundaries.
show/hide Instances
class Wrapped w where
Widgets that have wrappable content.
Methods
wrap :: CreateAttr w Wrap
Set the wrap mode of a widget.
show/hide Instances
wrap :: Wrapped w => CreateAttr w Wrap
Set the wrap mode of a widget.
class Sorted w where
Widgets that have sorted contents.
Methods
sorted :: CreateAttr w Bool
Is the content of the widget sorted?
show/hide Instances
sorted :: Sorted w => CreateAttr w Bool
Is the content of the widget sorted?
Containers
type Panel a = Window (CPanel a)
Pointer to an object of type Panel, derived from Window.
panel :: Window a -> [Prop (Panel ())] -> IO (Panel ())

Create a Panel, a window that is normally used as a container for controls. It has a standard background and maintains standard keyboard navigation (ie. Tab moves through the controls).

panelEx :: Window a -> Style -> [Prop (Panel ())] -> IO (Panel ())

Create a Panel with a specific style.

defaultButton :: Attr (Panel p) (Button ())
type Notebook a = Control (CNotebook a)
Pointer to an object of type Notebook, derived from Control.
notebook :: Window a -> [Prop (Notebook ())] -> IO (Notebook ())

Create a Notebook. Layout is managed with the tabs combinator.

focusOn :: Window a -> IO ()
Set the initial focus on this control.
Controls
Button
type Button a = Control (CButton a)
Pointer to an object of type Button, derived from Control.
button :: Window a -> [Prop (Button ())] -> IO (Button ())

Create a standard push button.

buttonEx :: Window a -> Style -> [Prop (Button ())] -> IO (Button ())

Create a standard push button with the given flags.

smallButton :: Window a -> [Prop (Button ())] -> IO (Button ())

Create a minimially sized push button.

type BitmapButton a = Button (CBitmapButton a)
Pointer to an object of type BitmapButton, derived from Button.
bitmapButton :: Window a -> [Prop (BitmapButton ())] -> IO (BitmapButton ())

Create a bitmap button. Use the image attribute to set the bitmap.

Text entry
type TextCtrl a = Control (CTextCtrl a)
Pointer to an object of type TextCtrl, derived from Control.
entry :: Window a -> [Prop (TextCtrl ())] -> IO (TextCtrl ())

Create a single-line text entry control. Note: alignment has to be set at creation time (or the entry has default alignment (=left) ).

textEntry :: Window a -> [Prop (TextCtrl ())] -> IO (TextCtrl ())

Create a single-line text entry control. Note: alignment has to be set at creation time (or the entry has default alignment (=left) ).

textCtrl :: Window a -> [Prop (TextCtrl ())] -> IO (TextCtrl ())

Create a multi-line text control. Note: the wrap and alignment have to be set at creation time or the default to WrapNone and AlignLeft respectively.

textCtrlRich :: Window a -> [Prop (TextCtrl ())] -> IO (TextCtrl ())

Create a multi-line text rich-text control with a certain wrap mode Enables font and color settings on windows, while being equal to textCtrl on other platforms. Note: the wrap and alignment have to be set at creation time or the default to WrapNone and AlignLeft respectively.

textCtrlEx :: Window a -> Style -> [Prop (TextCtrl ())] -> IO (TextCtrl ())

Create a generic text control given a certain style.

processEnter :: Styled w => Attr w Bool
Process enter key events, used in a comboBox or textCtrl and catched using a on command handler. (otherwise pressing Enter is either processed internally by the control or used for navigation between dialog controls).
processTab :: Styled w => Attr w Bool
Process tab key events, used in a comboBox or textCtrl. (otherwise pressing Tab is either processed internally by the control or used for navigation between dialog controls).
CheckBox
type CheckBox a = Control (CCheckBox a)
Pointer to an object of type CheckBox, derived from Control.
checkBox :: Window a -> [Prop (CheckBox ())] -> IO (CheckBox ())

Create a new checkbox.

Choice
type Choice a = Control (CChoice a)
Pointer to an object of type Choice, derived from Control.
choice :: Window a -> [Prop (Choice ())] -> IO (Choice ())

Create a choice item to select a one of a list of strings.

choiceEx :: Window a -> Style -> [Prop (Choice ())] -> IO (Choice ())

Create a choice item, given a set of style flags, to select a one of a list of strings

ComboBox
type ComboBox a = Choice (CComboBox a)
Pointer to an object of type ComboBox, derived from Choice.
comboBox :: Window a -> [Prop (ComboBox ())] -> IO (ComboBox ())

Create a new combo box.

A command event is triggered when the enter key is pressed and when processEnter has been set to True.

comboBoxEx :: Window a -> Style -> [Prop (ComboBox ())] -> IO (ComboBox ())

Create a new combo box with a given set of flags.

A command event is triggered when the enter key is pressed and when processEnter has been set to True.

ListBox
type ListBox a = Control (CListBox a)
Pointer to an object of type ListBox, derived from Control.
type SingleListBox a = ListBox (CSingleListBox a)
Pointer to single selection list boxes, deriving from ListBox.
type MultiListBox a = ListBox (CMultiListBox a)
Pointer to multiple selection list boxes, deriving from ListBox.
singleListBox :: Window a -> [Prop (SingleListBox ())] -> IO (SingleListBox ())

Create a single selection list box.

multiListBox :: Window a -> [Prop (MultiListBox ())] -> IO (MultiListBox ())
RadioBox
type RadioBox a = Control (CRadioBox a)
Pointer to an object of type RadioBox, derived from Control.
radioBox :: Window a -> Orientation -> [String] -> [Prop (RadioBox ())] -> IO (RadioBox ())

Create a new radio button group with an initial orientation and a list of labels. Use selection to get the currently selected item.

Spin Control
type SpinCtrl a = Control (CSpinCtrl a)
Pointer to an object of type SpinCtrl, derived from Control.
spinCtrl :: Window a -> Int -> Int -> [Prop (SpinCtrl ())] -> IO (SpinCtrl ())

Create a spin control: a text field with up/down buttons. The value (selection) is always between a specified minimum and maximum.

Slider
type Slider a = Control (CSlider a)
Pointer to an object of type Slider, derived from Control.
hslider :: Window a -> Bool -> Int -> Int -> [Prop (Slider ())] -> IO (Slider ())

Create a horizontal slider with a specified minimum and maximum. Set the Bool argument to True to show labels (minimumn, maximum, and current value). The selection attribute gives the current value.

vslider :: Window a -> Bool -> Int -> Int -> [Prop (Slider ())] -> IO (Slider ())

Create a vertical slider with a specified minimum and maximum. Set the Bool argument to True to show labels (minimumn, maximum, and current value). The selection attribute gives the current value.

sliderEx :: Window a -> Int -> Int -> Style -> [Prop (Slider ())] -> IO (Slider ())

Create a slider with a specified minimum and maximum. The selection attribute gives the current value.

Gauge
type Gauge a = Control (CGauge a)
Pointer to an object of type Gauge, derived from Control.
hgauge :: Window a -> Int -> [Prop (Gauge ())] -> IO (Gauge ())

Create a horizontal gauge with a specified integer range (max value). The selection attribute determines the position of the gauge.

vgauge :: Window a -> Int -> [Prop (Gauge ())] -> IO (Gauge ())

Create a vertical gauge with a specified integer range (max value). The selection attribute determines the position of the gauge.

gaugeEx :: Window a -> Int -> Style -> [Prop (Gauge ())] -> IO (Gauge ())

Create a gauge control. The selection attribute determines the position of the gauge.

Tree control
type TreeCtrl a = Control (CTreeCtrl a)
Pointer to an object of type TreeCtrl, derived from Control.
treeCtrl :: Window a -> [Prop (TreeCtrl ())] -> IO (TreeCtrl ())

Create a single-selection tree control with buttons (i.e. + and - signs).

treeCtrlEx :: Window a -> Style -> [Prop (TreeCtrl ())] -> IO (TreeCtrl ())

Create a tree control.

treeEvent :: Event (TreeCtrl a) (EventTree -> IO ())
Tree control events.
List control
type ListCtrl a = Control (CListCtrl a)
Pointer to an object of type ListCtrl, derived from Control.
listCtrl :: Window a -> [Prop (ListCtrl ())] -> IO (ListCtrl ())

Create a report-style list control.

listCtrlEx :: Window a -> Style -> [Prop (ListCtrl ())] -> IO (ListCtrl ())

Create a list control.

listEvent :: Event (ListCtrl a) (EventList -> IO ())
List control events.
columns :: Attr (ListCtrl a) [(String, Align, Int)]
The columns attribute controls the columns in a report-view list control.
Static text
type StaticText a = Control (CStaticText a)
Pointer to an object of type StaticText, derived from Control.
staticText :: Window a -> [Prop (StaticText ())] -> IO (StaticText ())
Create static text label, see also label.
SplitterWindow
type SplitterWindow a = Window (CSplitterWindow a)
Pointer to an object of type SplitterWindow, derived from Window.
splitterWindow :: Window a -> [Prop (SplitterWindow ())] -> IO (SplitterWindow ())

Create a splitter window.

ImageList
type ImageList a = WxObject (CImageList a)
Pointer to an object of type ImageList, derived from WxObject.
imageList :: Size -> IO (ImageList ())
Create an empty image list that will contain images of the desired size.
imageListFromFiles :: Size -> [FilePath] -> IO (ImageList ())
Create an image list containing the images in the supplied file name list that will be scaled towards the desired size.
MediaCtrl
data MediaCtrlBackend
Optional back-end for your MediaCtrl. If you want to know more about back-end, you must see wxWidgets' Document. http://www.wxwidgets.org/manuals/stable/wx_wxmediactrl.html#choosingbackendwxmediactrl
Constructors
DirectShowUse ActiveMovie/DirectShow. Default back-end on Windows.
MediaControlInterfaceUse Media Command Interface. Windows Only.
WindowsMediaPlayer10Use Windows Media Player 10. Windows Only. Require to use wxWidgets 2.8.x.
QuickTimeUse QuickTime. Mac Only.
GStreamerUse GStreamer. Unix Only. Require GStreamer and GStreamer Support.
DefaultBackendUse default back-end on your platform.
show/hide Instances
type MediaCtrl a = Window (CMediaCtrl a)
Pointer to an object of type MediaCtrl, derived from Window.
mediaCtrl :: Window a -> [Prop (MediaCtrl ())] -> IO (MediaCtrl ())
mediaCtrlWithBackend :: Window a -> MediaCtrlBackend -> [Prop (MediaCtrl ())] -> IO (MediaCtrl ())

Create MediaCtrl with choosing back-end. This is useful to select back-end on Windows. But if you don't want to cause any effect to other platforms, you must use wxToolkit or #ifdef macro to choose correct function for platforms. For example,

 import Graphics.UI.WXCore.Defines
 ...
   m <- case wxToolkit of
          WxMSW -> mediaCtrlWithBackend f MediaControlInterface []
          _     -> mediaCtrl f []

or

 #ifdef mingw32_HOST_OS || mingw32_TARGET_OS
   m <-  mediaCtrlWithBackend f MediaControlInterface []
 #else
   m <-  mediaCtrl f []
 #endif
mediaCtrlEx :: Window a -> Style -> MediaCtrlBackend -> [Prop (MediaCtrl ())] -> IO (MediaCtrl ())
StyledTextCtrl
type StyledTextCtrl a = Control (CStyledTextCtrl a)
Pointer to an object of type StyledTextCtrl, derived from Control.
stcEvent :: Event (StyledTextCtrl ()) (EventSTC -> IO ())
styledTextCtrl :: Window a -> [Prop (StyledTextCtrl ())] -> IO (StyledTextCtrl ())
styledTextCtrlEx :: Window a -> Style -> [Prop (StyledTextCtrl ())] -> IO (StyledTextCtrl ())
Produced by Haddock version 0.8