mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-12-25 09:05:28 +00:00
adef5f7bbd
* glib/ClassInitializerAttribute.cs : new attr for identifying type. inialization methods to be run by RegisterGType. * glib/Makefile.am : add file. * glib/Object.cs : add private method to invoke ClassInitializers. * gtk/glue/widget.c : some new glue for binding registration. * gtk/BindingAttribute.cs : new attr for registering key bindings. * gtk/Makefile.am : add file. * gtk/Widget.custom : add ClassInitializer method to scan types for [Binding] and register key bindings. svn path=/trunk/gtk-sharp/; revision=38074
52 lines
1.1 KiB
C#
Executable file
52 lines
1.1 KiB
C#
Executable file
// Subclass.cs - Widget subclass Test
|
|
//
|
|
// Author: Mike Kestner <mkestner@ximian.com>
|
|
//
|
|
// (c) 2001-2003 Mike Kestner, Novell, Inc.
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|