summaryrefslogtreecommitdiffstats
path: root/qtsharp/src/examples/samples/emit.cs
blob: e9c3c40ae683628f986b219cdad5bb124712284e (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: QVBox {
		public EmitSample (): this (null, "") {}

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

			Connect (pb, SIGNAL ("clicked ()"), SLOT ("DoEmit ()"));
			Connect (this, SIGNAL ("MySignal ()"), SLOT ("PrintStuff ()"));
		}

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

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

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