summaryrefslogtreecommitdiffstats
path: root/qtsharp/src/examples/samples/emit.cs
blob: a15868db7ea9aee54cb6a67f3276f445fb673e5b (plain)
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
// Illustrates basic usage of custom signals.
// Also see the t7 tutorial.

namespace QtSamples {
	using System;
	using Qt;

	[DeclareQtSignal ("MySignal()")]
	public class EmitSample: TTQVBox {
		public EmitSample (): this (null, "") {}

		public EmitSample (TTQWidget parent, string name): base ()
		{
			TTQPushButton pb = new TTQPushButton ("Papa Smurf", this);

			Connect (pb, TQT_SIGNAL ("clicked ()"), TQT_SLOT ("DoEmit ()"));
			Connect (this, TQT_SIGNAL ("MySignal ()"), TQT_SLOT ("PrintStuff ()"));
		}

		public void DoEmit ()
		{
			Emit ("MySignal()");
		}

		public void PrintStuff ()
		{
			Console.WriteLine ("Emitted MySignal");
		}

		public static int Main (string[] args)
		{
			TTQApplication app = new TTQApplication (args);
			EmitSample es = new EmitSample ();
			app.SetMainWidget (es);
			es.Show ();
			int ret = app.Exec ();
			es.Dispose();
			return ret;
		}
	}
}