Thu, 09 Apr 2026 20:28:59 +0200
implement splitview window functions (Cocoa)
| make/xcode/toolkit/toolkit.xcodeproj/project.pbxproj | file | annotate | diff | comparison | revisions | |
| ui/cocoa/window.m | file | annotate | diff | comparison | revisions |
--- a/make/xcode/toolkit/toolkit.xcodeproj/project.pbxproj Fri Apr 03 14:22:52 2026 +0200 +++ b/make/xcode/toolkit/toolkit.xcodeproj/project.pbxproj Thu Apr 09 20:28:59 2026 +0200 @@ -38,7 +38,7 @@ ED6581392CFF287300F5402F /* EventData.m in Sources */ = {isa = PBXBuildFile; fileRef = ED6581362CFF287300F5402F /* EventData.m */; }; ED6581432CFF3BCE00F5402F /* window.m in Sources */ = {isa = PBXBuildFile; fileRef = ED6581422CFF3BCE00F5402F /* window.m */; }; ED6581442CFF3BCE00F5402F /* button.m in Sources */ = {isa = PBXBuildFile; fileRef = ED65813C2CFF3BCE00F5402F /* button.m */; }; - ED6581452CFF3BCE00F5402F /* Container.m in Sources */ = {isa = PBXBuildFile; fileRef = ED65813E2CFF3BCE00F5402F /* Container.m */; }; + ED6581452CFF3BCE00F5402F /* container.m in Sources */ = {isa = PBXBuildFile; fileRef = ED65813E2CFF3BCE00F5402F /* container.m */; }; ED6581462CFF3BCE00F5402F /* GridLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = ED6581402CFF3BCE00F5402F /* GridLayout.m */; }; ED65815C2CFF3EE900F5402F /* MainWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = ED65815B2CFF3EE900F5402F /* MainWindow.m */; }; ED65815F2CFF4BF200F5402F /* WindowManager.m in Sources */ = {isa = PBXBuildFile; fileRef = ED65815E2CFF4BF200F5402F /* WindowManager.m */; }; @@ -130,8 +130,8 @@ ED6581362CFF287300F5402F /* EventData.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = EventData.m; path = /Users/olaf/Projekte/toolkit/ui/cocoa/EventData.m; sourceTree = "<absolute>"; }; ED65813B2CFF3BCE00F5402F /* button.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = button.h; path = /Users/olaf/Projekte/toolkit/ui/cocoa/button.h; sourceTree = "<absolute>"; }; ED65813C2CFF3BCE00F5402F /* button.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = button.m; path = /Users/olaf/Projekte/toolkit/ui/cocoa/button.m; sourceTree = "<absolute>"; }; - ED65813D2CFF3BCE00F5402F /* Container.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Container.h; path = /Users/olaf/Projekte/toolkit/ui/cocoa/Container.h; sourceTree = "<absolute>"; }; - ED65813E2CFF3BCE00F5402F /* Container.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = Container.m; path = /Users/olaf/Projekte/toolkit/ui/cocoa/Container.m; sourceTree = "<absolute>"; }; + ED65813D2CFF3BCE00F5402F /* container.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = container.h; path = /Users/olaf/Projekte/toolkit/ui/cocoa/container.h; sourceTree = "<absolute>"; }; + ED65813E2CFF3BCE00F5402F /* container.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = container.m; path = /Users/olaf/Projekte/toolkit/ui/cocoa/container.m; sourceTree = "<absolute>"; }; ED65813F2CFF3BCE00F5402F /* GridLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GridLayout.h; path = /Users/olaf/Projekte/toolkit/ui/cocoa/GridLayout.h; sourceTree = "<absolute>"; }; ED6581402CFF3BCE00F5402F /* GridLayout.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = GridLayout.m; path = /Users/olaf/Projekte/toolkit/ui/cocoa/GridLayout.m; sourceTree = "<absolute>"; }; ED6581412CFF3BCE00F5402F /* window.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = /Users/olaf/Projekte/toolkit/ui/cocoa/window.h; sourceTree = "<absolute>"; }; @@ -371,8 +371,8 @@ ED65815B2CFF3EE900F5402F /* MainWindow.m */, ED65813B2CFF3BCE00F5402F /* button.h */, ED65813C2CFF3BCE00F5402F /* button.m */, - ED65813D2CFF3BCE00F5402F /* Container.h */, - ED65813E2CFF3BCE00F5402F /* Container.m */, + ED65813D2CFF3BCE00F5402F /* container.h */, + ED65813E2CFF3BCE00F5402F /* container.m */, ED65813F2CFF3BCE00F5402F /* GridLayout.h */, ED6581402CFF3BCE00F5402F /* GridLayout.m */, ED6581412CFF3BCE00F5402F /* window.h */, @@ -529,7 +529,7 @@ ED52BFB02D86FC5D00FD8BE5 /* text.m in Sources */, ED6581432CFF3BCE00F5402F /* window.m in Sources */, ED6581442CFF3BCE00F5402F /* button.m in Sources */, - ED6581452CFF3BCE00F5402F /* Container.m in Sources */, + ED6581452CFF3BCE00F5402F /* container.m in Sources */, ED6581462CFF3BCE00F5402F /* GridLayout.m in Sources */, ED6581392CFF287300F5402F /* EventData.m in Sources */, ED65812B2CFF1A3000F5402F /* buffer.c in Sources */,
--- a/ui/cocoa/window.m Fri Apr 03 14:22:52 2026 +0200 +++ b/ui/cocoa/window.m Thu Apr 09 20:28:59 2026 +0200 @@ -96,6 +96,35 @@ window_default_height = height; } +/* ------------------------------- SplitView Window-------------------------------- */ + +void ui_splitview_window_set_pos(UiObject *obj, int pos) { + MainWindow *window = (__bridge MainWindow*)obj->wobj; + int divider = window.sidebar != nil ? 1 : 0; + [window.splitview setPosition:pos ofDividerAtIndex:divider]; +} + +int ui_splitview_window_get_pos(UiObject *obj) { + MainWindow *window = (__bridge MainWindow*)obj->wobj; + int divider = window.sidebar != nil ? 1 : 0; + return window.splitview.subviews[divider].frame.size.width; +} + +void ui_splitview_window_set_default_pos(int pos) { + splitview_window_default_pos = pos; +} + +void ui_splitview_window_use_property(UiBool enable) { + splitview_window_use_prop = enable; +} + +void ui_splitview_window_set_visible(UiObject *obj, int pane, UiBool visible) { + MainWindow *window = (__bridge MainWindow*)obj->wobj; + if(pane >= 0 && pane < 2) { + window.splitview.subviews[pane].hidden = visible; + } +} + /* --------------------------------- File Dialogs --------------------------------- */ void ui_openfiledialog(UiObject *obj, unsigned int mode, ui_callback file_selected_callback, void *cbdata) {