diff --git a/sample/DbClient/DbClient.cs b/sample/DbClient/DbClient.cs new file mode 100644 index 000000000..12f765bb4 --- /dev/null +++ b/sample/DbClient/DbClient.cs @@ -0,0 +1,100 @@ +using System; +using System.Data; +using System.Data.SqlClient; + +using Gtk; +using Gdk; +using Gnome; +using GtkSharp; + +public class GtkDbClient { + + static Window window; + static Notebook notebook = null; + + static void Main () + { + Application.Init (); + window = new Window ("Database client"); + window.DeleteEvent += new DeleteEventHandler (Window_Delete); + VBox box = new VBox (false, 0); + notebook = new Notebook (); + + box.PackStart (CreateMenu (), false, false, 0); + box.PackStart (notebook, false, false, 0); + + AddPage ("Browse", new Label ("Browse")); + AddPage ("Insert", new Label ("Insert")); + AddPage ("Remove", new Label ("Remove")); + AddPage ("Update", new Label ("Update")); + + window.Add (box); + window.ShowAll (); + Application.Run (); + } + + static Gtk.MenuBar CreateMenu () + { + MenuBar mb = new MenuBar (); + Menu file_menu = new Menu (); + + ImageMenuItem close_item = new ImageMenuItem ("Close"); + close_item.Image = new Image (Stock.Close, IconSize.Menu); + ImageMenuItem quit_item = new ImageMenuItem ("Quit"); + quit_item.Image = new Image (Stock.Quit, IconSize.Menu); + + quit_item.Activated += new EventHandler (Quit_Activated); + + file_menu.Append (new SeparatorMenuItem ()); + file_menu.Append (close_item); + file_menu.Append (quit_item); + + MenuItem file_item = new MenuItem ("_File"); + file_item.Submenu = file_menu; + + mb.Append (file_item); + + Menu help_menu = new Menu (); + MenuItem help_item = new MenuItem ("_Help"); + help_item.Submenu = help_menu; + MenuItem about = new MenuItem ("About"); + about.Activated += new EventHandler (About_Box); + help_menu.Append (about); + mb.Append (help_item); + + return mb; + } + + static void AddPage (string title, Widget child) + { + notebook.AppendPage (child, new Label (title)); + } + + static void About_Box (object o, EventArgs args) + { + string [] authors = new string [] { + "Rodrigo Moya (rodrigo@ximian.com", + "Gonzalo Paniagua (gonzalo@ximian.com)", + "Duncan Mak (duncan@ximian.com)", + }; + + string [] documenters = new string [] {}; + + Gnome.About about = new Gnome.About ("Gtk# Db Client", "0.1", + "Copyright (C) 2002, Ximian Inc.", + "A Sample Database client", + authors, documenters, "", new Pixbuf ()); + about.Show (); + } + + static void Window_Delete (object o, DeleteEventArgs args) + { + Application.Quit (); + args.RetVal = true; + } + + static void Quit_Activated (object o, EventArgs args) + { + Application.Quit (); + } +} diff --git a/sample/DbClient/Makefile b/sample/DbClient/Makefile new file mode 100644 index 000000000..c5014f403 --- /dev/null +++ b/sample/DbClient/Makefile @@ -0,0 +1,7 @@ +MCS=mcs + +all: + $(MCS) -r glib-sharp -r gdk-sharp -r gtk-sharp -r gnome-sharp DbClient.cs + +clean: + rm -f *.exe