Mercurial > libervia-backend
comparison frontends/src/primitivus/xmlui.py @ 1367:f71a0fc26886
merged branch frontends_multi_profiles
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 18 Mar 2015 10:52:28 +0100 |
parents | e3a9ea76de35 |
children | 069ad98b360d |
comparison
equal
deleted
inserted
replaced
1295:1e3b1f9ad6e2 | 1367:f71a0fc26886 |
---|---|
24 from urwid_satext import sat_widgets | 24 from urwid_satext import sat_widgets |
25 from urwid_satext import files_management | 25 from urwid_satext import files_management |
26 from sat.core.log import getLogger | 26 from sat.core.log import getLogger |
27 log = getLogger(__name__) | 27 log = getLogger(__name__) |
28 from sat_frontends.primitivus.constants import Const as C | 28 from sat_frontends.primitivus.constants import Const as C |
29 from sat_frontends.primitivus.widget import PrimitivusWidget | |
29 from sat_frontends.tools import xmlui | 30 from sat_frontends.tools import xmlui |
30 | 31 |
31 | 32 |
32 class PrimitivusEvents(object): | 33 class PrimitivusEvents(object): |
33 """ Used to manage change event of Primitivus widgets """ | 34 """ Used to manage change event of Primitivus widgets """ |
353 cls = GenericFactory.__getattr__(self, attr) | 354 cls = GenericFactory.__getattr__(self, attr) |
354 cls._xmlui_main = self._xmlui_main | 355 cls._xmlui_main = self._xmlui_main |
355 return cls | 356 return cls |
356 | 357 |
357 | 358 |
358 class XMLUIPanel(xmlui.XMLUIPanel, urwid.WidgetWrap): | 359 class XMLUIPanel(xmlui.XMLUIPanel, PrimitivusWidget): |
359 widget_factory = WidgetFactory() | 360 widget_factory = WidgetFactory() |
360 | 361 |
361 def __init__(self, host, parsed_xml, title = None, flags = None): | 362 def __init__(self, host, parsed_xml, title=None, flags=None, callback=None, profile=C.PROF_KEY_NONE): |
362 self.widget_factory._xmlui_main = self | 363 self.widget_factory._xmlui_main = self |
363 self._dest = None | 364 self._dest = None |
364 xmlui.XMLUIPanel.__init__(self, host, parsed_xml, title, flags) | 365 xmlui.XMLUIPanel.__init__(self, host, parsed_xml, title, flags, callback, profile) |
365 urwid.WidgetWrap.__init__(self, self.main_cont) | 366 PrimitivusWidget.__init__(self, self.main_cont, self.xmlui_title) |
366 | 367 |
367 def constructUI(self, parsed_dom): | 368 def constructUI(self, parsed_dom): |
368 def postTreat(): | 369 def postTreat(): |
369 assert self.main_cont.body | 370 assert self.main_cont.body |
370 | 371 |
410 | 411 |
411 if show_type not in ('popup', 'window'): | 412 if show_type not in ('popup', 'window'): |
412 raise ValueError('Invalid show_type [%s]' % show_type) | 413 raise ValueError('Invalid show_type [%s]' % show_type) |
413 | 414 |
414 self._dest = show_type | 415 self._dest = show_type |
415 decorated = sat_widgets.LabelLine(self, sat_widgets.SurroundedText(self.title or '')) | |
416 if show_type == 'popup': | 416 if show_type == 'popup': |
417 self.host.showPopUp(decorated, valign=valign) | 417 self.host.showPopUp(self, valign=valign) |
418 elif show_type == 'window': | 418 elif show_type == 'window': |
419 self.host.addWindow(decorated) | 419 self.host.newWidget(self) |
420 else: | 420 else: |
421 assert(False) | 421 assert(False) |
422 self.host.redraw() | 422 self.host.redraw() |
423 | 423 |
424 def _xmluiClose(self): | 424 def _xmluiClose(self): |