using System; using Gtk; using Gecko; namespace GeckoTest { class GeckoTest { WebControl moz; Entry entry; string currentUrl; Statusbar sb; ProgressBar pb; static void Main (string[] args) { new GeckoTest (); } GeckoTest () { Application.Init (); Window win = new Window ("GeckoTest"); win.SetDefaultSize (800, 600); win.DeleteEvent += new DeleteEventHandler (window_delete); VBox vbox = new VBox (false, 1); win.Add (vbox); HBox tb = new HBox (true, 1); Button btnBack = new Button (Gtk.Stock.GoBack); btnBack.Clicked += new EventHandler (on_btnBack_clicked); Button btnForward = new Button (Gtk.Stock.GoForward); btnForward.Clicked += new EventHandler (on_btnForward_clicked); Button btnStop = new Button (Gtk.Stock.Stop); btnStop.Clicked += new EventHandler (on_btnStop_clicked); Button btnRefresh = new Button (Gtk.Stock.Refresh); btnRefresh.Clicked += new EventHandler (on_btnRefresh_clicked); tb.Add (btnBack); tb.Add (btnForward); tb.Add (btnStop); tb.Add (btnRefresh); vbox.PackStart (tb, false, false, 1); HBox hbox = new HBox (false, 1); Label label = new Label ("Address:"); entry = new Entry ("URL"); entry.Activated += new EventHandler (entry_activated); Button button = new Button ("GO!"); button.Clicked += new EventHandler (button_clicked); hbox.PackStart (label, false, false, 1); hbox.PackStart (entry, true, true, 1); hbox.PackStart (button, false, false, 1); vbox.PackStart (hbox, false, false, 1); moz = new WebControl ("/tmp/csharp", "GeckoTest"); moz.LinkMsg += new EventHandler(on_moz_linkmessage); vbox.PackStart(moz, true, true, 1); HBox hbox2 = new HBox (false, 1); vbox.PackStart (hbox2, false, false, 1); sb = new Statusbar (); sb.Push (1, "Welcome!"); hbox2.Add (sb); pb = new ProgressBar (); pb.Orientation = ProgressBarOrientation.LeftToRight; hbox2.Add (pb); win.ShowAll (); Application.Run (); } void window_delete (object obj, DeleteEventArgs args) { Application.Quit(); } void button_clicked (object obj, EventArgs args) { LoadHtml (entry.Text.Trim()); } void on_moz_linkmessage (object obj, EventArgs args) { sb.Pop (1); sb.Push (1, moz.LinkMessage); } void entry_activated (object obj, EventArgs args) { button_clicked (obj, args); } void LoadHtml (string URL) { moz.LoadUrl (URL); } void on_btnBack_clicked (object obj, EventArgs args) { moz.GoBack(); } void on_btnStop_clicked (object obj, EventArgs args) { moz.StopLoad(); } void on_btnForward_clicked (object obj, EventArgs args) { moz.GoForward(); } void on_btnRefresh_clicked (object obj, EventArgs args) { moz.Reload(0); } } }