summaryrefslogtreecommitdiffstats
path: root/Lib/lib-tk/Tkinter.py
Commit message (Collapse)AuthorAgeFilesLines
* Add calls to self.protocol("WM_DELETE_WINDOW", self.destroy) to the TkGuido van Rossum1999-08-201-0/+2
| | | | | | | | and Toplevel class constructors. This means that if the window manager closes the window, the Python-side Tkinter data structures will be destroyed correctly. (Most apps do this anyway, and it's recommended practice; I see no reason why making it the default behavior could be bad.)
* Remove some redundant code from Canvas.tag_bind(), which added allGuido van Rossum1999-07-301-11/+2
| | | | | | | | | | bindings to a dictionary _tagcommands which was otherwise unused. (This was checked in accidentally with rev. 1.125 and not deleted with rev. 1.127 when the other half of this code was removed -- although even as originally checked in the _tagcommands variable was never used.) (PR#40, reported by Peter Stoehr)
* Greg McFarlane submitted two missing Text methods: mark_next() andGuido van Rossum1999-06-211-0/+4
| | | | mark_previous().
* Greg McFarlane writes: Tkinter.Text.tag_add should take multipleGuido van Rossum1999-06-011-2/+2
| | | | arguments. [Slightly changed from submitted patch.]
* Nathan Paul Simons noticed that the grid_remove() method was missing.Guido van Rossum1999-05-051-0/+2
| | | | | (The difference between grid_remove() and grid_forget() is that the former remembers the options for the slave.)
* Delete an accidentally checked-in feature that actually broke moreGuido van Rossum1999-04-081-9/+0
| | | | | | | | than was worth it: when deleting a canvas item, it would try to automatically delete the bindings for that item. Since there's nothing that says you can't reuse the tag and still have the bindings, this is not correct. Also, it broke at least one demo (Demo/tkinter/matt/rubber-band-box-demo-1.py).
* lower, tkraise/lift hide Misc.lower, Misc.tkraise/lift,Guido van Rossum1999-04-071-3/+8
| | | | | | so the preferred name for them is tag_lower, tag_raise (similar to tag_bind, and similar to the Text widget); unfortunately can't delete the old ones yet (maybe in 1.6)
* Bug reported by Jim Robinson:Guido van Rossum1999-03-161-4/+22
| | | | | | | | | An attempt to execute grid_slaves with arguments (0,0) results in *all* of the slaves being returned, not just the slave associated with row 0, column 0. This is because the test for arguments in the method does not test to see if row (and column) does not equal None, but rather just whether is evaluates to non-false. A value of 0 fails this test.
* Put a try-except around the "image delete" call in Image.__del__ toGuido van Rossum1999-02-081-2/+6
| | | | avoid tracebacks when the root is destroyed before the image object.
* This hopefully fixes the problem of having to set PATHGuido van Rossum1999-01-041-1/+4
| | | | | | in autoexec.bat in order to find the Tcl DLLs -- Tkinter calls FixTk which will hunt around in a few common places and then set PATH and try again, or else issue a big clarifying error message.
* Add XXX comment about the need to add a dump() method to the TextGuido van Rossum1998-12-211-0/+1
| | | | widget -- no time to do this right now.
* grid_bbox(): support new Tk API: grid bbox ?column row? ?column2 row2?Barry Warsaw1998-12-151-4/+8
|
* Perhaps a controversial change: when reporting a callback exception,Guido van Rossum1998-10-131-0/+3
| | | | | | | | assign the exception info to sys.last_{type,value,traceback}. That way, an introspective Tkinter app can inspect its own stack trace. (The controversy is that it would keep some objects alive, but that's probably no big deal.)
* Added {xview,yview}_{moveto,scroll} to the Canvas class.Barry Warsaw1998-10-131-0/+8
|
* Updated listbox methods to Tk 8.0. (Moved some around, addedGuido van Rossum1998-10-131-12/+20
| | | | x/yview_scroll/moveto.)
* The message "Exception in Tkinter callback" should go to stderr.Guido van Rossum1998-10-061-4/+4
| | | | | | | | | Fix bug in NoDefaultRoot() -- _default_root wasn't declared global; and made it reentrant. Don't set _default_root to whatever master gets passed in to BaseWidget._setup() (only set it when we need to create a new Tk() widget).
* Ignore the TclError exception raised when deleting the registrationGuido van Rossum1998-09-141-1/+4
| | | | | for callit, used by the after() command. This can happen when the callback deletes the window.
* Make bind variants without a sequence return a tuple of sequencesGuido van Rossum1998-08-311-1/+27
| | | | | | (formerly it returned a string, which wasn't very convenient). Add image commands to the Text widget (these are new in Tk 8.0).
* Added coords() and identify() methods to Scale class.Guido van Rossum1998-08-111-0/+4
|
* Tk.__init__(): In computing baseName, add ".pyo" to list of droppedFred Drake1998-07-151-1/+2
| | | | | extensions, and include the "." in ".pyc". Still need to get _tkinter.c:Tkapp_New() to use baseName....
* Allow binding a Tcl command (given as a string) as well as a PythonGuido van Rossum1998-06-251-3/+3
| | | | function.
* Turns out that 'winfo id' returns the id as a hex string, with 0x prefix.Guido van Rossum1998-06-191-1/+1
| | | | | The int() function (aliased to getint()) doesn't handle that, so we must use self.tk.getint() again...
* Different trick to get the _test() window to pop up.Guido van Rossum1998-06-191-1/+5
|
* getint() now raises ValueError, not TclError, on errors.Guido van Rossum1998-06-091-2/+2
|
* Get rid of nearly all clals to self._do -- turns out self.tk.call canGuido van Rossum1998-05-191-38/+48
| | | | be used just as well, so this saves one Python call in many cases!
* Change the names of all methods in the Wm class: they are nowGuido van Rossum1998-05-011-27/+56
| | | | | | | | | | | | | | | | | | wm_title(), etc. The old names (title() etc.) are still defined as aliases. This brings all methods up to use the same naming convention: whether the Tcl syntax is .window.path.name command subcommand [options] or command subcommand .window.path.name [optins] the Python equivalent is always windowobject.command_subcommand(options)
* Another optimization, probably of negligeable effect: instead ofGuido van Rossum1998-04-301-82/+78
| | | | | | | | | | | | | | calling self.tk.getint() and self.tk.getdouble(), call the globals getint() and getdouble(), which in turn are just names for the Python builtins int() and double(). (Making them globals actually save a dict lookup compared to using the built-in.) The corresponding methods of class Misc have been changed similarly. (Note that getboolean() hasn't been changed because there's no Python equivalent.) The use of int() and float() has another advantage: if/when Tcl calls can actually return Tcl objects with other types than string, use of int() and float() is essential.
* In _bind(), found a way to test for break without a temp variable.Guido van Rossum1998-04-291-5/+5
|
* Save a tiny bit of time: self.tk.call takes a tuple argument so it'sGuido van Rossum1998-04-291-70/+62
| | | | | | | not needed to say apply(self.tk.call, t); self.tk.call(t) has the same effect. This cuts down tremendously on the number of apply() calls made. No measurable effect, but at the very least it saves the lookup of apply() in the globals!
* Import MacOS at the top instead of insize Tk.__init__() -- the latterGuido van Rossum1998-04-291-10/+7
| | | | repeats the I/O for the failed import on each interpreter creation.
* When setting the event structure fields, don't die when the widgetGuido van Rossum1998-04-271-1/+4
| | | | | | name is not registered; simply use the string. This happens for tear-off widgets (e.g. if you've registered enter/leave events for the menu).
* Add image_types() and image_names() as methods to Misc class.Guido van Rossum1998-04-101-0/+8
|
* Restructured the event_* calls slightly -- there's really no need toGuido van Rossum1998-04-061-14/+11
| | | | use the default root, and instead of string.split, use splitlist.
* Return the name of the Tcl command defined by _bind(). This canGuido van Rossum1998-03-271-5/+13
| | | | | optionally be passed to unbind() (or you can apss it to deletecommand()).
* Get rid of the Emacs cruft now that Python-mode guess the desired settings!Guido van Rossum1998-03-261-6/+0
|
* Give in to the tab police.Guido van Rossum1998-03-201-17/+27
|
* Typo: baseWidht -> baseWidth.Guido van Rossum1998-02-241-1/+1
|
* Fix bug in trace_vdelete(); should use master's delete command.Guido van Rossum1998-02-191-1/+2
|
* Add trace methods to class VariableGuido van Rossum1998-01-141-5/+15
|
* Two critical fixes to the changes that I made for Greg McFarlane --Guido van Rossum1997-12-301-3/+3
| | | | patches provided by Greg (am I glad I sent him my latest version!).
* Fixed several bugs reported by Greg McFarmane:Guido van Rossum1997-12-291-42/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The invoke methods of the three Tkinter widgets Button, Checkbutton and Radiobutton should return the value returned by the callback, (like the Menu widget does): def invoke(self): return self.tk.call(self._w, 'invoke') * The select_from method of the Canvas widget should use 'from', not 'set': def select_from(self, tagOrId, index): self.tk.call(self._w, 'select', 'from', tagOrId, index) Currently, if you use select_from, you get the error message: 'TclError: bad select option "set": must be adjust, clear, from, item, or to' * The 'entrycget' and 'type' methods of the Tk menu widget are missing from Tkinter. * There is a bug in grid_columnconfigure and grid_rowconfigure. For example, this should return the current value of the 'minsize' option for column 0: f.grid_columnconfigure(0, 'minsize') Instead it returns the same as: f.grid_columnconfigure(0) I suggest that the hint given in the comment in the Tkinter.Misc.configure method should be followed - "ought to generalize this so tag_config etc. can use it". Repeating the same configure code several times in Tkinter is inviting errors. [I did not follow this advice --G] * The grid_slaves method should handle options. Currently, to pass options to the grid_slaves method, you have to do something like: grid_slaves('-row', 1)
* Typo: Widht instead of Width...Guido van Rossum1997-12-271-1/+1
|
* PhotoImage.put(): Fixed -to handling, including backward compatibility hack.Fred Drake1997-12-161-1/+3
| | | | Guido, please take a look at this.
* Added tag_prevrange analogous to rag_nextrange.Guido van Rossum1997-12-151-0/+3
|
* Change _nametowidget to nametowidget -- it is a public interface.Guido van Rossum1997-12-121-1/+2
|
* Last minute fix to Text.window_cget(), which should properly Tcl-ifyGuido van Rossum1997-12-111-0/+4
| | | | the option name (prepend '-', strip trailing '_').
* Fix problem detected by Greg McFarlane -- callbacks passed toGuido van Rossum1997-12-111-10/+16
| | | | | bind_class() and bind_all() are destroyed when the widget to which they were passed is destroyed.
* Support for the "event" command, new in Tk 4.2.Guido van Rossum1997-12-021-0/+24
| | | | By Case Roole.
* bind_class should return a valueGuido van Rossum1997-11-221-1/+1
|
* Some restructuring.Guido van Rossum1997-11-071-111/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | All geometry manager methods that apply to a master widget instead of to a slave widget have been moved to the Misc class, which is inherited by all of Tk(), Toplevel() and Widget(). They have been renamed to have their geometry manager name as a prefix, e.g. pack_propagate(); the short names can still be used where ambiguities are resolved so that pack has priority over place has priority over grid (since this was the old rule). Also, the method definitions in the Pack, Place and Grid classes now all have their respective geometry manager name as a prefix (e.g. pack_configure); the shorter names are aliases defined through assignment. A similar renaming has been done for all config() methods found elsewhere; these have been renamed to configure() with config being the alias (instead of the other way around). (This may not make much of a difference but the official Tk command name is now 'configure' and it may help in debugging tracebacks.) Finally, a new base class BaseWidget has been introduced, which implements the methods common between Widget and Toplevel (the difference between those two classes is that Toplevel has a different __init__() but also that Toplevel doesn't inherit from Pack, Place or Grid.