<Type Name="ProgressBar" FullName="Gtk.ProgressBar"> <TypeSignature Language="C#" Maintainer="John Luke" Value="public class ProgressBar : Gtk.Widget, Gtk.IOrientable" /> <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ProgressBar extends Gtk.Widget implements class GLib.IWrapper, class Gtk.IOrientable" /> <AssemblyInfo> <AssemblyName>gtk-sharp</AssemblyName> <AssemblyPublicKey> </AssemblyPublicKey> </AssemblyInfo> <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement> <Base> <BaseTypeName>Gtk.Widget</BaseTypeName> </Base> <Interfaces> <Interface> <InterfaceName>Gtk.IOrientable</InterfaceName> </Interface> </Interfaces> <Docs> <summary>A widget which indicates progress visually.</summary> <remarks> <para>The <see cref="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 <see cref="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 <see cref="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 <see cref="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 <see cref="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 <see cref="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 <see cref="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> <para> The following example show how percentage mode works </para> <example> <code lang="C#"> using System; using Gtk; namespace TestGtkAlone { public class TestProgress { static Gtk.ProgressBar PBar; static void Main() { Gtk.Application.Init(); Gtk.Window WinPBar = new Window("Test Progress bar - Percentage mode"); Gtk.HBox HContainer = new Gtk.HBox(false, 2); PBar = new ProgressBar(); Gtk.Button ButtonStart = new Gtk.Button("Start Progress"); HContainer.Add(PBar); HContainer.Add(ButtonStart); ButtonStart.Clicked += new EventHandler(ButtonStart_Clicked); WinPBar.Add(HContainer); WinPBar.ShowAll(); Gtk.Application.Run(); } public static void ButtonStart_Clicked(object sender, EventArgs args) { PBar.Adjustment.Lower = 0; PBar.Adjustment.Upper = 1000; while (PBar.Adjustment.Value < PBar.Adjustment.Upper) { PBar.Adjustment.Value+=1; } } } } </code> </example> </remarks> </Docs> <Members> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public ProgressBar ();" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters /> <Docs> <summary>Creates a new <see cref="T:Gtk.ProgressBar" />.</summary> <remarks>Creates a new <see cref="T:Gtk.ProgressBar" />.</remarks> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public ProgressBar (IntPtr raw);" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="raw" Type="System.IntPtr" /> </Parameters> <Docs> <param name="raw">Pointer to the C object.</param> <summary>Internal constructor</summary> <remarks> <para>This is an internal constructor, and should not be used by user code.</para> </remarks> </Docs> </Member> <Member MemberName="Ellipsize"> <MemberSignature Language="C#" Value="public Pango.EllipsizeMode Ellipsize { get; set; }" /> <MemberSignature Language="ILAsm" Value=".property instance valuetype Pango.EllipsizeMode Ellipsize" /> <MemberType>Property</MemberType> <Attributes> <Attribute> <AttributeName>GLib.Property("ellipsize")</AttributeName> </Attribute> </Attributes> <ReturnValue> <ReturnType>Pango.EllipsizeMode</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <value>a <see cref="T:Pango.EllipsizeMode" /></value> <remarks>To be added</remarks> <since version="Gtk# 2.6" /> </Docs> </Member> <Member MemberName="Fraction"> <MemberSignature Language="C#" Value="public double Fraction { get; set; }" /> <MemberSignature Language="ILAsm" Value=".property instance float64 Fraction" /> <MemberType>Property</MemberType> <Attributes> <Attribute> <AttributeName>GLib.Property("fraction")</AttributeName> </Attribute> </Attributes> <ReturnValue> <ReturnType>System.Double</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>The current fraction of the task that has been completed.</summary> <value>an object of type <see cref="T:System.Double" /></value> <remarks>The current fraction of the task that has been completed.</remarks> </Docs> </Member> <Member MemberName="GType"> <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" /> <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>GLib.GType</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>GType Property.</summary> <value>a <see cref="T:GLib.GType" /></value> <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.ProgressBar" />.</remarks> </Docs> </Member> <Member MemberName="Inverted"> <MemberSignature Language="C#" Value="public bool Inverted { get; set; }" /> <MemberSignature Language="ILAsm" Value=".property instance bool Inverted" /> <MemberType>Property</MemberType> <Attributes> <Attribute> <AttributeName>GLib.Property("inverted")</AttributeName> </Attribute> </Attributes> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Docs> <summary>To be added.</summary> <value>To be added.</value> <remarks>To be added.</remarks> <since version="Gtk# 3.0" /> </Docs> </Member> <Member MemberName="Orientation"> <MemberSignature Language="C#" Value="public Gtk.Orientation Orientation { get; set; }" /> <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.Orientation Orientation" /> <MemberType>Property</MemberType> <Attributes> <Attribute> <AttributeName>GLib.Property("orientation")</AttributeName> </Attribute> </Attributes> <ReturnValue> <ReturnType>Gtk.Orientation</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>The current <see cref="T:Gtk.ProgressBar" /> orientation.</summary> <value>an object of type <see cref="T:Gtk.ProgressBarOrientation" /></value> <remarks>The current <see cref="T:Gtk.ProgressBar" /> orientation.</remarks> </Docs> </Member> <Member MemberName="Pulse"> <MemberSignature Language="C#" Value="public void Pulse ();" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Pulse() cil managed" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <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 <see cref="T:Gtk.ProgressBar" /> to enter "activity mode," where a block bounces back and forth. Each call to <see cref="M:Gtk.ProgressBar.Pulse()" /> causes the block to move by a little bit (the amount of movement per pulse is determined by <see cref="P:Gtk.ProgressBar.PulseStep" />).</remarks> </Docs> </Member> <Member MemberName="PulseStep"> <MemberSignature Language="C#" Value="public double PulseStep { get; set; }" /> <MemberSignature Language="ILAsm" Value=".property instance float64 PulseStep" /> <MemberType>Property</MemberType> <Attributes> <Attribute> <AttributeName>GLib.Property("pulse-step")</AttributeName> </Attribute> </Attributes> <ReturnValue> <ReturnType>System.Double</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>The fraction of total <see cref="T:Gtk.ProgressBar" /> length to move the bouncing block for each call to <see cref="M:Gtk.ProgressBar.Pulse()" />.</summary> <value>an object of type <see cref="T:System.Double" /></value> <remarks>The fraction of total <see cref="T:Gtk.ProgressBar" /> length to move the bouncing block for each call to <see cref="M:Gtk.ProgressBar.Pulse()" />.</remarks> </Docs> </Member> <Member MemberName="ShowText"> <MemberSignature Language="C#" Value="public bool ShowText { get; set; }" /> <MemberSignature Language="ILAsm" Value=".property instance bool ShowText" /> <MemberType>Property</MemberType> <Attributes> <Attribute> <AttributeName>GLib.Property("show-text")</AttributeName> </Attribute> </Attributes> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Docs> <summary>To be added.</summary> <value>To be added.</value> <remarks>To be added.</remarks> <since version="Gtk# 3.0" /> </Docs> </Member> <Member MemberName="Text"> <MemberSignature Language="C#" Value="public string Text { get; set; }" /> <MemberSignature Language="ILAsm" Value=".property instance string Text" /> <MemberType>Property</MemberType> <Attributes> <Attribute> <AttributeName>GLib.Property("text")</AttributeName> </Attribute> </Attributes> <ReturnValue> <ReturnType>System.String</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>The text displayed superimposed on the <see cref="T:Gtk.ProgressBar" />.</summary> <value>an object of type <see cref="T:System.String" /></value> <remarks>The text displayed superimposed on the <see cref="T:Gtk.ProgressBar" />, if any, otherwise <see langword="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 <see cref="T:Gtk.ProgressBar" />.</remarks> </Docs> </Member> </Members> </Type>