<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.6.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(Name="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 fired 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(CName="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 fired 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(CName="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(Message=null, IsError=False)</AttributeName> </Attribute> </Attributes></Member> </Members> </Type>