{-# LINE 2 "./Graphics/UI/Gtk/Entry/HScale.chs" #-}
module Graphics.UI.Gtk.Entry.HScale (
HScale,
HScaleClass,
castToHScale, gTypeHScale,
toHScale,
hScaleNew,
hScaleNewWithRange,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 64 "./Graphics/UI/Gtk/Entry/HScale.chs" #-}
{-# LINE 66 "./Graphics/UI/Gtk/Entry/HScale.chs" #-}
hScaleNew ::
Adjustment
-> IO HScale
hScaleNew :: Adjustment -> IO HScale
hScaleNew Adjustment
adjustment =
(ForeignPtr HScale -> HScale, FinalizerPtr HScale)
-> IO (Ptr HScale) -> IO HScale
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr HScale -> HScale, FinalizerPtr HScale)
forall {a}. (ForeignPtr HScale -> HScale, FinalizerPtr a)
mkHScale (IO (Ptr HScale) -> IO HScale) -> IO (Ptr HScale) -> IO HScale
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr HScale) -> IO (Ptr Widget) -> IO (Ptr HScale)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr HScale
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr HScale) (IO (Ptr Widget) -> IO (Ptr HScale))
-> IO (Ptr Widget) -> IO (Ptr HScale)
forall a b. (a -> b) -> a -> b
$
(\(Adjustment ForeignPtr Adjustment
arg1) -> ForeignPtr Adjustment
-> (Ptr Adjustment -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Adjustment
arg1 ((Ptr Adjustment -> IO (Ptr Widget)) -> IO (Ptr Widget))
-> (Ptr Adjustment -> IO (Ptr Widget)) -> IO (Ptr Widget)
forall a b. (a -> b) -> a -> b
$ \Ptr Adjustment
argPtr1 ->Ptr Adjustment -> IO (Ptr Widget)
gtk_hscale_new Ptr Adjustment
argPtr1)
{-# LINE 80 "./Graphics/UI/Gtk/Entry/HScale.chs" #-}
adjustment
hScaleNewWithRange ::
Double
-> Double
-> Double
-> IO HScale
hScaleNewWithRange :: Double -> Double -> Double -> IO HScale
hScaleNewWithRange Double
min Double
max Double
step =
(ForeignPtr HScale -> HScale, FinalizerPtr HScale)
-> IO (Ptr HScale) -> IO HScale
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr HScale -> HScale, FinalizerPtr HScale)
forall {a}. (ForeignPtr HScale -> HScale, FinalizerPtr a)
mkHScale (IO (Ptr HScale) -> IO HScale) -> IO (Ptr HScale) -> IO HScale
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr HScale) -> IO (Ptr Widget) -> IO (Ptr HScale)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr HScale
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr HScale) (IO (Ptr Widget) -> IO (Ptr HScale))
-> IO (Ptr Widget) -> IO (Ptr HScale)
forall a b. (a -> b) -> a -> b
$
CDouble -> CDouble -> CDouble -> IO (Ptr Widget)
gtk_hscale_new_with_range
{-# LINE 101 "./Graphics/UI/Gtk/Entry/HScale.chs" #-}
(realToFrac min)
(Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
max)
(Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
step)
foreign import ccall unsafe "gtk_hscale_new"
gtk_hscale_new :: ((Ptr Adjustment) -> (IO (Ptr Widget)))
foreign import ccall unsafe "gtk_hscale_new_with_range"
gtk_hscale_new_with_range :: (CDouble -> (CDouble -> (CDouble -> (IO (Ptr Widget)))))