Example #1
0
def yes_no_dialog(title='',
                  text='',
                  yes_text='Yes',
                  no_text='No',
                  style=None,
                  async_=False):
    """
    Display a Yes/No dialog.
    Return a boolean.
    """
    def yes_handler():
        get_app().set_return_value(True)

    def no_handler():
        get_app().set_return_value(False)

    dialog = Dialog(title=title,
                    body=Label(text=text, dont_extend_height=True),
                    buttons=[
                        Button(text=yes_text, handler=yes_handler),
                        Button(text=no_text, handler=no_handler),
                    ],
                    with_background=True)

    return _run_dialog(dialog, style, async_=async_)
Example #2
0
def radiolist_dialog(title='',
                     text='',
                     ok_text='Ok',
                     cancel_text='Cancel',
                     values=None,
                     style=None,
                     async_=False):
    """
    Display a simple message box and wait until the user presses enter.
    """
    def ok_handler():
        get_app().set_return_value(radio_list.current_value)

    radio_list = RadioList(values)

    dialog = Dialog(title=title,
                    body=HSplit([
                        Label(text=text, dont_extend_height=True),
                        radio_list,
                    ],
                                padding=1),
                    buttons=[
                        Button(text=ok_text, handler=ok_handler),
                        Button(text=cancel_text, handler=_return_none),
                    ],
                    with_background=True)

    return _run_dialog(dialog, style, async_=async_)
Example #3
0
def message_dialog(title='', text='', ok_text='Ok', style=None, async_=False):
    """
    Display a simple message box and wait until the user presses enter.
    """
    dialog = Dialog(title=title,
                    body=Label(text=text, dont_extend_height=True),
                    buttons=[
                        Button(text=ok_text, handler=_return_none),
                    ],
                    with_background=True)

    return _run_dialog(dialog, style, async_=async_)
Example #4
0
def input_dialog(title='',
                 text='',
                 ok_text='OK',
                 cancel_text='Cancel',
                 completer=None,
                 password=False,
                 style=None,
                 async_=False):
    """
    Display a text input box.
    Return the given text, or None when cancelled.
    """
    def accept():
        get_app().layout.focus(ok_button)

    def ok_handler():
        get_app().set_return_value(textfield.text)

    ok_button = Button(text=ok_text, handler=ok_handler)
    cancel_button = Button(text=cancel_text, handler=_return_none)

    textfield = TextArea(multiline=False,
                         password=password,
                         completer=completer,
                         accept_handler=accept)

    dialog = Dialog(title=title,
                    body=HSplit([
                        Label(text=text, dont_extend_height=True),
                        textfield,
                    ],
                                padding=D(preferred=1, max=1)),
                    buttons=[ok_button, cancel_button],
                    with_background=True)

    return _run_dialog(dialog, style, async_=async_)