gtk-0.12.3: Binding to the Gtk+ graphical user interface library.

Portabilityportable (depends on GHC)
Stabilityprovisional
Maintainergtk2hs-users@lists.sourceforge.net
Safe HaskellSafe-Infered

Graphics.UI.Gtk.Entry.SpinButton

Contents

Description

Retrieve an integer or floating-point number from the user

Synopsis

Detail

A SpinButton is an ideal way to allow the user to set the value of some attribute. Rather than having to directly type a number into a Entry, SpinButton allows the user to click on one of two arrows to increment or decrement the displayed value. A value can still be typed in, with the bonus that it can be checked to ensure it is in a given range.

The main properties of a SpinButton are through a Adjustment. See the Adjustment section for more details about an adjustment's properties.

Class Hierarchy

 | GObject
 | +----Object
 | +----Widget
 | +----Entry
 | +----SpinButton

Types

Constructors

spinButtonNewSource

Arguments

:: Adjustment

adjustment - the Adjustment object that this spin button should use.

-> Double

climbRate - specifies how much the spin button changes when an arrow is clicked on.

-> Int

digits - the number of decimal places to display.

-> IO SpinButton 

Creates a new SpinButton.

spinButtonNewWithRangeSource

Arguments

:: Double

min - Minimum allowable value

-> Double

max - Maximum allowable value

-> Double

step - Increment added or subtracted by spinning the widget

-> IO SpinButton 

This is a convenience constructor that allows creation of a numeric SpinButton without manually creating an adjustment. The value is initially set to the minimum value and a page increment of 10 * step is the default. The precision of the spin button is equivalent to the precision of step.

Note that the way in which the precision is derived works best if step is a power of ten. If the resulting precision is not suitable for your needs, use spinButtonSetDigits to correct it.

Methods

spinButtonConfigureSource

Arguments

:: SpinButtonClass self 
=> self 
-> Adjustment

adjustment - a Adjustment.

-> Double

climbRate - the new climb rate.

-> Int

digits - the number of decimal places to display in the spin button.

-> IO () 

Changes the properties of an existing spin button. The adjustment, climb rate, and number of decimal places are all changed accordingly, after this function call.

spinButtonSetAdjustmentSource

Arguments

:: SpinButtonClass self 
=> self 
-> Adjustment

adjustment - a Adjustment to replace the existing adjustment

-> IO () 

Replaces the Adjustment associated with the spin button.

spinButtonGetAdjustmentSource

Arguments

:: SpinButtonClass self 
=> self 
-> IO Adjustment

returns the Adjustment of spinButton

Get the adjustment associated with a SpinButton

spinButtonSetDigitsSource

Arguments

:: SpinButtonClass self 
=> self 
-> Int

digits - the number of digits after the decimal point to be displayed for the spin button's value

-> IO () 

Set the precision to be displayed by spinButton. Up to 20 digit precision is allowed.

spinButtonGetDigitsSource

Arguments

:: SpinButtonClass self 
=> self 
-> IO Int

returns the current precision

Fetches the precision of spinButton. See spinButtonSetDigits.

spinButtonSetIncrementsSource

Arguments

:: SpinButtonClass self 
=> self 
-> Double

step - increment applied for a button 1 press.

-> Double

page - increment applied for a button 2 press.

-> IO () 

Sets the step and page increments for the spin button. This affects how quickly the value changes when the spin button's arrows are activated.

spinButtonGetIncrementsSource

Arguments

:: SpinButtonClass self 
=> self 
-> IO (Double, Double)

(step, page) - step increment and page increment

Gets the current step and page the increments used by the spin button. See spinButtonSetIncrements.

spinButtonSetRangeSource

Arguments

:: SpinButtonClass self 
=> self 
-> Double

min - minimum allowable value

-> Double

max - maximum allowable value

-> IO () 

Sets the minimum and maximum allowable values for the spin button

spinButtonGetRangeSource

Arguments

:: SpinButtonClass self 
=> self 
-> IO (Double, Double)

(min, max) - minimum and maximum allowed value

Gets the range allowed for the spin button. See spinButtonSetRange.

spinButtonGetValue :: SpinButtonClass self => self -> IO DoubleSource

Get the value of the spin button as a floating point value.

spinButtonGetValueAsInt :: SpinButtonClass self => self -> IO IntSource

Get the value of the spin button as an integral value.

spinButtonSetValue :: SpinButtonClass self => self -> Double -> IO ()Source

Set the value of the spin button.

spinButtonSetUpdatePolicySource

Arguments

:: SpinButtonClass self 
=> self 
-> SpinButtonUpdatePolicy

policy - a SpinButtonUpdatePolicy value

-> IO () 

Sets the update behavior of a spin button. This determines whether the spin button is always updated or only when a valid value is set.

spinButtonGetUpdatePolicySource

Arguments

:: SpinButtonClass self 
=> self 
-> IO SpinButtonUpdatePolicy

returns the current update policy

Gets the update behavior of a spin button. See spinButtonSetUpdatePolicy.

spinButtonSetNumericSource

Arguments

:: SpinButtonClass self 
=> self 
-> Bool

numeric - flag indicating if only numeric entry is allowed.

-> IO () 

Sets the flag that determines if non-numeric text can be typed into the spin button.

spinButtonGetNumericSource

Arguments

:: SpinButtonClass self 
=> self 
-> IO Bool

returns True if only numeric text can be entered

Returns whether non-numeric text can be typed into the spin button. See spinButtonSetNumeric.

data SpinType Source

Spin a SpinButton with the following method.

spinButtonSpinSource

Arguments

:: SpinButtonClass self 
=> self 
-> SpinType

direction - a SpinType indicating the direction to spin.

-> Double

increment - step increment to apply in the specified direction.

-> IO () 

Increment or decrement a spin button's value in a specified direction by a specified amount.

spinButtonSetWrapSource

Arguments

:: SpinButtonClass self 
=> self 
-> Bool

wrap - a flag indicating if wrapping behavior is performed.

-> IO () 

Sets the flag that determines if a spin button value wraps around to the opposite limit when the upper or lower limit of the range is exceeded.

spinButtonGetWrapSource

Arguments

:: SpinButtonClass self 
=> self 
-> IO Bool

returns True if the spin button wraps around

Returns whether the spin button's value wraps around to the opposite limit when the upper or lower limit of the range is exceeded. See spinButtonSetWrap.

spinButtonSetSnapToTicksSource

Arguments

:: SpinButtonClass self 
=> self 
-> Bool

snapToTicks - a flag indicating if invalid values should be corrected.

-> IO () 

Sets the policy as to whether values are corrected to the nearest step increment when a spin button is activated after providing an invalid value.

spinButtonGetSnapToTicksSource

Arguments

:: SpinButtonClass self 
=> self 
-> IO Bool

returns True if values are snapped to the nearest step.

Returns whether the values are corrected to the nearest step. See spinButtonSetSnapToTicks.

spinButtonUpdate :: SpinButtonClass self => self -> IO ()Source

Manually force an update of the spin button.

Attributes

spinButtonAdjustment :: SpinButtonClass self => Attr self AdjustmentSource

The adjustment that holds the value of the spinbutton.

spinButtonClimbRate :: SpinButtonClass self => Attr self DoubleSource

The acceleration rate when you hold down a button.

Allowed values: >= 0

Default value: 0

spinButtonDigits :: SpinButtonClass self => Attr self IntSource

The number of decimal places to display.

Allowed values: <= 20

Default value: 0

spinButtonSnapToTicks :: SpinButtonClass self => Attr self BoolSource

Whether erroneous values are automatically changed to a spin button's nearest step increment.

Default value: False

spinButtonNumeric :: SpinButtonClass self => Attr self BoolSource

Whether non-numeric characters should be ignored.

Default value: False

spinButtonWrap :: SpinButtonClass self => Attr self BoolSource

Whether a spin button should wrap upon reaching its limits.

Default value: False

spinButtonUpdatePolicy :: SpinButtonClass self => Attr self SpinButtonUpdatePolicySource

Whether the spin button should update always, or only when the value is legal.

Default value: UpdateAlways

spinButtonValue :: SpinButtonClass self => Attr self DoubleSource

Reads the current value, or sets a new value.

Default value: 0

Signals

onInput, afterInput :: SpinButtonClass sb => sb -> IO (Maybe Double) -> IO (ConnectId sb)Source

Install a custom input handler.

  • This signal is called upon each time the value of the SpinButton is set by spinButtonSetValue. The function can return Nothing if the value is no good.

onOutput, afterOutput :: SpinButtonClass sb => sb -> IO Bool -> IO (ConnectId sb)Source

Install a custom output handler.

  • This handler makes it possible to query the current value and to render something completely different to the screen using entrySetText. The return value must be False in order to let the default output routine run after this signal returns.

onValueSpinned, afterValueSpinned :: SpinButtonClass sb => sb -> IO () -> IO (ConnectId sb)Source

The value of the spin button has changed.