wolfhece.dialog_provider

Module Contents

class wolfhece.dialog_provider.ProgressHandle[source]

Simple wrapper around wx.ProgressDialog for easier mocking in tests.

dialog: wx.ProgressDialog[source]
update(value: int, message: str | None = None) bool[source]

Update progress and return wx’s continuation flag.

value() int[source]

Return current progress value.

close() None[source]

Destroy the wrapped progress dialog.

class wolfhece.dialog_provider.DialogStyles[source]

Named style presets used across dialog helpers and call sites.

OK[source]
CANCEL[source]
OK_CANCEL[source]
ICON_INFORMATION[source]
ICON_QUESTION[source]
ICON_WARNING[source]
ICON_ERROR[source]
YES_NO[source]
YES_NO_QUESTION[source]
YES_NO_DEFAULT_YES[source]
YES_NO_DEFAULT_NO[source]
YES_NO_QUESTION_DEFAULT_YES[source]
YES_NO_QUESTION_DEFAULT_NO[source]
OK_INFO[source]
OK_CANCEL_WARNING[source]
class wolfhece.dialog_provider.DialogProvider[source]

Wrapper around common wx dialogs used in the viewer.

This class centralizes dialog interactions so tests can inject a mock implementation with deterministic answers.

ask_file_open(message: str, wildcard: str = 'all (*.*)|*.*', default_path: str = '', style: int | None = None, parent=None) str | None[source]
ask_file_open_with_filter(message: str, wildcard: str = 'all (*.*)|*.*', default_path: str = '', style: int | None = None, parent=None) tuple[str, int] | None[source]

Open a file dialog and return (path, filter_index) or None on cancel.

ask_file_save(message: str, wildcard: str = 'all (*.*)|*.*', default_path: str = '', default_file: str = '', style: int | None = None, parent=None) str | None[source]
ask_directory(message: str, default_path: str = '', style: int = wx.DD_DEFAULT_STYLE, parent=None) str | None[source]
ask_yes_no(message: str, caption: str = '', style: int = DialogStyles.YES_NO_QUESTION, parent=None) bool[source]
show_message(message: str, caption: str = '', style: int = DialogStyles.OK_INFO, parent=None) int[source]
ask_ok_cancel(message: str, caption: str = '', style: int = DialogStyles.OK_CANCEL, parent=None) bool[source]
ask_single_choice(message: str, caption: str, choices: list[str], preselected: int | None = None, style: int = wx.CHOICEDLG_STYLE, parent=None) str | None[source]
ask_multi_choice(message: str, caption: str, choices: list[str], preselected: list[int] | tuple[int, Ellipsis] | None = None, style: int = wx.CHOICEDLG_STYLE, parent=None) list[int] | None[source]
ask_text(message: str, caption: str = '', default: str = '', style: int = DialogStyles.OK_CANCEL, parent=None) str | None[source]
ask_float(message: str, caption: str = '', default: float | str = '', style: int = DialogStyles.OK_CANCEL, parent=None) float | None[source]
ask_integer(message: str, prompt: str = '', caption: str = '', default: int = 0, min_value: int = 0, max_value: int = 0, parent=None) int | None[source]
create_progress(title: str, message: str, maximum: int, style: int = wx.PD_APP_MODAL | wx.PD_AUTO_HIDE, parent=None) ProgressHandle[source]
show_busy(message: str, title: str = '', parent=None)[source]

Context manager that shows an indeterminate progress bar while work runs.

ask_confirmation(message: str, caption: str = '', default: Literal['yes', 'no'] = 'yes', parent=None) bool[source]