monomer-1.6.0.1: A GUI library for writing native Haskell applications.
Copyright(c) 2018 Francisco Vallarino
LicenseBSD-3-Clause (see the LICENSE file)
Maintainerfjvallarino@gmail.com
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Monomer.Widgets.Singles.TimeField

Description

Input field for time types with support for different formats.

timeField timeLens

With configuration options:

timeField_ timeLens [timeFormatHHMMSS]

Supports TimeOfDay type of the time library, but other types can be supported by implementing TimeOfDayConverter. Maybe is also supported.

Handles mouse wheel and shift + vertical drag to increase/decrease minutes.

Synopsis

Configuration

data TimeFieldCfg s e a Source #

Configuration options for timeField:

Instances

Instances details
Monoid (TimeFieldCfg s e a) Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

mempty :: TimeFieldCfg s e a #

mappend :: TimeFieldCfg s e a -> TimeFieldCfg s e a -> TimeFieldCfg s e a #

mconcat :: [TimeFieldCfg s e a] -> TimeFieldCfg s e a #

Semigroup (TimeFieldCfg s e a) Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

(<>) :: TimeFieldCfg s e a -> TimeFieldCfg s e a -> TimeFieldCfg s e a #

sconcat :: NonEmpty (TimeFieldCfg s e a) -> TimeFieldCfg s e a #

stimes :: Integral b => b -> TimeFieldCfg s e a -> TimeFieldCfg s e a #

Default (TimeFieldCfg s e a) Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

def :: TimeFieldCfg s e a #

CmbReadOnly (TimeFieldCfg s e a) Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

CmbResizeOnChange (TimeFieldCfg s e a) Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

CmbSelectOnFocus (TimeFieldCfg s e a) Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

CmbCaretMs (TimeFieldCfg s e a) Millisecond Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

CmbCaretWidth (TimeFieldCfg s e a) Double Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

CmbDragRate (TimeFieldCfg s e a) Double Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

dragRate :: Double -> TimeFieldCfg s e a Source #

FormattableTime a => CmbMaxValue (TimeFieldCfg s e a) a Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

maxValue :: a -> TimeFieldCfg s e a Source #

FormattableTime a => CmbMinValue (TimeFieldCfg s e a) a Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

minValue :: a -> TimeFieldCfg s e a Source #

CmbValidInput (TimeFieldCfg s e a) s Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

validInput :: ALens' s Bool -> TimeFieldCfg s e a Source #

CmbValidInputV (TimeFieldCfg s e a) e Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

validInputV :: (Bool -> e) -> TimeFieldCfg s e a Source #

CmbWheelRate (TimeFieldCfg s e a) Double Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

wheelRate :: Double -> TimeFieldCfg s e a Source #

WidgetEvent e => CmbOnBlur (TimeFieldCfg s e a) e Path Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

onBlur :: (Path -> e) -> TimeFieldCfg s e a Source #

WidgetEvent e => CmbOnChange (TimeFieldCfg s e a) a e Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

onChange :: (a -> e) -> TimeFieldCfg s e a Source #

WidgetEvent e => CmbOnFocus (TimeFieldCfg s e a) e Path Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

onFocus :: (Path -> e) -> TimeFieldCfg s e a Source #

CmbOnBlurReq (TimeFieldCfg s e a) s e Path Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

onBlurReq :: (Path -> WidgetRequest s e) -> TimeFieldCfg s e a Source #

CmbOnChangeReq (TimeFieldCfg s e a) s e a Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

onChangeReq :: (a -> WidgetRequest s e) -> TimeFieldCfg s e a Source #

CmbOnFocusReq (TimeFieldCfg s e a) s e Path Source # 
Instance details

Defined in Monomer.Widgets.Singles.TimeField

Methods

onFocusReq :: (Path -> WidgetRequest s e) -> TimeFieldCfg s e a Source #

type FormattableTime a = (Eq a, Ord a, Show a, TimeTextConverter a, Typeable a) Source #

Constraints for time types accepted by timeField.

class (Eq a, Ord a, Show a, Typeable a) => TimeOfDayConverter a where Source #

Converter to and from the TimeOfDay type of the time library. To use types other than TimeOfDay of said library, this typeclass needs to be implemented. -

timeFormatHHMM :: TimeFieldCfg s e a Source #

Time format HH:MM

timeFormatHHMMSS :: TimeFieldCfg s e a Source #

Time format HH:MM:SS

Constructors

timeField Source #

Arguments

:: (FormattableTime a, WidgetEvent e) 
=> ALens' s a

The lens into the model.

-> WidgetNode s e

The created time field.

Creates a time field using the given lens.

timeField_ Source #

Arguments

:: (FormattableTime a, WidgetEvent e) 
=> ALens' s a

The lens into the model.

-> [TimeFieldCfg s e a]

The config options.

-> WidgetNode s e

The created time field.

Creates a time field using the given lens. Accepts config.

timeFieldV Source #

Arguments

:: (FormattableTime a, WidgetEvent e) 
=> a

The current value.

-> (a -> e)

The event to raise on change.

-> WidgetNode s e

The created time field.

Creates a time field using the given value and onChange event handler.

timeFieldV_ Source #

Arguments

:: (FormattableTime a, WidgetEvent e) 
=> a

The current value.

-> (a -> e)

The event to raise on change.

-> [TimeFieldCfg s e a]

The config options.

-> WidgetNode s e

The created time field.

Creates a time field using the given value and onChange event handler. Accepts config.

timeFieldD_ Source #

Arguments

:: (FormattableTime a, WidgetEvent e) 
=> WidgetData s a

The WidgetData to retrieve the value from.

-> [TimeFieldCfg s e a]

The config options.

-> WidgetNode s e

The created time field.

Creates a time field providing a WidgetData instance and config.