def redraw(self): for w in self._widgets: self._cframe.destroy_widget(w) del self._widgets[:] bold = ('helvetica', -self._size.get(), 'bold') helv = ('helvetica', -self._size.get()) widget = TreeWidget(self._cframe.canvas(), BP_tree_to_nltk_tree(self.simulation.tree.root), node_font=bold, leaf_color='#008040', node_color='#004080', roof_color='#004040', roof_fill='white', line_color='#004040', draggable=1, leaf_font=helv) widget.bind_click_trees(widget.toggle_collapsed) self._widgets.append(widget) self._cframe.add_widget(widget) self._layout() self.display_label()
def __init__(self, sentence): self._tree = self.generate_tree(sentence) self._top = Tk() self._top.title(sentence) self._top.geometry('756x512') self._top.bind('<Control-x>', self.destroy) self._top.bind('<Control-q>', self.destroy) cf = self._cframe = CanvasFrame(self._top) self._top.bind('<Control-p>', self._cframe.print_to_file) self._size = IntVar(self._top) self._size.set(12) bold = ('helvetica', -self._size.get(), 'bold') helv = ('helvetica', -self._size.get()) # Lay the trees out in a square. self._width = 1 self._widgets = [] widget = TreeWidget( cf.canvas(), self._tree, node_font=bold, leaf_color='#008040', node_color='#004080', roof_color='#004040', roof_fill='white', line_color='#004040', draggable=1, leaf_font=helv, ) widget.bind_click_trees(widget.toggle_collapsed) self._widgets.append(widget) cf.add_widget(widget, 0, 0) self._layout() self._cframe.pack(expand=1, fill='both') self._init_menubar()
def submitButton(*s): global ts, prev if E1.get() is "": return if ts.hidden(): ts.show() cf.remove_widget(ts) ts.destroy() tree = next(parser.raw_parse(E1.get())) ts = TreeWidget(cf.canvas(), tree, draggable=1, shapeable=1, node_font=('helvetica', -18, 'bold'), leaf_font=('helvetica', -14, 'italic'), roof_fill='white', roof_color='black', leaf_color='green4', node_color='blue2') prev = ts._nodes[0] ts.bind_click_trees(treeClicked) cf.add_widget(ts) possible.clear() load_nouns(ts._treeseg, possible) print("Possible variants: ") for p in possible: p._label['color'] = 'green3' s = [] get_subsentence(p, s) print(" - " + " ".join(s)) for p in possible: if treeClicked(p): break