gtk-sharpGtk# is thread aware, but not thread safe; See the Gtk# Thread Programming for details.Gtk.HBoxReport messages of minor importance to the user.The Statusbar widget displays textual messages to the user. Statusbars are typically placed at the bottom of application s.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).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.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.Any messages added to a statusbar's stack must specify a that is used to uniquely identify the source of a message. This can be generated with , 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.Messages are added to the bar's stack with , and the message at the top of the stack can be removed using . A message can be removed from anywhere in the stack if it's was recorded at the time it was added. This is done using .
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 ();
}
}
ConstructorThe main way to create a new status bar.Creates a new Statusbar with an empty message stack.Constructor
Pointer to the C object.
Internal constructorThis is an internal constructor, and should not be used by user code.MethodSystem.UInt32
A description of the message you want to generate an identifier for.
Generates an identifier based on the .An integer identifierPropertyGLib.GTypeGType Property.a Returns the native value for .PropertyGtk.WidgetTo be added.To be added.To be added.MethodGLib.DefaultSignalHandler(ConnectionMethod="OverrideTextPopped", Type=typeof(Gtk.Statusbar))System.Void
a
a Default handler for the event.Override this method in a subclass to provide a default handler for the event.MethodGLib.DefaultSignalHandler(ConnectionMethod="OverrideTextPushed", Type=typeof(Gtk.Statusbar))System.Void
a
a Default handler for the event.Override this method in a subclass to provide a default handler for the event.MethodSystem.Void
A context identifier
Removes the message at the top of the Statusbar's stack.MethodSystem.UInt32
The new message's context ID, as generated by .
The message to display to the user.
Pushes a new message onto the stack.The message's new message id for use with .Note that the and the returned are equivalent and are both required for to work.MethodSystem.Void
A context identifier.
A message identifier.
Forces the removal of a message from a statusbar's stack.The exact and must be specified.MethodSystem.Void
To be added.
To be added.To be added.EventGLib.Signal("text-popped")Gtk.TextPoppedHandlerAn event that is raised when a message is popped off the Statusbar's message stack using the method.Connect to this event with a .EventGLib.Signal("text-pushed")Gtk.TextPushedHandlerAn event that is raised when a message is pushed onto the Statusbar's message stack using the method.Connect to this event with a .