mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-07-25 01:38:11 -07:00
Add date/time input module
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
/**
|
||||
* @file date_time_input.h
|
||||
* GUI: DateTimeInput view module API
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <gui/view.h>
|
||||
#include <datetime.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** Date/time input anonymous structure */
|
||||
typedef struct DateTimeInput DateTimeInput;
|
||||
|
||||
/** callback that is executed on value change */
|
||||
typedef void (*DateTimeChangedCallback)(void* context);
|
||||
|
||||
/** callback that is executed on back button press */
|
||||
typedef void (*DateTimeDoneCallback)(void* context);
|
||||
|
||||
/** Allocate and initialize date/time input
|
||||
*
|
||||
* This screen used to input a date and time
|
||||
*
|
||||
* @return DateTimeInput instance
|
||||
*/
|
||||
DateTimeInput* date_time_input_alloc(void);
|
||||
|
||||
/** Deinitialize and free date/time input
|
||||
*
|
||||
* @param date_time_input Date/time input instance
|
||||
*/
|
||||
void date_time_input_free(DateTimeInput* date_time_input);
|
||||
|
||||
/** Get date/time input view
|
||||
*
|
||||
* @param date_time_input Date/time input instance
|
||||
*
|
||||
* @return View instance that can be used for embedding
|
||||
*/
|
||||
View* date_time_input_get_view(DateTimeInput* date_time_input);
|
||||
|
||||
/** Set date/time input result callback
|
||||
*
|
||||
* @param date_time_input date/time input instance
|
||||
* @param changed_callback changed callback fn
|
||||
* @param done_callback finished callback fn
|
||||
* @param callback_context callback context
|
||||
* @param datetime date/time value
|
||||
*/
|
||||
void date_time_input_set_result_callback(
|
||||
DateTimeInput* date_time_input,
|
||||
DateTimeChangedCallback changed_callback,
|
||||
DateTimeDoneCallback done_callback,
|
||||
void* callback_context,
|
||||
DateTime* datetime);
|
||||
|
||||
/** Set date/time input header text
|
||||
*
|
||||
* @param date_time_input date/time input instance
|
||||
* @param text text to be shown
|
||||
*/
|
||||
void date_time_input_set_header_text(DateTimeInput* date_time_input, const char* text);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user