| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /**
- * @file dialog.h
- * GUI: Dialog view module API
- */
- #pragma once
- #include <gui/view.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- /** Dialog anonymous structure */
- typedef struct Dialog Dialog;
- /** Dialog result */
- typedef enum {
- DialogResultLeft,
- DialogResultRight,
- DialogResultBack,
- } DialogResult;
- /** Dialog result callback type
- * @warning comes from GUI thread
- */
- typedef void (*DialogResultCallback)(DialogResult result, void* context);
- /** Allocate and initialize dialog
- *
- * This dialog used to ask simple questions like Yes/
- *
- * @return Dialog instance
- */
- Dialog* dialog_alloc();
- /** Deinitialize and free dialog
- *
- * @param dialog Dialog instance
- */
- void dialog_free(Dialog* dialog);
- /** Get dialog view
- *
- * @param dialog Dialog instance
- *
- * @return View instance that can be used for embedding
- */
- View* dialog_get_view(Dialog* dialog);
- /** Set dialog result callback
- *
- * @param dialog Dialog instance
- * @param callback result callback function
- */
- void dialog_set_result_callback(Dialog* dialog, DialogResultCallback callback);
- /** Set dialog context
- *
- * @param dialog Dialog instance
- * @param context context pointer, will be passed to result callback
- */
- void dialog_set_context(Dialog* dialog, void* context);
- /** Set dialog header text
- *
- * @param dialog Dialog instance
- * @param text text to be shown
- */
- void dialog_set_header_text(Dialog* dialog, const char* text);
- /** Set dialog text
- *
- * @param dialog Dialog instance
- * @param text text to be shown
- */
- void dialog_set_text(Dialog* dialog, const char* text);
- /** Set left button text
- *
- * @param dialog Dialog instance
- * @param text text to be shown
- */
- void dialog_set_left_button_text(Dialog* dialog, const char* text);
- /** Set right button text
- *
- * @param dialog Dialog instance
- * @param text text to be shown
- */
- void dialog_set_right_button_text(Dialog* dialog, const char* text);
- #ifdef __cplusplus
- }
- #endif
|