﻿<?xml version="1.0" encoding="utf-8"?><Type Name="Statusbar" FullName="Gtk.Statusbar"><TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class Statusbar : Gtk.HBox" /><AssemblyInfo><AssemblyName>gtk-sharp</AssemblyName><AssemblyPublicKey></AssemblyPublicKey><AssemblyVersion>2.12.0.0</AssemblyVersion></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><Docs><summary>Report messages of minor importance to the user.</summary><remarks><para>The Statusbar widget displays textual messages to the user. Statusbars are typically placed at the bottom of application <see cref="T:Gtk.Window" />s.</para><para>A Statusbar may provide a regular commentary of the application's status (as is usually the case in a web browser, for example), or may be used to simply output a message when the status changes, (when an upload is complete in an FTP client, for example).</para><para>As a finishing touch to the StatusBar, it can have a "resize grip" added in the lower right corner. This is a triangular area that can be clicked on to resize the window containing the statusbar.</para><para>Status bars in Gtk maintain a stack of messages. The message at the top of the each bar's stack is the one that will currently be displayed.</para><para>Any messages added to a statusbar's stack must specify a <paramref name="context_id" /> that is used to uniquely identify the source of a message. This <paramref name="context_id" /> can be generated with <see cref="M:Gtk.Statusbar.GetContextId" />, given a message. Note that messages are stored in a stack, and when choosing which message to display, the stack structure is adhered to, regardless of the context identifier of a message.</para><para>Messages are added to the bar's stack with <see cref="M:Gtk.Statusbar.Push" />, and the message at the top of the stack can be removed using <see cref="M:Gtk.Statusbar.Pop" />. A message can be removed from anywhere in the stack if it's <paramref name="message_id" /> was recorded at the time it was added. This is done using <see cref="M:Gtk.Statusbar.Remove" />.</para><example><code lang="C#">
using System;
using Gtk;

class StatusbarSample
{
	Statusbar sb;
	const int id = 1;
	int count;

	static void Main ()
	{
		new StatusbarSample ();
	}

	StatusbarSample ()
	{
		Application.Init ();
		count = 0;
		Window win = new Window ("StatusbarSample");
		win.DeleteEvent += new DeleteEventHandler (OnWinDelete);
		win.SetDefaultSize (150, 100);

		VBox vbox = new VBox (false, 1);
		win.Add (vbox);

		Button btn = new Button ("Add to counter");
		btn.Clicked += new EventHandler (OnButtonClicked);
		vbox.Add (btn);

		sb = new Statusbar ();
		sb.Push (id, "Welcome!");
		sb.HasResizeGrip = false;
		vbox.Add (sb);

		win.ShowAll ();
		Application.Run ();
	}

	void OnButtonClicked (object obj, EventArgs args)
	{
		count ++;
		string message = String.Format ("Pushed {0} times", count);
		sb.Pop (id);
		sb.Push (id, message);
	}

	void OnWinDelete (object obj, DeleteEventArgs args)
	{
		Application.Quit ();
	}
}
  </code></example></remarks></Docs><Base><BaseTypeName>Gtk.HBox</BaseTypeName></Base><Interfaces></Interfaces><Members><Member MemberName="Push"><MemberSignature Language="C#" Value="public uint Push (uint context_id, string text);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.UInt32</ReturnType></ReturnValue><Parameters><Parameter Name="context_id" Type="System.UInt32" /><Parameter Name="text" Type="System.String" /></Parameters><Docs><summary>Pushes a new message onto the stack.</summary><param name="context_id">The new message's context ID, as generated by <see cref="M:Gtk.Statusbar.GenerateContextId" />.</param><param name="text">The message to display to the user.</param><returns>The message's new message id for use with <see cref="M:Gtk.Statusbar.Remove" />.</returns><remarks><para>Note that the <paramref name="context_id" /> and the returned <paramref name="message_id" /> are equivalent and are both required for <see cref="M:Gtk.Statusbar.Remove" /> to work.</para></remarks></Docs></Member><Member MemberName="Remove"><MemberSignature Language="C#" Value="public void Remove (uint context_id, uint message_id);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="context_id" Type="System.UInt32" /><Parameter Name="message_id" Type="System.UInt32" /></Parameters><Docs><summary>Forces the removal of a message from a statusbar's stack.</summary><param name="context_id">A context identifier.</param><param name="message_id">A message identifier.</param><remarks><para>The exact <paramref name="context_id" /> and <paramref name="message_id" /> must be specified.</para></remarks></Docs></Member><Member MemberName="Pop"><MemberSignature Language="C#" Value="public void Pop (uint context_id);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="context_id" Type="System.UInt32" /></Parameters><Docs><summary>Removes the message at the top of the Statusbar's stack.</summary><param name="context_id">A context identifier</param><remarks /></Docs></Member><Member MemberName="GetContextId"><MemberSignature Language="C#" Value="public uint GetContextId (string context_description);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.UInt32</ReturnType></ReturnValue><Parameters><Parameter Name="context_description" Type="System.String" /></Parameters><Docs><summary>Generates an identifier based on the <paramref name="context_description" />.</summary><param name="context_description">A description of the message you want to generate an identifier for.</param><returns>An integer identifier</returns><remarks /></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public Statusbar (IntPtr raw);" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters><Parameter Name="raw" Type="System.IntPtr" /></Parameters><Docs><summary>Internal constructor</summary><param name="raw">Pointer to the C object.</param><remarks><para>This is an internal constructor, and should not be used by user code.</para></remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public Statusbar ();" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters /><Docs><summary>The main way to create a new status bar.</summary><remarks><para>Creates a new Statusbar with an empty message stack.</para></remarks></Docs></Member><Member MemberName="HasResizeGrip"><MemberSignature Language="C#" Value="public bool HasResizeGrip { set; get; };" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>Manage whether this Statusbar has a resizable grip over its bottom right corner.</summary><value>Whether or not there is currently a resize grip on the Statusbar.</value><remarks /></Docs><Attributes><Attribute><AttributeName>GLib.Property("has-resize-grip")</AttributeName></Attribute></Attributes></Member><Member MemberName="TextPushed"><MemberSignature Language="C#" Value="public event Gtk.TextPushedHandler TextPushed;" /><MemberType>Event</MemberType><ReturnValue><ReturnType>Gtk.TextPushedHandler</ReturnType></ReturnValue><Parameters /><Docs><summary>An event that is raised when a message is pushed onto the Statusbar's message stack using the <see cref="M:Gtk.Statusbar.Push" /> method.</summary><remarks><para>Connect to this event with a <see cref="T:Gtk.TextPushedHandler" />.</para></remarks></Docs><Attributes><Attribute><AttributeName>GLib.Signal("text_pushed")</AttributeName></Attribute></Attributes></Member><Member MemberName="TextPopped"><MemberSignature Language="C#" Value="public event Gtk.TextPoppedHandler TextPopped;" /><MemberType>Event</MemberType><ReturnValue><ReturnType>Gtk.TextPoppedHandler</ReturnType></ReturnValue><Parameters /><Docs><summary>An event that is raised when a message is popped off the Statusbar's message stack using the <see cref="M:Gtk.Statusbar.Pop" /> method.</summary><remarks><para>Connect to this event with a <see cref="T:Gtk.TextPoppedHandler" />.</para></remarks></Docs><Attributes><Attribute><AttributeName>GLib.Signal("text_popped")</AttributeName></Attribute></Attributes></Member><Member MemberName="GType"><MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" /><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.Statusbar" />.</remarks></Docs></Member><Member MemberName="OnTextPopped"><MemberSignature Language="C#" Value="protected virtual void OnTextPopped (uint context_id, string text);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="context_id" Type="System.UInt32" /><Parameter Name="text" Type="System.String" /></Parameters><Docs><summary>Default handler for the <see cref="M:Gtk.Statusbar.TextPopped" /> event.</summary><param name="context_id">a <see cref="T:System.UInt32" /></param><param name="text">a <see cref="T:System.String" /></param><remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Statusbar.TextPopped" /> event.</remarks></Docs></Member><Member MemberName="OnTextPushed"><MemberSignature Language="C#" Value="protected virtual void OnTextPushed (uint context_id, string text);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="context_id" Type="System.UInt32" /><Parameter Name="text" Type="System.String" /></Parameters><Docs><summary>Default handler for the <see cref="M:Gtk.Statusbar.TextPushed" /> event.</summary><param name="context_id">a <see cref="T:System.UInt32" /></param><param name="text">a <see cref="T:System.String" /></param><remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Statusbar.TextPushed" /> event.</remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected Statusbar (GLib.GType gtype);" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters><Parameter Name="gtype" Type="GLib.GType" /></Parameters><Docs><summary>Protected Constructor.</summary><param name="gtype">a <see cref="T:GLib.GType" /></param><remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks></Docs><Attributes><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes></Member></Members></Type>