File: Subclass.cs

package info (click to toggle)
gtk-sharp3 2.99.3-4.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 25,488 kB
  • sloc: xml: 308,885; cs: 38,796; sh: 11,336; perl: 1,295; makefile: 1,099; ansic: 903
file content (51 lines) | stat: -rwxr-xr-x 1,176 bytes parent folder | download | duplicates (5)
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 <mkestner@ximian.com>
//
// (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);
		}
	}
}