{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)

'GI.Gtk.Objects.CellRendererProgress.CellRendererProgress' renders a numeric value as a progress par in a cell.
Additionally, it can display a text on top of the progress bar.

The 'GI.Gtk.Objects.CellRendererProgress.CellRendererProgress' cell renderer was added in GTK+ 2.6.
-}

module GI.Gtk.Objects.CellRendererProgress
    ( 

-- * Exported types
    CellRendererProgress(..)                ,
    IsCellRendererProgress                  ,
    toCellRendererProgress                  ,
    noCellRendererProgress                  ,


 -- * Methods
-- ** new #method:new#
    cellRendererProgressNew                 ,




 -- * Properties
-- ** inverted #attr:inverted#
    CellRendererProgressInvertedPropertyInfo,
    cellRendererProgressInverted            ,
    constructCellRendererProgressInverted   ,
    getCellRendererProgressInverted         ,
    setCellRendererProgressInverted         ,


-- ** pulse #attr:pulse#
    CellRendererProgressPulsePropertyInfo   ,
    cellRendererProgressPulse               ,
    constructCellRendererProgressPulse      ,
    getCellRendererProgressPulse            ,
    setCellRendererProgressPulse            ,


-- ** text #attr:text#
    CellRendererProgressTextPropertyInfo    ,
    cellRendererProgressText                ,
    clearCellRendererProgressText           ,
    constructCellRendererProgressText       ,
    getCellRendererProgressText             ,
    setCellRendererProgressText             ,


-- ** textXalign #attr:textXalign#
    CellRendererProgressTextXalignPropertyInfo,
    cellRendererProgressTextXalign          ,
    constructCellRendererProgressTextXalign ,
    getCellRendererProgressTextXalign       ,
    setCellRendererProgressTextXalign       ,


-- ** textYalign #attr:textYalign#
    CellRendererProgressTextYalignPropertyInfo,
    cellRendererProgressTextYalign          ,
    constructCellRendererProgressTextYalign ,
    getCellRendererProgressTextYalign       ,
    setCellRendererProgressTextYalign       ,


-- ** value #attr:value#
    CellRendererProgressValuePropertyInfo   ,
    cellRendererProgressValue               ,
    constructCellRendererProgressValue      ,
    getCellRendererProgressValue            ,
    setCellRendererProgressValue            ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer

newtype CellRendererProgress = CellRendererProgress (ManagedPtr CellRendererProgress)
foreign import ccall "gtk_cell_renderer_progress_get_type"
    c_gtk_cell_renderer_progress_get_type :: IO GType

instance GObject CellRendererProgress where
    gobjectType _ = c_gtk_cell_renderer_progress_get_type
    

class GObject o => IsCellRendererProgress o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError CellRendererProgress a) =>
    IsCellRendererProgress a
#endif
instance IsCellRendererProgress CellRendererProgress
instance Gtk.CellRenderer.IsCellRenderer CellRendererProgress
instance GObject.Object.IsObject CellRendererProgress
instance Gtk.Orientable.IsOrientable CellRendererProgress

toCellRendererProgress :: IsCellRendererProgress o => o -> IO CellRendererProgress
toCellRendererProgress = unsafeCastTo CellRendererProgress

noCellRendererProgress :: Maybe CellRendererProgress
noCellRendererProgress = Nothing

type family ResolveCellRendererProgressMethod (t :: Symbol) (o :: *) :: * where
    ResolveCellRendererProgressMethod "activate" o = Gtk.CellRenderer.CellRendererActivateMethodInfo
    ResolveCellRendererProgressMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveCellRendererProgressMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveCellRendererProgressMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveCellRendererProgressMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveCellRendererProgressMethod "isActivatable" o = Gtk.CellRenderer.CellRendererIsActivatableMethodInfo
    ResolveCellRendererProgressMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveCellRendererProgressMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveCellRendererProgressMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveCellRendererProgressMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveCellRendererProgressMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveCellRendererProgressMethod "render" o = Gtk.CellRenderer.CellRendererRenderMethodInfo
    ResolveCellRendererProgressMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveCellRendererProgressMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveCellRendererProgressMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveCellRendererProgressMethod "startEditing" o = Gtk.CellRenderer.CellRendererStartEditingMethodInfo
    ResolveCellRendererProgressMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveCellRendererProgressMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveCellRendererProgressMethod "stopEditing" o = Gtk.CellRenderer.CellRendererStopEditingMethodInfo
    ResolveCellRendererProgressMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveCellRendererProgressMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveCellRendererProgressMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveCellRendererProgressMethod "getAlignedArea" o = Gtk.CellRenderer.CellRendererGetAlignedAreaMethodInfo
    ResolveCellRendererProgressMethod "getAlignment" o = Gtk.CellRenderer.CellRendererGetAlignmentMethodInfo
    ResolveCellRendererProgressMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveCellRendererProgressMethod "getFixedSize" o = Gtk.CellRenderer.CellRendererGetFixedSizeMethodInfo
    ResolveCellRendererProgressMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
    ResolveCellRendererProgressMethod "getPadding" o = Gtk.CellRenderer.CellRendererGetPaddingMethodInfo
    ResolveCellRendererProgressMethod "getPreferredHeight" o = Gtk.CellRenderer.CellRendererGetPreferredHeightMethodInfo
    ResolveCellRendererProgressMethod "getPreferredHeightForWidth" o = Gtk.CellRenderer.CellRendererGetPreferredHeightForWidthMethodInfo
    ResolveCellRendererProgressMethod "getPreferredSize" o = Gtk.CellRenderer.CellRendererGetPreferredSizeMethodInfo
    ResolveCellRendererProgressMethod "getPreferredWidth" o = Gtk.CellRenderer.CellRendererGetPreferredWidthMethodInfo
    ResolveCellRendererProgressMethod "getPreferredWidthForHeight" o = Gtk.CellRenderer.CellRendererGetPreferredWidthForHeightMethodInfo
    ResolveCellRendererProgressMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveCellRendererProgressMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveCellRendererProgressMethod "getRequestMode" o = Gtk.CellRenderer.CellRendererGetRequestModeMethodInfo
    ResolveCellRendererProgressMethod "getSensitive" o = Gtk.CellRenderer.CellRendererGetSensitiveMethodInfo
    ResolveCellRendererProgressMethod "getSize" o = Gtk.CellRenderer.CellRendererGetSizeMethodInfo
    ResolveCellRendererProgressMethod "getState" o = Gtk.CellRenderer.CellRendererGetStateMethodInfo
    ResolveCellRendererProgressMethod "getVisible" o = Gtk.CellRenderer.CellRendererGetVisibleMethodInfo
    ResolveCellRendererProgressMethod "setAlignment" o = Gtk.CellRenderer.CellRendererSetAlignmentMethodInfo
    ResolveCellRendererProgressMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveCellRendererProgressMethod "setFixedSize" o = Gtk.CellRenderer.CellRendererSetFixedSizeMethodInfo
    ResolveCellRendererProgressMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
    ResolveCellRendererProgressMethod "setPadding" o = Gtk.CellRenderer.CellRendererSetPaddingMethodInfo
    ResolveCellRendererProgressMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveCellRendererProgressMethod "setSensitive" o = Gtk.CellRenderer.CellRendererSetSensitiveMethodInfo
    ResolveCellRendererProgressMethod "setVisible" o = Gtk.CellRenderer.CellRendererSetVisibleMethodInfo
    ResolveCellRendererProgressMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveCellRendererProgressMethod t CellRendererProgress, O.MethodInfo info CellRendererProgress p) => O.IsLabelProxy t (CellRendererProgress -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveCellRendererProgressMethod t CellRendererProgress, O.MethodInfo info CellRendererProgress p) => O.IsLabel t (CellRendererProgress -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

-- VVV Prop "inverted"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getCellRendererProgressInverted :: (MonadIO m, IsCellRendererProgress o) => o -> m Bool
getCellRendererProgressInverted obj = liftIO $ getObjectPropertyBool obj "inverted"

setCellRendererProgressInverted :: (MonadIO m, IsCellRendererProgress o) => o -> Bool -> m ()
setCellRendererProgressInverted obj val = liftIO $ setObjectPropertyBool obj "inverted" val

constructCellRendererProgressInverted :: (IsCellRendererProgress o) => Bool -> IO (GValueConstruct o)
constructCellRendererProgressInverted val = constructObjectPropertyBool "inverted" val

data CellRendererProgressInvertedPropertyInfo
instance AttrInfo CellRendererProgressInvertedPropertyInfo where
    type AttrAllowedOps CellRendererProgressInvertedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint CellRendererProgressInvertedPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint CellRendererProgressInvertedPropertyInfo = IsCellRendererProgress
    type AttrGetType CellRendererProgressInvertedPropertyInfo = Bool
    type AttrLabel CellRendererProgressInvertedPropertyInfo = "inverted"
    type AttrOrigin CellRendererProgressInvertedPropertyInfo = CellRendererProgress
    attrGet _ = getCellRendererProgressInverted
    attrSet _ = setCellRendererProgressInverted
    attrConstruct _ = constructCellRendererProgressInverted
    attrClear _ = undefined

-- VVV Prop "pulse"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getCellRendererProgressPulse :: (MonadIO m, IsCellRendererProgress o) => o -> m Int32
getCellRendererProgressPulse obj = liftIO $ getObjectPropertyInt32 obj "pulse"

setCellRendererProgressPulse :: (MonadIO m, IsCellRendererProgress o) => o -> Int32 -> m ()
setCellRendererProgressPulse obj val = liftIO $ setObjectPropertyInt32 obj "pulse" val

constructCellRendererProgressPulse :: (IsCellRendererProgress o) => Int32 -> IO (GValueConstruct o)
constructCellRendererProgressPulse val = constructObjectPropertyInt32 "pulse" val

data CellRendererProgressPulsePropertyInfo
instance AttrInfo CellRendererProgressPulsePropertyInfo where
    type AttrAllowedOps CellRendererProgressPulsePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint CellRendererProgressPulsePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint CellRendererProgressPulsePropertyInfo = IsCellRendererProgress
    type AttrGetType CellRendererProgressPulsePropertyInfo = Int32
    type AttrLabel CellRendererProgressPulsePropertyInfo = "pulse"
    type AttrOrigin CellRendererProgressPulsePropertyInfo = CellRendererProgress
    attrGet _ = getCellRendererProgressPulse
    attrSet _ = setCellRendererProgressPulse
    attrConstruct _ = constructCellRendererProgressPulse
    attrClear _ = undefined

-- VVV Prop "text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getCellRendererProgressText :: (MonadIO m, IsCellRendererProgress o) => o -> m (Maybe T.Text)
getCellRendererProgressText obj = liftIO $ getObjectPropertyString obj "text"

setCellRendererProgressText :: (MonadIO m, IsCellRendererProgress o) => o -> T.Text -> m ()
setCellRendererProgressText obj val = liftIO $ setObjectPropertyString obj "text" (Just val)

constructCellRendererProgressText :: (IsCellRendererProgress o) => T.Text -> IO (GValueConstruct o)
constructCellRendererProgressText val = constructObjectPropertyString "text" (Just val)

clearCellRendererProgressText :: (MonadIO m, IsCellRendererProgress o) => o -> m ()
clearCellRendererProgressText obj = liftIO $ setObjectPropertyString obj "text" (Nothing :: Maybe T.Text)

data CellRendererProgressTextPropertyInfo
instance AttrInfo CellRendererProgressTextPropertyInfo where
    type AttrAllowedOps CellRendererProgressTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint CellRendererProgressTextPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint CellRendererProgressTextPropertyInfo = IsCellRendererProgress
    type AttrGetType CellRendererProgressTextPropertyInfo = (Maybe T.Text)
    type AttrLabel CellRendererProgressTextPropertyInfo = "text"
    type AttrOrigin CellRendererProgressTextPropertyInfo = CellRendererProgress
    attrGet _ = getCellRendererProgressText
    attrSet _ = setCellRendererProgressText
    attrConstruct _ = constructCellRendererProgressText
    attrClear _ = clearCellRendererProgressText

-- VVV Prop "text-xalign"
   -- Type: TBasicType TFloat
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getCellRendererProgressTextXalign :: (MonadIO m, IsCellRendererProgress o) => o -> m Float
getCellRendererProgressTextXalign obj = liftIO $ getObjectPropertyFloat obj "text-xalign"

setCellRendererProgressTextXalign :: (MonadIO m, IsCellRendererProgress o) => o -> Float -> m ()
setCellRendererProgressTextXalign obj val = liftIO $ setObjectPropertyFloat obj "text-xalign" val

constructCellRendererProgressTextXalign :: (IsCellRendererProgress o) => Float -> IO (GValueConstruct o)
constructCellRendererProgressTextXalign val = constructObjectPropertyFloat "text-xalign" val

data CellRendererProgressTextXalignPropertyInfo
instance AttrInfo CellRendererProgressTextXalignPropertyInfo where
    type AttrAllowedOps CellRendererProgressTextXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint CellRendererProgressTextXalignPropertyInfo = (~) Float
    type AttrBaseTypeConstraint CellRendererProgressTextXalignPropertyInfo = IsCellRendererProgress
    type AttrGetType CellRendererProgressTextXalignPropertyInfo = Float
    type AttrLabel CellRendererProgressTextXalignPropertyInfo = "text-xalign"
    type AttrOrigin CellRendererProgressTextXalignPropertyInfo = CellRendererProgress
    attrGet _ = getCellRendererProgressTextXalign
    attrSet _ = setCellRendererProgressTextXalign
    attrConstruct _ = constructCellRendererProgressTextXalign
    attrClear _ = undefined

-- VVV Prop "text-yalign"
   -- Type: TBasicType TFloat
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getCellRendererProgressTextYalign :: (MonadIO m, IsCellRendererProgress o) => o -> m Float
getCellRendererProgressTextYalign obj = liftIO $ getObjectPropertyFloat obj "text-yalign"

setCellRendererProgressTextYalign :: (MonadIO m, IsCellRendererProgress o) => o -> Float -> m ()
setCellRendererProgressTextYalign obj val = liftIO $ setObjectPropertyFloat obj "text-yalign" val

constructCellRendererProgressTextYalign :: (IsCellRendererProgress o) => Float -> IO (GValueConstruct o)
constructCellRendererProgressTextYalign val = constructObjectPropertyFloat "text-yalign" val

data CellRendererProgressTextYalignPropertyInfo
instance AttrInfo CellRendererProgressTextYalignPropertyInfo where
    type AttrAllowedOps CellRendererProgressTextYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint CellRendererProgressTextYalignPropertyInfo = (~) Float
    type AttrBaseTypeConstraint CellRendererProgressTextYalignPropertyInfo = IsCellRendererProgress
    type AttrGetType CellRendererProgressTextYalignPropertyInfo = Float
    type AttrLabel CellRendererProgressTextYalignPropertyInfo = "text-yalign"
    type AttrOrigin CellRendererProgressTextYalignPropertyInfo = CellRendererProgress
    attrGet _ = getCellRendererProgressTextYalign
    attrSet _ = setCellRendererProgressTextYalign
    attrConstruct _ = constructCellRendererProgressTextYalign
    attrClear _ = undefined

-- VVV Prop "value"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getCellRendererProgressValue :: (MonadIO m, IsCellRendererProgress o) => o -> m Int32
getCellRendererProgressValue obj = liftIO $ getObjectPropertyInt32 obj "value"

setCellRendererProgressValue :: (MonadIO m, IsCellRendererProgress o) => o -> Int32 -> m ()
setCellRendererProgressValue obj val = liftIO $ setObjectPropertyInt32 obj "value" val

constructCellRendererProgressValue :: (IsCellRendererProgress o) => Int32 -> IO (GValueConstruct o)
constructCellRendererProgressValue val = constructObjectPropertyInt32 "value" val

data CellRendererProgressValuePropertyInfo
instance AttrInfo CellRendererProgressValuePropertyInfo where
    type AttrAllowedOps CellRendererProgressValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint CellRendererProgressValuePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint CellRendererProgressValuePropertyInfo = IsCellRendererProgress
    type AttrGetType CellRendererProgressValuePropertyInfo = Int32
    type AttrLabel CellRendererProgressValuePropertyInfo = "value"
    type AttrOrigin CellRendererProgressValuePropertyInfo = CellRendererProgress
    attrGet _ = getCellRendererProgressValue
    attrSet _ = setCellRendererProgressValue
    attrConstruct _ = constructCellRendererProgressValue
    attrClear _ = undefined

instance O.HasAttributeList CellRendererProgress
type instance O.AttributeList CellRendererProgress = CellRendererProgressAttributeList
type CellRendererProgressAttributeList = ('[ '("cellBackground", Gtk.CellRenderer.CellRendererCellBackgroundPropertyInfo), '("cellBackgroundGdk", Gtk.CellRenderer.CellRendererCellBackgroundGdkPropertyInfo), '("cellBackgroundRgba", Gtk.CellRenderer.CellRendererCellBackgroundRgbaPropertyInfo), '("cellBackgroundSet", Gtk.CellRenderer.CellRendererCellBackgroundSetPropertyInfo), '("editing", Gtk.CellRenderer.CellRendererEditingPropertyInfo), '("height", Gtk.CellRenderer.CellRendererHeightPropertyInfo), '("inverted", CellRendererProgressInvertedPropertyInfo), '("isExpanded", Gtk.CellRenderer.CellRendererIsExpandedPropertyInfo), '("isExpander", Gtk.CellRenderer.CellRendererIsExpanderPropertyInfo), '("mode", Gtk.CellRenderer.CellRendererModePropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("pulse", CellRendererProgressPulsePropertyInfo), '("sensitive", Gtk.CellRenderer.CellRendererSensitivePropertyInfo), '("text", CellRendererProgressTextPropertyInfo), '("textXalign", CellRendererProgressTextXalignPropertyInfo), '("textYalign", CellRendererProgressTextYalignPropertyInfo), '("value", CellRendererProgressValuePropertyInfo), '("visible", Gtk.CellRenderer.CellRendererVisiblePropertyInfo), '("width", Gtk.CellRenderer.CellRendererWidthPropertyInfo), '("xalign", Gtk.CellRenderer.CellRendererXalignPropertyInfo), '("xpad", Gtk.CellRenderer.CellRendererXpadPropertyInfo), '("yalign", Gtk.CellRenderer.CellRendererYalignPropertyInfo), '("ypad", Gtk.CellRenderer.CellRendererYpadPropertyInfo)] :: [(Symbol, *)])

cellRendererProgressInverted :: AttrLabelProxy "inverted"
cellRendererProgressInverted = AttrLabelProxy

cellRendererProgressPulse :: AttrLabelProxy "pulse"
cellRendererProgressPulse = AttrLabelProxy

cellRendererProgressText :: AttrLabelProxy "text"
cellRendererProgressText = AttrLabelProxy

cellRendererProgressTextXalign :: AttrLabelProxy "textXalign"
cellRendererProgressTextXalign = AttrLabelProxy

cellRendererProgressTextYalign :: AttrLabelProxy "textYalign"
cellRendererProgressTextYalign = AttrLabelProxy

cellRendererProgressValue :: AttrLabelProxy "value"
cellRendererProgressValue = AttrLabelProxy

type instance O.SignalList CellRendererProgress = CellRendererProgressSignalList
type CellRendererProgressSignalList = ('[ '("editingCanceled", Gtk.CellRenderer.CellRendererEditingCanceledSignalInfo), '("editingStarted", Gtk.CellRenderer.CellRendererEditingStartedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method CellRendererProgress::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRendererProgress"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_cell_renderer_progress_new" gtk_cell_renderer_progress_new :: 
    IO (Ptr CellRendererProgress)

{- |
Creates a new 'GI.Gtk.Objects.CellRendererProgress.CellRendererProgress'.

@since 2.6
-}
cellRendererProgressNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m CellRendererProgress
    {- ^ __Returns:__ the new cell renderer -}
cellRendererProgressNew  = liftIO $ do
    result <- gtk_cell_renderer_progress_new
    checkUnexpectedReturnNULL "cellRendererProgressNew" result
    result' <- (newObject CellRendererProgress) result
    return result'