]> uap-core.de Git - rssreader.git/commitdiff
fix splitpane and window functions
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Tue, 15 Jul 2025 17:46:32 +0000 (19:46 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Tue, 15 Jul 2025 17:46:32 +0000 (19:46 +0200)
ui-java/src/main/java/de/unixwork/ui/SplitPaneBuilder.java
ui-java/src/main/java/de/unixwork/ui/UiObject.java
ui-java/src/main/java/de/unixwork/ui/WebViewBuilder.java
ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Toplevel.kt
ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Window.kt

index e605f1ca37756f5388a513fa0f4adbabead8e05e..5fd8f3fb3d1db3efc500a52aa0ce2ddfb6b08839 100644 (file)
@@ -124,7 +124,7 @@ public class SplitPaneBuilder extends AbstractWidgetBuilder{
     public MemorySegment createArgs(Arena arena) throws Throwable {
         ArgFuncs ui = ArgFuncs.getInstance();
 
-        MemorySegment args = (MemorySegment)ui.splitpane_args_new.invoke();
+        args = (MemorySegment)ui.splitpane_args_new.invoke();
         if(fill) {
             ui.splitpane_args_set_fill.invoke(args, fill);
         }
index fac54c211d37097b71c63d7a17c161dbf38d724c..7a8879308137f9ec270731b12131fb472a23a152 100644 (file)
@@ -38,11 +38,11 @@ public class UiObject extends Context {
     }
 
     public static UiObject createSidebarWindow(String title) {
-        return UiObjectFuncs.instance.window(title);
+        return UiObjectFuncs.instance.sidebarWindow(title);
     }
 
     public static UiObject createSimpleWindow(String title) {
-        return UiObjectFuncs.instance.window(title);
+        return UiObjectFuncs.instance.simpleWindow(title);
     }
 
     public void show() {
index 35696b53edfa9d003e3702c9f9283184d5296cdd..fe32884adfdd8558bc971a7440d36a0f99553283 100644 (file)
@@ -19,7 +19,7 @@ public class WebViewBuilder extends AbstractWidgetBuilder {
     private int rowspan;
     private String name;
     private String styleClass;
-    private UiText value;
+    private WebView value;
     private String varname;
     private int[] states;
 
@@ -79,7 +79,7 @@ public class WebViewBuilder extends AbstractWidgetBuilder {
         return this;
     }
 
-    public WebViewBuilder value(UiText value) {
+    public WebViewBuilder value(WebView value) {
         this.value = value;
         return this;
     }
index 19f27a8a531d33c23b5c012b3fe60bbb61f25027..882c4d4f7ff65858be83a2053f7cb6ad2921b9df 100644 (file)
@@ -19,6 +19,7 @@ import de.unixwork.ui.UiObject
 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 java.lang.foreign.MemorySegment
 
@@ -963,4 +964,59 @@ class Toplevel(obj: UiObject) {
             onChange = onChange
         )
     }
+
+    fun webview(
+        varname: String? = null,
+        value: WebView? = 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,
+        onChange: EventHandler? = null
+    ): UiWidget {
+        val webview = WebView.webview(obj)
+        varname?.let {
+            webview.varname(it)
+        }
+        value?.let {
+            webview.value(it)
+        }
+        if(fill) {
+            webview.fill(fill);
+        }
+        if(hexpand) {
+            webview.hexpand(true)
+        }
+        if(vexpand) {
+            webview.vexpand(true)
+        }
+        if(hfill) {
+            webview.hfill(true)
+        }
+        if(vfill) {
+            webview.vfill(true)
+        }
+        if(colspan > 0) {
+            webview.colspan(colspan)
+        }
+        if(rowspan > 0) {
+            webview.rowspan(rowspan)
+        }
+        if(overrideDefaults) {
+            webview.overrideDefaults(true)
+        }
+        name?.let {
+            webview.name(it)
+        }
+        styleClass?.let {
+            webview.styleClass(it)
+        }
+        return webview.create()
+    }
 }
\ No newline at end of file
index 7f5ef472fab48dbc4f9604f8ee0a2d5e25c9580b..d3fe17f137d64c575543a6db79086019f7f893bc 100644 (file)
@@ -8,3 +8,17 @@ fun window(title: String, ui: (Toplevel.() -> Unit)?): Toplevel {
     ui?.invoke(toplevel)
     return toplevel
 }
+
+fun simpleWindow(title: String, ui: (Toplevel.() -> Unit)?): Toplevel {
+    val obj = UiObject.createSimpleWindow(title)
+    val toplevel = Toplevel(obj)
+    ui?.invoke(toplevel)
+    return toplevel
+}
+
+fun sidebarWindow(title: String, ui: (Toplevel.() -> Unit)?): Toplevel {
+    val obj = UiObject.createSidebarWindow(title)
+    val toplevel = Toplevel(obj)
+    ui?.invoke(toplevel)
+    return toplevel
+}