Пример #1
0
def build_sql_tab(parent):
    '''
    Builds "SQL" tab subtree of widgets

    Parameters:
        parent (Widget): Parent widget of tab subtree

    Returns:
        Widget: Subtree of widgets
    '''
    sql = Tab('SQL', parent, ord('q'))
    sql.resize(height = 22)

    input_group = sql.content_region
    input_group.scale(width = -38)

    translator = DatasigTranslator(input_group)
    translator.map_output('DB_RAW_QUERY', text = 'raw')

    form = Form(translator, text = '')

    text_in = TextBox('Input', form, ord('i'))
    text_in.scale(height = -2)
    text_in.linked_label.embellish(' ', ' ').offset(x = 2)

    translator = DatasigTranslator(form)
    translator.map_output('UI_SUBMIT')

    submit = Button('Submit', translator, ord('s'))
    submit.move(y = 16)

    translator = DatasigTranslator(form)
    translator.map_output('UI_CLEAR_FORM')

    reset = Button('Reset', translator, ord('r'))
    reset.move(x = 12, y = 16)

    output_group = sql.content_region
    output_group.scale(width = -38).offset(x = 38)

    form = Form(output_group)

    translator = DatasigTranslator(form)
    translator.map_input('UI_RAW_QUERY', result = 'text')
    translator.map_focus('UI_RAW_QUERY')

    text_out = TextBox('Output', translator, ord('o'))
    text_out.read_only()
    text_out.scale(height = -2)
    text_out.linked_label.embellish(' ', ' ').offset(x = 2)

    translator = DatasigTranslator(form)
    translator.map_output('UI_CLEAR_FORM')

    clear = Button('Clear', translator, ord('c'))
    clear.move(y = 16)

    return sql
Пример #2
0
def build_server_tab(parent):
    '''
    Builds "Server" tab subtree of widgets

    Parameters:
        parent (Widget): Parent widget of tab subtree

    Returns:
        Widget: Subtree of widgets
    '''
    offset = [0, 3]
    input_field_size = 30
    button_offset = 25

    server = Tab('Server', parent, ord('s'))
    server.resize(height = 22)

    translator = DatasigTranslator(server)
    translator.map_output('DB_CONNECT')

    form = Form(
        translator,
        hostname = None, port = None, username = None, password = None
    )

    translator = DatasigTranslator(form)
    translator.map_output('DATASIG_OUT', text = 'hostname')

    hostname = TextField('Host Name', translator, ord('h'))
    hostname.resize(width = input_field_size)
    hostname.align('CENTER')
    hostname.offset(*offset)
    hostname.linked_label.embellish(suffix = ': ').to_center(cross = True).shift(-1)

    translator = DatasigTranslator(form)
    translator.map_output('DATASIG_OUT', number = 'port')

    port = NumericField('Port Number', translator, ord('n'))
    port.resize(width = input_field_size)
    port.align('CENTER')
    port.move(y = 3)
    port.offset(*offset)
    port.linked_label.embellish(suffix = ': ').to_center(cross = True).shift(-1)

    translator = DatasigTranslator(form)
    translator.map_output('DATASIG_OUT', text = 'username')

    username = TextField('User Name', translator, ord('u'))
    username.resize(width = input_field_size)
    username.align('CENTER')
    username.move (y = 6)
    username.offset(*offset)
    username.linked_label.embellish(suffix = ': ').to_center(cross = True).shift(-1)

    translator = DatasigTranslator(form)
    translator.map_output('DATASIG_OUT', text = 'password')

    password = TextField('Password', translator, ord('p'))
    password.resize(width = input_field_size)
    password.align('CENTER')
    password.move (y = 9)
    password.offset(*offset)
    password.obscure()
    password.linked_label.embellish(suffix = ': ').to_center(cross = True).shift(-1)

    translator = DatasigTranslator(form)
    translator.map_output('UI_SUBMIT')

    offset[0] = button_offset
    connect = Button('Connect', translator, ord('c'))
    connect.move(y = 13)
    connect.offset(*offset)

    translator = DatasigTranslator(server)
    translator.map_output('DB_DISCONNECT')

    offset[0] += 16
    disconnect = Button('Disconnect', translator, ord('d'))
    disconnect.move(y = 13)
    disconnect.offset(*offset)

    return server