annotate d1/qt/core/QString.d @ 344:96a75b1e5b26

project structure changes
author Max Samukha <maxter@spambox.com>
date Fri, 14 May 2010 12:14:37 +0300
parents qt/core/QString.d@55ee4603365d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e78566595089 initial import
mandel
parents:
diff changeset
1 module qt.core.QString;
e78566595089 initial import
mandel
parents:
diff changeset
2
56
d5a6b6269f44 duic is working now on the first testcase, if there are any issues with it please report
eldar
parents: 33
diff changeset
3 import qt.QGlobal;
d5a6b6269f44 duic is working now on the first testcase, if there are any issues with it please report
eldar
parents: 33
diff changeset
4
1
e78566595089 initial import
mandel
parents:
diff changeset
5 version (Tango)
e78566595089 initial import
mandel
parents:
diff changeset
6 {
188
7dd099050621 initial commit for D2 support
eldar
parents: 56
diff changeset
7 public import tango.text.convert.Utf : toUTF8 = toString;
1
e78566595089 initial import
mandel
parents:
diff changeset
8 }
e78566595089 initial import
mandel
parents:
diff changeset
9 else
e78566595089 initial import
mandel
parents:
diff changeset
10 {
188
7dd099050621 initial commit for D2 support
eldar
parents: 56
diff changeset
11 public import std.utf : toUTF8;
1
e78566595089 initial import
mandel
parents:
diff changeset
12 }
e78566595089 initial import
mandel
parents:
diff changeset
13
33
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
14 struct QString
1
e78566595089 initial import
mandel
parents:
diff changeset
15 {
302
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
16 public static QString opCall()
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
17 {
33
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
18 QString str;
302
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
19 qtd_QString_placed_ctor(&str);
33
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
20 return str;
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
21 }
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
22
302
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
23 ~this()
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
24 {
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
25 qtd_QString_call_destructor(&this);
1
e78566595089 initial import
mandel
parents:
diff changeset
26 }
e78566595089 initial import
mandel
parents:
diff changeset
27
302
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
28 void opAssign(string str)
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
29 {
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
30 qtd_QString_assign_fromUtf8(&this, str);
1
e78566595089 initial import
mandel
parents:
diff changeset
31 }
e78566595089 initial import
mandel
parents:
diff changeset
32
302
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
33 this(string str)
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
34 {
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
35 qtd_QString_new_fromUtf8_at(&this, str);
56
d5a6b6269f44 duic is working now on the first testcase, if there are any issues with it please report
eldar
parents: 33
diff changeset
36 }
296
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
37
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
38 public static void __constructPlacedQString(void* place, string source) {
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
39 qtd_QString_new_fromUtf8_at(place, source);
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
40 }
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
41
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
42 // service stuff
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
43 static void* __constructNativeCopy(const void* orig) {
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
44 return qtd_QString_QString_QString(cast(void*)orig);
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
45 }
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
46
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
47 static void* __constructPlacedNativeCopy(const void* orig, void* place) {
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
48 return qtd_QString_placed_copy(orig, place);
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
49 }
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
50
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
51 public static void __deleteNativeObject(void* ptr) {
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
52 qtd_QString_destructor(ptr);
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
53 }
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
54
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
55 public static void __callNativeDestructor(void* ptr) {
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
56 qtd_QString_call_destructor(ptr);
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
57 }
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
58 struct QTypeInfo
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
59 {
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
60 enum bool isComplex = true;
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
61 enum bool isStatic = false;
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
62 enum bool isLarge = false;
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
63 enum bool isPointer = false;
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
64 enum bool isDummy = false;
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
65 }
302
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
66
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
67 private:
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
68 void *dummy; // sizeof(QString) == sizeof(void*)
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
69 }
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
70
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
71 struct QStringUtil
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
72 {
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
73 public static final string toNativeString(void* qstring) {
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
74 wchar* arr = qtd_QString_utf16(qstring);
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
75 int size = qtd_QString_size(qstring);
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
76 return .toUTF8(arr[0..size]);
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
77 }
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
78
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
79 public static string fromUtf8(string source) {
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
80 return source;
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
81 }
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
82
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
83 public static QStringUtil opCall(void* ptr, bool proxy) {
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
84 QStringUtil str;
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
85 str.__nativeId = ptr;
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
86 return str;
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
87 }
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
88
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
89 public void* __nativeId;
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
90
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
91 public final string toNativeString() {
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
92 return QStringUtil.toNativeString(__nativeId);
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
93 }
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
94
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
95 public void assign(string text) {
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
96 qtd_QString_operatorAssign(__nativeId, text);
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
97 }
1
e78566595089 initial import
mandel
parents:
diff changeset
98 }
296
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
99 private extern(C) void* qtd_QString_placed_copy(const void* orig, void* place);
1
e78566595089 initial import
mandel
parents:
diff changeset
100
296
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
101 private extern (C) void qtd_QString_destructor(void* __this_nativeId);
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
102 private extern (C) void qtd_QString_call_destructor(void *ptr);
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
103
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
104 private extern (C) void* qtd_QString_QString_QString(void* orig);
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
105
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
106 private extern (C) wchar* qtd_QString_utf16(void* __this_nativeId);
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
107 private extern (C) int qtd_QString_size(void* __this_nativeId);
5173835bb372 iteration over QList with opApply
eldar
parents: 188
diff changeset
108 private extern (C) void qtd_QString_operatorAssign(void* __this_nativeId, string text);
302
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
109 private extern (C) void* qtd_QString_new_fromUtf8_at(void* place, string text);
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
110
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
111 private extern (C) void qtd_QString_placed_ctor(void* place);
55ee4603365d string arguments for signals
eldar_ins@eldar-laptop
parents: 296
diff changeset
112 private extern (C) void qtd_QString_assign_fromUtf8(QString *__qt_this, string text);