예제 #1
0
def gm_show_question(aMessage='programmer forgot to specify question',
                     aTitle='generic user question dialog',
                     cancel_button=False,
                     question=None,
                     title=None):
    if cancel_button:
        style = wx.YES_NO | wx.CANCEL | wx.ICON_QUESTION | wx.STAY_ON_TOP
    else:
        style = wx.YES_NO | wx.ICON_QUESTION | wx.STAY_ON_TOP

    if question is None:
        question = aMessage
    if title is None:
        title = aTitle
    title = gmTools.decorate_window_title(title)

    dlg = wx.MessageDialog(None, question, title, style)
    btn_pressed = dlg.ShowModal()
    dlg.DestroyLater()

    if btn_pressed == wx.ID_YES:
        return True
    elif btn_pressed == wx.ID_NO:
        return False
    else:
        return None
예제 #2
0
    def __init__(self, *args, **kwargs):

        caption = kwargs['caption']
        question = kwargs['question']
        button_defs = kwargs['button_defs'][:2]
        del kwargs['caption']
        del kwargs['question']
        del kwargs['button_defs']

        try:
            show_checkbox = kwargs['show_checkbox']
            del kwargs['show_checkbox']
        except KeyError:
            show_checkbox = False

        try:
            checkbox_msg = kwargs['checkbox_msg']
            del kwargs['checkbox_msg']
        except KeyError:
            checkbox_msg = None

        try:
            checkbox_tooltip = kwargs['checkbox_tooltip']
            del kwargs['checkbox_tooltip']
        except KeyError:
            checkbox_tooltip = None

        wxg2ButtonQuestionDlg.wxg2ButtonQuestionDlg.__init__(
            self, *args, **kwargs)

        self.SetTitle(title=gmTools.decorate_window_title(caption))
        self._LBL_question.SetLabel(label=question)

        if not show_checkbox:
            self._CHBOX_dont_ask_again.Hide()
        else:
            if checkbox_msg is not None:
                self._CHBOX_dont_ask_again.SetLabel(checkbox_msg)
            if checkbox_tooltip is not None:
                self._CHBOX_dont_ask_again.SetToolTip(checkbox_tooltip)

        buttons = [self._BTN_1, self._BTN_2]
        for idx in range(len(button_defs)):
            buttons[idx].SetLabel(label=button_defs[idx]['label'])
            buttons[idx].SetToolTip(button_defs[idx]['tooltip'])
            try:
                if button_defs[idx]['default'] is True:
                    buttons[idx].SetDefault()
                    buttons[idx].SetFocus()
            except KeyError:
                pass

        self.Fit()
예제 #3
0
def gm_show_warning(aMessage=None, aTitle=None):
    if aMessage is None:
        aMessage = _('programmer forgot to specify warning')
    if aTitle is None:
        aTitle = _('generic warning message')

    dlg = wx.MessageDialog(parent=None,
                           message=aMessage,
                           caption=gmTools.decorate_window_title(aTitle),
                           style=wx.OK | wx.ICON_EXCLAMATION | wx.STAY_ON_TOP)
    dlg.ShowModal()
    dlg.DestroyLater()
    return True
예제 #4
0
    def __init__(self, *args, **kwargs):

        try:
            title = kwargs['title']
            del kwargs['title']
        except KeyError:
            title = None

        try:
            msg = kwargs['msg']
            del kwargs['msg']
        except KeyError:
            msg = None

        try:
            data = kwargs['data']
            del kwargs['data']
        except KeyError:
            data = None

        try:
            self.original_text = kwargs['text']
            del kwargs['text']
        except KeyError:
            self.original_text = None

        wxgMultilineTextEntryDlg.wxgMultilineTextEntryDlg.__init__(
            self, *args, **kwargs)

        if title is not None:
            self.SetTitle(gmTools.decorate_window_title(title))

        if self.original_text is not None:
            self._TCTRL_text.SetValue(self.original_text)
            self._BTN_restore.Enable(True)

        if msg is None:
            self._LBL_msg.Hide()
        else:
            self._LBL_msg.SetLabel(msg)
            self.Layout()
            self.Refresh()

        if data is None:
            self._TCTRL_data.Hide()
        else:
            self._TCTRL_data.SetValue(data)
            self.Layout()
            self.Refresh()

        self._TCTRL_text.SetFocus()
예제 #5
0
def gm_show_info(aMessage=None, aTitle=None, info=None, title=None):

    if info is None:
        info = aMessage
    if info is None:
        info = _('programmer forgot to specify info message')
    if title is None:
        title = aTitle
    if title is None:
        title = _('generic info message')
    dlg = wx.MessageDialog(parent=None,
                           message=info,
                           caption=gmTools.decorate_window_title(title),
                           style=wx.OK | wx.ICON_INFORMATION | wx.STAY_ON_TOP)
    dlg.ShowModal()
    dlg.DestroyLater()
    return True
예제 #6
0
def gm_show_error(aMessage=None, aTitle=None, error=None, title=None):

    if error is None:
        error = aMessage
    if error is None:
        error = _('programmer forgot to specify error message')
    error += _("\n\nPlease consult the error log for all the gory details !")
    if title is None:
        title = aTitle
    if title is None:
        title = _('generic error message')
    dlg = wx.MessageDialog(parent=None,
                           message=error,
                           caption=gmTools.decorate_window_title(title),
                           style=wx.OK | wx.ICON_ERROR | wx.STAY_ON_TOP)
    dlg.ShowModal()
    dlg.DestroyLater()
    return True