summaryrefslogtreecommitdiffstats
path: root/src/ui_widgets.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui_widgets.h')
-rw-r--r--src/ui_widgets.h43
1 files changed, 12 insertions, 31 deletions
diff --git a/src/ui_widgets.h b/src/ui_widgets.h
index d4b1524..2e4fc9d 100644
--- a/src/ui_widgets.h
+++ b/src/ui_widgets.h
@@ -23,7 +23,10 @@
struct button_cb {
void (*func)(void *data, Evas_Object *object, void *event_info);
- void *data;
+ union {
+ void *data;
+ uint_fast32_t nr;
+ };
const char *info;
};
@@ -76,50 +79,28 @@ struct screen_def {
* to never have more then a handful of states.
*/
enum navi_page_state {
- PAGE_NORMAL,
PAGE_BOTTOM,
+ PAGE_NORMAL,
+ PAGE_WIZARD,
PAGE_USB,
PAGE_FLASH,
PAGE_PRINTING,
PAGE_INVALID,
PAGE_ERROR,
-};
-
-enum screen_type {
- NONE,
- FUNC,
- MATERIAL,
- PROGRESS,
- END, /* sentinel */
-};
-
-struct wizard_screen_data {
- uint_fast8_t count;
- struct {
- enum screen_type type;
- char *text;
- void (*func)(void *data);
- void *data;
- char *prev_button;
- char *next_button;
- void (*prev_func)(void *data);
- void (*next_func)(void *data);
- /* TODO consider adding a button_def for the buttons */
- } screens[];
-};
+} _navi_page_state; /* Kind of a hack, to pass a pointer to the enum so we can pass it to functions that only take void* */
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);
-struct eulogium_data; /* XXX remove when we pass a navi */
-Elm_Object_Item *ui_stack_push(const struct eulogium_data *eulogium, Evas_Object *content, const enum navi_page_state page_state);
-Eina_Bool ui_stack_pop(const struct eulogium_data *eulogium);
-void ui_stack_page_invalidate(Evas_Object *navi, const enum navi_page_state page_state);
+Elm_Object_Item *ui_stack_push(Evas_Object *navi, Evas_Object *content, const enum navi_page_state page_state);
+Eina_Bool ui_stack_pop(const Evas_Object *navi);
void ui_stack_pop_cb(void *data, Evas_Object *eo EINA_UNUSED, void *event_info EINA_UNUSED);
+void ui_stack_page_invalidate(Evas_Object *navi, const enum navi_page_state page_state);
Evas_Object *ui_widget_slider(Evas_Object *parent, struct eulogium_data *eulogium, struct settings_dial_data *dial_data);
Evas_Object *ui_widget_spinner(Evas_Object *parent, struct eulogium_data *eulogium, struct settings_dial_data *dial_data);
-Evas_Object *ui_widget_progress(Evas_Object *parent, struct eulogium_data *eulogium, const struct procedure_data *procedure);
+Evas_Object *ui_widget_spinner_add(Evas_Object *parent, struct settings_dial_data *dial_data);
+Evas_Object *ui_widget_progress(Evas_Object *parent, const struct procedure_data *procedure);
void ui_init(void);