Ryujinx-GtkSharp/sample/Subclass.cs
Mike Kestner c2230278b3 2007-09-06 Mike Kestner <mkestner@novell.com>
* AssemblyInfo.cs.in : add IgnoreClassInitializers attr to all.
 	* generator/ObjectGen.cs : add custom-attr generation for objects.
 	* glib/ClassInitializerAttribute.cs : obsolete
 	* glib/IgnoreClassInitializersAttribute.cs : new assembly attr
 	to avoid a blind GetMethods reflection.
 	* glib/Makefile.am : add files
 	* glib/TypeInitializerAttribute.cs : new attr to specify init
 	method to be run at type registration.
 	* gtk/Widget.custom : remove the ClassInitializerAttr.
 	* gtk/Gtk.metadata : add a custom-attr node to GtkWidget.
 	* sample/Subclass.cs : use the IgnoreClassInitializers attr.

svn path=/trunk/gtk-sharp/; revision=85480
2007-09-07 14:40:46 +00:00

54 lines
1.2 KiB
C#
Executable File

// Subclass.cs - Widget subclass Test
//
// Author: Mike Kestner <mkestner@ximian.com>
//
// (c) 2001-2003 Mike Kestner, Novell, Inc.
[assembly:GLib.IgnoreClassInitializers]
namespace GtkSamples {
using Gtk;
using System;
public class ButtonApp {
public static int Main (string[] args)
{
Application.Init ();
Window win = new Window ("Button Tester");
win.DeleteEvent += new DeleteEventHandler (Quit);
Button btn = new MyButton ();
win.Add (btn);
win.ShowAll ();
Application.Run ();
return 0;
}
static void Quit (object sender, DeleteEventArgs args)
{
Application.Quit();
}
}
[Binding (Gdk.Key.Escape, "HandleBinding", "Escape")]
[Binding (Gdk.Key.Left, "HandleBinding", "Left")]
[Binding (Gdk.Key.Right, "HandleBinding", "Right")]
[Binding (Gdk.Key.Up, "HandleBinding", "Up")]
[Binding (Gdk.Key.Down, "HandleBinding", "Down")]
public class MyButton : Gtk.Button {
public MyButton () : base ("I'm a subclassed button") {}
protected override void OnClicked ()
{
Console.WriteLine ("Button::Clicked default handler fired.");
}
private void HandleBinding (string text)
{
Console.WriteLine ("Got a bound keypress: " + text);
}
}
}