CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
cdc::ui::DateInputView Class Reference

#include <DateInputView.h>

Inheritance diagram for cdc::ui::DateInputView:
cdc::ui::ViewBase cdc::ui::IView

Public Types

using ConfirmCallback = void(*)(uint8_t day, uint8_t month, uint16_t year)
using CancelCallback = void(*)()

Public Member Functions

void init (const char *title, uint8_t day, uint8_t month, uint16_t year)
 Initializes date input state.
void setOnConfirm (ConfirmCallback callback)
void setOnCancel (CancelCallback callback)
uint8_t getDay () const
uint8_t getMonth () const
uint16_t getYear () const
void render (bool partial) override
 Renders the date input view.
InputResult onKey (char key) override
 Handles key input for the date editor.
const char * getName () const override
const char * getFooterHint () const override
 Returns localized footer hint text.
Public Member Functions inherited from cdc::ui::ViewBase
virtual ~ViewBase ()=default
void onEnter (void *context) override
void onExit () override
void onResume () override
void onPause () override
void setLifecycleHooks (void(*onHide)(void *), void(*onShow)(void *), void *userData) override
bool needsRender () const override
void markDirty () override
void clearDirty () override
void setFooterHint (const char *hint) override
const char * getFooterHint () const override
Public Member Functions inherited from cdc::ui::IView
virtual ~IView ()=default
virtual bool prefersLightRefresh () const
virtual InputResult onLongPress (char key)
virtual void onTick (uint32_t nowMs)

Additional Inherited Members

Protected Member Functions inherited from cdc::ui::ViewBase
void setTitle (const char *title)
const char * getTitle () const
Protected Attributes inherited from cdc::ui::ViewBase
bool dirty_ = true
const char * title_ = nullptr
const char * customFooter_ = nullptr
void(* onHide_ )(void *) = nullptr
void(* onShow_ )(void *) = nullptr
void * lifecycleUserData_ = nullptr

Detailed Description

DateInputView - Date input with day/month/year fields

Navigation: 0-9 = Enter digits 4 = Previous field 6 = Next field N = Clear current field / Cancel (if empty) Y = Confirm

Definition at line 18 of file DateInputView.h.

Member Typedef Documentation

◆ CancelCallback

Cancel callback (called when the user dismisses the view with N). The view pops itself before this fires, so do not call pop() in the handler.

Definition at line 32 of file DateInputView.h.

◆ ConfirmCallback

using cdc::ui::DateInputView::ConfirmCallback = void(*)(uint8_t day, uint8_t month, uint16_t year)

Confirm callback

Parameters
dayDay (1-31)
monthMonth (1-12)
yearYear (e.g., 2026)

Definition at line 26 of file DateInputView.h.

Member Function Documentation

◆ getDay()

uint8_t cdc::ui::DateInputView::getDay ( ) const
inline

Get current values

Definition at line 56 of file DateInputView.h.

◆ getFooterHint()

const char * cdc::ui::DateInputView::getFooterHint ( ) const
overridevirtual

Returns localized footer hint text.

Returns
Footer hint string.

Reimplemented from cdc::ui::IView.

Definition at line 209 of file DateInputView.cpp.

References cdc::ui::tr().

Referenced by render().

◆ getMonth()

uint8_t cdc::ui::DateInputView::getMonth ( ) const
inline

Definition at line 57 of file DateInputView.h.

◆ getName()

const char * cdc::ui::DateInputView::getName ( ) const
inlineoverridevirtual

Get view name for debugging

Implements cdc::ui::IView.

Definition at line 63 of file DateInputView.h.

◆ getYear()

uint16_t cdc::ui::DateInputView::getYear ( ) const
inline

Definition at line 58 of file DateInputView.h.

◆ init()

void cdc::ui::DateInputView::init ( const char * title,
uint8_t day,
uint8_t month,
uint16_t year )

Initializes date input state.

Initialize date input view

Parameters
titleView title
dayInitial day (1-31)
monthInitial month (1-12)
yearInitial year
titleView title text.
dayInitial day value.
monthInitial month value.
yearInitial year value.
Returns
void

Definition at line 37 of file DateInputView.cpp.

References cdc::ui::ViewBase::dirty_.

◆ onKey()

InputResult cdc::ui::DateInputView::onKey ( char key)
overridevirtual

Handles key input for the date editor.

Parameters
keyPressed key code.
Returns
Input handling result for the view stack.

Implements cdc::ui::IView.

Definition at line 169 of file DateInputView.cpp.

References cdc::ui::CONSUMED, cdc::ui::IGNORED, cdc::ui::ViewStack::instance(), cdc::ui::KEY_NO, cdc::ui::KEY_YES, LOG_I, cdc::ui::ViewStack::pop(), and cdc::ui::TAG.

◆ render()

void cdc::ui::DateInputView::render ( bool partial)
overridevirtual

Renders the date input view.

Parameters
partialIndicates partial/full redraw mode.
Returns
void

Implements cdc::ui::IView.

Definition at line 218 of file DateInputView.cpp.

References DATE_Y, cdc::ui::ViewBase::dirty_, cdc::ui::display, cdc::ui::render::drawFooterBar(), cdc::ui::render::drawHeaderCentered(), cdc::hal::getDisplayInstance(), getFooterHint(), cdc::ui::TITLE_Y, and UNDERLINE_Y.

◆ setOnCancel()

void cdc::ui::DateInputView::setOnCancel ( CancelCallback callback)
inline

Set cancel callback (called when the view is dismissed without confirming)

Definition at line 51 of file DateInputView.h.

◆ setOnConfirm()

void cdc::ui::DateInputView::setOnConfirm ( ConfirmCallback callback)
inline

Set confirm callback

Definition at line 46 of file DateInputView.h.


The documentation for this class was generated from the following files: