GtkSharp/sample/tutorial/packing/packing.cs
Alejandro Sánchez Acosta 89e3c84951 Added new samples widgets and modified togglebutton.
svn path=/trunk/gtk-sharp/; revision=9187
2002-11-25 19:09:29 +00:00

237 lines
5.1 KiB
C#

// packingdemo.cs - Gtk# Tutorial example
//
// Author: Alejandro Sánchez Acosta <raciel@es.gnu.org>
// Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
//
// (c) 2002 Alejandro Sánchez Acosta
// Cesar Octavio Lopez Nataren
namespace GtkSharpTutorial {
using Gtk;
using GtkSharp;
using Gdk;
using GdkSharp;
using Glib;
using GlibSharp;
using System;
using System.Drawing;
public class fixedcontainer
{
public int x = 50;
public int y = 50;
static Gtk.HBox make_box (bool homogeneous, int spacing, bool expand, bool fill, uint padding)
{
HBox box;
Box box1;
Button button;
string padstr;
box = new HBox (homogeneous, spacing);
button = new Button ("gtk_box_pack");
box.PackStart (button, expand, fill, padding);
button.Show();
button = new Button ("(box,");
box.PackStart (button, expand, fill, padding);
button.Show();
button = new Button ("button");
box.PackStart (button, expand, fill, padding);
button.Show();
if (expand == true)
button = new Button ("TRUE");
else
button = new Button ("FALSE");
box.PackStart (button, expand, fill, padding);
button.Show();
button = new Button (fill ? "TRUE," : "FALSE,");
box.PackStart(button, expand, fill, padding);
button.Show();
padstr=padding.ToString()+");";
button = new Button (padstr);
box.PackStart (button, expand, fill, padding);
button.Show();
return box;
}
static void delete_event (object obj, DeleteEventArgs args)
{
Application.Quit();
}
static void exitbutton_event (object obj, ButtonPressEventArgs args)
{
Application.Quit();
}
public static int Main (string[] args)
{
Gtk.Window window;
Button button;
VBox box1;
HBox box2;
HSeparator separator;
Misc misc;
Box quitbox;
int which;
Gtk.Label label;
Application.Init();
if (args.Length !=1) {
Console.WriteLine ("Usage: packbox num, where num is 1, 2 o 3");
return (1);
}
which = Convert.ToInt32 (args[0]);
window = new Gtk.Window ("packingdemo");
window.DeleteEvent += new DeleteEventHandler (delete_event);
window.BorderWidth = 10;
box1 = new VBox (false, 0);
switch (which) {
case 1:
label=new Gtk.Label("gtk_hbox_new (FALSE, 0);");
box2 = new HBox (false, 0);
label.SetAlignment (0, 0);
box1.PackStart (label, false, false, 0);
label.Show();
box2 = make_box (false, 0, false, false, 0);
box1.PackStart (box2, false, false, 0);
box2.Show();
box2 = make_box (false, 0, true, false, 0);
box1.PackStart (box2, false, false, 0);
box2.Show();
box2 = make_box (false, 0, true, true, 0);
box1.PackStart (box2, false, false, 0);
box2.Show();
separator = new HSeparator ();
box1.PackStart (separator, false, true, 5);
separator.Show();
box1 = new VBox (true, 0);
label=new Gtk.Label("gtk_hbox_new (TRUE, 0);");
label.SetAlignment (0, 0);
box1.PackStart(label, false, false, 0);
label.Show();
box2 = make_box (true, 0, true, true, 0);
box1.PackStart (box2, false, false, 0);
box2.Show();
box2 = make_box (true, 0, true, true, 0);
box1.PackStart(box2, false, false, 0);
box2.Show();
separator = new HSeparator();
box1.PackStart (separator, false, true, 5);
separator.Show();
break;
case 2:
box2 = new HBox (false, 10);
label = new Gtk.Label("gtk_hbox_new (FALSE, 10);");
label.SetAlignment (0, 0);
box1.PackStart (box2, false, false, 0);
box1.Show();
box2 = make_box (false, 10, true, true, 0);
box1.PackStart (box2, false, false, 0);
box2.Show();
separator = new HSeparator ();
box1.PackStart (separator, false, true, 5);
separator.Show();
box2 = new HBox (false, 0);
label=new Gtk.Label("gtk_hbox_new (FALSE, 0);");
label.SetAlignment (0, 0);
box1.PackStart (label, false, false, 0);
label.Show();
box2 = make_box (false, 0, true, false, 10);
box1.PackStart (box2, false, false, 0);
box2.Show();
box2 = make_box (false, 0, true, true, 10);
box1.PackStart (box2, false, false, 0);
box2.Show();
separator = new HSeparator ();
box1.PackStart(separator, false, true, 5);
separator.Show();
break;
case 3:
box2 = make_box (false, 0, false, false, 0);
label = new Label ("end");
box2.PackEnd(label, false, false, 0);
label.Show();
box1.PackStart(box2, false, false, 0);
box2.Show();
separator = new HSeparator();
separator.SetSizeRequest(400, 5);
box1.PackStart (separator, false, true, 5);
separator.Show();
break;
}
quitbox = new HBox (false, 0);
button = new Button ("Quit");
button.Clicked += new EventHandler (ClickedEventHandler);
quitbox.PackStart(button, true, false, 0);
box1.PackStart (quitbox, false, false, 0);
window.Add(box1);
button.Show();
quitbox.Show();
box1.Show();
window.Show();
Application.Run();
return 0;
}
static void ClickedEventHandler(object sender, EventArgs e)
{
Application.Quit();
}
}
}