]> uap-core.de Git - uwplayer.git/commitdiff
add window ui
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 30 Oct 2025 20:27:37 +0000 (21:27 +0100)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 30 Oct 2025 20:27:37 +0000 (21:27 +0100)
application/application.h
application/window.c
ui/common/context.c
ui/ui/toolkit.h

index e8e1516dc31f286793a0f0a786996431f019c0bb..fb2dd5e34b7fdf3f4de7f8c6c760df38e0ba2179 100644 (file)
@@ -30,6 +30,8 @@
 extern "C" {
 #endif
     
+#define APP_STATES_SHOW_SIDEBAR 10
+    
 typedef enum PlaybackMode {
     PLAYBACK_STOP = 0,
     PLAYBACK_REPEAT,
@@ -94,6 +96,8 @@ typedef struct MainWindow {
     UiInteger *_adjustWindowSize;
     UiInteger *_singleInstance;
     
+    UiInteger *splitview;
+    
     
     Widget playRepeatTrackButton;
     Widget playRepeatListButton;
index d2d2045a45f49291cf995cc9c63e9982f3278268..6acafeb4a1a68df725f94b88e7788b4228208c68 100644 (file)
@@ -278,6 +278,18 @@ MainWindow* WindowCreate(Display *display) {
     window->_playbackAutoPlay = ui_int_new(ctx, "autoplay");
     window->_adjustWindowSize = ui_int_new(ctx, "adjustwindowsize");
     window->_singleInstance = ui_int_new(ctx, "singleinstance");
+    window->splitview = ui_int_new(ctx, NULL);
+    ui_set(window->splitview, 400);
+    
+    // TODO: enable when the motif splitpane is implemented in the toolkit
+    /*
+    ui_vsplitpane(obj, .value = window->splitview) {
+        window->player_widget = ui_drawingarea(obj, .width = 400, .height = 200);
+        
+        UIWIDGET listview = ui_listview(obj, .varname = "playlist");
+        ui_widget_set_visibility_states(obj->ctx, listview, UI_GROUPS(APP_STATES_SHOW_SIDEBAR), 1);
+    }
+    */
       
     // toplevel window
     n = 0;
@@ -370,7 +382,7 @@ MainWindow* GetMainWindow(void) {
 
 void WindowShow(MainWindow *win) {
     XtRealizeWidget(win->window);
-    //ui_show(win->obj);
+    ui_show(win->obj);
 }
 
 /*
index 6c3d1c66f4cf4227c3895e85645c05e46e764867..73911a5666f0ca2ce81b4028bbaec4db663bea9f 100644 (file)
@@ -549,7 +549,7 @@ void ui_widget_set_groups(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable,
     cxListFree(groups);
 }
 
-void ui_widget_set_groups2(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, int *groups, int ngroups) {
+void ui_widget_set_groups2(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, const int *groups, int ngroups) {
     if(enable == NULL) {
         enable = (ui_enablefunc)ui_set_enabled;
     }
@@ -561,7 +561,7 @@ void ui_widget_set_groups2(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable
     cxListFree(ls);
 }
 
-void ui_widget_set_visibility_states(UiContext *ctx, UIWIDGET widget, int *states, int nstates) {
+void ui_widget_set_visibility_states(UiContext *ctx, UIWIDGET widget, const int *states, int nstates) {
     ui_widget_set_groups2(ctx, widget, (ui_enablefunc)ui_set_visible, states, nstates);
 }
 
index c0555c00202a21237027a8bc1528661b516ecb49..83cd78abc0df9becf116d93fd1634a9167f7d018 100644 (file)
@@ -561,8 +561,8 @@ UIEXPORT void ui_attach_document(UiContext *ctx, void *document);
 UIEXPORT void ui_detach_document(UiContext *ctx, void *document);
 
 UIEXPORT void ui_widget_set_groups(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, ...);
-UIEXPORT void ui_widget_set_groups2(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, int *groups, int ngroups);
-UIEXPORT void ui_widget_set_visibility_states(UiContext *ctx, UIWIDGET widget, int *states, int nstates);
+UIEXPORT void ui_widget_set_groups2(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, const int *groups, int ngroups);
+UIEXPORT void ui_widget_set_visibility_states(UiContext *ctx, UIWIDGET widget, const int *states, int nstates);
 
 UIEXPORT void ui_set_group(UiContext *ctx, int group);
 UIEXPORT void ui_unset_group(UiContext *ctx, int group);