From: Olaf Wintermann Date: Thu, 30 Oct 2025 20:27:37 +0000 (+0100) Subject: add window ui X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=5059106652d3808c11d0e7a2b29396ff35618278;p=uwplayer.git add window ui --- diff --git a/application/application.h b/application/application.h index e8e1516..fb2dd5e 100644 --- a/application/application.h +++ b/application/application.h @@ -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; diff --git a/application/window.c b/application/window.c index d2d2045..6acafeb 100644 --- a/application/window.c +++ b/application/window.c @@ -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); } /* diff --git a/ui/common/context.c b/ui/common/context.c index 6c3d1c6..73911a5 100644 --- a/ui/common/context.c +++ b/ui/common/context.c @@ -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); } diff --git a/ui/ui/toolkit.h b/ui/ui/toolkit.h index c0555c0..83cd78a 100644 --- a/ui/ui/toolkit.h +++ b/ui/ui/toolkit.h @@ -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);