fix live updates of network screen

This commit is contained in:
Michael Hudson-Doyle 2018-03-16 15:30:14 +13:00
parent 5ab28c9b98
commit 8287d695dc
1 changed files with 8 additions and 7 deletions

View File

@ -112,14 +112,11 @@ class NetworkView(BaseView):
self.controller = controller self.controller = controller
self.items = [] self.items = []
self.error = Text("", align='center') self.error = Text("", align='center')
self.model_inputs = self._build_model_inputs()
self.additional_options = Pile(self._build_additional_options()) self.additional_options = Pile(self._build_additional_options())
self.body = self.model_inputs + [ self.listbox = ListBox(self._build_model_inputs() + [
Padding.center_79(self.additional_options), Padding.center_79(self.additional_options),
Padding.line_break(""), Padding.line_break(""),
] ])
self.lb = Padding.center_90(ListBox(self.body))
self.lb.original_widget.focus_position = 1
self.footer = Pile([ self.footer = Pile([
Text(""), Text(""),
self._build_buttons(), self._build_buttons(),
@ -128,7 +125,7 @@ class NetworkView(BaseView):
self.error_showing = False self.error_showing = False
self.frame = Pile([ self.frame = Pile([
('pack', Text("")), ('pack', Text("")),
self.lb, Padding.center_90(self.listbox),
('pack', self.footer)]) ('pack', self.footer)])
self.frame.focus_position = 2 self.frame.focus_position = 2
super().__init__(self.frame) super().__init__(self.frame)
@ -193,7 +190,11 @@ class NetworkView(BaseView):
return iface_menus return iface_menus
def refresh_model_inputs(self): def refresh_model_inputs(self):
self.model_inputs.contents = [ (obj, ('pack', None)) for obj in self._build_model_inputs() ] widgets = self._build_model_inputs() + [
Padding.center_79(self.additional_options),
Padding.line_break(""),
]
self.listbox.body[:] = widgets
self.additional_options.contents = [ (obj, ('pack', None)) for obj in self._build_additional_options() ] self.additional_options.contents = [ (obj, ('pack', None)) for obj in self._build_additional_options() ]
def _build_additional_options(self): def _build_additional_options(self):