Example #1
0
 def __init__(self, *args, **kwargs):
     Text.__init__(self, *args, **kwargs)
     self.redirector = WidgetRedirector(self)
     self.insert = self.redirector.register("insert",
                                            lambda *args, **kw: "break")
     self.delete = self.redirector.register("delete",
                                            lambda *args, **kw: "break")
Example #2
0
 def __init__(self, text):
     # XXX would be nice to inherit from Delegator
     self.text = text
     self.redir = WidgetRedirector(text)
     self.top = self.bottom = Delegator(text)
     self.bottom.insert = self.redir.register("insert", self.insert)
     self.bottom.delete = self.redir.register("delete", self.delete)
     self.filters = []
Example #3
0
    def __init__(self):
        self.jsonCon = JsonController(self)

        self.text = tk.Text(self.root)
        self.text.grid()
        self.text.pack(side="left")

        self.redirector = WidgetRedirector(self.text)
        self.original_mark = self.redirector.register("mark", self.on_mark)
        self.original_insert = self.redirector.register(
            "insert", self.on_insert)
        self.original_delete = self.redirector.register(
            "delete", self.on_delete)
        self.delta_index = Cursor("1.0")
        self.listen_thread = Thread(target=self.jsonCon.listen)
        self.listen_thread.start()
        self.root.protocol('WM_DELETE_WINDOW',
                           self.shutdown)  # root is your root window
        self.ignore_actions = False

        self.root.title("Collaborative Notepad CS457")
        screenWidth = self.root.winfo_screenwidth()
        screenHeight = self.root.winfo_screenheight()
        left = (screenWidth / 2) - (self.__thisWidth / 2)
        top = (screenHeight / 2) - (self.__thisHeight / 2)
        self.root.geometry('%dx%d+%d+%d' %
                           (self.__thisWidth, self.__thisHeight, left, top))
        self.root.grid_rowconfigure(0, weight=1)
        self.root.grid_columnconfigure(0, weight=1)
        #self.text.grid(sticky=N + E + S + W)

        self.__thisFileMenu.add_command(label="New", command=self.__newFile)
        self.__thisFileMenu.add_command(label="Open", command=self.__openFile)
        self.__thisFileMenu.add_command(label="Save", command=self.__saveFile)
        self.__thisFileMenu.add_separator()
        self.__thisMenuBar.add_cascade(label="File", menu=self.__thisFileMenu)
        #self.__thisEditMenu.add_command(label="Cut",command=self.__cut)
        #self.__thisEditMenu.add_command(label="Copy",command=self.__copy)
        #self.__thisEditMenu.add_command(label="Paste",command=self.__paste)
        #self.__thisMenuBar.add_cascade(label="Edit",menu=self.__thisEditMenu)
        self.__thisHelpMenu.add_command(label="About Notepad",
                                        command=self.__showAbout)
        self.__thisMenuBar.add_cascade(label="Help", menu=self.__thisHelpMenu)

        self.root.config(menu=self.__thisMenuBar)
        # self.__thisScrollBar.pack(side=RIGHT, fill=Y)
        # self.__thisScrollBar.config(command=self.text.yview)
        # self.text.config(yscrollcommand=self.__thisScrollBar.set)

        get_text_dict = {OP: GET_ALL_TEXT}
        self.jsonCon.send_dict(get_text_dict)

        self.root.mainloop()
Example #4
0
from WidgetRedirector import WidgetRedirector