Lines Matching refs:urwid

29 import urwid
34 WidgetType = typing.TypeVar('WidgetType', bound=urwid.Widget)
44 class RootWidget(urwid.Frame):
52 raise urwid.ExitMainLoop()
62 class CommitWidget(urwid.Text):
64 # urwid.Text is normally not interactable, this is required to tell urwid
113 commit_list: typing.List['urwid.Button'] = attr.ib(factory=lambda: urwid.SimpleFocusListWalker([]), init=False)
114 feedback_box: typing.List['urwid.Text'] = attr.ib(factory=lambda: urwid.SimpleFocusListWalker([]), init=False)
115 header: 'urwid.Text' = attr.ib(factory=lambda: urwid.Text('Mesa Stable Picker', align='center'), init=False)
116 body: 'urwid.Columns' = attr.ib(attr.Factory(lambda s: s._make_body(), True), init=False)
117 footer: 'urwid.Columns' = attr.ib(attr.Factory(lambda s: s._make_footer(), True), init=False)
119 mainloop: urwid.MainLoop = attr.ib(None, init=False)
125 def _make_body(self) -> 'urwid.Columns':
126 commits = urwid.ListBox(self.commit_list)
127 feedback = urwid.ListBox(self.feedback_box)
128 return urwid.Columns([commits, feedback])
130 def _make_footer(self) -> 'urwid.Columns':
132 urwid.Text('[U]pdate'),
133 urwid.Text('[Q]uit'),
134 urwid.Text('[C]herry Pick'),
135 urwid.Text('[D]enominate'),
136 urwid.Text('[B]ackport'),
137 urwid.Text('[A]pply additional patch')
139 return urwid.Columns(body)
163 pb = urwid.ProgressBar('a', 'b', done=len(new_commits))
165 self.mainloop.widget = urwid.Overlay(
166 urwid.Filler(urwid.LineBox(pb)), o, 'center', ('relative', 50), 'middle', ('relative', 50))
174 b = urwid.AttrMap(CommitWidget(self, commit), None, focus_map='reversed')
179 self.feedback_box.append(urwid.AttrMap(urwid.Text(text), None))
199 async def apply_cb(edit: urwid.Edit) -> None:
216 q = urwid.Edit("Commit sha\n")
217 ok_btn = urwid.Button('Ok')
218 urwid.connect_signal(ok_btn, 'click', lambda _: asyncio.ensure_future(apply_cb(q)))
219 urwid.connect_signal(ok_btn, 'click', reset_cb)
221 can_btn = urwid.Button('Cancel')
222 urwid.connect_signal(can_btn, 'click', reset_cb)
224 cols = urwid.Columns([ok_btn, can_btn])
225 pile = urwid.Pile([q, cols])
226 box = urwid.LineBox(pile)
228 self.mainloop.widget = urwid.Overlay(
229 urwid.Filler(box), o, 'center', ('relative', 50), 'middle', ('relative', 50)
238 t = urwid.Text(textwrap.dedent(f"""
246 can_btn = urwid.Button('Cancel')
247 urwid.connect_signal(can_btn, 'click', reset_cb)
248 urwid.connect_signal(
251 ok_btn = urwid.Button('Ok')
252 urwid.connect_signal(ok_btn, 'click', reset_cb)
253 urwid.connect_signal(
255 urwid.connect_signal(
258 cols = urwid.Columns([ok_btn, can_btn])
259 pile = urwid.Pile([t, cols])
260 box = urwid.LineBox(pile)
262 self.mainloop.widget = urwid.Overlay(
263 urwid.Filler(box), o, 'center', ('relative', 50), 'middle', ('relative', 50)