def __init__(self, app, project, topic, callback=None): super(ProjectRow, self).__init__('', on_press=callback, user_data=(project.key, project.name)) self.app = app self.mark = False self._style = None self.project_key = project.key if topic: self.topic_key = topic.key self.indent = ' ' else: self.topic_key = None self.indent = '' self.project_name = project.name self.name = mywid.SearchableText('') self._setName(project.name, self.indent) self.name.set_wrap_mode('clip') self.unreviewed_changes = urwid.Text(u'', align=urwid.RIGHT) self.open_changes = urwid.Text(u'', align=urwid.RIGHT) col = urwid.Columns([ self.name, ('fixed', 11, self.unreviewed_changes), ('fixed', 5, self.open_changes), ]) self.row_style = urwid.AttrMap(col, '') self._w = urwid.AttrMap(self.row_style, None, focus_map=self.project_focus_map) self.update(project)
def __init__(self, app, context, old, new, callback=None): super(SideDiffLine, self).__init__('', on_press=callback) self.context = context self.text_widgets = [] columns = [] for (ln, action, line) in (old, new): if ln is None: ln = '' else: ln = '%*i' % (LN_COL_WIDTH - 1, ln) ln_col = urwid.Text(('line-number', ln)) ln_col.set_wrap_mode('clip') line_col = mywid.SearchableText(line) self.text_widgets.append(line_col) if action == '': line_col = urwid.AttrMap(line_col, 'nonexistent') columns += [(LN_COL_WIDTH, ln_col), line_col] col = urwid.Columns(columns) map = { None: 'focused', 'added-line': 'focused-added-line', 'added-word': 'focused-added-word', 'removed-line': 'focused-removed-line', 'removed-word': 'focused-removed-word', 'nonexistent': 'focused-nonexistent', 'line-number': 'focused-line-number', } self._w = urwid.AttrMap(col, None, focus_map=map)
def __init__(self, app, pr, prefix, categories, enabled_columns, callback=None): super(PullRequestRow, self).__init__('', on_press=callback, user_data=pr.key) self.app = app self.pr_key = pr.key self.prefix = prefix self.enabled_columns = enabled_columns self.title = mywid.SearchableText(u'', wrap='clip') self.number = mywid.SearchableText(u'') self.updated = mywid.SearchableText(u'') self.size = mywid.SearchableText(u'', align='right') self.repository = mywid.SearchableText(u'', wrap='clip') self.author = mywid.SearchableText(u'', wrap='clip') self.branch = mywid.SearchableText(u'', wrap='clip') self.mark = False self.columns = urwid.Columns([], dividechars=1) self.row_style = urwid.AttrMap(self.columns, '') self._w = urwid.AttrMap(self.row_style, None, focus_map=self.pr_focus_map) self.category_columns = [] self.update(pr, categories)
def __init__(self, app, context, oldnew, old, new, callback=None): super(UnifiedDiffLine, self).__init__('', on_press=callback) self.context = context self.oldnew = oldnew (old_ln, old_action, old_line) = old (new_ln, new_action, new_line) = new if old_ln is None: old_ln = '' else: old_ln = '%*i' % (LN_COL_WIDTH-1, old_ln) if new_ln is None: new_ln = '' else: new_ln = '%*i' % (LN_COL_WIDTH-1, new_ln) old_ln_col = urwid.Text(('line-number', old_ln)) old_ln_col.set_wrap_mode('clip') new_ln_col = urwid.Text(('line-number', new_ln)) new_ln_col.set_wrap_mode('clip') if oldnew == gitrepo.OLD: action = old_action line = old_line columns = [(LN_COL_WIDTH, old_ln_col), (LN_COL_WIDTH, urwid.Text(u''))] elif oldnew == gitrepo.NEW: action = new_action line = new_line columns = [(LN_COL_WIDTH, urwid.Text(u'')), (LN_COL_WIDTH, new_ln_col)] if new_action == ' ': columns = [(LN_COL_WIDTH, old_ln_col), (LN_COL_WIDTH, new_ln_col)] line_col = mywid.SearchableText(line) self.text_widget = line_col if action == '': line_col = urwid.AttrMap(line_col, 'nonexistent') columns += [line_col] col = urwid.Columns(columns) map = {None: 'focused', 'added-line': 'focused-added-line', 'added-word': 'focused-added-word', 'removed-line': 'focused-removed-line', 'removed-word': 'focused-removed-word', 'nonexistent': 'focused-nonexistent', 'line-number': 'focused-line-number', } self._w = urwid.AttrMap(col, None, focus_map=map)
def __init__(self, app, change, prefix, categories, enabled_columns, callback=None): super(ChangeRow, self).__init__('', on_press=callback, user_data=change.key) self.app = app self.change_key = change.key self.prefix = prefix self.enabled_columns = enabled_columns self.title = mywid.SearchableText(u'', wrap='clip') self.number = mywid.SearchableText(u'') self.updated = mywid.SearchableText(u'') self.size = mywid.SearchableText(u'', align='right') self.project = mywid.SearchableText(u'', wrap='clip') self.owner = mywid.SearchableText(u'', wrap='clip') self.branch = mywid.SearchableText(u'', wrap='clip') self.mark = False self.columns = urwid.Columns([], dividechars=1) self.row_style = urwid.AttrMap(self.columns, '') self._w = urwid.AttrMap(self.row_style, None, focus_map=self.change_focus_map) self.category_columns = [] self.update(change, categories)