Mercurial > projects > qtd
comparison mini/test1/main.d @ 361:beaf4a2974d7
Autogeneration of QMetaType. First attempts at fixing qRegisterMetaType etc
author | Max Samukha <maxter@maxter.com> |
---|---|
date | Wed, 09 Jun 2010 11:08:56 +0300 |
parents | 49bfc86ff583 |
children | bcbfffef4f9e |
comparison
equal
deleted
inserted
replaced
360:49d0a43433e7 | 361:beaf4a2974d7 |
---|---|
1 import qt.core.QCoreApplication; | 1 import qt.core.QMetaType; |
2 | 2 |
3 version(Tango) { import tango.io.Stdout; } else { import std.stdio; } | 3 import std.stdio; |
4 import std.conv; | |
5 import qtd.QtdObject; | |
4 | 6 |
5 int main(string[] args) | 7 class A |
6 { | 8 { |
7 auto app = new QCoreApplication(args); | 9 string name; |
8 | |
9 auto parent = new QObject(); | |
10 parent.setObjectName("papa"); | |
11 auto child1 = new QObject(parent); | |
12 child1.setObjectName("child1"); | |
13 auto child2 = new QObject(parent); | |
14 child2.setObjectName("child2"); | |
15 auto child3 = new QObject(parent); | |
16 child3.setObjectName("child3"); | |
17 | |
18 auto cd = parent.children; | |
19 Stdout(parent.children.length).newline; | |
20 | 10 |
21 Stdout(app.arguments).newline; | 11 this(A copy) |
22 foreach(child; cd) | 12 { |
23 Stdout(child.objectName).newline; | 13 writeln("Creating new from ", copy.name); |
24 | 14 name = "Copy of " ~ copy.name; |
25 app.setLibraryPaths(["freakin", "bloody", "awesome!"]); | 15 } |
26 | 16 |
27 Stdout(app.libraryPaths).newline; | 17 this(string name) |
28 | 18 { |
29 return 5; | 19 this.name = name; |
30 // return app.exec(); | 20 } |
21 | |
22 void dispose() | |
23 { | |
24 writeln("Disposing ", name); | |
25 } | |
31 } | 26 } |
27 | |
28 void main(string[] args) | |
29 { | |
30 int id = qRegisterMetaType!A(); | |
31 qRegisterMetaTypeStreamOperators!A(); | |
32 | |
33 foreach (i; 0..10) | |
34 { | |
35 writeln("Iter ", i); | |
36 | |
37 void foo(int x, int y, int z) | |
38 { | |
39 auto a = new A("A" ~ to!string(i)); | |
40 auto b = cast(A)QMetaType.construct(id, cast(void*)a); | |
41 writeln(b.name); | |
42 | |
43 QMetaType.destroy(id, cast(void*)a); | |
44 QMetaType.destroy(id, cast(void*)b); | |
45 | |
46 scope ds = new QDataStream(cast(void*)3, QtdObjectFlags.nativeOwnership); | |
47 QMetaType.save(ds, id, cast(void*)i); | |
48 QMetaType.load(ds, id, cast(void*)i); | |
49 writeln("Done iterating ", x, " ", y, " ", z); | |
50 } | |
51 | |
52 foo(i + 1, i + 2, i + 3); | |
53 } | |
54 /+ | |
55 | |
56 writeln("Great!"); | |
57 | |
58 | |
59 writeln("Even greater!"); | |
60 +/ | |
61 | |
62 } |