1 module dqml.qquickview; 2 3 import dqml.dothersideinterface; 4 import dqml.qqmlcontext; 5 import dqml.qurl; 6 import std.string; 7 8 class QQuickView 9 { 10 this() 11 { 12 this.vptr = dos_qquickview_create(); 13 } 14 15 ~this() 16 { 17 dos_qquickview_delete(this.vptr); 18 } 19 20 public void* voidPointer() 21 { 22 return this.vptr; 23 } 24 25 public void show() 26 { 27 dos_qquickview_show(this.vptr); 28 } 29 30 public QQmlContext rootContext() 31 { 32 void* contextData = dos_qquickview_rootContext(this.vptr); 33 return new QQmlContext(contextData); 34 } 35 36 public string source() 37 { 38 char* array = dos_qquickview_source(this.vptr); 39 string result = fromStringz(array).dup; 40 dos_chararray_delete(array); 41 return result; 42 } 43 44 public void setSource(string filename) 45 { 46 immutable(char)* filenameAsCString = filename.toStringz(); 47 dos_qquickview_set_source(this.vptr, filenameAsCString); 48 } 49 50 public void setSource(QUrl url) 51 { 52 dos_qquickview_set_source_url(this.vptr, url.voidPointer); 53 } 54 55 enum ResizeMode : int 56 { 57 SizeViewToRootObject = 0, 58 SizeRootObjectToView 59 } 60 61 void setResizeMode(ResizeMode resizeMode) 62 { 63 dos_qquickview_set_resize_mode(this.vptr, resizeMode); 64 } 65 66 private void* vptr; 67 }