def _replace_dialog(parent): root = Tk() root.title("Test ReplaceDialog") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) # mock undo delegator methods def undo_block_start(): pass def undo_block_stop(): pass text = Text(root) text.undo_block_start = undo_block_start text.undo_block_stop = undo_block_stop text.pack() text.insert("insert","This is a sample string.\n"*10) def show_replace(): text.tag_add(SEL, "1.0", END) replace(text) text.tag_remove(SEL, "1.0", END) button = Button(root, text="Replace", command=show_replace) button.pack() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_replace_dialog)
def listmodules(self, allnames): modules = {} suffixes = imp.get_suffixes() sorted = [] for suff, mode, flag in suffixes: i = -len(suff) for name in allnames[:]: normed_name = os.path.normcase(name) if normed_name[i:] == suff: mod_name = name[:i] if mod_name not in modules: modules[mod_name] = None sorted.append((normed_name, name)) allnames.remove(name) sorted.sort() return sorted def _path_browser(parent): # htest # flist = PyShellFileList(parent) PathBrowser(flist, _htest=True) parent.mainloop() if __name__ == "__main__": from unittest import main main('idlesporklib.idle_test.test_pathbrowser', verbosity=2, exit=False) from idlesporklib.idle_test.htest import run run(_path_browser)
""" self['menu'].delete(0,'end') for item in valueList: self['menu'].add_command(label=item, command=_setit(self.variable,item,self.command)) if value: self.variable.set(value) def _dyn_option_menu(parent): # htest # from Tkinter import Toplevel top = Toplevel() top.title("Tets dynamic option menu") top.geometry("200x100+%d+%d" % (parent.winfo_rootx() + 200, parent.winfo_rooty() + 150)) top.focus_set() var = StringVar(top) var.set("Old option set") #Set the default value dyn = DynOptionMenu(top,var, "old1","old2","old3","old4") dyn.pack() def update(): dyn.SetMenu(["new1","new2","new3","new4"], value="new option set") button = Button(top, text="Change option set", command=update) button.pack() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_dyn_option_menu)
ConfigParser file section name. Return it if it is, '' if not. ''' name = self.name.get().strip() if not name: #no name specified tkMessageBox.showerror(title='Name Error', message='No name specified.', parent=self) elif len(name)>30: #name too long tkMessageBox.showerror(title='Name Error', message='Name too long. It should be no more than '+ '30 characters.', parent=self) name = '' elif name in self.used_names: tkMessageBox.showerror(title='Name Error', message='This name is already in use.', parent=self) name = '' return name def Ok(self, event=None): name = self.name_ok() if name: self.result = name self.destroy() def Cancel(self, event=None): self.result = '' self.destroy() if __name__ == '__main__': import unittest unittest.main('idlesporklib.idle_test.test_config_name', verbosity=2, exit=False) from idlesporklib.idle_test.htest import run run(GetCfgSectionNameDialog)
def fill_menu(self): pass def on_select(self, index): pass def on_double(self, index): pass def _scrolled_list(parent): root = Tk() root.title("Test ScrolledList") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) class MyScrolledList(ScrolledList): def fill_menu(self): self.menu.add_command(label="right click") def on_select(self, index): print "select", self.get(index) def on_double(self, index): print "double", self.get(index) scrolled_list = MyScrolledList(root) for i in range(30): scrolled_list.append("Item %02d" % i) root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_scrolled_list)
self.update() if self.stop_colorizing: if DEBUG: print "colorizing stopped" return def removecolors(self): for tag in self.tagdefs.keys(): self.tag_remove(tag, "1.0", "end") def _color_delegator(parent): # htest # from Tkinter import Toplevel, Text from idlesporklib.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) if __name__ == "__main__": from idlesporklib.idle_test.htest import run run(_color_delegator)
command=_setit(self.variable, item, self.command)) if value: self.variable.set(value) def _dyn_option_menu(parent): # htest # from Tkinter import Toplevel top = Toplevel() top.title("Tets dynamic option menu") top.geometry("200x100+%d+%d" % (parent.winfo_rootx() + 200, parent.winfo_rooty() + 150)) top.focus_set() var = StringVar(top) var.set("Old option set") #Set the default value dyn = DynOptionMenu(top, var, "old1", "old2", "old3", "old4") dyn.pack() def update(): dyn.SetMenu(["new1", "new2", "new3", "new4"], value="new option set") button = Button(top, text="Change option set", command=update) button.pack() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_dyn_option_menu)
# create a key sequence list for overlap check: keySequence = keys.split() keysOK = False title = 'Key Sequence Error' if not keys: tkMessageBox.showerror(title=title, parent=self, message='No keys specified.') elif not keys.endswith('>'): tkMessageBox.showerror(title=title, parent=self, message='Missing the final Key') elif (not modifiers and finalKey not in self.functionKeys + self.moveKeys): tkMessageBox.showerror(title=title, parent=self, message='No modifier key(s) specified.') elif (modifiers == ['Shift']) \ and (finalKey not in self.functionKeys + self.moveKeys + ('Tab', 'Space')): msg = 'The shift modifier by itself may not be used with'\ ' this key symbol.' tkMessageBox.showerror(title=title, parent=self, message=msg) elif keySequence in self.currentKeySequences: msg = 'This key combination is already in use.' tkMessageBox.showerror(title=title, parent=self, message=msg) else: keysOK = True return keysOK if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(GetKeysDialog)
if DEBUG: print "colorizing stopped" return def removecolors(self): for tag in self.tagdefs.keys(): self.tag_remove(tag, "1.0", "end") def _color_delegator(parent): # htest # from Tkinter import Toplevel, Text from idlesporklib.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) if __name__ == "__main__": from idlesporklib.idle_test.htest import run run(_color_delegator)
self.text.bind("<Control-s>", self.save) def get_saved(self): return 0 def set_saved(self, flag): pass def reset_undo(self): pass def open(self, event): self.text.event_generate("<<open-window-from-file>>") def save(self, event): self.text.event_generate("<<save-window>>") def update_recent_files_list(s, f): pass text = Text(root) text.pack() text.focus_set() editwin = MyEditWin(text) IOBinding(editwin) if __name__ == "__main__": from idlesporklib.idle_test.htest import run run(_io_binding)
root.title("Test tabbed pages") tabPage = TabbedPageSet( root, page_names=['Foobar', 'Baz'], n_rows=0, expand_tabs=False, ) tabPage.pack(side=TOP, expand=TRUE, fill=BOTH) Label(tabPage.pages['Foobar'].frame, text='Foo', pady=20).pack() Label(tabPage.pages['Foobar'].frame, text='Bar', pady=20).pack() Label(tabPage.pages['Baz'].frame, text='Baz').pack() entryPgName = Entry(root) buttonAdd = Button(root, text='Add Page', command=lambda: tabPage.add_page(entryPgName.get())) buttonRemove = Button( root, text='Remove Page', command=lambda: tabPage.remove_page(entryPgName.get())) labelPgName = Label(root, text='name of page to add/remove:') buttonAdd.pack(padx=5, pady=5) buttonRemove.pack(padx=5, pady=5) labelPgName.pack(padx=5) entryPgName.pack(padx=5) root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_tabbed_pages)
} def make_objecttreeitem(labeltext, object, setfunction=None): t = type(object) if t in dispatch: c = dispatch[t] else: c = ObjectTreeItem return c(labeltext, object, setfunction) def _object_browser(parent): import sys from Tkinter import Tk root = Tk() root.title("Test ObjectBrowser") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) root.configure(bd=0, bg="yellow") root.focus_set() sc = ScrolledCanvas(root, bg="white", highlightthickness=0, takefocus=1) sc.frame.pack(expand=1, fill="both") item = make_objecttreeitem("sys", sys) node = TreeNode(sc.canvas, None, item) node.update() root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_object_browser)
def unit_up(self, event): self.canvas.yview_scroll(-1, "unit") return "break" def unit_down(self, event): self.canvas.yview_scroll(1, "unit") return "break" def zoom_height(self, event): ZoomHeight.zoom_height(self.master) return "break" def _tree_widget(parent): root = Tk() root.title("Test TreeWidget") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d" % (x, y + 150)) sc = ScrolledCanvas(root, bg="white", highlightthickness=0, takefocus=1) sc.frame.pack(expand=1, fill="both", side=LEFT) item = FileTreeItem(os.getcwd()) node = TreeNode(sc.canvas, None, item) node.expand() root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_tree_widget)
def keys(self): # unused, left for possible 3rd party use return self.object.keys() def _stack_viewer(parent): # htest # root = tk.Tk() root.title("Test StackViewer") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) flist = PyShellFileList(root) try: # to obtain a traceback object intentional_name_error except NameError: exc_type, exc_value, exc_tb = sys.exc_info() # inject stack trace to sys sys.last_type = exc_type sys.last_value = exc_value sys.last_traceback = exc_tb StackBrowser(root, flist=flist, top=root, tb=exc_tb) # restore sys to original state del sys.last_type del sys.last_value del sys.last_traceback if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_stack_viewer)
def find_selection(self, text): pat = text.get("sel.first", "sel.last") if pat: self.engine.setcookedpat(pat) return self.find_again(text) def _search_dialog(parent): root = Tk() root.title("Test SearchDialog") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d" % (x, y + 150)) text = Text(root) text.pack() text.insert("insert", "This is a sample string.\n" * 10) def show_find(): text.tag_add(SEL, "1.0", END) s = _setup(text) s.open(text) text.tag_remove(SEL, "1.0", END) button = Button(root, text="Search", command=show_find) button.pack() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_search_dialog)
root = Tk() root.title("Test ReplaceDialog") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d" % (x, y + 150)) # mock undo delegator methods def undo_block_start(): pass def undo_block_stop(): pass text = Text(root) text.undo_block_start = undo_block_start text.undo_block_stop = undo_block_stop text.pack() text.insert("insert", "This is a sample string.\n" * 10) def show_replace(): text.tag_add(SEL, "1.0", END) replace(text) text.tag_remove(SEL, "1.0", END) button = Button(root, text="Replace", command=show_replace) button.pack() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_replace_dialog)
Toplevel.__init__(self, parent) self.wm_title(title) self.protocol("WM_DELETE_WINDOW", self.destroy) HelpFrame(self, filename).grid(column=0, row=0, sticky='nsew') self.grid_columnconfigure(0, weight=1) self.grid_rowconfigure(0, weight=1) def copy_strip(): "Copy idle.html to idlesporklib/help.html, stripping trailing whitespace." src = join(abspath(dirname(dirname(dirname(__file__)))), 'Doc', 'build', 'html', 'library', 'idle.html') dst = join(abspath(dirname(__file__)), 'help.html') with open(src, 'r') as inn,\ open(dst, 'w') as out: for line in inn: out.write(line.rstrip() + '\n') print('idle.html copied to help.html') def show_idlehelp(parent): "Create HelpWindow; called from Idle Help event handler." filename = join(abspath(dirname(__file__)), 'help.html') if not isfile(filename): # try copy_strip, present message return HelpWindow(parent, filename, 'IDLE Help') if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(show_idlehelp)
class ListboxToolTip(ToolTipBase): def __init__(self, button, items): ToolTipBase.__init__(self, button) self.items = items def showcontents(self): listbox = Listbox(self.tipwindow, background=idleConf.GetHighlight(theme,'tooltip','bg')) listbox.pack() for item in self.items: listbox.insert(END, item) def _tooltip(parent): root = Tk() root.title("Test tooltip") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) label = Label(root, text="Place your mouse over buttons") label.pack() button1 = Button(root, text="Button 1") button2 = Button(root, text="Button 2") button1.pack() button2.pack() ToolTip(button1, "This is tooltip text for button1.") ListboxToolTip(button2, ["This is","multiple line", "tooltip text","for button2"]) root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_tooltip)
return "OriginalCommand(%r, %r)" % (self.redir, self.operation) def __call__(self, *args): return self.tk_call(self.orig_and_operation + args) def _widget_redirector(parent): # htest # from Tkinter import Tk, Text import re root = Tk() root.title("Test WidgetRedirector") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) text = Text(root) text.pack() text.focus_set() redir = WidgetRedirector(text) def my_insert(*args): print("insert", args) original_insert(*args) original_insert = redir.register("insert", my_insert) root.mainloop() if __name__ == "__main__": import unittest unittest.main('idlesporklib.idle_test.test_widgetredir', verbosity=2, exit=False) from idlesporklib.idle_test.htest import run run(_widget_redirector)
def _multi_call(parent): root = Tkinter.Tk() root.title("Test MultiCall") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) text = MultiCallCreator(Tkinter.Text)(root) text.pack() def bindseq(seq, n=[0]): def handler(event): print seq text.bind("<<handler%d>>"%n[0], handler) text.event_add("<<handler%d>>"%n[0], seq) n[0] += 1 bindseq("<Key>") bindseq("<Control-Key>") bindseq("<Alt-Key-a>") bindseq("<Control-Key-a>") bindseq("<Alt-Control-Key-a>") bindseq("<Key-b>") bindseq("<Control-Button-1>") bindseq("<Button-2>") bindseq("<Alt-Button-1>") bindseq("<FocusOut>") bindseq("<Enter>") bindseq("<Leave>") root.mainloop() if __name__ == "__main__": from idlesporklib.idle_test.htest import run run(_multi_call)
self.top.grab_release() self.top.withdraw() def _grep_dialog(parent): # htest # from idlesporklib.PyShell import PyShellFileList root = Tk() root.title("Test GrepDialog") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) flist = PyShellFileList(root) text = Text(root, height=5) text.pack() def show_grep_dialog(): text.tag_add(SEL, "1.0", END) grep(text, flist=flist) text.tag_remove(SEL, "1.0", END) button = Button(root, text="Show GrepDialog", command=show_grep_dialog) button.pack() root.mainloop() if __name__ == "__main__": import unittest unittest.main('idlesporklib.idle_test.test_grep', verbosity=2, exit=False) from idlesporklib.idle_test.htest import run run(_grep_dialog)
def is_active(self): return bool(self.tipwindow) def _calltip_window(parent): # htest # from Tkinter import Toplevel, Text, LEFT, BOTH top = Toplevel(parent) top.title("Test calltips") top.geometry("200x100+%d+%d" % (parent.winfo_rootx() + 200, parent.winfo_rooty() + 150)) text = Text(top) text.pack(side=LEFT, fill=BOTH, expand=1) text.insert("insert", "string.split") top.update() calltip = CallTip(text) def calltip_show(event): calltip.showtip("(s=Hello world)", "insert", "end") def calltip_hide(event): calltip.hidetip() text.event_add("<<calltip-show>>", "(") text.event_add("<<calltip-hide>>", ")") text.bind("<<calltip-show>>", calltip_show) text.bind("<<calltip-hide>>", calltip_hide) text.focus_set() if __name__=='__main__': from idlesporklib.idle_test.htest import run run(_calltip_window)
if not os.path.exists(path): tkMessageBox.showerror( title='File Path Error', message='Help file path does not exist.', parent=self) self.entryPath.focus_set() pathOk = False return pathOk def Ok(self, event=None): if self.MenuOk() and self.PathOk(): self.result = (self.menu.get().strip(), self.path.get().strip()) if sys.platform == 'darwin': path = self.result[1] if path.startswith(('www', 'file:', 'http:')): pass else: # Mac Safari insists on using the URI form for local files self.result = list(self.result) self.result[1] = "file://" + path self.destroy() def Cancel(self, event=None): self.result = None self.destroy() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(GetHelpSourceDialog)
def make_objecttreeitem(labeltext, object, setfunction=None): t = type(object) if t in dispatch: c = dispatch[t] else: c = ObjectTreeItem return c(labeltext, object, setfunction) def _object_browser(parent): import sys from Tkinter import Tk root = Tk() root.title("Test ObjectBrowser") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d" % (x, y + 150)) root.configure(bd=0, bg="yellow") root.focus_set() sc = ScrolledCanvas(root, bg="white", highlightthickness=0, takefocus=1) sc.frame.pack(expand=1, fill="both") item = make_objecttreeitem("sys", sys) node = TreeNode(sc.canvas, None, item) node.update() root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_object_browser)
frameButtons.pack(side=BOTTOM,fill=X) frameText.pack(side=TOP,expand=TRUE,fill=BOTH) def Ok(self, event=None): self.destroy() def view_text(parent, title, text, modal=True): return TextViewer(parent, title, text, modal) def view_file(parent, title, filename, encoding=None, modal=True): try: if encoding: import codecs textFile = codecs.open(filename, 'r') else: textFile = open(filename, 'r') except IOError: tkMessageBox.showerror(title='File Load Error', message='Unable to load file %r .' % filename, parent=parent) else: return view_text(parent, title, textFile.read(), modal) if __name__ == '__main__': import unittest unittest.main('idlesporklib.idle_test.test_textview', verbosity=2, exit=False) from idlesporklib.idle_test.htest import run run(TextViewer)
def IsExpandable(self): return 0 def OnDoubleClick(self): if not os.path.exists(self.file): return edit = file_open(self.file) edit.gotoline(self.cl.methods[self.name]) def _class_browser(parent): #Wrapper for htest try: file = __file__ except NameError: file = sys.argv[0] if sys.argv[1:]: file = sys.argv[1] else: file = sys.argv[0] dir, file = os.path.split(file) name = os.path.splitext(file)[0] flist = PyShell.PyShellFileList(parent) global file_open file_open = flist.open ClassBrowser(flist, name, [dir], _htest=True) if __name__ == "__main__": from idlesporklib.idle_test.htest import run run(_class_browser)
path = path[5:] if not os.path.exists(path): tkMessageBox.showerror(title='File Path Error', message='Help file path does not exist.', parent=self) self.entryPath.focus_set() pathOk = False return pathOk def Ok(self, event=None): if self.MenuOk() and self.PathOk(): self.result = (self.menu.get().strip(), self.path.get().strip()) if sys.platform == 'darwin': path = self.result[1] if path.startswith(('www', 'file:', 'http:')): pass else: # Mac Safari insists on using the URI form for local files self.result = list(self.result) self.result[1] = "file://" + path self.destroy() def Cancel(self, event=None): self.result = None self.destroy() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(GetHelpSourceDialog)
t2 = Tracer("t2") def toggle1(): if var1.get() == 0: var1.set(1) p.insertfilter(t1) elif var1.get() == 1: var1.set(0) p.removefilter(t1) def toggle2(): if var2.get() == 0: var2.set(1) p.insertfilter(t2) elif var2.get() == 1: var2.set(0) p.removefilter(t2) text.pack() var1 = tk.IntVar() cb1 = tk.Checkbutton(root, text="Tracer1", command=toggle1, variable=var1) cb1.pack() var2 = tk.IntVar() cb2 = tk.Checkbutton(root, text="Tracer2", command=toggle2, variable=var2) cb2.pack() if __name__ == "__main__": from idlesporklib.idle_test.htest import run run(_percolator)
def showcontents(self): listbox = Listbox(self.tipwindow, background=idleConf.GetHighlight( theme, 'tooltip', 'bg')) listbox.pack() for item in self.items: listbox.insert(END, item) def _tooltip(parent): root = Tk() root.title("Test tooltip") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d" % (x, y + 150)) label = Label(root, text="Place your mouse over buttons") label.pack() button1 = Button(root, text="Button 1") button2 = Button(root, text="Button 2") button1.pack() button2.pack() ToolTip(button1, "This is tooltip text for button1.") ListboxToolTip(button2, ["This is", "multiple line", "tooltip text", "for button2"]) root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_tooltip)
return os.path.exists(init) def listmodules(self, allnames): modules = {} suffixes = imp.get_suffixes() sorted = [] for suff, mode, flag in suffixes: i = -len(suff) for name in allnames[:]: normed_name = os.path.normcase(name) if normed_name[i:] == suff: mod_name = name[:i] if mod_name not in modules: modules[mod_name] = None sorted.append((normed_name, name)) allnames.remove(name) sorted.sort() return sorted def _path_browser(parent): # htest # flist = PyShellFileList(parent) PathBrowser(flist, _htest=True) parent.mainloop() if __name__ == "__main__": from unittest import main main('idlesporklib.idle_test.test_pathbrowser', verbosity=2, exit=False) from idlesporklib.idle_test.htest import run run(_path_browser)
def on_double(self, index): pass def _scrolled_list(parent): root = Tk() root.title("Test ScrolledList") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d" % (x, y + 150)) class MyScrolledList(ScrolledList): def fill_menu(self): self.menu.add_command(label="right click") def on_select(self, index): print "select", self.get(index) def on_double(self, index): print "double", self.get(index) scrolled_list = MyScrolledList(root) for i in range(30): scrolled_list.append("Item %02d" % i) root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_scrolled_list)
self.protocol("WM_DELETE_WINDOW", self.destroy) HelpFrame(self, filename).grid(column=0, row=0, sticky='nsew') self.grid_columnconfigure(0, weight=1) self.grid_rowconfigure(0, weight=1) def copy_strip(): "Copy idle.html to idlesporklib/help.html, stripping trailing whitespace." src = join(abspath(dirname(dirname(dirname(__file__)))), 'Doc', 'build', 'html', 'library', 'idle.html') dst = join(abspath(dirname(__file__)), 'help.html') with open(src, 'r') as inn,\ open(dst, 'w') as out: for line in inn: out.write(line.rstrip() + '\n') print('idle.html copied to help.html') def show_idlehelp(parent): "Create HelpWindow; called from Idle Help event handler." filename = join(abspath(dirname(__file__)), 'help.html') if not isfile(filename): # try copy_strip, present message return HelpWindow(parent, filename, 'IDLE Help') if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(show_idlehelp)
if width != 0: label.config(width=width) label.config(text=text) def _multistatus_bar(parent): root = Tk() width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d" %(x, y + 150)) root.title("Test multistatus bar") frame = Frame(root) text = Text(frame) text.pack() msb = MultiStatusBar(frame) msb.set_label("one", "hello") msb.set_label("two", "world") msb.pack(side=BOTTOM, fill=X) def change(): msb.set_label("one", "foo") msb.set_label("two", "bar") button = Button(root, text="Update status", command=change) button.pack(side=BOTTOM) frame.pack() frame.mainloop() root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_multistatus_bar)
root.geometry("+%d+%d" % (x, y + 150)) text = MultiCallCreator(Tkinter.Text)(root) text.pack() def bindseq(seq, n=[0]): def handler(event): print seq text.bind("<<handler%d>>" % n[0], handler) text.event_add("<<handler%d>>" % n[0], seq) n[0] += 1 bindseq("<Key>") bindseq("<Control-Key>") bindseq("<Alt-Key-a>") bindseq("<Control-Key-a>") bindseq("<Alt-Control-Key-a>") bindseq("<Key-b>") bindseq("<Control-Button-1>") bindseq("<Button-2>") bindseq("<Alt-Button-1>") bindseq("<FocusOut>") bindseq("<Enter>") bindseq("<Leave>") root.mainloop() if __name__ == "__main__": from idlesporklib.idle_test.htest import run run(_multi_call)
return self.object.keys() def _stack_viewer(parent): # htest # root = tk.Tk() root.title("Test StackViewer") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d" % (x, y + 150)) flist = PyShellFileList(root) try: # to obtain a traceback object intentional_name_error except NameError: exc_type, exc_value, exc_tb = sys.exc_info() # inject stack trace to sys sys.last_type = exc_type sys.last_value = exc_value sys.last_traceback = exc_tb StackBrowser(root, flist=flist, top=root, tb=exc_tb) # restore sys to original state del sys.last_type del sys.last_value del sys.last_traceback if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_stack_viewer)
def _calltip_window(parent): # htest # from Tkinter import Toplevel, Text, LEFT, BOTH top = Toplevel(parent) top.title("Test calltips") top.geometry("200x100+%d+%d" % (parent.winfo_rootx() + 200, parent.winfo_rooty() + 150)) text = Text(top) text.pack(side=LEFT, fill=BOTH, expand=1) text.insert("insert", "string.split") top.update() calltip = CallTip(text) def calltip_show(event): calltip.showtip("(s=Hello world)", "insert", "end") def calltip_hide(event): calltip.hidetip() text.event_add("<<calltip-show>>", "(") text.event_add("<<calltip-hide>>", ")") text.bind("<<calltip-show>>", calltip_show) text.bind("<<calltip-hide>>", calltip_hide) text.focus_set() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_calltip_window)
if not keys: tkMessageBox.showerror(title=title, parent=self, message='No keys specified.') elif not keys.endswith('>'): tkMessageBox.showerror(title=title, parent=self, message='Missing the final Key') elif (not modifiers and finalKey not in self.functionKeys + self.moveKeys): tkMessageBox.showerror(title=title, parent=self, message='No modifier key(s) specified.') elif (modifiers == ['Shift']) \ and (finalKey not in self.functionKeys + self.moveKeys + ('Tab', 'Space')): msg = 'The shift modifier by itself may not be used with'\ ' this key symbol.' tkMessageBox.showerror(title=title, parent=self, message=msg) elif keySequence in self.currentKeySequences: msg = 'This key combination is already in use.' tkMessageBox.showerror(title=title, parent=self, message=msg) else: keysOK = True return keysOK if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(GetKeysDialog)
self.depth = self.depth + incr return self.depth def _undo_delegator(parent): from idlesporklib.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() if __name__ == "__main__": from idlesporklib.idle_test.htest import run run(_undo_delegator)
def ShowCopyright(self): self.display_printer_text('About - Copyright', copyright) def ShowPythonCredits(self): self.display_printer_text('About - Python Credits', credits) def ShowIDLECredits(self): self.display_file_text('About - Credits', 'CREDITS.txt', 'iso-8859-1') def ShowIDLEAbout(self): self.display_file_text('About - Readme', 'README.txt') def ShowIDLENEWS(self): self.display_file_text('About - NEWS', 'NEWS.txt') def display_printer_text(self, title, printer): printer._Printer__setup() text = '\n'.join(printer._Printer__lines) textView.view_text(self, title, text) def display_file_text(self, title, filename, encoding=None): fn = os.path.join(os.path.abspath(os.path.dirname(__file__)), filename) textView.view_file(self, title, fn, encoding) def Ok(self, event=None): self.destroy() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(AboutDialog)
return "break" def page_down(self, event): self.canvas.yview_scroll(1, "page") return "break" def unit_up(self, event): self.canvas.yview_scroll(-1, "unit") return "break" def unit_down(self, event): self.canvas.yview_scroll(1, "unit") return "break" def zoom_height(self, event): ZoomHeight.zoom_height(self.master) return "break" def _tree_widget(parent): root = Tk() root.title("Test TreeWidget") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) sc = ScrolledCanvas(root, bg="white", highlightthickness=0, takefocus=1) sc.frame.pack(expand=1, fill="both", side=LEFT) item = FileTreeItem(os.getcwd()) node = TreeNode(sc.canvas, None, item) node.expand() root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_tree_widget)
def _tabbed_pages(parent): # test dialog root=Tk() width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 175)) root.title("Test tabbed pages") tabPage=TabbedPageSet(root, page_names=['Foobar','Baz'], n_rows=0, expand_tabs=False, ) tabPage.pack(side=TOP, expand=TRUE, fill=BOTH) Label(tabPage.pages['Foobar'].frame, text='Foo', pady=20).pack() Label(tabPage.pages['Foobar'].frame, text='Bar', pady=20).pack() Label(tabPage.pages['Baz'].frame, text='Baz').pack() entryPgName=Entry(root) buttonAdd=Button(root, text='Add Page', command=lambda:tabPage.add_page(entryPgName.get())) buttonRemove=Button(root, text='Remove Page', command=lambda:tabPage.remove_page(entryPgName.get())) labelPgName=Label(root, text='name of page to add/remove:') buttonAdd.pack(padx=5, pady=5) buttonRemove.pack(padx=5, pady=5) labelPgName.pack(padx=5) entryPgName.pack(padx=5) root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_tabbed_pages)
t1 = Tracer("t1") t2 = Tracer("t2") def toggle1(): if var1.get() == 0: var1.set(1) p.insertfilter(t1) elif var1.get() == 1: var1.set(0) p.removefilter(t1) def toggle2(): if var2.get() == 0: var2.set(1) p.insertfilter(t2) elif var2.get() == 1: var2.set(0) p.removefilter(t2) text.pack() var1 = tk.IntVar() cb1 = tk.Checkbutton(root, text="Tracer1", command=toggle1, variable=var1) cb1.pack() var2 = tk.IntVar() cb2 = tk.Checkbutton(root, text="Tracer2", command=toggle2, variable=var2) cb2.pack() if __name__ == "__main__": from idlesporklib.idle_test.htest import run run(_percolator)
self.display_printer_text('About - Copyright', copyright) def ShowPythonCredits(self): self.display_printer_text('About - Python Credits', credits) def ShowIDLECredits(self): self.display_file_text('About - Credits', 'CREDITS.txt', 'iso-8859-1') def ShowIDLEAbout(self): self.display_file_text('About - Readme', 'README.txt') def ShowIDLENEWS(self): self.display_file_text('About - NEWS', 'NEWS.txt') def display_printer_text(self, title, printer): printer._Printer__setup() text = '\n'.join(printer._Printer__lines) textView.view_text(self, title, text) def display_file_text(self, title, filename, encoding=None): fn = os.path.join(os.path.abspath(os.path.dirname(__file__)), filename) textView.view_file(self, title, fn, encoding) def Ok(self, event=None): self.destroy() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(AboutDialog)
def _io_binding(parent): # htest # root = Toplevel(parent) root.title("Test IOBinding") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d"%(x, y + 150)) class MyEditWin: def __init__(self, text): self.text = text self.flist = None self.text.bind("<Control-o>", self.open) self.text.bind("<Control-s>", self.save) def get_saved(self): return 0 def set_saved(self, flag): pass def reset_undo(self): pass def open(self, event): self.text.event_generate("<<open-window-from-file>>") def save(self, event): self.text.event_generate("<<save-window>>") def update_recent_files_list(s, f): pass text = Text(root) text.pack() text.focus_set() editwin = MyEditWin(text) IOBinding(editwin) if __name__ == "__main__": from idlesporklib.idle_test.htest import run run(_io_binding)
def _widget_redirector(parent): # htest # from Tkinter import Tk, Text import re root = Tk() root.title("Test WidgetRedirector") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d" % (x, y + 150)) text = Text(root) text.pack() text.focus_set() redir = WidgetRedirector(text) def my_insert(*args): print("insert", args) original_insert(*args) original_insert = redir.register("insert", my_insert) root.mainloop() if __name__ == "__main__": import unittest unittest.main('idlesporklib.idle_test.test_widgetredir', verbosity=2, exit=False) from idlesporklib.idle_test.htest import run run(_widget_redirector)
message='Name too long. It should be no more than ' + '30 characters.', parent=self) name = '' elif name in self.used_names: tkMessageBox.showerror(title='Name Error', message='This name is already in use.', parent=self) name = '' return name def Ok(self, event=None): name = self.name_ok() if name: self.result = name self.destroy() def Cancel(self, event=None): self.result = '' self.destroy() if __name__ == '__main__': import unittest unittest.main('idlesporklib.idle_test.test_config_name', verbosity=2, exit=False) from idlesporklib.idle_test.htest import run run(GetCfgSectionNameDialog)
label.config(text=text) def _multistatus_bar(parent): root = Tk() width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) root.geometry("+%d+%d" % (x, y + 150)) root.title("Test multistatus bar") frame = Frame(root) text = Text(frame) text.pack() msb = MultiStatusBar(frame) msb.set_label("one", "hello") msb.set_label("two", "world") msb.pack(side=BOTTOM, fill=X) def change(): msb.set_label("one", "foo") msb.set_label("two", "bar") button = Button(root, text="Update status", command=change) button.pack(side=BOTTOM) frame.pack() frame.mainloop() root.mainloop() if __name__ == '__main__': from idlesporklib.idle_test.htest import run run(_multistatus_bar)