Пример #1
0
def main():
    from Percolator import Percolator
    root = Tk()
    root.wm_protocol("WM_DELETE_WINDOW", root.quit)
    text = Text()
    text.pack()
    text.focus_set()
    p = Percolator(text)
    d = UndoDelegator()
    p.insertfilter(d)
    root.mainloop()
Пример #2
0
def main():
    from Percolator import Percolator
    root = Tk()
    root.wm_protocol("WM_DELETE_WINDOW", root.quit)
    text = Text(background="white")
    text.pack(expand=1, fill="both")
    text.focus_set()
    p = Percolator(text)
    d = ColorDelegator()
    p.insertfilter(d)
    root.mainloop()
Пример #3
0
def main():
    from Percolator import Percolator
    root = Tk()
    root.wm_protocol("WM_DELETE_WINDOW", root.quit)
    text = Text()
    text.pack()
    text.focus_set()
    p = Percolator(text)
    d = UndoDelegator()
    p.insertfilter(d)
    keylist = ['<Control-KeyPress-z>', '<Control-KeyPress-Z>']
    text.event_add("<<undo>>", *keylist)
    #root.bind( '<Control-KeyPress-z>',lambda e=None,d=d:d.event_generate("<<undo>>") )
    root.mainloop()
Пример #4
0
def addFiltersFromIDLE(self):
    """
  Adds syntax colors, undo, replace, find, goto, indent, commment 
  functionality from IDLE to the text widget
  """
    textWidget = self.textWidget

    p = Percolator(textWidget)
    p.insertfilter(ColorDelegator())  # Python syntax coloring
    undo = UndoDelegator()
    p.insertfilter(undo)  # Undo/Redo feature

    # This is used to undo stuff done with replace, indent, comment, etc.
    textWidget.undo_block_start = undo.undo_block_start
    textWidget.undo_block_stop = undo.undo_block_stop

    #----------------- Bind virtual events to the text widget ------------------
    textWidget.bind(
        "<<replace>>",
        lambda e=None, self=self: ReplaceDialog.replace(self.textWidget))
    textWidget.bind(
        "<<find>>",
        lambda e=None, self=self: SearchDialog.find(self.textWidget))
    textWidget.bind("<<goto-line>>",
                    lambda e=None, self=self: goto_line_event(self))
    textWidget.bind("<<add-indent>>",
                    lambda e=None, self=self: indent_region_event(self))
    textWidget.bind("<<del-indent>>",
                    lambda e=None, self=self: dedent_region_event(self))
    textWidget.bind("<<add-comment>>",
                    lambda e=None, self=self: comment_region_event(self))
    textWidget.bind("<<del-comment>>",
                    lambda e=None, self=self: uncomment_region_event(self))
    textWidget.bind("<<select-all>>",
                    lambda e=None, self=self: select_all(self))
    textWidget.bind("<<deselect-all>>",
                    lambda e=None, self=self: deselect_all(self))
    textWidget.bind("<<paste>>", lambda e=None, self=self: paste(self))
    textWidget.bind("<<copy>>", lambda e=None, self=self: copy(self))
    textWidget.bind("<<cut>>", lambda e=None, self=self: cut(self))
    textWidget.bind("<<popup-menu>>",
                    lambda e=None, self=self: popupMenu(self, e))
    textWidget.bind("<<open>>", lambda e=None, self=self: Open(self))
    textWidget.bind("<<save>>", lambda e=None, self=self: SaveAs(self))

    #---------------- Give virtual events a concrete keybinding ----------------
    for key, value in KEY_DICT.iteritems():
        textWidget.event_add(key, *value)
Пример #5
0
def _color_delegator(parent):  # htest #
    from tkinter import Toplevel, Text
    from Percolator import Percolator

    top = Toplevel(parent)
    top.title("Test ColorDelegator")
    top.geometry("200x100+%d+%d" % (parent.winfo_rootx() + 200,
                  parent.winfo_rooty() + 150))
    source = "if somename: x = 'abc' # comment\nprint\n"
    text = Text(top, background="white")
    text.pack(expand=1, fill="both")
    text.insert("insert", source)
    text.focus_set()

    p = Percolator(text)
    d = ColorDelegator()
    p.insertfilter(d)
Пример #6
0
    def __init__(self, parent_frame, editwin, title=None, **kwargs):
        self.editwin = editwin
        self.title = title
        self.tab_initialized = False
        kwargs.setdefault('width',
                          idleConf.GetOption('main', 'EditorPage', 'width'))
        kwargs.setdefault('height',
                          idleConf.GetOption('main', 'EditorPage', 'height'))

        self.text = MultiCallCreator(Text)(parent_frame, **kwargs)
        self.color = None  # initialized in reset_colorizer
        self.per = Percolator(self.text)
        self.undo = self.editwin.UndoDelegator()
        self.per.insertfilter(self.undo)
        self.text.undo_block_start = self.undo.undo_block_start
        self.text.undo_block_stop = self.undo.undo_block_stop
        self.io = IOBinding.IOBinding(self)

        self.undo.set_saved_change_hook(self.saved_change_hook)
        self.io.set_filename_change_hook(self.filename_change_hook)
        self.reset_colorizer()
        self._setup_bindings()
Пример #7
0
def _undo_delegator(parent):
    from Percolator import Percolator
    root = Tk()
    root.title("Test UndoDelegator")
    width, height, x, y = list(map(int, re.split('[x+]', parent.geometry())))
    root.geometry("+%d+%d"%(x, y + 150))

    text = Text(root)
    text.config(height=10)
    text.pack()
    text.focus_set()
    p = Percolator(text)
    d = UndoDelegator()
    p.insertfilter(d)

    undo = Button(root, text="Undo", command=lambda:d.undo_event(None))
    undo.pack(side='left')
    redo = Button(root, text="Redo", command=lambda:d.redo_event(None))
    redo.pack(side='left')
    dump = Button(root, text="Dump", command=lambda:d.dump_event(None))
    dump.pack(side='left')

    root.mainloop()
Пример #8
0
import sys
Пример #9
0
import time