diff options
Diffstat (limited to 'plugins/python/liveconv/panel.py')
-rw-r--r-- | plugins/python/liveconv/panel.py | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/plugins/python/liveconv/panel.py b/plugins/python/liveconv/panel.py index 0fee3cf..6503b7b 100644 --- a/plugins/python/liveconv/panel.py +++ b/plugins/python/liveconv/panel.py @@ -2,6 +2,7 @@ import os from gi.repository import Gtk from pychrysalide.analysis import LoadedBinary +from pychrysalide.gtkext import BuiltNamedWidget from pychrysalide.gui import core from pychrysalide.gui import PanelItem @@ -10,21 +11,22 @@ from .converters import * class ConvPanel(PanelItem): + _key = 'liveconv' + + def __init__(self): """Initialize the GUI panel.""" directory = os.path.dirname(os.path.realpath(__file__)) + filename = os.path.join(directory, 'panel.ui') - self._builder = Gtk.Builder() - self._builder.add_from_file(os.path.join(directory, 'panel.ui')) + widget = BuiltNamedWidget('Converter', 'Data live converter', filename) params = { - 'name' : 'Converter', - 'widget' : self._builder.get_object('content'), - 'personality' : PanelItem.PanelItemPersonality.SINGLETON, - 'lname' : 'Data live converter', + 'widget' : widget, + 'dock' : True, 'path' : 'MES' @@ -59,9 +61,11 @@ class ConvPanel(PanelItem): } + builder = self.named_widget.builder + for kind, func in self._conversions.items(): - label = self._builder.get_object('%s_value' % kind) + label = builder.get_object('%s_value' % kind) label.set_text('-') self._order = '@' @@ -73,9 +77,11 @@ class ConvPanel(PanelItem): loaded = core.get_current_content() assert(loaded) + builder = self.named_widget.builder + for kind, func in self._conversions.items(): - label = self._builder.get_object('%s_value' % kind) + label = builder.get_object('%s_value' % kind) try: addr = cursor.retrieve() |