view qt/core/QString.d @ 55:63c31e221118

CMake: Add forgotten files to install.
author SokoL_SD
date Mon, 18 May 2009 19:03:06 +0000
parents cf8a415f3f32
children d5a6b6269f44
line wrap: on
line source

module qt.core.QString;

version (Tango)
{
    import tango.text.convert.Utf : toString;
}
else
{
    import std.utf : toString = toUTF8;
}

struct QString
{
    public static QString opCall(void* ptr, bool proxy) {
        QString str;
        str.native_id = ptr;
        return str;
    }
    
    private void* native_id;
    
    public static final char[] toNativeString(void* qstring) {
        wchar* arr = __qtd_QString_utf16(qstring);
        int size = __qtd_QString_size(qstring);
        return .toString(arr[0..size]);
    }
    
    public final char[] toNativeString() {
        return toNativeString(native_id);
    }
    
    public void assign(char[] text) {
        __qtd_QString_operatorAssign(native_id, text.ptr, text.length);
    }
}

private extern (C) wchar* __qtd_QString_utf16(void* __this_nativeId);
private extern (C) int __qtd_QString_size(void* __this_nativeId);
private extern (C) void __qtd_QString_operatorAssign(void* __this_nativeId, char* text, uint text_size);