<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <linklocation="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<summary>A widget which indicates progress visually.</summary>
<remarks>
<para>The <seecref="T:Gtk.ProgressBar"/> is typically used to display the progress of a long running operation.
It provides a visual clue that processing is underway.
The <seecref="T:Gtk.ProgressBar"/> can be used in two different modes: percentage mode and activity mode.</para>
<para>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 <seecref="T:Gtk.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 set <seecref="P:Gtk.ProgressBar.Fraction"/> periodically to update the progress bar.</para>
<para>When an application has no accurate way of knowing the amount of work to do, it can use the <seecref="T:Gtk.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 <seecref="M:Gtk.ProgressBar.Pulse()"/> perodically to update the progress bar.</para>
<para>There is quite a bit of flexibility provided to control the appearance of the <seecref="T:Gtk.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.</para>
<summary>Indicates an unknown amount of progress has been made</summary>
<remarks>Indicates that some progress has been made, but you don't know how much.
This causes the <seecref="T:Gtk.ProgressBar"/> to enter "activity mode," where a block bounces back and forth.
Each call to <seecref="M:Gtk.ProgressBar.Pulse()"/> causes the block to move by a little bit (the amount of movement per pulse is determined by <seecref="P:Gtk.ProgressBar.PulseStep"/>).</remarks>
<summary>The text displayed superimposed on the <seecref="T:Gtk.ProgressBar"/>.</summary>
<paramname="value">an object of type <seecref="T:System.String"/></param>
<returns>an object of type <seecref="T:System.String"/></returns>
<remarks>The text displayed superimposed on the <seecref="T:Gtk.ProgressBar"/>, if any, otherwise <seelangword="null"/>.
The return value is a reference to the text, not a copy of it, so will become invalid if you change the text in the <seecref="T:Gtk.ProgressBar"/>.</remarks>
<summary>The fraction of total <seecref="T:Gtk.ProgressBar"/> length to move the bouncing block for each call to <seecref="M:Gtk.ProgressBar.Pulse()"/>.</summary>
<paramname="value">an object of type <seecref="T:System.Double"/></param>
<returns>an object of type <seecref="T:System.Double"/></returns>
<remarks>The fraction of total <seecref="T:Gtk.ProgressBar"/> length to move the bouncing block for each call to <seecref="M:Gtk.ProgressBar.Pulse()"/>.</remarks>
<para>This is a constructor used by derivative types of <seecref="T:Gtk.ProgressBar"/> that would have their own GLib type assigned to it. This is not typically used by C# code.</para>