Have all RecordListViews share rerendering code.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
This commit is contained in:
brian m. carlson 2012-11-22 02:08:28 +00:00
parent c776450e25
commit d71cf8a65d
No known key found for this signature in database
GPG key ID: BF535D811F52F68B

17
newfol
View file

@ -786,7 +786,8 @@ class RecordListView(ListView):
rec.deleted = not rec.deleted
self.render(self.loop)
self.listwalker.set_focus(selected)
def _rerender_records(self):
def _rerender_listview(self):
"""This is the re-rendering counterpart to _render_records."""
selected = self._get_selected_item_position()
retval = self._render_records(self.loop, self.title, self.items,
self.fields)
@ -794,7 +795,7 @@ class RecordListView(ListView):
self.listwalker.set_focus(selected)
return retval
def _rerender_standard(self, loop):
return self._rerender_records()
return self._rerender_listview()
def _render_records(self, loop, title, recs, fields):
self.loop = loop
formatter = RecordFormatter(recs, fields)
@ -870,7 +871,6 @@ class DatabaseContentsListView(RecordListView):
title = "List of records by key field for " + self.dbname
return self._render_records(loop, title, recs,
dbd.schemata.get_fields())
_rerender_listview = RecordListView._rerender_records
class DatabaseListView(ListView):
def callback(self, type_, obj):
@ -917,7 +917,6 @@ class CompleteContentsListView(RecordListView):
items = sorted(DatabaseData().records, key=self._key)
title = "List of all records by key field"
return self._render_records(loop, title, items, sch.get_fields())
_rerender_listview = RecordListView._rerender_records
class SearchListView(RecordListView):
def __init__(self, records, selected):
@ -947,16 +946,6 @@ class SearchListView(RecordListView):
selected.append(i-1)
return self._render_records(self.loop, "List of matching records",
self.records, selected)
def _rerender_listview(self):
self._full_rerender = False
selected = []
if self.selected[0]:
selected.append("dbname")
for i in range(1, len(self.selected)):
if self.selected[i]:
selected.append(i-1)
self.widget = self._render_records(self.loop, "List of matching records",
self.records, selected)
class MessageBox(View):
def __init__(self, message):