--- a/ui/motif/toolkit.h Fri Nov 29 22:21:36 2024 +0100 +++ b/ui/motif/toolkit.h Thu Dec 12 20:01:43 2024 +0100 @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright 2014 Olaf Wintermann. All rights reserved. + * Copyright 2024 Olaf Wintermann. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -38,8 +38,6 @@ extern "C" { #endif -Display* ui_get_display(); - typedef struct UiEventData { UiObject *obj; ui_callback callback; @@ -47,6 +45,31 @@ int value; } UiEventData; +typedef struct UiEventDataExt { + UiObject *obj; + ui_callback callback; + void *userdata; + ui_callback callback2; + void *userdata2; + int value0; + int value1; + int value2; + int value3; + void *customdata0; + void *customdata1; + void *customdata2; + void *customdata3; +} UiEventDataExt; + +typedef struct UiVarEventData { + UiObject *obj; + UiVar *var; + UiObserver **observers; + ui_callback callback; + void *userdata; + int value; +} UiVarEventData; + typedef struct UiJob { UiObject *obj; ui_threadfunc job_func; @@ -60,12 +83,19 @@ void ui_exit_mainloop(); +Display* ui_motif_get_display(void); + void ui_set_active_window(Widget w); Widget ui_get_active_window(); void ui_secondary_event_loop(int *loop); void ui_window_dark_theme(Display *dp, Window window); +void ui_destroy_eventdata(Widget w, XtPointer *data, XtPointer d); + +void ui_set_widget_groups(UiContext *ctx, Widget widget, const int *groups) ; +void ui_set_widget_ngroups(UiContext *ctx, Widget widget, const int *groups, size_t ngroups); + #ifdef __cplusplus } #endif