/* * function and data types for widgets * * Copyright (c) 2015 Ultimaker B.V. * Author: Olliver Schinagl * * SPDX-License-Identifier: AGPL-3.0+ */ #ifndef _WIDGET_DATA_H #define _WIDGET_DATA_H #include #include #include #include #include "dbus_common.h" #include "eulogium_item_list.h" struct button_cb { void (*func)(void *data, Evas_Object *object, void *event_info); void *data; const char *info; }; struct button_def { const char *text; struct button_cb cb; void *data; }; struct dir_entry_def { void *data; char *path; }; struct wifi_entry_def { void *data; char *ssid; }; struct menu_entry_def { const char *icon; const char *label; struct list_item item; struct dbus_handle dbus; Eina_Bool *end; /* remove me */ const char *footer; /* Primary footer */ const char *footer_alt; /* Alternating footer */ Ecore_Timer *toggle_timer; void (*func)(void *data, Evas_Object *object, void *event_info); void *data; }; enum list_type { LIST_MENU, LIST_FILE, LIST_WIFI, }; struct menu_def { const char *title; enum list_type type; void *data; struct dir_entry_def dir; struct wifi_entry_def wifi; /* TODO see if we can put this into a union somehow */ struct menu_entry_def entry[]; }; struct settings_dial_data { const char *label; double step; double min; double max; double value; double value_actual; char *(*indicator_func)(double value); void (*free_func)(char *str); const char *format; Evas_Object *slider; }; struct screen_def { const char *title; Evas_Object *widget; struct settings_dial_data screen[]; }; extern int INPUT_MOUSE_WHEEL_UP; extern int INPUT_MOUSE_WHEEL_UP; void eulogium_button_cb_set(struct button_def *button, struct button_cb *cb); void eulogium_button_cb_data_set(struct button_def *button, void *data); void eulogium_button_data_set(struct button_def *button, void *data); #endif /* _WIDGET_DATA_H */