mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-12-01 00:39:12 +00:00
89a6c09a7a
* Documentation: add Doxyfile, prepare sources for doxygen. * Update ReadMe and remove obsolete CLA * Add contribution guide * Contributing: update text * Correct spelling
95 lines
2 KiB
C
95 lines
2 KiB
C
/**
|
|
* @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
|