    {-# LINE 2 "./Graphics/UI/Gtk/ModelView/CellRendererProgress.chs" #-}
    -- -*-haskell-*-
    -- GIMP Toolkit (GTK) Widget CellRendererProgress
    --
    -- Author : Duncan Coutts
    --
    -- Created: 2 November 2005
    --
    -- Copyright (C) 2005 Duncan Coutts
    --
    -- This library is free software; you can redistribute it and/or
    -- modify it under the terms of the GNU Lesser General Public
    -- License as published by the Free Software Foundation; either
    -- version 2.1 of the License, or (at your option) any later version.
    --
    -- This library is distributed in the hope that it will be useful,
    -- but WITHOUT ANY WARRANTY; without even the implied warranty of
    -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    -- Lesser General Public License for more details.
    --
    -- |
    -- Maintainer : gtk2hs-users@lists.sourceforge.net
    -- Stability : provisional
    -- Portability : portable (depends on GHC)
    --
    -- Renders numbers as progress bars
    --
    -- * Module available since Gtk+ version 2.6
    --
    module Graphics.UI.Gtk.ModelView.CellRendererProgress (
    -- * Detail
    --
    -- | 'CellRendererProgress' renders a numeric value as a progress par in a
    -- cell. Additionally, it can display a text on top of the progress bar.
    --

    -- * Class Hierarchy
    -- |
    -- @
    -- | 'GObject'
    -- | +----'Object'
    -- | +----'CellRenderer'
    -- | +----CellRendererProgress
    -- @

    -- * Types
      CellRendererProgress,
      CellRendererProgressClass,
      castToCellRendererProgress, gTypeCellRendererProgress,
      toCellRendererProgress,

    -- * Constructors
      cellRendererProgressNew,

    -- * Attributes
      cellProgressValue,
      cellProgressText,

      ) where

    import Control.Monad (liftM)

    import System.Glib.FFI
    import System.Glib.UTFString
    import System.Glib.Attributes (Attr)
    import System.Glib.Properties
    import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
    import Graphics.UI.Gtk.Types
    {-# LINE 70 "./Graphics/UI/Gtk/ModelView/CellRendererProgress.chs" #-}

    {-# LINE 72 "./Graphics/UI/Gtk/ModelView/CellRendererProgress.chs" #-}

    --------------------
    -- Constructors

    -- | Creates a new 'CellRendererProgress'.
    --
    cellRendererProgressNew :: IO CellRendererProgress
    cellRendererProgressNew :: IO CellRendererProgress
    cellRendererProgressNew =
      (ForeignPtr CellRendererProgress -> CellRendererProgress,
     FinalizerPtr CellRendererProgress)
    -> IO (Ptr CellRendererProgress) -> IO CellRendererProgress
    forall obj.
    GObjectClass obj =>
    (ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
    makeNewObject (ForeignPtr CellRendererProgress -> CellRendererProgress,
     FinalizerPtr CellRendererProgress)
    forall {a}.
    (ForeignPtr CellRendererProgress -> CellRendererProgress,
     FinalizerPtr a)
    mkCellRendererProgress (IO (Ptr CellRendererProgress) -> IO CellRendererProgress)
    -> IO (Ptr CellRendererProgress) -> IO CellRendererProgress
    forall a b. (a -> b) -> a -> b
    $
      (Ptr CellRenderer -> Ptr CellRendererProgress)
    -> IO (Ptr CellRenderer) -> IO (Ptr CellRendererProgress)
    forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
    liftM (Ptr CellRenderer -> Ptr CellRendererProgress
    forall a b. Ptr a -> Ptr b
    castPtr :: Ptr CellRenderer -> Ptr CellRendererProgress) (IO (Ptr CellRenderer) -> IO (Ptr CellRendererProgress))
    -> IO (Ptr CellRenderer) -> IO (Ptr CellRendererProgress)
    forall a b. (a -> b) -> a -> b
    $
      IO (Ptr CellRenderer)
    gtk_cell_renderer_progress_new
    {-# LINE 84 "./Graphics/UI/Gtk/ModelView/CellRendererProgress.chs" #-}

    --------------------
    -- Attributes

    -- | The \"value\" property determines the percentage to which the progress
    -- bar will be \"filled in\".
    --
    -- Allowed values: @[0,100]@
    --
    -- Default value: @0@
    --
    cellProgressValue :: CellRendererProgressClass self => Attr self Int
    cellProgressValue :: forall self. CellRendererProgressClass self => Attr self Int
    cellProgressValue = String -> Attr self Int
    forall gobj. GObjectClass gobj => String -> Attr gobj Int
    newAttrFromIntProperty String
    "value"

    -- | The 'cellProgressText' attribute determines the label which will be drawn
    -- over the progress bar. Setting this property to @Nothing@ causes the
    -- default label to be displayed. Setting this property to an empty string
    -- causes no label to be displayed.
    --
    -- Default value: @Nothing@
    --
    cellProgressText :: (CellRendererProgressClass self, GlibString string) => Attr self (Maybe string)
    cellProgressText :: forall self string.
    (CellRendererProgressClass self, GlibString string) =>
    Attr self (Maybe string)
    cellProgressText = String -> Attr self (Maybe string)
    forall gobj string.
    (GObjectClass gobj, GlibString string) =>
    String -> Attr gobj (Maybe string)
    newAttrFromMaybeStringProperty String
    "text"

    foreign import ccall safe "gtk_cell_renderer_progress_new"
      gtk_cell_renderer_progress_new :: (IO (Ptr CellRenderer))