311
|
1 module qt.core.QString;
|
|
2
|
|
3 import qt.QGlobal;
|
|
4
|
|
5 version (Tango)
|
|
6 {
|
|
7 public import tango.text.convert.Utf : toUTF8 = toString;
|
|
8 }
|
|
9 else
|
|
10 {
|
|
11 public import std.utf : toUTF8;
|
|
12 }
|
|
13
|
|
14 struct QString
|
|
15 {
|
|
16 public static QString opCall(void* ptr, bool proxy) {
|
|
17 QString str;
|
|
18 str.native_id = ptr;
|
|
19 return str;
|
|
20 }
|
|
21
|
|
22 private void* native_id;
|
|
23
|
|
24 public static final string toNativeString(void* qstring) {
|
|
25 wchar* arr = __qtd_QString_utf16(qstring);
|
|
26 int size = __qtd_QString_size(qstring);
|
|
27 return .toUTF8(arr[0..size]);
|
|
28 }
|
|
29
|
|
30 public final string toNativeString() {
|
|
31 return toNativeString(native_id);
|
|
32 }
|
|
33
|
|
34 public void assign(string text) {
|
|
35 __qtd_QString_operatorAssign(native_id, text);
|
|
36 }
|
|
37
|
|
38 public static string fromUtf8(string source) {
|
|
39 return source;
|
|
40 }
|
|
41 /*
|
|
42 public static string fromUtf16(wstring src) {
|
|
43 version(Tango)
|
|
44 }*/
|
|
45 }
|
|
46
|
|
47 private extern (C) wchar* __qtd_QString_utf16(void* __this_nativeId);
|
|
48 private extern (C) int __qtd_QString_size(void* __this_nativeId);
|
|
49 private extern (C) void __qtd_QString_operatorAssign(void* __this_nativeId, string text); |