Xfce Foundation Classes
Main Page | Index | Namespace List | Alphabetical List | Class List | File List

# Xfc::Gtk::ProgressBar Class Reference

A GtkProgressBar C++ wrapper class. More...

`#include <xfc/gtk/progressbar.hh>`

Inheritance diagram for Xfc::Gtk::ProgressBar:

List of all members.

## Public Member Functions

Constructors

- ProgressBar ()
    Construct a new progress bar.
- ProgressBar (ProgressBarOrientation orientation)
    Construct a new progress bar with the specified orientation.

Accessors

- GtkProgressBar * gtk_progress_bar () const
    Get a pointer to the GtkProgressBar structure.
- operator GtkProgressBar * () const
    Conversion operator; safely converts a ProgressBar to a GtkProgressBar pointer.
- double get_fraction () const
    Returns the current fraction of the task that's been completed.
- double get_pulse_step () const
    Retrieves the pulse step set with set_pulse_step().
- ProgressBarOrientation get_orientation () const
    Retrieves the current progress bar orientation.
- Pango::EllipsizeMode get_ellipsize () const
    Gets the preferred place to ellipsize the string, if the progressbar does not have enough room to display the entire string.

Methods

- void pulse ()
    Indicates that some progress is made, but you don't know how much.
- void set_text (const String &text)
    Causes the given text to appear superimposed on the progress bar.
- void set_fraction (double fraction)
    Causes the progress bar to "fill in" the given fraction of the bar.
- void set_pulse_step (double fraction)
    Sets the fraction of total progress bar length to move the bouncing block for each call to pulse().
- void set_orientation (ProgressBarOrientation orientation)
    Causes the progress bar to switch to a different orientation (left-to-right, right-to-left, top-to-bottom, or bottom-to-top).
- void set_ellipsize (Pango::EllipsizeMode mode)
    Sets the mode used to ellipsize (add an ellipsis: "...") the text if there is not enough space to render the entire string.

## Protected Member Functions

Constructors

- ProgressBar (GtkProgressBar *progress_bar, bool owns_reference=false)
    Construct a new ProgressBar from an existing GtkProgressBar.

## Detailed Description

A GtkProgressBar C++ wrapper class.

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 set_fraction() 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 pulse() 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.

See also: the ProgressBar HOWTO and example.

## Constructor & Destructor Documentation

Xfc::Gtk::ProgressBar::ProgressBar | ( | GtkProgressBar * | progress_bar,
|  | bool | owns_reference = `false`
| ) | `[explicit, protected]`

Construct a new ProgressBar from an existing GtkProgressBar.

Parameters:

  | progress_bar | A pointer to a GtkProgressBar.
  | owns_reference | Set false if the initial reference count is floating, set true if it's not.

The progress_bar can be a newly created GtkProgressBar or an existing GtkProgressBar (see G::Object::Object).

Xfc::Gtk::ProgressBar::ProgressBar | ( | ProgressBarOrientation | orientation | ) | `[explicit]`

Construct a new progress bar with the specified orientation.

Parameters:

  | orientation | The orientation of the progress bar.

## Member Function Documentation

Pango::EllipsizeMode Xfc::Gtk::ProgressBar::get_ellipsize | ( |  | ) | const

Gets the preferred place to ellipsize the string, if the progressbar does not have enough room to display the entire string.

Returns:
  A Pango::EllipsizeMode.

double Xfc::Gtk::ProgressBar::get_fraction | ( |  | ) | const

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

Returns:
  A fraction from 0.0 to 1.0.

double Xfc::Gtk::ProgressBar::get_pulse_step | ( |  | ) | const

Retrieves the pulse step set with set_pulse_step().

Returns:
  A fraction from 0.0 to 1.0.

void Xfc::Gtk::ProgressBar::pulse | ( |  | ) |

| 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 pulse() causes the block to move by a little bit (the amount of movement per pulse is determined by set_pulse_step()).

void Xfc::Gtk::ProgressBar::set_ellipsize | ( | Pango::EllipsizeMode | mode | ) |

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

Parameters:

  | mode | A Pango::EllipsizeMode.

void Xfc::Gtk::ProgressBar::set_fraction | ( | double | fraction | ) |

Causes the progress bar to "fill in" the given fraction of the bar.

Parameters:

  | fraction | The fraction of the task that's been completed.

The fraction should be between 0.0 and 1.0, inclusive.

void Xfc::Gtk::ProgressBar::set_orientation | ( | ProgressBarOrientation | orientation | ) |

Causes the progress bar to switch to a different orientation (left-to-right, right-to-left, top-to-bottom, or bottom-to-top).

Parameters:

  | orientation | The orientation of the progress bar.

void Xfc::Gtk::ProgressBar::set_pulse_step | ( | double | fraction | ) |

Sets the fraction of total progress bar length to move the bouncing block for each call to pulse().

Parameters:

  | fraction | The fraction between 0.0 and 1.0.

void Xfc::Gtk::ProgressBar::set_text | ( | const String & | text | ) |

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

Parameters:

  | text | A text string.

The documentation for this class was generated from the following file:

- progressbar.hh

Xfce Foundation Classes

Copyright © 2004-2005 The XFC Development Team | XFC 4.3