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

#include <ConfirmView.h>

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

Public Types

enum class  Icon : uint8_t { NONE = 0 , QUESTION , WARNING , ERROR }
using ConfirmCallback = void(*)(void* userData)
using CancelCallback = void(*)(void* userData)

Public Member Functions

void init (const char *message, Icon icon=Icon::QUESTION)
 Initializes confirm dialog message and icon.
void setOnConfirm (ConfirmCallback callback, void *userData=nullptr)
void setOnCancel (CancelCallback callback, void *userData=nullptr)
void render (bool partial) override
 Renders the confirmation dialog.
InputResult onKey (char key) override
 Handles key input for the confirmation dialog.
const char * getName () const override
const char * getFooterHint () const override
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

ConfirmView - Y/N confirmation dialog

Shows a message with Y (confirm) and N (cancel) options. Useful for "Are you sure?" type dialogs.

Keys: Y = Confirm (triggers onConfirm callback) N = Cancel (triggers onCancel callback or pops view)

Definition at line 18 of file ConfirmView.h.

Member Typedef Documentation

◆ CancelCallback

using cdc::ui::ConfirmView::CancelCallback = void(*)(void* userData)

Definition at line 28 of file ConfirmView.h.

◆ ConfirmCallback

using cdc::ui::ConfirmView::ConfirmCallback = void(*)(void* userData)

Definition at line 27 of file ConfirmView.h.

Member Enumeration Documentation

◆ Icon

enum class cdc::ui::ConfirmView::Icon : uint8_t
strong
Enumerator
NONE 
QUESTION 
WARNING 
ERROR 

Definition at line 20 of file ConfirmView.h.

Member Function Documentation

◆ getFooterHint()

const char * cdc::ui::ConfirmView::getFooterHint ( ) const
inlineoverridevirtual

Get footer hint text (e.g., "[Y] OK [N] Back") Return nullptr for no footer

Reimplemented from cdc::ui::IView.

Definition at line 57 of file ConfirmView.h.

◆ getName()

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

Get view name for debugging

Implements cdc::ui::IView.

Definition at line 56 of file ConfirmView.h.

◆ init()

void cdc::ui::ConfirmView::init ( const char * message,
Icon icon = Icon::QUESTION )

Initializes confirm dialog message and icon.

Initialize confirm dialog

Parameters
messageQuestion/message to display
iconOptional icon
messageDialog message text.
iconIcon type to display in the dialog.
Returns
void

Definition at line 24 of file ConfirmView.cpp.

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

◆ onKey()

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

Handles key input for the confirmation dialog.

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

Implements cdc::ui::IView.

Definition at line 40 of file ConfirmView.cpp.

References cdc::ui::CONSUMED, cdc::ui::ViewStack::hideModal(), cdc::ui::IGNORED, cdc::ui::ViewStack::instance(), cdc::ui::KEY_NO, and cdc::ui::KEY_YES.

◆ render()

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

Renders the confirmation dialog.

Parameters
partialIndicates partial/full redraw mode.
Returns
void

Implements cdc::ui::IView.

Definition at line 65 of file ConfirmView.cpp.

References cdc::ui::ViewBase::dirty_, cdc::ui::display, cdc::ui::render::drawDialogFrame(), ERROR, cdc::hal::getDisplayInstance(), NONE, cdc::ui::render::printText(), QUESTION, cdc::ui::tr(), and WARNING.

◆ setOnCancel()

void cdc::ui::ConfirmView::setOnCancel ( CancelCallback callback,
void * userData = nullptr )
inline

Set cancel (N) callback (optional - defaults to just closing)

Definition at line 48 of file ConfirmView.h.

◆ setOnConfirm()

void cdc::ui::ConfirmView::setOnConfirm ( ConfirmCallback callback,
void * userData = nullptr )
inline

Set confirm (Y) callback

Definition at line 40 of file ConfirmView.h.


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