Beispiel #1
0
 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()
Beispiel #2
0
    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()
Beispiel #3
0
 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()
Beispiel #4
0
    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