]> uap-core.de Git - rssreader.git/commitdiff
add kotlin label funcs
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 17 Jul 2025 19:26:16 +0000 (21:26 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 17 Jul 2025 19:26:16 +0000 (21:26 +0200)
ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Toplevel.kt

index 014de020a4ecfcb21b7312f6f54f8328fcebdf4d..6fe4517dd8c2464fab487230f49c524eb163973c 100644 (file)
@@ -1,5 +1,6 @@
 package de.unixwork.ui.kotlin
 
+import de.unixwork.ui.Alignment
 import de.unixwork.ui.Button
 import de.unixwork.ui.ButtonBuilder
 import de.unixwork.ui.Container
@@ -7,6 +8,8 @@ import de.unixwork.ui.ContainerBuilder
 import de.unixwork.ui.ContainerUI
 import de.unixwork.ui.EventHandler
 import de.unixwork.ui.EventWrapper.eventHandler
+import de.unixwork.ui.LabelBuilder
+import de.unixwork.ui.LabelStyle
 import de.unixwork.ui.ListValueConverter
 import de.unixwork.ui.ListView
 import de.unixwork.ui.SubListValueConverter
@@ -20,7 +23,7 @@ import de.unixwork.ui.UiSourceList
 import de.unixwork.ui.UiString
 import de.unixwork.ui.UiWidget
 import de.unixwork.ui.WebView
-import java.awt.TextField
+import de.unixwork.ui.Label
 import java.lang.foreign.MemorySegment
 
 class Toplevel(obj: UiObject) {
@@ -1025,4 +1028,182 @@ class Toplevel(obj: UiObject) {
         }
         return webview.create()
     }
+
+    private fun createLabel(
+        label: LabelBuilder,
+        labelStr: String? = null,
+        align: Alignment? = null,
+        style: LabelStyle? = null,
+        varname: String? = null,
+        value: UiString? = 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,
+
+        ): UiWidget {
+        labelStr?.let {
+            label.label(it)
+        }
+        align?.let {
+            label.align(it)
+        }
+        style?.let {
+            label.style(it)
+        }
+        varname?.let {
+            label.varname(it)
+        }
+        value?.let {
+            label.value(it)
+        }
+        if(fill) {
+            label.fill(fill);
+        }
+        if(hexpand) {
+            label.hexpand(true)
+        }
+        if(vexpand) {
+            label.vexpand(true)
+        }
+        if(hfill) {
+            label.hfill(true)
+        }
+        if(vfill) {
+            label.vfill(true)
+        }
+        if(colspan > 0) {
+            label.colspan(colspan)
+        }
+        if(rowspan > 0) {
+            label.rowspan(rowspan)
+        }
+        if(overrideDefaults) {
+            label.overrideDefaults(true)
+        }
+        name?.let {
+            label.name(it)
+        }
+        styleClass?.let {
+            label.styleClass(it)
+        }
+
+        return label.create()
+    }
+
+    fun label(
+        label: String? = null,
+        align: Alignment? = null,
+        style: LabelStyle? = null,
+        varname: String? = null,
+        value: UiString? = 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
+        ): UiWidget {
+        val labelBuilder = Label.label(obj)
+        return createLabel(
+            label = labelBuilder,
+            labelStr = label,
+            align = align,
+            style = style,
+            varname = varname,
+            value = value,
+            fill = fill,
+            hexpand = hexpand,
+            vexpand = vexpand,
+            hfill = hfill,
+            vfill = vfill,
+            overrideDefaults = overrideDefaults,
+            colspan = colspan,
+            rowspan = rowspan,
+            name = name,
+            styleClass = styleClass
+        )
+    }
+
+    fun llabel(
+        label: String? = null,
+        style: LabelStyle? = null,
+        varname: String? = null,
+        value: UiString? = 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
+    ): UiWidget {
+        val labelBuilder = Label.llabel(obj)
+        return createLabel(
+            label = labelBuilder,
+            labelStr = label,
+            style = style,
+            varname = varname,
+            value = value,
+            fill = fill,
+            hexpand = hexpand,
+            vexpand = vexpand,
+            hfill = hfill,
+            vfill = vfill,
+            overrideDefaults = overrideDefaults,
+            colspan = colspan,
+            rowspan = rowspan,
+            name = name,
+            styleClass = styleClass
+        )
+    }
+
+    fun rlabel(
+        label: String? = null,
+        style: LabelStyle? = null,
+        varname: String? = null,
+        value: UiString? = 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
+    ): UiWidget {
+        val labelBuilder = Label.rlabel(obj)
+        return createLabel(
+            label = labelBuilder,
+            labelStr = label,
+            style = style,
+            varname = varname,
+            value = value,
+            fill = fill,
+            hexpand = hexpand,
+            vexpand = vexpand,
+            hfill = hfill,
+            vfill = vfill,
+            overrideDefaults = overrideDefaults,
+            colspan = colspan,
+            rowspan = rowspan,
+            name = name,
+            styleClass = styleClass
+        )
+    }
 }
\ No newline at end of file