Example #1
0
def edle(filename):
    root = Tk()
    fixwordbreaks(root)
    root.withdraw()
    edit = EditorWindow(root=root, filename=filename)
    edit.set_close_hook(root.quit)
    edit.text.bind("<<close-all-windows>>", edit.close_event)
    root.mainloop()
    root.destroy()
Example #2
0
def edle(filename):
    root = Tk()
    fixwordbreaks(root)
    root.withdraw()
    edit = EditorWindow(root=root, filename=filename)
    edit.set_close_hook(root.quit)
    edit.text.bind("<<close-all-windows>>", edit.close_event)
    root.mainloop()
    root.destroy()
Example #3
0
 def _close(self):
     """Extend EditorWindow._close(), shut down debugger and execution server"""
     self.close_debugger()
     if use_subprocess:
         self.interp.kill_subprocess()
     sys.stdout = self.save_stdout
     sys.stderr = self.save_stderr
     sys.stdin = self.save_stdin
     self.interp = None
     self.console = None
     self.flist.pyshell = None
     self.history = None
     EditorWindow._close(self)
     return
Example #4
0
 def _close(self):
     """Extend EditorWindow._close(), shut down debugger and execution server"""
     self.close_debugger()
     if use_subprocess:
         self.interp.kill_subprocess()
     sys.stdout = self.save_stdout
     sys.stderr = self.save_stderr
     sys.stdin = self.save_stdin
     self.interp = None
     self.console = None
     self.flist.pyshell = None
     self.history = None
     EditorWindow._close(self)
     return
Example #5
0
    def __init__(self, *args):
        self.breakpoints = []
        EditorWindow.__init__(self, *args)
        self.text.bind('<<set-breakpoint-here>>', self.set_breakpoint_here)
        self.text.bind('<<clear-breakpoint-here>>', self.clear_breakpoint_here)
        self.text.bind('<<open-python-shell>>', self.flist.open_shell)
        self.breakpointPath = os.path.join(idleConf.GetUserCfgDir(), 'breakpoints.lst')

        def filename_changed_hook(old_hook = self.io.filename_change_hook, self = self):
            self.restore_file_breaks()
            old_hook()

        self.io.set_filename_change_hook(filename_changed_hook)
        if self.io.filename:
            self.restore_file_breaks()
Example #6
0
    def __init__(self, *args):
        self.breakpoints = []
        EditorWindow.__init__(self, *args)
        self.text.bind('<<set-breakpoint-here>>', self.set_breakpoint_here)
        self.text.bind('<<clear-breakpoint-here>>', self.clear_breakpoint_here)
        self.text.bind('<<open-python-shell>>', self.flist.open_shell)
        self.breakpointPath = os.path.join(idleConf.GetUserCfgDir(), 'breakpoints.lst')
        if self.io.filename:
            self.restore_file_breaks()

        def filename_changed_hook(old_hook=self.io.filename_change_hook, self=self):
            self.restore_file_breaks()
            old_hook()

        self.io.set_filename_change_hook(filename_changed_hook)
Example #7
0
 def close(self):
     """Extend EditorWindow.close()"""
     if self.executing:
         response = tkMessageBox.askokcancel('Kill?', 'The program is still running!\n Do you want to kill it?', default='ok', parent=self.text)
         if response is False:
             return 'cancel'
     self.stop_readline()
     self.canceled = True
     self.closing = True
     return EditorWindow.close(self)
Example #8
0
 def afterAddingToNetwork(self):
     NetworkNode.afterAddingToNetwork(self)
     top = Tkinter.Toplevel()
     top.withdraw()
     ed = EditorWindow(root=top)
     ed.top.withdraw()
     self.top = ed.top
     self.editorDialogue = ed
     b = Tkinter.Button(master=ed.status_bar,
                        text='Apply',
                        command=self.applyCmd)
     b.pack(side='left')
 def close2(self):
     return EditorWindow.close(self)
 def _close(self):
     "Extend base method - clear breaks when module is closed"
     self.clear_file_breaks()
     EditorWindow._close(self)
Example #11
0
 def __init__(self, *args):
     EditorWindow.__init__(self, *args)
     self.text.bind("<<goto-file-line>>", self.goto_file_line)
Example #12
0
    def __init__(self, flist=None, interp=None, editwin=None):
        EditorWindow.__init__(self, flist)
        self.interp = interp
        self.editwin = editwin

        # TODO: figure out better way to eliminate menu bar
        m = Menu(self.root)
        self.top.config(menu=m)

        root = self.top

        self.doc_frame = doc_frame = Frame(root)
        # make first line
        f_top = Frame(doc_frame)
        label = Label(f_top, text='Help on:')

        self.entry = entry = Entry(f_top)
        entry.bind('<Return>', self.get_doc)

        self.update_calltip = IntVar(root)
        check = Checkbutton(f_top, text='Update from Calltip',
                               variable=self.update_calltip)
        check.var = self.update_calltip
        if get_cfg('calltip'):
            check.select()

        f_top.pack(side='top', fill=X, padx=5)
        label.pack(side='left')
        entry.pack(side='left', fill=X, expand=True, padx=5, ipadx=5)
        check.pack(side='right')

        # make command buttons
        f_cmd = Frame(doc_frame)
        f_cmd.pack(side='top', fill=X, padx=3)



        self.button_showdoc = Button(f_cmd, text='Show Doc String',
                               default='active',
                               command=self.get_doc)

        self.button_showhelp = Button(f_cmd, text='Show help()',
                                   command=self.get_help)

        button_search = Button(f_cmd, text='Search Text',
                                  command=self.search)
        button_close = Button(f_cmd, text='Close',
                                 command=self.close)


        button_close.pack(side='right')
        self.button_showdoc.pack(side='left')
        self.button_showhelp.pack(side='left')
        button_search.pack(side='left')

        doc_frame.pack(side=TOP, before=self.text_frame, fill=X)

        # change focused widget to entry box
        self.entry.focus_set()
        self.top.focused_widget = self.entry

        # remove unneeded stuff
        self.per.removefilter(self.undo)
        self._rmcolorizer()
        #self.status_bar.pack_forget()

        # add a delegator to prevent editing of text widget
        self.doc_del = DocDelegator()
        self.doc_del.entry = self.entry

        self.per.insertfilter(self.doc_del)

        self.text._insert = self.doc_del.delegate.insert
        self.text._delete = self.doc_del.delegate.delete
        self.text.configure(wrap='none')

        keySetName = idleConf.CurrentKeys()
        find_bindings = idleConf.GetKeyBinding(keySetName, '<<find>>')
        for key_event in find_bindings:
            #self.entry.event_add('<<find>>', key_event)
            self.entry.bind(key_event, lambda e: self.text.event_generate('<<find>>'))
 def close2(self):
     return EditorWindow.close(self)
 def _close(self):
     "Extend base method - clear breaks when module is closed"
     self.clear_file_breaks()
     EditorWindow._close(self)
Example #15
0
 def setUpClass(cls):
     requires('gui')
     cls.root = Tk()
     mac.setupApp(cls.root, None)
     cls.editor = EditorWindow(root=cls.root)
     cls.text = cls.editor.text
Example #16
0
    def __init__(self, flist=None, interp=None, editwin=None):
        EditorWindow.__init__(self, flist)
        self.interp = interp
        self.editwin = editwin

        # TODO: figure out better way to eliminate menu bar
        m = Menu(self.root)
        self.top.config(menu=m)

        root = self.top

        self.doc_frame = doc_frame = Frame(root)
        # make first line
        f_top = Frame(doc_frame)
        label = Label(f_top, text='Help on:')

        self.entry = entry = Entry(f_top)
        entry.bind('<Return>', self.get_doc)

        self.update_calltip = IntVar(root)
        check = Checkbutton(f_top,
                            text='Update from Calltip',
                            variable=self.update_calltip)
        check.var = self.update_calltip
        if get_cfg('calltip'):
            check.select()

        f_top.pack(side='top', fill=X, padx=5)
        label.pack(side='left')
        entry.pack(side='left', fill=X, expand=True, padx=5, ipadx=5)
        check.pack(side='right')

        # make command buttons
        f_cmd = Frame(doc_frame)
        f_cmd.pack(side='top', fill=X, padx=3)

        self.button_showdoc = Button(f_cmd,
                                     text='Show Doc String',
                                     default='active',
                                     command=self.get_doc)

        self.button_showhelp = Button(f_cmd,
                                      text='Show help()',
                                      command=self.get_help)

        button_search = Button(f_cmd, text='Search Text', command=self.search)
        button_close = Button(f_cmd, text='Close', command=self.close)

        button_close.pack(side='right')
        self.button_showdoc.pack(side='left')
        self.button_showhelp.pack(side='left')
        button_search.pack(side='left')

        doc_frame.pack(side=TOP, before=self.text_frame, fill=X)

        # change focused widget to entry box
        self.entry.focus_set()
        self.top.focused_widget = self.entry

        # remove unneeded stuff
        self.per.removefilter(self.undo)
        self._rmcolorizer()
        #self.status_bar.pack_forget()

        # add a delegator to prevent editing of text widget
        self.doc_del = DocDelegator()
        self.doc_del.entry = self.entry

        self.per.insertfilter(self.doc_del)

        self.text._insert = self.doc_del.delegate.insert
        self.text._delete = self.doc_del.delegate.delete
        self.text.configure(wrap='none')

        keySetName = idleConf.CurrentKeys()
        find_bindings = idleConf.GetKeyBinding(keySetName, '<<find>>')
        for key_event in find_bindings:
            #self.entry.event_add('<<find>>', key_event)
            self.entry.bind(key_event,
                            lambda e: self.text.event_generate('<<find>>'))