annotate qt/core/QString.d @ 1:e78566595089

initial import
author mandel
date Mon, 11 May 2009 16:01:50 +0000
parents
children cf8a415f3f32
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
e78566595089 initial import
mandel
parents:
diff changeset
12 class QString
e78566595089 initial import
mandel
parents:
diff changeset
13 {
e78566595089 initial import
mandel
parents:
diff changeset
14 private void* native_id;
e78566595089 initial import
mandel
parents:
diff changeset
15
e78566595089 initial import
mandel
parents:
diff changeset
16 public static final char[] toNativeString(void* qstring) {
e78566595089 initial import
mandel
parents:
diff changeset
17 wchar* arr = __qtd_QString_utf16(qstring);
e78566595089 initial import
mandel
parents:
diff changeset
18 int size = __qtd_QString_size(qstring);
e78566595089 initial import
mandel
parents:
diff changeset
19 return .toString(arr[0..size]);
e78566595089 initial import
mandel
parents:
diff changeset
20 }
e78566595089 initial import
mandel
parents:
diff changeset
21
e78566595089 initial import
mandel
parents:
diff changeset
22 public final char[] toNativeString() {
e78566595089 initial import
mandel
parents:
diff changeset
23 return toNativeString(native_id);
e78566595089 initial import
mandel
parents:
diff changeset
24 }
e78566595089 initial import
mandel
parents:
diff changeset
25
e78566595089 initial import
mandel
parents:
diff changeset
26 public this(void* ptr, bool proxy) {
e78566595089 initial import
mandel
parents:
diff changeset
27 native_id = ptr;
e78566595089 initial import
mandel
parents:
diff changeset
28 }
e78566595089 initial import
mandel
parents:
diff changeset
29
e78566595089 initial import
mandel
parents:
diff changeset
30 public void assign(char[] text) {
e78566595089 initial import
mandel
parents:
diff changeset
31 __qtd_QString_operatorAssign(native_id, text.ptr, text.length);
e78566595089 initial import
mandel
parents:
diff changeset
32 }
e78566595089 initial import
mandel
parents:
diff changeset
33 }
e78566595089 initial import
mandel
parents:
diff changeset
34
e78566595089 initial import
mandel
parents:
diff changeset
35 private extern (C) wchar* __qtd_QString_utf16(void* __this_nativeId);
e78566595089 initial import
mandel
parents:
diff changeset
36 private extern (C) int __qtd_QString_size(void* __this_nativeId);
e78566595089 initial import
mandel
parents:
diff changeset
37 private extern (C) void __qtd_QString_operatorAssign(void* __this_nativeId, char* text, uint text_size);