﻿<?xml version="1.0" encoding="utf-8"?><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 &lt; 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>