package cjqt.core
foreign func nativeStringListModelCreate(listPtr: Int64): Int64
foreign func nativeStringListModelDelete(ptr: Int64): Unit
foreign func nativeStringListModelSetStringList(ptr: Int64, listPtr: Int64): Unit
foreign func nativeStringListModelStringList(ptr: Int64): Int64
foreign func nativeStringListModelRowCount(ptr: Int64, listPtr: Int64): Int32
foreign func nativeStringListModelData(ptr: Int64, listPtr: Int64, role: Int32): CPointer<Unit>
public open class QStringListModel <: QAbstractListModel {
public init(list: QStringList) {
super(
unsafe {
nativeStringListModelCreate(list.ptr)
}
)
}
public override func delete() {
unsafe {
nativeStringListModelDelete(ptr)
}
}
public func setStringList(list: QStringList) {
unsafe {
nativeStringListModelSetStringList(ptr, list.ptr)
}
}
public func stringList(): QStringList {
let listPtr = unsafe {
nativeStringListModelStringList(ptr)
}
return QStringList(ptr: listPtr)
}
public open func rowCount(parent: QModelIndex): Int32 {
return unsafe {
nativeStringListModelRowCount(ptr, parent.ptr)
}
}
public open func data(index: QModelIndex, role: Int32): QVariant {
let result = unsafe {
nativeStringListModelData(ptr, index.ptr, role)
}
return QVariant(result)
}
}