gtk-0.11.0: Binding to the Gtk+ graphical user interface library.ContentsIndex
Graphics.UI.Gtk.Abstract.Range
Portabilityportable (depends on GHC)
Stabilityprovisional
Maintainergtk2hs-users@lists.sourceforge.net
Contents
Description
Class Hierarchy
Types
Methods
Attributes
Signals
Deprecated
Description
Base class for widgets which visualize an adjustment
Synopsis
data Range
class WidgetClass o => RangeClass o
castToRange :: GObjectClass obj => obj -> Range
gTypeRange :: GType
toRange :: RangeClass o => o -> Range
rangeGetAdjustment :: RangeClass self => self -> IO Adjustment
rangeSetAdjustment :: RangeClass self => self -> Adjustment -> IO ()
data UpdateType
= UpdateContinuous
| UpdateDiscontinuous
| UpdateDelayed
rangeGetUpdatePolicy :: RangeClass self => self -> IO UpdateType
rangeSetUpdatePolicy :: RangeClass self => self -> UpdateType -> IO ()
rangeGetInverted :: RangeClass self => self -> IO Bool
rangeSetInverted :: RangeClass self => self -> Bool -> IO ()
rangeGetValue :: RangeClass self => self -> IO Double
rangeSetValue :: RangeClass self => self -> Double -> IO ()
rangeSetIncrements :: RangeClass self => self -> Double -> Double -> IO ()
rangeSetRange :: RangeClass self => self -> Double -> Double -> IO ()
data ScrollType
= ScrollNone
| ScrollJump
| ScrollStepBackward
| ScrollStepForward
| ScrollPageBackward
| ScrollPageForward
| ScrollStepUp
| ScrollStepDown
| ScrollPageUp
| ScrollPageDown
| ScrollStepLeft
| ScrollStepRight
| ScrollPageLeft
| ScrollPageRight
| ScrollStart
| ScrollEnd
data SensitivityType
= SensitivityAuto
| SensitivityOn
| SensitivityOff
rangeSetLowerStepperSensitivity :: RangeClass self => self -> SensitivityType -> IO ()
rangeGetLowerStepperSensitivity :: RangeClass self => self -> IO SensitivityType
rangeSetUpperStepperSensitivity :: RangeClass self => self -> SensitivityType -> IO ()
rangeGetUpperStepperSensitivity :: RangeClass self => self -> IO SensitivityType
rangeUpdatePolicy :: RangeClass self => Attr self UpdateType
rangeAdjustment :: RangeClass self => Attr self Adjustment
rangeInverted :: RangeClass self => Attr self Bool
rangeLowerStepperSensitivity :: RangeClass self => Attr self SensitivityType
rangeUpperStepperSensitivity :: RangeClass self => Attr self SensitivityType
rangeValue :: RangeClass self => Attr self Double
adjustBounds :: RangeClass self => Signal self (Double -> IO ())
valueChanged :: RangeClass self => Signal self (IO ())
changeValue :: RangeClass self => Signal self (ScrollType -> Double -> IO Bool)
onMoveSlider :: RangeClass self => self -> (ScrollType -> IO ()) -> IO (ConnectId self)
afterMoveSlider :: RangeClass self => self -> (ScrollType -> IO ()) -> IO (ConnectId self)
onAdjustBounds :: RangeClass self => self -> (Double -> IO ()) -> IO (ConnectId self)
afterAdjustBounds :: RangeClass self => self -> (Double -> IO ()) -> IO (ConnectId self)
onRangeChangeValue :: RangeClass self => self -> (ScrollType -> Double -> IO Bool) -> IO (ConnectId self)
afterRangeChangeValue :: RangeClass self => self -> (ScrollType -> Double -> IO Bool) -> IO (ConnectId self)
onRangeValueChanged :: RangeClass self => self -> IO () -> IO (ConnectId self)
afterRangeValueChanged :: RangeClass self => self -> IO () -> IO (ConnectId self)
Description
For signals regarding a change in the range or increments, refer to Adjustment which is contained in the Range object.
Class Hierarchy
 | GObject
 | +----Object
 | +----Widget
 | +----Range
 | +----Scale
 | +----Scrollbar
Types
data Range
show/hide Instances
class WidgetClass o => RangeClass o
show/hide Instances
castToRange :: GObjectClass obj => obj -> Range
gTypeRange :: GType
toRange :: RangeClass o => o -> Range
Methods
rangeGetAdjustment
:: RangeClass self
=> self
-> IO Adjustmentreturns a Adjustment
Get the Adjustment which is the "model" object for Range. See rangeSetAdjustment for details.
rangeSetAdjustment
:: RangeClass self
=> self
-> Adjustmentadjustment - a Adjustment
-> IO ()
Sets the adjustment to be used as the "model" object for this range widget. The adjustment indicates the current range value, the minimum and maximum range values, the step/page increments used for keybindings and scrolling, and the page size. The page size is normally 0 for Scale and nonzero for Scrollbar, and indicates the size of the visible area of the widget being scrolled. The page size affects the size of the scrollbar slider.
data UpdateType
Updating types for range widgets (determines when the "connectToValueChanged" signal is emitted by the widget)
Constructors
UpdateContinuous
UpdateDiscontinuous
UpdateDelayed
show/hide Instances
rangeGetUpdatePolicy
:: RangeClass self
=> self
-> IO UpdateTypereturns the current update policy
Gets the update policy of range. See rangeSetUpdatePolicy.
rangeSetUpdatePolicy
:: RangeClass self
=> self
-> UpdateTypepolicy - update policy
-> IO ()
Sets the update policy for the range. UpdateContinuous means that anytime the range slider is moved, the range value will change and the value_changed signal will be emitted. UpdateDelayed means that the value will be updated after a brief timeout where no slider motion occurs, so updates are spaced by a short time rather than continuous. UpdateDiscontinuous means that the value will only be updated when the user releases the button and ends the slider drag operation.
rangeGetInverted
:: RangeClass self
=> self
-> IO Boolreturns True if the range is inverted
Gets the value set by rangeSetInverted.
rangeSetInverted
:: RangeClass self
=> self
-> Boolsetting - True to invert the range
-> IO ()
Ranges normally move from lower to higher values as the slider moves from top to bottom or left to right. Inverted ranges have higher values at the top or on the right rather than on the bottom or left.
rangeGetValue
:: RangeClass self
=> self
-> IO Doublereturns current value of the range.
Gets the current value of the range.
rangeSetValue
:: RangeClass self
=> self
-> Doublevalue - new value of the range
-> IO ()
Sets the current value of the range; if the value is outside the minimum or maximum range values, it will be clamped to fit inside them. The range emits the valueChanged signal if the value changes.
rangeSetIncrements
:: RangeClass self
=> self
-> Doublestep - step size
-> Doublepage - page size
-> IO ()
Sets the step and page sizes for the range. The step size is used when the user clicks the Scrollbar arrows or moves Scale via arrow keys. The page size is used for example when moving via Page Up or Page Down keys.
rangeSetRange
:: RangeClass self
=> self
-> Doublemin - minimum range value
-> Doublemax - maximum range value
-> IO ()
Sets the allowable values in the Range, and clamps the range value to be between min and max. (If the range has a non-zero page size, it is clamped between min and max - page-size.)
data ScrollType
Scrolling type
Constructors
ScrollNone
ScrollJump
ScrollStepBackward
ScrollStepForward
ScrollPageBackward
ScrollPageForward
ScrollStepUp
ScrollStepDown
ScrollPageUp
ScrollPageDown
ScrollStepLeft
ScrollStepRight
ScrollPageLeft
ScrollPageRight
ScrollStart
ScrollEnd
show/hide Instances
data SensitivityType

Determines how Gtk+ handles the sensitivity of stepper arrows at the end of range widgets.

Constructors
SensitivityAuto
SensitivityOn
SensitivityOff
show/hide Instances
rangeSetLowerStepperSensitivity
:: RangeClass self
=> self
-> SensitivityTypesensitivity - the lower stepper's sensitivity policy.
-> IO ()

Sets the sensitivity policy for the stepper that points to the 'lower' end of the Range's adjustment.

  • Available since Gtk+ version 2.10
rangeGetLowerStepperSensitivity
:: RangeClass self
=> self
-> IO SensitivityTypereturns The lower stepper's sensitivity policy.

Gets the sensitivity policy for the stepper that points to the 'lower' end of the Range's adjustment.

  • Available since Gtk+ version 2.10
rangeSetUpperStepperSensitivity
:: RangeClass self
=> self
-> SensitivityTypesensitivity - the upper stepper's sensitivity policy.
-> IO ()

Sets the sensitivity policy for the stepper that points to the 'upper' end of the Range's adjustment.

  • Available since Gtk+ version 2.10
rangeGetUpperStepperSensitivity
:: RangeClass self
=> self
-> IO SensitivityTypereturns The upper stepper's sensitivity policy.

Gets the sensitivity policy for the stepper that points to the 'upper' end of the Range's adjustment.

  • Available since Gtk+ version 2.10
Attributes
rangeUpdatePolicy :: RangeClass self => Attr self UpdateType

How the range should be updated on the screen.

Default value: UpdateContinuous

rangeAdjustment :: RangeClass self => Attr self Adjustment
The Adjustment that contains the current value of this range object.
rangeInverted :: RangeClass self => Attr self Bool

Invert direction slider moves to increase range value.

Default value: False

rangeLowerStepperSensitivity :: RangeClass self => Attr self SensitivityType

The sensitivity policy for the stepper that points to the adjustment's lower side.

Default value: SensitivityAuto

rangeUpperStepperSensitivity :: RangeClass self => Attr self SensitivityType

The sensitivity policy for the stepper that points to the adjustment's upper side.

Default value: SensitivityAuto

rangeValue :: RangeClass self => Attr self Double
'value' property. See rangeGetValue and rangeSetValue
Signals
adjustBounds :: RangeClass self => Signal self (Double -> IO ())
valueChanged :: RangeClass self => Signal self (IO ())
Emitted when the range value changes.
changeValue :: RangeClass self => Signal self (ScrollType -> Double -> IO Bool)

The changeValue signal is emitted when a scroll action is performed on a range. It allows an application to determine the type of scroll event that occurred and the resultant new value. The application can handle the event itself and return True to prevent further processing. Or, by returning False, it can pass the event to other handlers until the default Gtk+ handler is reached.

The value parameter is unrounded. An application that overrides the changeValue signal is responsible for clamping the value to the desired number of decimal digits.

It is not possible to use delayed update policies in an overridden changeValue handler.

  • Available since Gtk+ version 2.6
Deprecated
onMoveSlider :: RangeClass self => self -> (ScrollType -> IO ()) -> IO (ConnectId self)
afterMoveSlider :: RangeClass self => self -> (ScrollType -> IO ()) -> IO (ConnectId self)

Emitted when the user presses a key (e.g. Page Up, Home, Right Arrow) to move the slider. The ScrollType parameter gives the key that was pressed.

Usually you should use onRangeValueChanged / afterRangeValueChanged instead.

onAdjustBounds :: RangeClass self => self -> (Double -> IO ()) -> IO (ConnectId self)
afterAdjustBounds :: RangeClass self => self -> (Double -> IO ()) -> IO (ConnectId self)

Emitted when the range is adjusted by user action. Note the value can be outside the bounds of the range since it depends on the mouse position.

Usually you should use onRangeValueChanged / afterRangeValueChanged instead.

onRangeChangeValue :: RangeClass self => self -> (ScrollType -> Double -> IO Bool) -> IO (ConnectId self)
afterRangeChangeValue :: RangeClass self => self -> (ScrollType -> Double -> IO Bool) -> IO (ConnectId self)

Emitted when a scroll action is performed on a range. It allows an application to determine the type of scroll event that occurred and the resultant new value. The application can handle the event itself and return True to prevent further processing. Or, by returning False, it can pass the event to other handlers until the default GTK+ handler is reached.

  • Since Gtk 2.6
onRangeValueChanged :: RangeClass self => self -> IO () -> IO (ConnectId self)
afterRangeValueChanged :: RangeClass self => self -> IO () -> IO (ConnectId self)
Emitted when the range value is changed either programmatically or by user action.
Produced by Haddock version 2.4.2