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

#include <TimeInputView.h>

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

Public Types

using ConfirmCallback = void(*)(uint8_t hour, uint8_t minute)
using CancelCallback = void(*)()

Public Member Functions

void init (const char *title, uint8_t hour, uint8_t minute)
 Initializes time input state.
void setOnConfirm (ConfirmCallback callback)
void setOnCancel (CancelCallback callback)
uint8_t getHour () const
uint8_t getMinute () const
void render (bool partial) override
 Renders the time input view.
InputResult onKey (char key) override
 Handles key input for the time 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

TimeInputView - Time input with hour/minute 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 TimeInputView.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 31 of file TimeInputView.h.

◆ ConfirmCallback

using cdc::ui::TimeInputView::ConfirmCallback = void(*)(uint8_t hour, uint8_t minute)

Confirm callback

Parameters
hourHour (0-23)
minuteMinute (0-59)

Definition at line 25 of file TimeInputView.h.

Member Function Documentation

◆ getFooterHint()

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

Returns localized footer hint text.

Returns
Footer hint string.

Reimplemented from cdc::ui::IView.

Definition at line 168 of file TimeInputView.cpp.

References cdc::ui::tr().

Referenced by render().

◆ getHour()

uint8_t cdc::ui::TimeInputView::getHour ( ) const
inline

Get current values

Definition at line 54 of file TimeInputView.h.

◆ getMinute()

uint8_t cdc::ui::TimeInputView::getMinute ( ) const
inline

Definition at line 55 of file TimeInputView.h.

◆ getName()

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

Get view name for debugging

Implements cdc::ui::IView.

Definition at line 60 of file TimeInputView.h.

◆ init()

void cdc::ui::TimeInputView::init ( const char * title,
uint8_t hour,
uint8_t minute )

Initializes time input state.

Initialize time input view

Parameters
titleView title
hourInitial hour (0-23)
minuteInitial minute (0-59)
titleView title text.
hourInitial hour value.
minuteInitial minute value.
Returns
void

Definition at line 36 of file TimeInputView.cpp.

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

◆ onKey()

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

Handles key input for the time editor.

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

Implements cdc::ui::IView.

Definition at line 128 of file TimeInputView.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::TimeInputView::render ( bool partial)
overridevirtual

Renders the time input view.

Parameters
partialIndicates partial/full redraw mode.
Returns
void

Implements cdc::ui::IView.

Definition at line 177 of file TimeInputView.cpp.

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

◆ setOnCancel()

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

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

Definition at line 49 of file TimeInputView.h.

◆ setOnConfirm()

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

Set confirm callback

Definition at line 44 of file TimeInputView.h.


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