]> uap-core.de Git - note.git/commitdiff
add remaining window type functions
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 8 Apr 2026 19:54:50 +0000 (21:54 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Wed, 8 Apr 2026 19:54:50 +0000 (21:54 +0200)
ui-rs/src/ui/window.rs

index 0569c749afdea5efae1c2d8cb874c51e4e4732a3..8a5f113b0d0ff39ba4d56345245ed1d118ab652d 100644 (file)
@@ -24,10 +24,41 @@ impl toolkit::UiObject {
     }
 }
 
-pub fn window(title: &str) -> toolkit::UiObject {
+enum WindowType {
+    Standard,
+    SplitView(bool),
+    Sidebar,
+    Simple
+}
+
+fn window_create(title: &str, kind: WindowType) -> toolkit::UiObject {
     unsafe {
         let str = CString::new(title).unwrap();
-        let objptr = ui_window(str.as_ptr());
-        return toolkit::UiObject { ptr: objptr };
+
+        let objptr = match kind {
+            WindowType::SplitView(val) => ui_splitview_window(str.as_ptr(), val as c_int),
+            WindowType::Sidebar => ui_sidebar_window(str.as_ptr()),
+            WindowType::Standard => ui_window(str.as_ptr()),
+            WindowType::Simple => ui_simple_window(str.as_ptr())
+        };
+
+        toolkit::UiObject { ptr: objptr }
     }
-}
\ No newline at end of file
+}
+
+pub fn window(title: &str) -> toolkit::UiObject {
+    return window_create(title, WindowType::Standard);
+}
+
+pub fn sidebar_window(title: &str) -> toolkit::UiObject {
+    return window_create(title, WindowType::Sidebar);
+}
+
+pub fn splitview_window(title: &str, sidebar: bool) -> toolkit::UiObject {
+    return window_create(title, WindowType::SplitView(sidebar));
+}
+
+pub fn simple_window(title: &str) -> toolkit::UiObject {
+    return window_create(title, WindowType::Simple);
+}
+