annotate Lib/lib-tk/Canvas.py @ 79675:c0a2294de787 2.7

Issue #16199: Backport 2to3 typo fix from 3.2.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Thu, 11 Oct 2012 16:15:46 -0700
parents b53604fad54b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 # This module exports classes for the various canvas item types
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
15042
293caf0e632a [ Bug #110677 ] PRIVATE: various minor Tkinter things (PR#388)
Guido van Rossum <guido@python.org>
parents: 8673
diff changeset
3 # NOTE: This module was an experiment and is now obsolete.
293caf0e632a [ Bug #110677 ] PRIVATE: various minor Tkinter things (PR#388)
Guido van Rossum <guido@python.org>
parents: 8673
diff changeset
4 # It's best to use the Tkinter.Canvas class directly.
293caf0e632a [ Bug #110677 ] PRIVATE: various minor Tkinter things (PR#388)
Guido van Rossum <guido@python.org>
parents: 8673
diff changeset
5
46824
41a97649de61 The Canvas module has been deprecated for removal in 3.0.
Brett Cannon <bcannon@gmail.com>
parents: 28513
diff changeset
6 from warnings import warnpy3k
41a97649de61 The Canvas module has been deprecated for removal in 3.0.
Brett Cannon <bcannon@gmail.com>
parents: 28513
diff changeset
7 warnpy3k("the Canvas module has been removed in Python 3.0", stacklevel=2)
41a97649de61 The Canvas module has been deprecated for removal in 3.0.
Brett Cannon <bcannon@gmail.com>
parents: 28513
diff changeset
8 del warnpy3k
41a97649de61 The Canvas module has been deprecated for removal in 3.0.
Brett Cannon <bcannon@gmail.com>
parents: 28513
diff changeset
9
47183
b53604fad54b Tkinter rename reversal: remove tkinter package, adapt imports and docs.
Georg Brandl <georg@python.org>
parents: 47101
diff changeset
10 from Tkinter import Canvas, _cnfmerge, _flatten
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
11
3644
017d3356a5ed made it work again with changed Tkinter
Guido van Rossum <guido@python.org>
parents: 3363
diff changeset
12
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 class CanvasItem:
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
14 def __init__(self, canvas, itemType, *args, **kw):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
15 self.canvas = canvas
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
16 self.id = canvas._create(itemType, args, kw)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
17 if not hasattr(canvas, 'items'):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
18 canvas.items = {}
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
19 canvas.items[self.id] = self
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
20 def __str__(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
21 return str(self.id)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
22 def __repr__(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
23 return '<%s, id=%d>' % (self.__class__.__name__, self.id)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
24 def delete(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
25 del self.canvas.items[self.id]
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
26 self.canvas.delete(self.id)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
27 def __getitem__(self, key):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
28 v = self.canvas.tk.split(self.canvas.tk.call(
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
29 self.canvas._w, 'itemconfigure',
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
30 self.id, '-' + key))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
31 return v[4]
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
32 cget = __getitem__
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
33 def __setitem__(self, key, value):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
34 self.canvas.itemconfig(self.id, {key: value})
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
35 def keys(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
36 if not hasattr(self, '_keys'):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
37 self._keys = map(lambda x, tk=self.canvas.tk:
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
38 tk.splitlist(x)[0][1:],
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
39 self.canvas.tk.splitlist(
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
40 self.canvas._do(
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
41 'itemconfigure',
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
42 (self.id,))))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
43 return self._keys
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
44 def has_key(self, key):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
45 return key in self.keys()
27525
0bb154fa8047 SF patch 672098: Three __contains__ implementations
Raymond Hettinger <python@rcn.com>
parents: 17393
diff changeset
46 def __contains__(self, key):
0bb154fa8047 SF patch 672098: Three __contains__ implementations
Raymond Hettinger <python@rcn.com>
parents: 17393
diff changeset
47 return key in self.keys()
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
48 def addtag(self, tag, option='withtag'):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
49 self.canvas.addtag(tag, option, self.id)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
50 def bbox(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
51 x1, y1, x2, y2 = self.canvas.bbox(self.id)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
52 return (x1, y1), (x2, y2)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
53 def bind(self, sequence=None, command=None, add=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
54 return self.canvas.tag_bind(self.id, sequence, command, add)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
55 def unbind(self, sequence, funcid=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
56 self.canvas.tag_unbind(self.id, sequence, funcid)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
57 def config(self, cnf={}, **kw):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
58 return self.canvas.itemconfig(self.id, _cnfmerge((cnf, kw)))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
59 def coords(self, pts = ()):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
60 flat = ()
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
61 for x, y in pts: flat = flat + (x, y)
28513
90c77b8af1a4 SF patch #701494: more apply removals
Raymond Hettinger <python@rcn.com>
parents: 27525
diff changeset
62 return self.canvas.coords(self.id, *flat)
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
63 def dchars(self, first, last=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
64 self.canvas.dchars(self.id, first, last)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
65 def dtag(self, ttd):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
66 self.canvas.dtag(self.id, ttd)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
67 def focus(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
68 self.canvas.focus(self.id)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
69 def gettags(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
70 return self.canvas.gettags(self.id)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
71 def icursor(self, index):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
72 self.canvas.icursor(self.id, index)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
73 def index(self, index):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
74 return self.canvas.index(self.id, index)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
75 def insert(self, beforethis, string):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
76 self.canvas.insert(self.id, beforethis, string)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
77 def lower(self, belowthis=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
78 self.canvas.tag_lower(self.id, belowthis)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
79 def move(self, xamount, yamount):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
80 self.canvas.move(self.id, xamount, yamount)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
81 def tkraise(self, abovethis=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
82 self.canvas.tag_raise(self.id, abovethis)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
83 raise_ = tkraise # BW compat
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
84 def scale(self, xorigin, yorigin, xscale, yscale):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
85 self.canvas.scale(self.id, xorigin, yorigin, xscale, yscale)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
86 def type(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
87 return self.canvas.type(self.id)
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
88
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
89 class Arc(CanvasItem):
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
90 def __init__(self, canvas, *args, **kw):
28513
90c77b8af1a4 SF patch #701494: more apply removals
Raymond Hettinger <python@rcn.com>
parents: 27525
diff changeset
91 CanvasItem.__init__(self, canvas, 'arc', *args, **kw)
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
92
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
93 class Bitmap(CanvasItem):
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
94 def __init__(self, canvas, *args, **kw):
28513
90c77b8af1a4 SF patch #701494: more apply removals
Raymond Hettinger <python@rcn.com>
parents: 27525
diff changeset
95 CanvasItem.__init__(self, canvas, 'bitmap', *args, **kw)
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
96
3644
017d3356a5ed made it work again with changed Tkinter
Guido van Rossum <guido@python.org>
parents: 3363
diff changeset
97 class ImageItem(CanvasItem):
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
98 def __init__(self, canvas, *args, **kw):
28513
90c77b8af1a4 SF patch #701494: more apply removals
Raymond Hettinger <python@rcn.com>
parents: 27525
diff changeset
99 CanvasItem.__init__(self, canvas, 'image', *args, **kw)
3644
017d3356a5ed made it work again with changed Tkinter
Guido van Rossum <guido@python.org>
parents: 3363
diff changeset
100
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
101 class Line(CanvasItem):
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
102 def __init__(self, canvas, *args, **kw):
28513
90c77b8af1a4 SF patch #701494: more apply removals
Raymond Hettinger <python@rcn.com>
parents: 27525
diff changeset
103 CanvasItem.__init__(self, canvas, 'line', *args, **kw)
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
104
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
105 class Oval(CanvasItem):
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
106 def __init__(self, canvas, *args, **kw):
28513
90c77b8af1a4 SF patch #701494: more apply removals
Raymond Hettinger <python@rcn.com>
parents: 27525
diff changeset
107 CanvasItem.__init__(self, canvas, 'oval', *args, **kw)
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
108
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
109 class Polygon(CanvasItem):
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
110 def __init__(self, canvas, *args, **kw):
28513
90c77b8af1a4 SF patch #701494: more apply removals
Raymond Hettinger <python@rcn.com>
parents: 27525
diff changeset
111 CanvasItem.__init__(self, canvas, 'polygon', *args, **kw)
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
112
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
113 class Rectangle(CanvasItem):
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
114 def __init__(self, canvas, *args, **kw):
28513
90c77b8af1a4 SF patch #701494: more apply removals
Raymond Hettinger <python@rcn.com>
parents: 27525
diff changeset
115 CanvasItem.__init__(self, canvas, 'rectangle', *args, **kw)
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
116
1695
c50127809179 Lots of new stuff
Guido van Rossum <guido@python.org>
parents: 1673
diff changeset
117 # XXX "Text" is taken by the Text widget...
c50127809179 Lots of new stuff
Guido van Rossum <guido@python.org>
parents: 1673
diff changeset
118 class CanvasText(CanvasItem):
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
119 def __init__(self, canvas, *args, **kw):
28513
90c77b8af1a4 SF patch #701494: more apply removals
Raymond Hettinger <python@rcn.com>
parents: 27525
diff changeset
120 CanvasItem.__init__(self, canvas, 'text', *args, **kw)
1664
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
121
a09efb135de5 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
122 class Window(CanvasItem):
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
123 def __init__(self, canvas, *args, **kw):
28513
90c77b8af1a4 SF patch #701494: more apply removals
Raymond Hettinger <python@rcn.com>
parents: 27525
diff changeset
124 CanvasItem.__init__(self, canvas, 'window', *args, **kw)
1695
c50127809179 Lots of new stuff
Guido van Rossum <guido@python.org>
parents: 1673
diff changeset
125
c50127809179 Lots of new stuff
Guido van Rossum <guido@python.org>
parents: 1673
diff changeset
126 class Group:
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
127 def __init__(self, canvas, tag=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
128 if not tag:
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
129 tag = 'Group%d' % id(self)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
130 self.tag = self.id = tag
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
131 self.canvas = canvas
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
132 self.canvas.dtag(self.tag)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
133 def str(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
134 return self.tag
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
135 __str__ = str
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
136 def _do(self, cmd, *args):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
137 return self.canvas._do(cmd, (self.tag,) + _flatten(args))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
138 def addtag_above(self, tagOrId):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
139 self._do('addtag', 'above', tagOrId)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
140 def addtag_all(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
141 self._do('addtag', 'all')
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
142 def addtag_below(self, tagOrId):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
143 self._do('addtag', 'below', tagOrId)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
144 def addtag_closest(self, x, y, halo=None, start=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
145 self._do('addtag', 'closest', x, y, halo, start)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
146 def addtag_enclosed(self, x1, y1, x2, y2):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
147 self._do('addtag', 'enclosed', x1, y1, x2, y2)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
148 def addtag_overlapping(self, x1, y1, x2, y2):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
149 self._do('addtag', 'overlapping', x1, y1, x2, y2)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
150 def addtag_withtag(self, tagOrId):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
151 self._do('addtag', 'withtag', tagOrId)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
152 def bbox(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
153 return self.canvas._getints(self._do('bbox'))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
154 def bind(self, sequence=None, command=None, add=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
155 return self.canvas.tag_bind(self.id, sequence, command, add)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
156 def unbind(self, sequence, funcid=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
157 self.canvas.tag_unbind(self.id, sequence, funcid)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
158 def coords(self, *pts):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
159 return self._do('coords', pts)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
160 def dchars(self, first, last=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
161 self._do('dchars', first, last)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
162 def delete(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
163 self._do('delete')
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
164 def dtag(self, tagToDelete=None):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
165 self._do('dtag', tagToDelete)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
166 def focus(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
167 self._do('focus')
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
168 def gettags(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
169 return self.canvas.tk.splitlist(self._do('gettags', self.tag))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
170 def icursor(self, index):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
171 return self._do('icursor', index)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
172 def index(self, index):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
173 return self.canvas.tk.getint(self._do('index', index))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
174 def insert(self, beforeThis, string):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
175 self._do('insert', beforeThis, string)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
176 def config(self, cnf={}, **kw):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
177 return self.canvas.itemconfigure(self.tag, _cnfmerge((cnf,kw)))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
178 def lower(self, belowThis=None):
17393
4b06e4db0075 The lower() and tkraise() methods were calling the Canvas widget
Guido van Rossum <guido@python.org>
parents: 15308
diff changeset
179 self._do('lower', belowThis)
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
180 def move(self, xAmount, yAmount):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
181 self._do('move', xAmount, yAmount)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
182 def tkraise(self, aboveThis=None):
17393
4b06e4db0075 The lower() and tkraise() methods were calling the Canvas widget
Guido van Rossum <guido@python.org>
parents: 15308
diff changeset
183 self._do('raise', aboveThis)
15308
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
184 lift = tkraise
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
185 def scale(self, xOrigin, yOrigin, xScale, yScale):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
186 self._do('scale', xOrigin, yOrigin, xScale, yScale)
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
187 def select_adjust(self, index):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
188 self.canvas._do('select', ('adjust', self.tag, index))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
189 def select_from(self, index):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
190 self.canvas._do('select', ('from', self.tag, index))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
191 def select_to(self, index):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
192 self.canvas._do('select', ('to', self.tag, index))
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
193 def type(self):
847ae40074d4 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 15042
diff changeset
194 return self._do('type')