""" All of the dialogs used throughout Gooey """ from collections import namedtuple import wx # type: ignore from gooey.gui.lang.i18n import _ # These don't seem to be specified anywhere in WX for some reason DialogConstants = namedtuple('DialogConstants', 'YES NO')(5103, 5104) # type: ignore def showDialog(title, content, style): dlg = wx.MessageDialog(None, content, title, style) dlg.SetYesNoLabels(_('dialog_button_yes'), _('dialog_button_no')) dlg.SetOKLabel(_('dialog_button_ok')) result = dlg.ShowModal() dlg.Destroy() return result def missingArgsDialog(): showDialog(_('error_title'), _('error_required_fields'), wx.ICON_ERROR) def validationFailure(): showDialog(_('error_title'), _('validation_failed'), wx.ICON_WARNING) def showSuccess(): showDialog(_('execution_finished'), _('success_message'), wx.ICON_INFORMATION) def showFailure(): showDialog(_('execution_finished'), _('uh_oh'), wx.ICON_ERROR) def confirmExit(): result = showDialog(_('sure_you_want_to_exit'), _('close_program'), wx.YES_NO | wx.ICON_INFORMATION) return result == DialogConstants.YES def confirmForceStop(): result = showDialog(_('stop_task'), _('sure_you_want_to_stop'), wx.YES_NO | wx.ICON_WARNING) return result == DialogConstants.YES