{-# LINE 2 "./Graphics/UI/Gtk/Entry/VScale.chs" #-}
module Graphics.UI.Gtk.Entry.VScale (
VScale,
VScaleClass,
castToVScale, gTypeVScale,
toVScale,
vScaleNew,
vScaleNewWithRange,
) 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/VScale.chs" #-}
{-# LINE 66 "./Graphics/UI/Gtk/Entry/VScale.chs" #-}
vScaleNew ::
Adjustment
-> IO VScale
vScaleNew :: Adjustment -> IO VScale
vScaleNew Adjustment
adjustment =
(ForeignPtr VScale -> VScale, FinalizerPtr VScale)
-> IO (Ptr VScale) -> IO VScale
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr VScale -> VScale, FinalizerPtr VScale)
forall {a}. (ForeignPtr VScale -> VScale, FinalizerPtr a)
mkVScale (IO (Ptr VScale) -> IO VScale) -> IO (Ptr VScale) -> IO VScale
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr VScale) -> IO (Ptr Widget) -> IO (Ptr VScale)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr VScale
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr VScale) (IO (Ptr Widget) -> IO (Ptr VScale))
-> IO (Ptr Widget) -> IO (Ptr VScale)
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_vscale_new Ptr Adjustment
argPtr1)
{-# LINE 80 "./Graphics/UI/Gtk/Entry/VScale.chs" #-}
adjustment
vScaleNewWithRange ::
Double
-> Double
-> Double
-> IO VScale
vScaleNewWithRange :: Double -> Double -> Double -> IO VScale
vScaleNewWithRange Double
min Double
max Double
step =
(ForeignPtr VScale -> VScale, FinalizerPtr VScale)
-> IO (Ptr VScale) -> IO VScale
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr VScale -> VScale, FinalizerPtr VScale)
forall {a}. (ForeignPtr VScale -> VScale, FinalizerPtr a)
mkVScale (IO (Ptr VScale) -> IO VScale) -> IO (Ptr VScale) -> IO VScale
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr VScale) -> IO (Ptr Widget) -> IO (Ptr VScale)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr VScale
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr VScale) (IO (Ptr Widget) -> IO (Ptr VScale))
-> IO (Ptr Widget) -> IO (Ptr VScale)
forall a b. (a -> b) -> a -> b
$
CDouble -> CDouble -> CDouble -> IO (Ptr Widget)
gtk_vscale_new_with_range
{-# LINE 101 "./Graphics/UI/Gtk/Entry/VScale.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_vscale_new"
gtk_vscale_new :: ((Ptr Adjustment) -> (IO (Ptr Widget)))
foreign import ccall unsafe "gtk_vscale_new_with_range"
gtk_vscale_new_with_range :: (CDouble -> (CDouble -> (CDouble -> (IO (Ptr Widget)))))