annotate qt/core/QString.d @ 33:cf8a415f3f32

gui package is fully wrapped now. lots of fixes in the generator
author eldar
date Sat, 16 May 2009 17:12:06 +0000
parents e78566595089
children d5a6b6269f44
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
e78566595089 initial import
mandel
parents:
diff changeset
3 version (Tango)
e78566595089 initial import
mandel
parents:
diff changeset
4 {
e78566595089 initial import
mandel
parents:
diff changeset
5 import tango.text.convert.Utf : toString;
e78566595089 initial import
mandel
parents:
diff changeset
6 }
e78566595089 initial import
mandel
parents:
diff changeset
7 else
e78566595089 initial import
mandel
parents:
diff changeset
8 {
e78566595089 initial import
mandel
parents:
diff changeset
9 import std.utf : toString = toUTF8;
e78566595089 initial import
mandel
parents:
diff changeset
10 }
e78566595089 initial import
mandel
parents:
diff changeset
11
33
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
12 struct QString
1
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 public static QString opCall(void* ptr, bool proxy) {
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
15 QString str;
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
16 str.native_id = ptr;
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
17 return str;
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
18 }
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
19
1
e78566595089 initial import
mandel
parents:
diff changeset
20 private void* native_id;
e78566595089 initial import
mandel
parents:
diff changeset
21
e78566595089 initial import
mandel
parents:
diff changeset
22 public static final char[] toNativeString(void* qstring) {
e78566595089 initial import
mandel
parents:
diff changeset
23 wchar* arr = __qtd_QString_utf16(qstring);
e78566595089 initial import
mandel
parents:
diff changeset
24 int size = __qtd_QString_size(qstring);
e78566595089 initial import
mandel
parents:
diff changeset
25 return .toString(arr[0..size]);
e78566595089 initial import
mandel
parents:
diff changeset
26 }
e78566595089 initial import
mandel
parents:
diff changeset
27
e78566595089 initial import
mandel
parents:
diff changeset
28 public final char[] toNativeString() {
e78566595089 initial import
mandel
parents:
diff changeset
29 return toNativeString(native_id);
e78566595089 initial import
mandel
parents:
diff changeset
30 }
e78566595089 initial import
mandel
parents:
diff changeset
31
e78566595089 initial import
mandel
parents:
diff changeset
32 public void assign(char[] text) {
e78566595089 initial import
mandel
parents:
diff changeset
33 __qtd_QString_operatorAssign(native_id, text.ptr, text.length);
e78566595089 initial import
mandel
parents:
diff changeset
34 }
e78566595089 initial import
mandel
parents:
diff changeset
35 }
e78566595089 initial import
mandel
parents:
diff changeset
36
e78566595089 initial import
mandel
parents:
diff changeset
37 private extern (C) wchar* __qtd_QString_utf16(void* __this_nativeId);
e78566595089 initial import
mandel
parents:
diff changeset
38 private extern (C) int __qtd_QString_size(void* __this_nativeId);
e78566595089 initial import
mandel
parents:
diff changeset
39 private extern (C) void __qtd_QString_operatorAssign(void* __this_nativeId, char* text, uint text_size);