Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def populate_tree(self, master, parent, element,from_file=False):
"""Reads xml nodes and populates tree item"""
data = WidgetDescr(None, None)
data.from_xml_node(element)
cname = data.get_class()
uniqueid = self.get_unique_id(cname, data.get_id())
data.set_property('id', uniqueid)
if cname in builder.CLASS_MAP:
pwidget = self._insert_item(master, data,from_file=from_file)
xpath = "./child"
children = element.findall(xpath)
for child in children:
child_object = child.find('./object')
cwidget = self.populate_tree(pwidget, child, child_object,from_file=from_file)
return pwidget
else:
raise Exception('Class "{0}" not mapped'.format(cname))
self.bindings_tree = self.builder.get_object('bindingstree')
#Preview
previewc = self.builder.get_object('preview_canvas')
self.previewer = PreviewHelper(previewc)
#tree editor
self.tree_editor = WidgetsTreeEditor(self)
self.builder.connect_callbacks(self)
#Status bar
self.statusbar = self.builder.get_object('statusbar')
handler = StatusBarHandler(self.statusbar)
handler.setLevel(logging.INFO)
logger.addHandler(handler)
pygubu.builder.logger.addHandler(handler)
#app grid
self.set_resizable()
#
#Application bindings
#
master = self.master
master.bind_all(
'',
lambda e: self.on_file_menuitem_clicked('file_new'))
master.bind_all(
'',
lambda e: self.on_file_menuitem_clicked('file_open'))
master.bind_all(
'',
def create_treelist(self):
root_tagset = set(('tk', 'ttk'))
#create unique tag set
tagset = set()
for c in builder.CLASS_MAP.keys():
wc = builder.CLASS_MAP[c]
tagset.update(wc.tags)
tagset.difference_update(root_tagset)
treelist = []
for c in builder.CLASS_MAP.keys():
wc = builder.CLASS_MAP[c]
ctags = set(wc.tags)
roots = (root_tagset & ctags)
sections = (tagset & ctags)
for r in roots:
for s in sections:
key = '{0}>{1}'.format(r, s)
treelist.append((key, wc))
#sort tags by label
def by_label(t):