Graphics.UI.Gtk.Display.ProgressBar

gtk3-0.14.5: Binding to the Gtk+ 3 graphical user interface library

Maintainer | gtk2hs-users@lists.sourceforge.net
Stability | provisional
Portability | portable (depends on GHC)
Safe Haskell | None
Language | Haskell98

Graphics.UI.Gtk.Display.ProgressBar

Contents

- Detail
- Class Hierarchy
- Types
- Constructors
- Methods
- Attributes

Description

A widget which indicates progress visually

Synopsis

- data ProgressBar
- class WidgetClass o => ProgressBarClass o
- castToProgressBar :: GObjectClass obj => obj -> ProgressBar
- gTypeProgressBar :: GType
- toProgressBar :: ProgressBarClass o => o -> ProgressBar
- progressBarNew :: IO ProgressBar
- progressBarPulse :: ProgressBarClass self => self -> IO ()
- progressBarSetText :: (ProgressBarClass self, GlibString string) => self -> string -> IO ()
- progressBarSetFraction :: ProgressBarClass self => self -> Double -> IO ()
- progressBarSetPulseStep :: ProgressBarClass self => self -> Double -> IO ()
- progressBarGetFraction :: ProgressBarClass self => self -> IO Double
- progressBarGetPulseStep :: ProgressBarClass self => self -> IO Double
- progressBarGetText :: (ProgressBarClass self, GlibString string) => self -> IO (Maybe string)
- progressBarSetEllipsize :: ProgressBarClass self => self -> EllipsizeMode -> IO ()
- progressBarGetEllipsize :: ProgressBarClass self => self -> IO EllipsizeMode
- progressBarDiscreteBlocks :: ProgressBarClass self => Attr self Int
- progressBarFraction :: ProgressBarClass self => Attr self Double
- progressBarPulseStep :: ProgressBarClass self => Attr self Double
- progressBarText :: (ProgressBarClass self, GlibString string) => ReadWriteAttr self (Maybe string) string
- progressBarEllipsize :: ProgressBarClass self => Attr self EllipsizeMode

# Detail

The `ProgressBar` is typically used to display the progress of a long running operation. It provides a visual clue that processing is underway. The `ProgressBar` can be used in two different modes: percentage mode and activity mode.

When an application can determine how much work needs to take place (e.g. read a fixed number of bytes from a file) and can monitor its progress, it can use the `ProgressBar` in percentage mode and the user sees a growing bar indicating the percentage of the work that has been completed. In this mode, the application is required to call `progressBarSetFraction` periodically to update the progress bar.

When an application has no accurate way of knowing the amount of work to do, it can use the `ProgressBar` in activity mode, which shows activity by a block moving back and forth within the progress area. In this mode, the application is required to call `progressBarPulse` perodically to update the progress bar.

There is quite a bit of flexibility provided to control the appearance of the `ProgressBar`. Functions are provided to control the orientation of the bar, optional text can be displayed along with the bar, and the step size used in activity mode can be set.

# Class Hierarchy

    | GObject
    | +----Object
    | +----Widget
    | +----ProgressBar

# Types

data ProgressBar #

Instances

Eq ProgressBar # |
Methods (==) :: ProgressBar -> ProgressBar -> Bool # (/=) :: ProgressBar -> ProgressBar -> Bool #
Ord ProgressBar # |
Methods compare :: ProgressBar -> ProgressBar -> Ordering # (<) :: ProgressBar -> ProgressBar -> Bool # (<=) :: ProgressBar -> ProgressBar -> Bool # (>) :: ProgressBar -> ProgressBar -> Bool # (>=) :: ProgressBar -> ProgressBar -> Bool # max :: ProgressBar -> ProgressBar -> ProgressBar # min :: ProgressBar -> ProgressBar -> ProgressBar #
GObjectClass ProgressBar # |
Methods toGObject :: ProgressBar -> GObject # unsafeCastGObject :: GObject -> ProgressBar #
ProgressBarClass ProgressBar # |
WidgetClass ProgressBar # |

class WidgetClass o => ProgressBarClass o #

Instances

ProgressBarClass ProgressBar # |

castToProgressBar :: GObjectClass obj => obj -> ProgressBar #

gTypeProgressBar :: GType #

toProgressBar :: ProgressBarClass o => o -> ProgressBar #

# Constructors

progressBarNew :: IO ProgressBar #

Creates a new `ProgressBar`.

# Methods

progressBarPulse :: ProgressBarClass self => self -> IO () #

Indicates that some progress is made, but you don't know how much. Causes the progress bar to enter "activity mode", where a block bounces back and forth. Each call to `progressBarPulse` causes the block to move by a little bit (the amount of movement per pulse is determined by `progressBarSetPulseStep`).

progressBarSetText :: (ProgressBarClass self, GlibString string) => self -> string -> IO () #

Causes the given `text` to appear superimposed on the progress bar.

progressBarSetFraction #

Arguments

:: ProgressBarClass self |
=> self |
-> Double | `fraction` - fraction of the task that's been completed
-> IO () |

Causes the progress bar to "fill in" the given fraction of the bar. The fraction should be between 0.0 and 1.0, inclusive.

progressBarSetPulseStep #

Arguments

:: ProgressBarClass self |
=> self |
-> Double | `fraction` - fraction between 0.0 and 1.0
-> IO () |

Sets the fraction of total progress bar length to move the bouncing block for each call to `progressBarPulse`.

progressBarGetFraction #

Arguments

:: ProgressBarClass self |
=> self |
-> IO Double | returns a fraction from 0.0 to 1.0

Returns the current fraction of the task that's been completed.

progressBarGetPulseStep #

Arguments

:: ProgressBarClass self |
=> self |
-> IO Double | returns a fraction from 0.0 to 1.0

Retrieves the pulse step set with `progressBarSetPulseStep`

progressBarGetText #

Arguments

:: (ProgressBarClass self, GlibString string) |
=> self |
-> IO (Maybe string) | returns text, or `Nothing`

Retrieves the text displayed superimposed on the progress bar, if any, otherwise `Nothing`.

progressBarSetEllipsize :: ProgressBarClass self => self -> EllipsizeMode -> IO () #

Sets the mode used to ellipsize (add an ellipsis: "...") the text if there is not enough space to render the entire string.

- Available since Gtk+ version 2.6

progressBarGetEllipsize :: ProgressBarClass self => self -> IO EllipsizeMode #

Returns the ellipsizing position of the progressbar. See `progressBarSetEllipsize`.

- Available since Gtk+ version 2.6

# Attributes

progressBarDiscreteBlocks :: ProgressBarClass self => Attr self Int #

The number of discrete blocks in a progress bar (when shown in the discrete style).

Allowed values: >= 2

Default value: 10

progressBarFraction :: ProgressBarClass self => Attr self Double #

The fraction of total work that has been completed.

Allowed values: [0,1]

Default value: 0

progressBarPulseStep :: ProgressBarClass self => Attr self Double #

The fraction of total progress to move the bouncing block when pulsed.

Allowed values: [0,1]

Default value: 0.1

progressBarText :: (ProgressBarClass self, GlibString string) => ReadWriteAttr self (Maybe string) string #

Text to be displayed in the progress bar.

Default value: "%P %%"

progressBarEllipsize :: ProgressBarClass self => Attr self EllipsizeMode #

The preferred place to ellipsize the string, if the progressbar does not have enough room to display the entire string, specified as a `EllipsizeMode`.

Note that setting this property to a value other than `EllipsizeNone` has the side-effect that the progressbar requests only enough space to display the ellipsis "...". Another means to set a progressbar's width is `widgetSetSizeRequest`.

Default value: `EllipsizeNone`