forked from mono/gtk-sharp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSubclass.cs
executable file
·51 lines (42 loc) · 1.15 KB
/
Subclass.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Subclass.cs - Widget subclass Test
//
// Author: Mike Kestner <[email protected]>
//
// (c) 2001-2003 Mike Kestner, Novell, Inc.
namespace GtkSamples {
using Gtk;
using System;
public class ButtonAppSubclass {
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);
}
}
}