package de.unixwork.rssreader
+import de.unixwork.ui.ColumnType
import de.unixwork.ui.SubListItem
+import de.unixwork.ui.TableModel
import de.unixwork.ui.UiList
import de.unixwork.ui.UiString
import de.unixwork.ui.UiText
hsplitpane(fill = true, initialPosition = 300) {
vbox(fill = true) {
- listview<Item>(
+ val model = TableModel()
+ model.addColumn("Title", ColumnType.STRING)
+ model.addColumn("Date", ColumnType.STRING)
+ table<Item>(
+ model = model,
varname = "items",
fill = true,
onSelection = { event ->
}
)
{ elm, col ->
- elm.title
+ var result: String? = null
+ when(col) {
+ 0 -> result = elm.title
+ 1 -> result = elm.pubDate
+ }
+ result
}
}
public class ListView {
public static <T> TableViewBuilder<T> table(UiObject obj) {
ListFuncs ui = ListFuncs.getInstance();
- return new TableViewBuilder<T>(obj, ui.listview_create);
+ return new TableViewBuilder<T>(obj, ui.table_create);
}
public static <T> ListViewBuilder<T> list(UiObject obj) {
model_new = linker.downcallHandle(model_new_addr, sigm_m);
model_add_column = linker.downcallHandle(model_add_column_addr, sigv_mmimi);
- model_free = linker.downcallHandle(model_free_addr, sigv_m);
+ model_free = linker.downcallHandle(model_free_addr, sigv_mm);
call_mainthread = linker.downcallHandle(call_mainthread_addr, sigv_mm);
import de.unixwork.ui.Label
import de.unixwork.ui.LinkButtonType
import de.unixwork.ui.ListViewBuilder
+import de.unixwork.ui.TableModel
+import de.unixwork.ui.TableViewBuilder
import de.unixwork.ui.UiText
import java.awt.TextArea
return button.create()
}
+ fun <T>table(
+ model: TableModel,
+ varname: String? = null,
+ value: UiList<T>? = null,
+ fill: Boolean = false,
+ hexpand: Boolean = false,
+ vexpand: Boolean = false,
+ hfill: Boolean = false,
+ vfill: Boolean = false,
+ overrideDefaults: Boolean = false,
+ colspan: Int = -1,
+ rowspan: Int = -1,
+ name: String? = null,
+ styleClass: String? = null,
+ onActivate: EventHandler? = null,
+ onSelection: EventHandler? = null,
+ getvalue: ListValueConverter<T>? = null
+ ): UiWidget {
+ val table = ListView.table<T>(ui)
+ table.model(model)
+ varname?.let {
+ table.varname(varname)
+ }
+ value?.let {
+ table.value(value)
+ }
+ if(fill) {
+ table.fill(true)
+ }
+ if(hexpand) {
+ table.hexpand(true)
+ }
+ if(vexpand) {
+ table.vexpand(true)
+ }
+ if(hfill) {
+ table.hfill(true)
+ }
+ if(vfill) {
+ table.vfill(true)
+ }
+ if(overrideDefaults) {
+ table.overrideDefaults(true)
+ }
+ if(colspan > 0) {
+ table.colspan(colspan)
+ }
+ if(rowspan > 0) {
+ table.rowspan(rowspan)
+ }
+ name?.let {
+ table.name(it)
+ }
+ styleClass?.let {
+ table.styleClass(it)
+ }
+ onActivate?.let {
+ table.onActivate(it)
+ }
+ onSelection?.let {
+ table.onSelection(it)
+ }
+ getvalue?.let {
+ table.getvalue(it)
+ }
+ return table.create()
+ }
+
fun <T>createListView(
list: ListViewBuilder<T>,
varname: String? = null,