Step 1 of Tkinter renaming: move lib-tk modules into a new "tkinter" package.

This commit is contained in:
Georg Brandl 2008-05-16 14:24:45 +00:00
parent ae6b9f3cb2
commit bbc57d73a0
14 changed files with 52 additions and 51 deletions

View file

@ -18,14 +18,14 @@ Actions are bound to events by resources (e.g. keyword argument
command) or with the method bind. command) or with the method bind.
Example (Hello, World): Example (Hello, World):
import Tkinter import tkinter
from Tkconstants import * from tkinter.constants import *
tk = Tkinter.Tk() tk = tkinter.Tk()
frame = Tkinter.Frame(tk, relief=RIDGE, borderwidth=2) frame = tkinter.Frame(tk, relief=RIDGE, borderwidth=2)
frame.pack(fill=BOTH,expand=1) frame.pack(fill=BOTH,expand=1)
label = Tkinter.Label(frame, text="Hello, World") label = tkinter.Label(frame, text="Hello, World")
label.pack(fill=X, expand=1) label.pack(fill=X, expand=1)
button = Tkinter.Button(frame,text="Exit",command=tk.destroy) button = tkinter.Button(frame,text="Exit",command=tk.destroy)
button.pack(side=BOTTOM) button.pack(side=BOTTOM)
tk.mainloop() tk.mainloop()
""" """
@ -34,12 +34,13 @@ __version__ = "$Revision$"
import sys import sys
if sys.platform == "win32": if sys.platform == "win32":
import FixTk # Attempt to configure Tcl/Tk without requiring PATH # Attempt to configure Tcl/Tk without requiring PATH
from tkinter import _fix
import _tkinter # If this fails your Python may not be configured for Tk import _tkinter # If this fails your Python may not be configured for Tk
tkinter = _tkinter # b/w compat for export tkinter = _tkinter # b/w compat for export
TclError = _tkinter.TclError TclError = _tkinter.TclError
from types import * from types import *
from Tkconstants import * from tkinter.constants import *
try: try:
import MacOS; _MacOS = MacOS; del MacOS import MacOS; _MacOS = MacOS; del MacOS
except ImportError: except ImportError:
@ -1696,7 +1697,7 @@ class Tk(Misc, Wm):
base_tcl = os.path.join(home, '.%s.tcl' % baseName) base_tcl = os.path.join(home, '.%s.tcl' % baseName)
base_py = os.path.join(home, '.%s.py' % baseName) base_py = os.path.join(home, '.%s.py' % baseName)
dir = {'self': self} dir = {'self': self}
exec 'from Tkinter import *' in dir exec 'from tkinter import *' in dir
if os.path.isfile(class_tcl): if os.path.isfile(class_tcl):
self.tk.call('source', class_tcl) self.tk.call('source', class_tcl)
if os.path.isfile(class_py): if os.path.isfile(class_py):

View file

@ -19,7 +19,7 @@
# - title: dialog title # - title: dialog title
# #
from tkCommonDialog import Dialog from tkinter.commondialog import Dialog
# #

View file

@ -1,14 +1,14 @@
# base class for tk common dialogues # base class for tk common dialogues
# #
# this module provides a base class for accessing the common # this module provides a base class for accessing the common
# dialogues available in Tk 4.2 and newer. use tkFileDialog, # dialogues available in Tk 4.2 and newer. use filedialog,
# tkColorChooser, and tkMessageBox to access the individual # colorchooser, and messagebox to access the individual
# dialogs. # dialogs.
# #
# written by Fredrik Lundh, May 1997 # written by Fredrik Lundh, May 1997
# #
from Tkinter import * from tkinter import *
class Dialog: class Dialog:

View file

@ -1,7 +1,7 @@
# Dialog.py -- Tkinter interface to the tk_dialog script. # dialog.py -- Tkinter interface to the tk_dialog script.
from Tkinter import * from tkinter import *
from Tkinter import _cnfmerge from tkinter import _cnfmerge
if TkVersion <= 3.6: if TkVersion <= 3.6:
DIALOG_ICON = 'warning' DIALOG_ICON = 'warning'

View file

@ -100,7 +100,7 @@ active; it will never call dnd_commit().
""" """
import Tkinter import tkinter
# The factory function # The factory function
@ -219,7 +219,7 @@ class Icon:
self.detach() self.detach()
if not canvas: if not canvas:
return return
label = Tkinter.Label(canvas, text=self.name, label = tkinter.Label(canvas, text=self.name,
borderwidth=2, relief="raised") borderwidth=2, relief="raised")
id = canvas.create_window(x, y, window=label, anchor="nw") id = canvas.create_window(x, y, window=label, anchor="nw")
self.canvas = canvas self.canvas = canvas
@ -268,8 +268,8 @@ class Icon:
class Tester: class Tester:
def __init__(self, root): def __init__(self, root):
self.top = Tkinter.Toplevel(root) self.top = tkinter.Toplevel(root)
self.canvas = Tkinter.Canvas(self.top, width=100, height=100) self.canvas = tkinter.Canvas(self.top, width=100, height=100)
self.canvas.pack(fill="both", expand=1) self.canvas.pack(fill="both", expand=1)
self.canvas.dnd_accept = self.dnd_accept self.canvas.dnd_accept = self.dnd_accept
@ -300,9 +300,9 @@ class Tester:
source.attach(self.canvas, x, y) source.attach(self.canvas, x, y)
def test(): def test():
root = Tkinter.Tk() root = tkinter.Tk()
root.geometry("+1+1") root.geometry("+1+1")
Tkinter.Button(command=root.quit, text="Quit").pack() tkinter.Button(command=root.quit, text="Quit").pack()
t1 = Tester(root) t1 = Tester(root)
t1.top.geometry("+1+60") t1.top.geometry("+1+60")
t2 = Tester(root) t2 = Tester(root)

View file

@ -8,8 +8,8 @@ Classes:
""" """
from Tkinter import * from tkinter import *
from Dialog import Dialog from tkinter.dialog import Dialog
import os import os
import fnmatch import fnmatch

View file

@ -8,7 +8,7 @@
__version__ = "0.9" __version__ = "0.9"
import Tkinter import tkinter
# weight/slant # weight/slant
NORMAL = "normal" NORMAL = "normal"
@ -65,7 +65,7 @@ class Font:
def __init__(self, root=None, font=None, name=None, exists=False, **options): def __init__(self, root=None, font=None, name=None, exists=False, **options):
if not root: if not root:
root = Tkinter._default_root root = tkinter._default_root
if font: if font:
# get actual settings corresponding to the given font # get actual settings corresponding to the given font
font = root.tk.splitlist(root.tk.call("font", "actual", font)) font = root.tk.splitlist(root.tk.call("font", "actual", font))
@ -79,7 +79,7 @@ class Font:
self.delete_font = False self.delete_font = False
# confirm font exists # confirm font exists
if self.name not in root.tk.call("font", "names"): if self.name not in root.tk.call("font", "names"):
raise Tkinter._tkinter.TclError, "named font %s does not already exist" % (self.name,) raise tkinter._tkinter.TclError, "named font %s does not already exist" % (self.name,)
# if font config info supplied, apply it # if font config info supplied, apply it
if font: if font:
root.tk.call("font", "configure", self.name, *font) root.tk.call("font", "configure", self.name, *font)
@ -166,13 +166,13 @@ class Font:
def families(root=None): def families(root=None):
"Get font families (as a tuple)" "Get font families (as a tuple)"
if not root: if not root:
root = Tkinter._default_root root = tkinter._default_root
return root.tk.splitlist(root.tk.call("font", "families")) return root.tk.splitlist(root.tk.call("font", "families"))
def names(root=None): def names(root=None):
"Get names of defined fonts (as a tuple)" "Get names of defined fonts (as a tuple)"
if not root: if not root:
root = Tkinter._default_root root = tkinter._default_root
return root.tk.splitlist(root.tk.call("font", "names")) return root.tk.splitlist(root.tk.call("font", "names"))
# -------------------------------------------------------------------- # --------------------------------------------------------------------
@ -180,7 +180,7 @@ def names(root=None):
if __name__ == "__main__": if __name__ == "__main__":
root = Tkinter.Tk() root = tkinter.Tk()
# create a font # create a font
f = Font(family="times", size=30, weight=NORMAL) f = Font(family="times", size=30, weight=NORMAL)
@ -202,10 +202,10 @@ if __name__ == "__main__":
f = Font(font=("Courier", 20, "bold")) f = Font(font=("Courier", 20, "bold"))
print f.measure("hello"), f.metrics("linespace") print f.measure("hello"), f.metrics("linespace")
w = Tkinter.Label(root, text="Hello, world", font=f) w = tkinter.Label(root, text="Hello, world", font=f)
w.pack() w.pack()
w = Tkinter.Button(root, text="Quit!", command=root.destroy) w = tkinter.Button(root, text="Quit!", command=root.destroy)
w.pack() w.pack()
fb = Font(font=w["font"]).copy() fb = Font(font=w["font"]).copy()
@ -213,4 +213,4 @@ if __name__ == "__main__":
w.config(font=fb) w.config(font=fb)
Tkinter.mainloop() tkinter.mainloop()

View file

@ -22,7 +22,7 @@
# - type: dialog type; that is, which buttons to display (see below) # - type: dialog type; that is, which buttons to display (see below)
# #
from tkCommonDialog import Dialog from tkinter.commondialog import Dialog
# #
# constants # constants

View file

@ -10,8 +10,8 @@
# Most methods calls are inherited from the Text widget; Pack methods # Most methods calls are inherited from the Text widget; Pack methods
# are redirected to the Frame widget however. # are redirected to the Frame widget however.
from Tkinter import * from tkinter import *
from Tkinter import _cnfmerge from tkinter import _cnfmerge
class ScrolledText(Text): class ScrolledText(Text):
def __init__(self, master=None, cnf=None, **kw): def __init__(self, master=None, cnf=None, **kw):

View file

@ -1,7 +1,7 @@
"""A simple but flexible modal dialog box.""" """A simple but flexible modal dialog box."""
from Tkinter import * from tkinter import *
class SimpleDialog: class SimpleDialog:

View file

@ -26,8 +26,8 @@
# appreciate the advantages. # appreciate the advantages.
# #
from Tkinter import * from tkinter import *
from Tkinter import _flatten, _cnfmerge, _default_root from tkinter import _flatten, _cnfmerge, _default_root
# WARNING - TkVersion is a limited precision floating point number # WARNING - TkVersion is a limited precision floating point number
if TkVersion < 3.999: if TkVersion < 3.999:
@ -57,7 +57,7 @@ TCL_ALL_EVENTS = 0
# BEWARE - this is implemented by copying some code from the Widget class # BEWARE - this is implemented by copying some code from the Widget class
# in Tkinter (to override Widget initialization) and is therefore # in Tkinter (to override Widget initialization) and is therefore
# liable to break. # liable to break.
import Tkinter, os import tkinter, os
# Could probably add this to Tkinter.Misc # Could probably add this to Tkinter.Misc
class tixCommand: class tixCommand:
@ -192,11 +192,11 @@ class tixCommand:
else: else:
return self.tk.call('tix', 'resetoptions', newScheme, newFontSet) return self.tk.call('tix', 'resetoptions', newScheme, newFontSet)
class Tk(Tkinter.Tk, tixCommand): class Tk(tkinter.Tk, tixCommand):
"""Toplevel widget of Tix which represents mostly the main window """Toplevel widget of Tix which represents mostly the main window
of an application. It has an associated Tcl interpreter.""" of an application. It has an associated Tcl interpreter."""
def __init__(self, screenName=None, baseName=None, className='Tix'): def __init__(self, screenName=None, baseName=None, className='Tix'):
Tkinter.Tk.__init__(self, screenName, baseName, className) tkinter.Tk.__init__(self, screenName, baseName, className)
tixlib = os.environ.get('TIX_LIBRARY') tixlib = os.environ.get('TIX_LIBRARY')
self.tk.eval('global auto_path; lappend auto_path [file dir [info nameof]]') self.tk.eval('global auto_path; lappend auto_path [file dir [info nameof]]')
if tixlib is not None: if tixlib is not None:
@ -212,7 +212,7 @@ class Tk(Tkinter.Tk, tixCommand):
def destroy(self): def destroy(self):
# For safety, remove an delete_window binding before destroy # For safety, remove an delete_window binding before destroy
self.protocol("WM_DELETE_WINDOW", "") self.protocol("WM_DELETE_WINDOW", "")
Tkinter.Tk.destroy(self) tkinter.Tk.destroy(self)
# The Tix 'tixForm' geometry manager # The Tix 'tixForm' geometry manager
class Form: class Form:
@ -260,9 +260,9 @@ class Form:
Tkinter.Widget.__bases__ = Tkinter.Widget.__bases__ + (Form,) tkinter.Widget.__bases__ = tkinter.Widget.__bases__ + (Form,)
class TixWidget(Tkinter.Widget): class TixWidget(tkinter.Widget):
"""A TixWidget class is used to package all (or most) Tix widgets. """A TixWidget class is used to package all (or most) Tix widgets.
Widget initialization is extended in two ways: Widget initialization is extended in two ways:
@ -383,7 +383,7 @@ class TixWidget(Tkinter.Widget):
# These are missing from Tkinter # These are missing from Tkinter
def image_create(self, imgtype, cnf={}, master=None, **kw): def image_create(self, imgtype, cnf={}, master=None, **kw):
if not master: if not master:
master = Tkinter._default_root master = tkinter._default_root
if not master: if not master:
raise RuntimeError, 'Too early to create image' raise RuntimeError, 'Too early to create image'
if kw and cnf: cnf = _cnfmerge((cnf, kw)) if kw and cnf: cnf = _cnfmerge((cnf, kw))

View file

@ -16,7 +16,7 @@ pictures can easily be drawn.
from math import * # Also for export from math import * # Also for export
from time import sleep from time import sleep
import Tkinter import tkinter
speeds = ['fastest', 'fast', 'normal', 'slow', 'slowest'] speeds = ['fastest', 'fast', 'normal', 'slow', 'slowest']
@ -238,7 +238,7 @@ class RawPen:
# Test the color first # Test the color first
try: try:
id = self._canvas.create_line(0, 0, 0, 0, fill=color) id = self._canvas.create_line(0, 0, 0, 0, fill=color)
except Tkinter.TclError: except tkinter.TclError:
raise Error, "bad color string: %r" % (color,) raise Error, "bad color string: %r" % (color,)
self._set_color(color) self._set_color(color)
return return
@ -554,7 +554,7 @@ class RawPen:
# in case nhops==0 # in case nhops==0
self._canvas.coords(item, x0, y0, x1, y1) self._canvas.coords(item, x0, y0, x1, y1)
self._canvas.itemconfigure(item, arrow="none") self._canvas.itemconfigure(item, arrow="none")
except Tkinter.TclError: except tkinter.TclError:
# Probably the window was closed! # Probably the window was closed!
return return
else: else:
@ -638,13 +638,13 @@ class Pen(RawPen):
def __init__(self): def __init__(self):
global _root, _canvas global _root, _canvas
if _root is None: if _root is None:
_root = Tkinter.Tk() _root = tkinter.Tk()
_root.wm_protocol("WM_DELETE_WINDOW", self._destroy) _root.wm_protocol("WM_DELETE_WINDOW", self._destroy)
_root.title(_title) _root.title(_title)
if _canvas is None: if _canvas is None:
# XXX Should have scroll bars # XXX Should have scroll bars
_canvas = Tkinter.Canvas(_root, background="white") _canvas = tkinter.Canvas(_root, background="white")
_canvas.pack(expand=1, fill="both") _canvas.pack(expand=1, fill="both")
setup(width=_width, height= _height, startx=_startx, starty=_starty) setup(width=_width, height= _height, startx=_startx, starty=_starty)