All pastes #386488 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-03-08 17:34 UTC
rendered paste body
using System;
using GLib;
using Gtk;
using Hildon;

namespace HildonSamples {

public class BannerExample : Hildon.Window
{
private static Hildon.Banner banner = null;
private static int banner_type = 1;

	public BannerExample() :base ()
	{
		this.Destroyed += delegate {Application.Quit ();};
		this.Title = "BannerExample";
		this.BorderWidth = 6;
		Gtk.VBox vbox_main = new VBox (false,0);
		Gtk.Button btn = new Button ("Show Info");
		btn.Clicked += new EventHandler (show_banner);
		vbox_main.PackStart (btn);
		this.Add (vbox_main);
		this.ShowAll();	
	}
	
	protected void show_banner(object source,EventArgs e)
		  {
		  switch (banner_type) {
		  
		  case 1:
		  /* Show normal information banner and this automatically goes away */
		  Banner.ShowInformation(this, null, "Hi there!");
		  break;

		  case 2:
		  /* Informaton banner with animation icon. This banner does not automatically disapear. */
		  banner = (Hildon.Banner) Banner.ShowAnimation(this, null, "This is animation icon");
		  break;

		  case 3:
		  /* Remove current information banner */
		  banner.Destroy();
		  break;

		  case 4:
		  /* Information banner with progressbar */
		  banner = (Hildon.Banner) Banner.ShowProgress (this, null, "Info with progress bar");
		  /* Set bar to be 20% full */
		  banner.Fraction = (double)0.2;
		  break;

		  case 5:
		  /* Set bar to be 80% full */
		  banner.Fraction = (double)0.8;
		  break;

		  case 6:
		  /* With sixth click, end the application */
		  Application.Quit();
		  break;
		  }

		  /* Increase the counter */
		  banner_type++;
		  }
	
	public static void Main (string[] args)
	{
		Application.Init ("mono",ref args);
		Hildon.Program prog = Hildon.Program.Instance;
		prog.AddWindow ( new BannerExample ());		
		Application.Run();
	}
}

}