class HasFont a where setFont :: FontName -> Customiser a getFont :: a -> FontName getFontMaybe :: a -> Maybe FontName instance HasFont (ButtonF a) instance HasFont (DisplayF a) instance HasFont RadioGroupF instance HasFont ToggleButtonF instance HasFont (GraphicsF a) instance HasFont EditorF instance HasFont StringF instance HasFont TextF class HasBgColorSpec a where setBgColorSpec :: ColorSpec -> Customiser a getBgColorSpec :: a -> ColorSpec getBgColorSpecMaybe :: a -> Maybe ColorSpec instance HasBgColorSpec (ButtonF a) instance HasBgColorSpec (DisplayF a) instance HasBgColorSpec (GraphicsF a) instance HasBgColorSpec StringF instance HasBgColorSpec TextF class HasFgColorSpec a where setFgColorSpec :: ColorSpec -> Customiser a getFgColorSpec :: a -> ColorSpec getFgColorSpecMaybe :: a -> Maybe ColorSpec instance HasFgColorSpec (ButtonF a) instance HasFgColorSpec (DisplayF a) instance HasFgColorSpec (GraphicsF a) instance HasFgColorSpec StringF instance HasFgColorSpec TextF setBgColor :: (HasBgColorSpec b, Show a, ColorGen a) => a -> Customiser b setFgColor :: (HasFgColorSpec b, Show a, ColorGen a) => a -> Customiser b class HasKeys a where setKeys :: [(ModState, KeySym)] -> Customiser a getKeys :: a -> [(ModState, KeySym)] getKeysMaybe :: a -> Maybe [(ModState, KeySym)] instance HasKeys (ButtonF a) instance HasKeys ToggleButtonF class HasBorderWidth a where setBorderWidth :: Int -> Customiser a getBorderWidth :: a -> Int getBorderWidthMaybe :: a -> Maybe Int instance HasBorderWidth (DisplayF a) instance HasBorderWidth (GraphicsF a) instance HasBorderWidth StringF instance HasBorderWidth TextF class HasMargin a where setMargin :: Int -> Customiser a getMargin :: a -> Int getMarginMaybe :: a -> Maybe Int instance HasMargin (ButtonF a) instance HasMargin (DisplayF a) instance HasMargin TextF instance HasMargin ShellF class HasAlign a where setAlign :: Alignment -> Customiser a getAlign :: a -> Alignment getAlignMaybe :: a -> Maybe Alignment instance HasAlign (ButtonF a) instance HasAlign (DisplayF a) instance HasAlign TextF class HasInitDisp a where setInitDisp :: b -> Customiser (a b) getInitDispMaybe :: a c -> Maybe c getInitDisp :: a d -> d instance HasInitDisp DisplayF instance HasInitDisp GraphicsF class HasInitSize a where setInitSize :: b -> Customiser (a b) getInitSizeMaybe :: a c -> Maybe c getInitSize :: a d -> d instance HasInitSize DisplayF instance HasInitSize GraphicsF class HasStretchable a where setStretchable :: (Bool, Bool) -> Customiser a getStretchable :: a -> (Bool, Bool) getStretchableMaybe :: a -> Maybe (Bool, Bool) instance HasStretchable (DisplayF a) instance HasStretchable (GraphicsF a) instance HasStretchable TextF class HasSizing a where setSizing :: Sizing -> Customiser a getSizing :: a -> Sizing getSizingMaybe :: a -> Maybe Sizing instance HasSizing (DisplayF a) instance HasSizing (GraphicsF a) instance HasSizing StringF instance HasSizing TextF instance HasSizing ShellF class HasWinAttr a where setWinAttr :: [WindowAttributes] -> Customiser a getWinAttr :: a -> [WindowAttributes] getWinAttrMaybe :: a -> Maybe [WindowAttributes] instance HasWinAttr ShellF
Classes used for parameters with default values.