]> uap-core.de Git - rssreader.git/commitdiff
add splitpane positionProperty parameter
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Mon, 15 Sep 2025 14:13:02 +0000 (16:13 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Mon, 15 Sep 2025 14:13:02 +0000 (16:13 +0200)
ui-java/src/main/java/de/unixwork/ui/ArgFuncs.java
ui-java/src/main/java/de/unixwork/ui/SplitPaneBuilder.java
ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Toplevel.kt

index 970c969d50f23e9918a68cc8df450cc562099884..145201d51429cb16fa0d7ebf8a320bddc01b59c2 100644 (file)
@@ -145,6 +145,7 @@ class ArgFuncs {
     MethodHandle splitpane_args_set_columnspacing;
     MethodHandle splitpane_args_set_rowspacing;
     MethodHandle splitpane_args_set_initial_position;
+    MethodHandle splitpane_args_set_position_property;
     MethodHandle splitpane_args_set_value;
     MethodHandle splitpane_args_set_varname;
     MethodHandle splitpane_args_set_max_panes;
@@ -579,6 +580,7 @@ class ArgFuncs {
         MemorySegment ui_splitpane_args_set_columnspacing_addr = lib.find("ui_splitpane_args_set_columnspacing").orElseThrow();
         MemorySegment ui_splitpane_args_set_rowspacing_addr = lib.find("ui_splitpane_args_set_rowspacing").orElseThrow();
         MemorySegment ui_splitpane_args_set_initial_position_addr = lib.find("ui_splitpane_args_set_initial_position").orElseThrow();
+        MemorySegment ui_splitpane_args_set_position_property_addr = lib.find("ui_splitpane_args_set_position_property").orElseThrow();
         MemorySegment ui_splitpane_args_set_value_addr = lib.find("ui_splitpane_args_set_value").orElseThrow();
         MemorySegment ui_splitpane_args_set_varname_addr = lib.find("ui_splitpane_args_set_varname").orElseThrow();
         MemorySegment ui_splitpane_args_set_max_panes_addr = lib.find("ui_splitpane_args_set_max_panes").orElseThrow();
@@ -1004,6 +1006,7 @@ class ArgFuncs {
         splitpane_args_set_columnspacing = linker.downcallHandle(ui_splitpane_args_set_columnspacing_addr, sigv_mi);
         splitpane_args_set_rowspacing = linker.downcallHandle(ui_splitpane_args_set_rowspacing_addr, sigv_mi);
         splitpane_args_set_initial_position = linker.downcallHandle(ui_splitpane_args_set_initial_position_addr, sigv_mi);
+        splitpane_args_set_position_property = linker.downcallHandle(ui_splitpane_args_set_position_property_addr, sigv_mm);
         splitpane_args_set_value = linker.downcallHandle(ui_splitpane_args_set_value_addr, sigv_mm);
         splitpane_args_set_varname = linker.downcallHandle(ui_splitpane_args_set_varname_addr, sigv_mm);
         splitpane_args_set_max_panes = linker.downcallHandle(ui_splitpane_args_set_max_panes_addr, sigv_mi);
index 5fd8f3fb3d1db3efc500a52aa0ce2ddfb6b08839..4a18608222a1f56901ae3c8ef7214d20d6971a33 100644 (file)
@@ -20,6 +20,7 @@ public class SplitPaneBuilder extends AbstractWidgetBuilder{
     private int columnspacing;
     private int rowspacing;
     private int initialPosition;
+    private String positionProperty;
     private UiInteger value;
     private String varname;
     private int maxPanes;
@@ -105,6 +106,11 @@ public class SplitPaneBuilder extends AbstractWidgetBuilder{
         return this;
     }
 
+    public SplitPaneBuilder positionProperty(String positionProperty) {
+        this.positionProperty = positionProperty;
+        return this;
+    }
+
     public SplitPaneBuilder value(UiInteger value) {
         this.value = value;
         return this;
@@ -172,6 +178,10 @@ public class SplitPaneBuilder extends AbstractWidgetBuilder{
         if(initialPosition > 0) {
             ui.splitpane_args_set_initial_position.invoke(args, initialPosition);
         }
+        if(positionProperty != null) {
+            MemorySegment cstr = arena.allocateFrom(positionProperty);
+            ui.splitpane_args_set_position_property.invoke(args, cstr);
+        }
         if(value != null) {
             ui.splitpane_args_set_value.invoke(args, value.valuePtr);
         }
index 0a6a580827f73a23284a2bbfcd80840ecc00ffba..0096e63cb72df017588157d6b31983c798627bde 100644 (file)
@@ -492,6 +492,7 @@ class Toplevel(obj: UiObject) {
         margin: Int = -1,
         spacing: Int = -1,
         initialPosition: Int = 0,
+        positionProperty: String? = null,
         value: UiInteger? = null,
         varname: String? = null,
         maxPanes: Int = 0,
@@ -536,6 +537,9 @@ class Toplevel(obj: UiObject) {
         if(initialPosition > 0) {
             container.initialPosition(initialPosition)
         }
+        if(positionProperty != null) {
+            container.positionProperty(positionProperty)
+        }
         if(value != null) {
             container.value(value)
         }