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
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