1
|
1 module qt.core.QString;
|
|
2
|
|
3 version (Tango)
|
|
4 {
|
|
5 import tango.text.convert.Utf : toString;
|
|
6 }
|
|
7 else
|
|
8 {
|
|
9 import std.utf : toString = toUTF8;
|
|
10 }
|
|
11
|
|
12 class QString
|
|
13 {
|
|
14 private void* native_id;
|
|
15
|
|
16 public static final char[] toNativeString(void* qstring) {
|
|
17 wchar* arr = __qtd_QString_utf16(qstring);
|
|
18 int size = __qtd_QString_size(qstring);
|
|
19 return .toString(arr[0..size]);
|
|
20 }
|
|
21
|
|
22 public final char[] toNativeString() {
|
|
23 return toNativeString(native_id);
|
|
24 }
|
|
25
|
|
26 public this(void* ptr, bool proxy) {
|
|
27 native_id = ptr;
|
|
28 }
|
|
29
|
|
30 public void assign(char[] text) {
|
|
31 __qtd_QString_operatorAssign(native_id, text.ptr, text.length);
|
|
32 }
|
|
33 }
|
|
34
|
|
35 private extern (C) wchar* __qtd_QString_utf16(void* __this_nativeId);
|
|
36 private extern (C) int __qtd_QString_size(void* __this_nativeId);
|
|
37 private extern (C) void __qtd_QString_operatorAssign(void* __this_nativeId, char* text, uint text_size); |