From 65e88f49d44a373dac82d040532589657d3ae8be Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Mon, 19 Mar 2012 10:12:06 +1300 Subject: Specialize GridEditor into a number of subclasses. --- libmproxy/console/grideditor.py | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'libmproxy/console/grideditor.py') diff --git a/libmproxy/console/grideditor.py b/libmproxy/console/grideditor.py index 19fa4374..120a9ce1 100644 --- a/libmproxy/console/grideditor.py +++ b/libmproxy/console/grideditor.py @@ -81,7 +81,7 @@ class GridItem(common.WWrap): ) fspecs = self.fields[:] - fspecs[0] = ("fixed", maxk + 2, fspecs[0]) + fspecs[0] = ("fixed", maxk + 2, fspecs[0]) w = urwid.Columns( fspecs, @@ -205,12 +205,11 @@ class GridListBox(urwid.ListBox): class GridEditor(common.WWrap): - def __init__(self, master, title, columns, value, callback, *cb_args, **cb_kwargs): + def __init__(self, master, value, callback, *cb_args, **cb_kwargs): value = copy.deepcopy(value) - self.master, self.title, self.value, self.callback = master, title, value, callback - self.columns = columns + self.master, self.value, self.callback = master, value, callback self.cb_args, self.cb_kwargs = cb_args, cb_kwargs - p = urwid.Text(title) + p = urwid.Text(self.title) p = urwid.Padding(p, align="left", width=("relative", 100)) p = urwid.AttrWrap(p, "heading") self.walker = GridWalker(self.value, self) @@ -273,3 +272,24 @@ class GridEditor(common.WWrap): self.walker.start_edit() else: return self.w.keypress(size, key) + + +class QueryEditor(GridEditor): + title = "Editing query" + columns = 2 + + +class HeaderEditor(GridEditor): + title = "Editing headers" + columns = 2 + + +class URLEncodedFormEditor(GridEditor): + title = "Editing URL-encoded form" + columns = 2 + + +class ReplaceEditor(GridEditor): + title = "Editing replacement patterns" + columns = 3 + -- cgit v1.2.3