module Graphics.UI.Gtk.Abstract.Range (
Range,
RangeClass,
castToRange, gTypeRange,
toRange,
rangeGetAdjustment,
rangeSetAdjustment,
UpdateType(..),
rangeGetUpdatePolicy,
rangeSetUpdatePolicy,
rangeGetInverted,
rangeSetInverted,
rangeGetValue,
rangeSetValue,
rangeSetIncrements,
rangeSetRange,
ScrollType(..),
SensitivityType(..),
rangeSetLowerStepperSensitivity,
rangeGetLowerStepperSensitivity,
rangeSetUpperStepperSensitivity,
rangeGetUpperStepperSensitivity,
rangeGetMinSliderSize,
rangeGetRangeRect,
rangeGetSliderRange,
rangeGetSliderSizeFixed,
rangeSetMinSliderSize,
rangeSetSliderSizeFixed,
rangeUpdatePolicy,
rangeAdjustment,
rangeInverted,
rangeLowerStepperSensitivity,
rangeUpperStepperSensitivity,
rangeValue,
rangeSliderSizeFixed,
rangeMinSliderSize,
adjustBounds,
valueChanged,
changeValue,
onMoveSlider,
afterMoveSlider,
onAdjustBounds,
afterAdjustBounds,
onRangeChangeValue,
afterRangeChangeValue,
onRangeValueChanged,
afterRangeValueChanged
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
import Graphics.UI.Gtk.Signals
import Graphics.UI.Gtk.General.Enums (UpdateType(..), ScrollType(..))
import Graphics.UI.Gtk.General.Structs (Rectangle(..))
rangeGetAdjustment :: RangeClass self => self
-> IO Adjustment
rangeGetAdjustment self =
makeNewObject mkAdjustment $
(\(Range arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_get_adjustment argPtr1)
(toRange self)
rangeSetAdjustment :: RangeClass self => self
-> Adjustment
-> IO ()
rangeSetAdjustment self adjustment =
(\(Range arg1) (Adjustment arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_range_set_adjustment argPtr1 argPtr2)
(toRange self)
adjustment
rangeGetUpdatePolicy :: RangeClass self => self
-> IO UpdateType
rangeGetUpdatePolicy self =
liftM (toEnum . fromIntegral) $
(\(Range arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_get_update_policy argPtr1)
(toRange self)
rangeSetUpdatePolicy :: RangeClass self => self
-> UpdateType
-> IO ()
rangeSetUpdatePolicy self policy =
(\(Range arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_set_update_policy argPtr1 arg2)
(toRange self)
((fromIntegral . fromEnum) policy)
rangeGetInverted :: RangeClass self => self
-> IO Bool
rangeGetInverted self =
liftM toBool $
(\(Range arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_get_inverted argPtr1)
(toRange self)
rangeSetInverted :: RangeClass self => self
-> Bool
-> IO ()
rangeSetInverted self setting =
(\(Range arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_set_inverted argPtr1 arg2)
(toRange self)
(fromBool setting)
rangeGetValue :: RangeClass self => self
-> IO Double
rangeGetValue self =
liftM realToFrac $
(\(Range arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_get_value argPtr1)
(toRange self)
rangeSetValue :: RangeClass self => self
-> Double
-> IO ()
rangeSetValue self value =
(\(Range arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_set_value argPtr1 arg2)
(toRange self)
(realToFrac value)
rangeSetIncrements :: RangeClass self => self
-> Double
-> Double
-> IO ()
rangeSetIncrements self step page =
(\(Range arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_set_increments argPtr1 arg2 arg3)
(toRange self)
(realToFrac step)
(realToFrac page)
rangeSetRange :: RangeClass self => self
-> Double
-> Double
-> IO ()
rangeSetRange self min max =
(\(Range arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_set_range argPtr1 arg2 arg3)
(toRange self)
(realToFrac min)
(realToFrac max)
data SensitivityType = SensitivityAuto
| SensitivityOn
| SensitivityOff
deriving (Enum,Bounded,Eq,Show)
rangeSetLowerStepperSensitivity :: RangeClass self => self
-> SensitivityType
-> IO ()
rangeSetLowerStepperSensitivity self sensitivity =
(\(Range arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_set_lower_stepper_sensitivity argPtr1 arg2)
(toRange self)
((fromIntegral . fromEnum) sensitivity)
rangeGetLowerStepperSensitivity :: RangeClass self => self
-> IO SensitivityType
rangeGetLowerStepperSensitivity self =
liftM (toEnum . fromIntegral) $
(\(Range arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_get_lower_stepper_sensitivity argPtr1)
(toRange self)
rangeSetUpperStepperSensitivity :: RangeClass self => self
-> SensitivityType
-> IO ()
rangeSetUpperStepperSensitivity self sensitivity =
(\(Range arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_set_upper_stepper_sensitivity argPtr1 arg2)
(toRange self)
((fromIntegral . fromEnum) sensitivity)
rangeGetUpperStepperSensitivity :: RangeClass self => self
-> IO SensitivityType
rangeGetUpperStepperSensitivity self =
liftM (toEnum . fromIntegral) $
(\(Range arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_get_upper_stepper_sensitivity argPtr1)
(toRange self)
rangeGetMinSliderSize :: RangeClass self => self
-> IO Int
rangeGetMinSliderSize range =
liftM fromIntegral $
(\(Range arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_get_min_slider_size argPtr1)
(toRange range)
rangeGetRangeRect :: RangeClass self => self
-> IO Rectangle
rangeGetRangeRect self =
alloca $ \rPtr -> do
(\(Range arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_get_range_rect argPtr1 arg2)
(toRange self)
(castPtr rPtr)
peek rPtr
rangeGetSliderRange :: RangeClass self => self
-> IO (Maybe (Int, Int))
rangeGetSliderRange range =
alloca $ \ startPtr ->
alloca $ \ endPtr -> do
(\(Range arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_get_slider_range argPtr1 arg2 arg3)
(toRange range)
startPtr
endPtr
if (startPtr /= nullPtr && endPtr /= nullPtr)
then do
start <- peek startPtr
end <- peek endPtr
return (Just (fromIntegral start, fromIntegral end))
else return Nothing
rangeGetSliderSizeFixed :: RangeClass self => self
-> IO Bool
rangeGetSliderSizeFixed self =
liftM toBool $
(\(Range arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_get_slider_size_fixed argPtr1)
(toRange self)
rangeSetMinSliderSize :: RangeClass self => self
-> Bool
-> IO ()
rangeSetMinSliderSize self minSize =
(\(Range arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_set_min_slider_size argPtr1 arg2)
(toRange self)
(fromBool minSize)
rangeSetSliderSizeFixed :: RangeClass self => self
-> Bool
-> IO ()
rangeSetSliderSizeFixed self sizeFixed =
(\(Range arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_range_set_slider_size_fixed argPtr1 arg2)
(toRange self)
(fromBool sizeFixed)
rangeUpdatePolicy :: RangeClass self => Attr self UpdateType
rangeUpdatePolicy = newAttr
rangeGetUpdatePolicy
rangeSetUpdatePolicy
rangeAdjustment :: RangeClass self => Attr self Adjustment
rangeAdjustment = newAttr
rangeGetAdjustment
rangeSetAdjustment
rangeInverted :: RangeClass self => Attr self Bool
rangeInverted = newAttr
rangeGetInverted
rangeSetInverted
rangeLowerStepperSensitivity :: RangeClass self => Attr self SensitivityType
rangeLowerStepperSensitivity = newAttrFromEnumProperty "lower-stepper-sensitivity"
gtk_sensitivity_type_get_type
rangeUpperStepperSensitivity :: RangeClass self => Attr self SensitivityType
rangeUpperStepperSensitivity = newAttrFromEnumProperty "upper-stepper-sensitivity"
gtk_sensitivity_type_get_type
rangeValue :: RangeClass self => Attr self Double
rangeValue = newAttr
rangeGetValue
rangeSetValue
rangeSliderSizeFixed :: RangeClass self => Attr self Bool
rangeSliderSizeFixed = newAttr
rangeGetSliderSizeFixed
rangeSetSliderSizeFixed
rangeMinSliderSize :: RangeClass self => ReadWriteAttr self Int Bool
rangeMinSliderSize = newAttr
rangeGetMinSliderSize
rangeSetMinSliderSize
valueChanged :: RangeClass self => Signal self (IO ())
valueChanged = Signal (connect_NONE__NONE "value-changed")
adjustBounds :: RangeClass self => Signal self (Double -> IO ())
adjustBounds = Signal (connect_DOUBLE__NONE "adjust-bounds")
changeValue :: RangeClass self => Signal self (ScrollType -> Double -> IO Bool)
changeValue = Signal (connect_ENUM_DOUBLE__BOOL "change-value")
onRangeChangeValue, afterRangeChangeValue :: RangeClass self => self
-> (ScrollType -> Double -> IO Bool)
-> IO (ConnectId self)
onRangeChangeValue = connect_ENUM_DOUBLE__BOOL "change_value" False
afterRangeChangeValue = connect_ENUM_DOUBLE__BOOL "change_value" True
onRangeValueChanged, afterRangeValueChanged :: RangeClass self => self
-> IO ()
-> IO (ConnectId self)
onRangeValueChanged = connect_NONE__NONE "value_changed" False
afterRangeValueChanged = connect_NONE__NONE "value_changed" True
onAdjustBounds, afterAdjustBounds :: RangeClass self => self
-> (Double -> IO ())
-> IO (ConnectId self)
onAdjustBounds = connect_DOUBLE__NONE "adjust_bounds" False
afterAdjustBounds = connect_DOUBLE__NONE "adjust_bounds" True
onMoveSlider, afterMoveSlider :: RangeClass self => self
-> (ScrollType -> IO ())
-> IO (ConnectId self)
onMoveSlider = connect_ENUM__NONE "move_slider" False
afterMoveSlider = connect_ENUM__NONE "move_slider" True
foreign import ccall unsafe "gtk_range_get_adjustment"
gtk_range_get_adjustment :: ((Ptr Range) -> (IO (Ptr Adjustment)))
foreign import ccall safe "gtk_range_set_adjustment"
gtk_range_set_adjustment :: ((Ptr Range) -> ((Ptr Adjustment) -> (IO ())))
foreign import ccall unsafe "gtk_range_get_update_policy"
gtk_range_get_update_policy :: ((Ptr Range) -> (IO CInt))
foreign import ccall safe "gtk_range_set_update_policy"
gtk_range_set_update_policy :: ((Ptr Range) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_range_get_inverted"
gtk_range_get_inverted :: ((Ptr Range) -> (IO CInt))
foreign import ccall safe "gtk_range_set_inverted"
gtk_range_set_inverted :: ((Ptr Range) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_range_get_value"
gtk_range_get_value :: ((Ptr Range) -> (IO CDouble))
foreign import ccall safe "gtk_range_set_value"
gtk_range_set_value :: ((Ptr Range) -> (CDouble -> (IO ())))
foreign import ccall safe "gtk_range_set_increments"
gtk_range_set_increments :: ((Ptr Range) -> (CDouble -> (CDouble -> (IO ()))))
foreign import ccall safe "gtk_range_set_range"
gtk_range_set_range :: ((Ptr Range) -> (CDouble -> (CDouble -> (IO ()))))
foreign import ccall safe "gtk_range_set_lower_stepper_sensitivity"
gtk_range_set_lower_stepper_sensitivity :: ((Ptr Range) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_range_get_lower_stepper_sensitivity"
gtk_range_get_lower_stepper_sensitivity :: ((Ptr Range) -> (IO CInt))
foreign import ccall safe "gtk_range_set_upper_stepper_sensitivity"
gtk_range_set_upper_stepper_sensitivity :: ((Ptr Range) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_range_get_upper_stepper_sensitivity"
gtk_range_get_upper_stepper_sensitivity :: ((Ptr Range) -> (IO CInt))
foreign import ccall safe "gtk_range_get_min_slider_size"
gtk_range_get_min_slider_size :: ((Ptr Range) -> (IO CInt))
foreign import ccall safe "gtk_range_get_range_rect"
gtk_range_get_range_rect :: ((Ptr Range) -> ((Ptr ()) -> (IO ())))
foreign import ccall safe "gtk_range_get_slider_range"
gtk_range_get_slider_range :: ((Ptr Range) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO ()))))
foreign import ccall safe "gtk_range_get_slider_size_fixed"
gtk_range_get_slider_size_fixed :: ((Ptr Range) -> (IO CInt))
foreign import ccall safe "gtk_range_set_min_slider_size"
gtk_range_set_min_slider_size :: ((Ptr Range) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_range_set_slider_size_fixed"
gtk_range_set_slider_size_fixed :: ((Ptr Range) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_sensitivity_type_get_type"
gtk_sensitivity_type_get_type :: CUInt