--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/common/wrapper.h Sun Jul 20 22:04:39 2025 +0200 @@ -0,0 +1,84 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright 2025 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: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef UIC_WRAPPER_H +#define UIC_WRAPPER_H + +#include "../ui/toolkit.h" +#include "../ui/tree.h" + +#ifdef __cplusplus +extern "C" { +#endif + +UIEXPORT UiContext* ui_object_get_context(UiObject *obj); +UIEXPORT void* ui_object_get_windowdata(UiObject *obj); +UIEXPORT void ui_object_set_windowdata(UiObject *obj, void *windowdata); + +UIEXPORT void* ui_list_get_data(UiList *list); +UIEXPORT void* ui_list_get_iter(UiList *list); +UIEXPORT void ui_list_set_iter(UiList *list, void *iter); + +UIEXPORT UiSubList* ui_sublist_new(void); +UIEXPORT void ui_sublist_set_value(UiSubList *sublist, UiList *value); +UIEXPORT void ui_sublist_set_varname(UiSubList *sublist, const char *varname); +UIEXPORT void ui_sublist_set_header(UiSubList *sublist, const char *header); +UIEXPORT void ui_sublist_set_separator(UiSubList *sublist, UiBool separator); +UIEXPORT void ui_sublist_set_userdata(UiSubList *sublist, void *userdata); +UIEXPORT void ui_sublist_free(UiSubList *sublist); + +UIEXPORT UiList* ui_srclist_new(UiContext *ctx, const char *name); +UIEXPORT void ui_srclist_add(UiList *list, UiSubList *item); +UIEXPORT void ui_srclist_insert(UiList *list, int index, UiSubList *item); +UIEXPORT void ui_srclist_remove(UiList *list, int index); +UIEXPORT void ui_srclist_clear(UiList *list); +UIEXPORT int ui_srclist_size(UiList *list); + +UIEXPORT UiList* ui_sublist_event_get_list(UiSubListEventData *event); +UIEXPORT int ui_sublist_event_get_sublist_index(UiSubListEventData *event); +UIEXPORT int ui_sublist_event_get_row_index(UiSubListEventData *event); +UIEXPORT void* ui_sublist_event_get_row_data(UiSubListEventData *event); +UIEXPORT void* ui_sublist_event_get_sublist_userdata(UiSubListEventData *event); +UIEXPORT void* ui_sublist_event_get_event_data(UiSubListEventData *event); + +UIEXPORT UiObject* ui_event_get_obj(UiEvent *event); +UIEXPORT void* ui_event_get_document(UiEvent *event); +UIEXPORT void* ui_event_get_windowdata(UiEvent *event); +UIEXPORT void* ui_event_get_eventdata(UiEvent *event); +UIEXPORT int ui_event_get_eventdatatype(UiEvent *event); +UIEXPORT int ui_event_get_int(UiEvent *event); +UIEXPORT int ui_event_get_set(UiEvent *event); + + + +#ifdef __cplusplus +} +#endif + +#endif /* UIC_WRAPPER_H */ +