Within each 'release' time advances down the file, but most recent
release is at the top.
Changes in Tk400.202
* Corrected #includes in Xlib/X/X.xs so that X.d file is platform netural
* Ilya's tkman2pod patch.
* Cleaned up Balloon.pm to be warning clean when cursor crosses balloon.
Thanks to Graham Barr for finding the problem and most of the fix.
* Workround for taint in FileSelect.pm - pending root-cause location.
* Removed old non-magical conditional code from tkGlue.c - '~' magic is now
used to locate C info for objects.
* Added Steve's new demo widget framework.
Changes in Tk400.201
* Adopted new FileSelect.pm from Frederick L Wagner <derf@ti.com>
* Fixed memory leak in ->repeat due to failing to delete expired
entries in the private hash.
* Fixed infinite loop if Photo was asked to 'copy' zero size source image.
* Applied patch to "Notebook"
* Changed all :
Tk::Widget->Construct('Foo')
to equivalent in 'I/O syntax' :
Construct Tk::Widget 'Foo';
because it reads better and is less "noisy".
* Added Tk::Adjuster and $widget->packAdjust construct.
This allows interactive re-sizing of packed widgets.
Exported some more C API e.g. MoveToplevelWindow to assist this.
* Cleaned up whole AUTOLOADER inheritance.
All widgets/images now inherit DynaLoader::bootstrap (if required)
via Tk::Widget or Tk::Image, otherwise they get AUTOLOAD via DynaLoader
and AutoLoader instead of from Tk::Widget.
Copied core of AutoLoader.pm into Tk::Widgets AUTOLOAD and cleaned
up interactions.
Re-instated automatic "require Tk::Foo" when Foo "looks like" a Constructor.
* Made more methods AutoLoaded.
* Changed ->Scrolled to better handle create-time args of the inner widget.
Still not sure it is right.
Added -columns as create-time arg of HList.
* Experimental use of perl's 'local' as follows:
- implcit {local $Tk::widget } round all calls to core Tk code.
Thus in any callbacks the widget may invoke, $Tk::widget is
available to discover which widget invoked it.
This is a perl local with all caveats (variable suicide etc.)
that pertain to locals.
This is of potential general use - let me know what you think.
- Added implcit {local $SIG{__DIE__} = \&Tk::__DIE__ }
round all callbacks to perl code where C glue is trapping errors.
Tk::__DIE__ uses $Tk::widget to add backtrace info.
* Added local $SIG{__DIE__} (or equivalent Tk::catch) to most of
eval { } constructs so that user's $SIG{__DIE__} is not bothered by
error we are "expecting".
* Adopted Tixish sub directory from Rajappa Iyer <rsi@ziplink.net>.
This includes NoteBook, Balloon, BrowseEntry and an alternate DialogBox.
* Implemented 'option' command via routines in <X11/Xresource.h>
currently optional
use Tk::Xrm;
to enable.
* Loaded latest WaitBox and FileDialog from CPAN.
* Added Tk::Menu::Item base class and Tk::Menu::Button Tk::Menu::Cascade
etc. as sub-classes.
$menu->Button now returns a (non-widget) object, which can be configure'd
You can inherit from Tk::Menu::* to derive "kinds of" menu items.
* Changed Tk::Menu::AddItems to take an array of items rather than
a reference to an array of items - this makes calling it directly a little
easier *BUT IS INCOMPATIBLE* if it was called directly.
* Configuring an Optionmenu's -options now replaces existing options
rather than appending.
Changes in Tk400.200
* Fixed typos in tkPort.h, accept perl5.002 and later, including
conditional compile for 5.003_04
* Fixed bug with menu traversal and entering upper-case caused by
Tk-b12's attempt to enable Solaris's keypad.
* Tolerate 'extreme POSIX-ness' for 'irix'.
* Added some more converted Tix stuff to Contrib
- Tix stuff will probably become a separate CPAN module.
* Messy hack to cause pod documentation to get added to HTML version
- doc directory now processes pre-installed pod2man output!
* Made default for -scrollbars option to be non-optional
can now have string matching /([or]?[ns])?([or]?[ew])?/
that is
'n' or 's', prefixed by optional 'o' or 'r'
'e' or 'w', prefixed by optional 'o' or 'r'
The 'r' (for required) is ignored as it is new default (as in pre-Tk-b11)
'o' causes that scrollbar to only be visible if needed, as in Tk-b11..Tk-b12
* Some new pods courtesy of Achim Bohnet <ach@rosat.mpe-garching.mpg.de>
* Convert '.o' to $(OBJ_EXT) when writing Makefiles - for OS/2.
* Removed (some of) junk from distribution.
* Updated Copyright dates.
Changes in Tk-b12
* Added -ldnet to Makefile.PL (DEC Net library for ultrix)
* Tweeked DoOneEvent to be more tolerant of 'strings' as flags.
* 'Enabled' keypad number-lock for Solaris.
* Made 'optional' scrollbars a little more robust.
* Added missing 'sub-methods' to Canvas
* Change to Tk::MMutil and its uses to derive relative
pathnames.
* Mods to Tk::HTML for (then current) libwww and to add features.
* Convert to Tk::IO to use IO::Handle/IO::File rather than FileHandle
* Use PerlIO abstraction rather than <stdio.h>'s FILE.
* Added basic TIEHANDLE support to Tk::Text (needs very recent perl...)
* 'required' perl5.003 - it didn't!
* Tweak to Tk::After to allow $w->repeat's callback to cancel
further repeats, and make period more deteministic.
* Added 'Dirlist' - thankyou whoever contributed it.
* Mods to ErrorDialog to allow buttons to be customized.
* (Some) cleanup of auto-scrollbar code.
* Optionmenu allows name/value pairs as well as lists of values.
* Updated TextUndo's 'Save' method.
* Added missing sub-methods to 'grid'.
* Make generated HTML more compliant with standards (weblint).
* Fixed problem with -background/-bg options to composites.
* Used correct Configure variable to allow use with perl installed
in ~name paths.
* Avoid 'regex' name-clash for picky AIX compiler.
* Allow perl/Tk in 'tainted' mode (I think).
* Some other stuff - details lost due to disk problem.
Changes in b11.02
* Fix for K&R 'cc' (e.g. Sun's /bin/cc) compile.
* 'Scrolled' scrollbars now only get packed (dynamically) when required.
* Tweaks for perl5.002_01
* Tidied up basic_credentials stuff to HTML/Web.pm a bit
* Brought Pod viewer up to date.
* Fixed memory leak in Tk::Callback->new, highlighted by recent
'after' changes.
Changes in b11.01
* Added ccflags to MMtry 'configure' tests so that trial compile
has same flags as real compile.
* Added XQueryTree to Xlib (need it for Motif Drag&Drop hacking ;-))
* Some tweaks to HList
* Demo patches from Steve.
* Messed with Table to permit empty rows.
* Added basic_credentials stuff to HTML/Web.pm
* Added selectionSet etc. aliases to Listbox.
Changes in b11
* Corrected initialization/malloc/free bug in Text Tag -data option.
* Down graded ConfigDefault not to propagate 'default' values if
ConfigSpec has 'undef' as default value. Changed default -foreground
-background to supplied by Tk::Derived to follow this model.
These changes allow subwidgets to default their own colours.
* Made '-class' universal and used it to set class for all Tk::Widgets.
Will allows Tix-like options db priming to affect subwidget defaults
(e.g. colours).
* Messed with 'Menubar' class - now only exported decendants of 'Frame' and
auto-packs itself at top. Its Menubutton method looks for existing
menubutton of the supplied name, does maps ~Name to -underline
and passes -menuitems to the menu.
* Adopted xpm3.4h for Pixmap/xpm
* Moved pTk's gettimeofday() tests up to top level myConfig.
Changed way C #define's are passed to code; now builds tkConfig.h
and #include's it rather than passing lots of -DXXXX to the compiler.
* Fixed infinite recursion on configure of DEFAULT options on derived widgets.
* Fixed bad case of 'bit rot' in Sun drag&drop - it was broken at time of
Tix code merge. Cleaned up the interface to it and added generic 'Local'
drag&drop independent of Sun's. Drop is always via a selection, as
both Sun's and Motif use that mechanism.
- 'Local' drop should allow emulation of Tix-like Drag&Drop.
- Works fine with olvwm4.1 under Solaris2.4.
- Works after a fashion under olvwm4.1 on SunOS4 - incoming drops sometimes
fail. (Suspect bugs on 'xview' side...)
- SunOS4 olvwm3.* is even worse.
- Need to add Motif methods when I can decipher the protocol.
* Various point fixes suggested to pTk list.
Changes in b10
* Hand-converted Tk::HList.pm from Graham Barr.
* Tk::Font from Graham Barr, added XListFonts to Tk::Xlib to support this.
* Cleaned up demos from Steve - thanks as always.
* Cleaned up error message propagation:
- now use $widget->BackTrace('message') rather than "croak" to get perl call
history into "stack trace" for ErrorDialog etc.
- Resolved "duplicate" messages to be result of perl5.002b2's $@ handling,
and adjusted glue to comprehend this.
* Resolved netbsd problem with certain (unused, undefined) Tix 'extern's.
- will try and remember to run checking scripts in future...
* Added `a' version of tkGrid.c (to be included in tk4.1b*) which
allows folks to play with SpecTcl GUI builder (so I am told).
* Merged tk4.0p3 changes.
* Tested under perl5.002b3
- located nasty bug when perl's stack grows (and therfore changes address)
during a call to Tk. e.g. if Button callback invoked perl code which
puts a large array on the stack. This may explain the 'FileSelect'
bug.
- Still some risk in this area - will investigate further before production
release.
* Adopted $VERSION checking via .xs and DynaLoader.
* Added checks to toplevel Makefile.PL for installed perl5.002.
* Changed gettimeofday() calls to #define in tkPort.h - as yet
no 'configure' test for right prototype.
* Edited (previously non-distributed) doc/man* directories so that doc/*.ht
relates to perl/Tk rather than Tcl/Tk.
May have missed some changes - proof reading by users requested ;-)
* Changed Tk::BackgroundError to Tk::Error, allows C API BackgroundError
to be used and makes documentation read better.
* Cleaned up and adopted Steves mkmenu from Menubar2 as $menu->AddItems
and incoprorated into Menu's create process.
Can now say $parent->Menu(-menuitems => [...]);
Can also also use method $menu->AddItems([...]) post creation.
- pre testing occured here
* Fixed various build problems.
* Removed lingering debug.
* Changed ConfigSpecs to handle 'aliases' e.g. -fg for -foreground
in a manner more like core widgets.
* Implemented Tk::Widget::after as a wrapper on core Tk::after.
Auto-cancels afters when widget is destroyed.
* Hook for above $widget->OnDestroy(callback) is also available for general
use. Arranges for callback to be called just before widget is destroyed.
Note that unlike bind('<Destroy>',...) the widget methods are still
available. For example this allows Text to save modified contents.
Changes in b9.01
* Fixed missing function table entry which caused problems on AIX.
* Removed spurious debug from 'place'.
* Patch to ColorEditor.pm from Steve.
Changes in b9
* pod patches from Larry Virden, ColorEditor fix from Steve.
* Applied AIX patch to tkImgPhoto.c - also added code to test signed-ness
of chars in general.
* Added <HTML> at start of doc/*.ht files so Mosaic realises that is
what they are.
* Added some checking on -*variable options - similar to use strict vars.
* Tidied up Tk::Tiler to get requested size and border handling correct,
added configure options -rows and -columns.
* Moved ConfigSpecs and related methods out of Tk::Frame to Tk::Derived
to allow non-frame derived widgets. Tk::Frame now inherits from
Tk::Derived and Tk::Widget.
* re-Implemented Optionmenu using Tk::Derived - adding -command option
where -command is invoked when option is set.
* Made leading '-' on core-widget configure options optional,
by changing compare code in tkConfig.c
Similar changes in ConfigSpecs handling perl code in Tk/Derived.pm.
* Changed names as per new script b9names which can be used
to update old applications.
b9names script script script...
* Brought Ghostview sub-directory into line with changes in last few releases,
still needs polish.
* New demos from Steve.
* Modified glue code to allow -0+0 and similar geometry specs though
to Tk.
* Tweaked Menu and Menubutton bindings and Unpost scheme
* Merged tk4.0p2 C code changes
* Removed setting of $ENV{'TK_LIBRARY'} - replaced most of uses (demos etc.)
of Tcl's $tk_library with Tk->findINC
* Abstracted case insensitive regexp's and changed tkText.c not to
downcase pattern.
* Common case $w->pack now returns $w.
* Merged Extended FileSelect from Steve.
* Make Read-Only Text available as ROText
* Fixed $w->Containing but which prevented dragging along a menubar.
* Changed InheritThis to use 5.002's ->SUPER:: instead.
* Re-worked Tk:IO a bit to use new "anonymous globs", and give access to
child process pids.
* Added simple Up,Down,Left,Right,Home,End bindings to Canvas.
* Cleaned up clipboard bindings for Text/Entry/Listbox.
* Did rest of nameSubmethod aliases etc. that Steve reported missing.
* Implemented simple Tk::Table in perl (modeled on Tiler) as one
ported from 'blt' core-dumps.
* Used hash in 'new' to speed up creating names for a lot of widgets of
same class, now O(1) not O(N) for Nth such widget.
* Implemented 'tie' of scalars to conigure options as 'obvious'
enhancement to Tk::Config class.
* Adjusted tkGlue.c's handling of perl 'magic' to make above ties
work in more cases. In particular using a tied -variable in a
check- or radio-button now allows them to re-configure widgets.
(See table_demo).
* Generalized Canvas bindings (above) to (AutoLoaded) methods in Tk::Widget
usable by any widget which supports new-style [xy]view and does not need
special arrow key handling. Used these in Table and Tiler.
* Arranged for short-hand 'constructors' e.g. $w->Button(...) to use
the delegate mechanism so that once a 'composite' has a default subwidget
(i.e. after its Populate) further widgets are created as children
of the subwidget. This allows (for example) correct parentage of
sub-windows of a ScrlText 'Frame'.
* Implemented TextUndo class derived from Text but re-defining ->insert and
->delete to record their inverses on an 'undo' stack.
Changed toyedit to use this class.
* Changed Tk::Config to be Tk::Configure - it makes 'tie' make more sense
and avoids confusion between Tk/Config.pm and perl's Config.pm
* Moved demos to be their own sub-directory. Will allow more subtle
handling of #! line when that is in place and allows demos to
be uninstalled separately
* Merged Tix-4.0 (production) C code. Adopted Tix's tkWm and tkMenu
enhancements.
Changes in b8
* Adjusted handling of 'const' in pTk C code.
* Changed delegation to really define AUTOLOADed delegate
function avoids horrible overhead on each call.
* Corrected Steve's long standing issue with inserting selection
with <2>.
* Fixed all the 'use Pretty' problems.
* Merged tk4.0p1 patches
* Added explicit Tk::focus in places to allow tab traversal etc.
of canvases which have their own focus method.
* Added Optionmenu.pm
* Divided Text bindings into two parts - one appropriate
for read-only Texts - to make it easier to derived HTML
stuff from Text.
* Added ability to specify X11 location as
perl Makefile.PL X11=/path/to/X
* Other things I have forgotten.
Changes in b7
* Added workround for perl bug in new C version Callback::Call called from
perl in a loop (e.g. showed up in color_editor apply defaults).
* Changed Makefile.PL's to allow build on OSF again
* Changed enabling of -Werror for GCC to only occur where my home
directory exists.
* Adjusted Frame.pm to comprehend that -colormap is create-time only
option.
* Applied John Outerhout patch to tkImgPhoto.c
* Enforced 14 character filename length limit on all files in MANIFEST.
Renamed
ScrolledListbox -> ScrlListbox
FileSelector -> FileSelect
LabledEntry -> LabEntry
LabledRadio -> LabRadio
>> INCOMPATIBLE <<
* Fixed memory leak due to -textvariable
* Implemented Tcl_GetVar2 so that -fontmap and -colormap work
for canvas postscript option.
Added trivial postscript demo canvas_ps, and postscript print
option to widget demo 'plot' (Thanks Guy/Steve).
Changes in b6
* Merged production tk4.0 C code and doc files, and added
new winfo commands to Widget.pm
* Demos updated from Steve as usual - thanks as always.
* Changed Tk::Widget::new code so that Name => name pair can
occur in any position.
* Added a DoWhenIdle to ConfigChanged when a composite's configure
changes. Derived class can override this method to (for example)
repaint when all of a group of configures have occurred.
(Still experimental).
* Fixed Canvas tags inquiry.
* Changed 'WidgetClass' declaration scheme to something more readable (IMHO).
>>> INCOMPATIBLE <<< (But WidgetClass is still there for now...)
* Eliminated the string evals for constructor and convenience methods,
in favour of assigning to globs.
>>> Requires perl5.001m for fixes to closures <<<
* Automatically create @Tk::Xxxxx::Inherit::ISA (as per perlbot)
when a widget Construct occurs.
Provide Inherit method to use above.
* Implemented Tk/perl hooks to allow Text regular expression matching
to work (using perl style regexps!)
* Added Busy/Unbusy to inhibit events and display a cursor while
doing something that takes a while.
* Continued evolution of Composite stuff, making ConfigSpecs
an array to allow defaults to be specified.
More types of configure now allowed.
Tk::Composite has gone, Tk::Frame is now the base class,
with Tk::Toplevel @ISA'ing Tk::Frame
Hacked all existing Composites to use new scheme,
partially functional FileSelector converted too.
>>> INCOMPATIBLE <<<
* Eliminated dubious practice of pattern matching the package name
to decide on core Tk widget (an one or two other things).
Such things are now found via inheritcance.
* Major overhaul of internals of tkGlue.c, fixed leaks and core dumps.
Added END block to Mainwindow.pm to cleanup after 'die'.
* Permitted multiple MainWindow->new calls
this requires Tk->update style calls to change to $widget->update
>>> INCOMPATIBLE <<<
* Started tkpod pod viewer
Changes in b5
* Fixed Photo dynamic loading problems highlighted by AIX.
* Fixed warnings/errors on XFree() building Xlib.ft (SGI and others)
* Fixed tear-off menus with Radio/Check button items.
* Adopted Stephen's latest ColorEditor stuff.
* Adapted Stephen's Composite.pm stuff, adding delegation of
methods and configure stuff, and allowing Toplevel composites
without dummy Frames. Propogated style to ScrolledListbox, Dialog
and ErrorDialog. Tweaked (some of ) demos as well.
* Merged tk4.0b4 C code and converted its 'man' pages to doc/*.html
Minor tweak to Tk.pm/Widget.pm for change of 'winfo allmapped' to
'winfo visible'.
More consequences of tk4.0b4 expected when further testing occurs.
(*.tcl -> *.pm audit *NOT* yet done.)
* Moved 'xpm' library out of pTk and into Pixmap which is what uses it.
* Changed whole approach to stdio 'cnt' that latest Configure
'broke' for linux.
Now simply define a function in tkGlue.c using perl's FILE_cnt() macro.
* Removed perl patches from the distribution now that perl5.001l
is widely available, and patches were getting bulky.
* Edited pTk/mTk/tkPack.c and pTk/mTk/tkPlace.c so that their info
sub commands return usable perl lists.
Added convience methods $widget->packslaves and $widget->packinfo.
* Fixed problem in Text 'search' which either rendered it non-functional,
or caused a segfault.
* Changed way 'vtables' are declared to avoid problems with one
Linix dld variant.
* Incorporated Stephens conversion of tk4.04 style demos.
* Converted palette.tcl and merged into Widget.pm
* Adopted code for myConfig that tries to locate X includes and
library by looking for an xmkmf in $PATH.
* Hacked Makefile.PL's to correctly build full-static tkperl
Added code to Tk.pm to supress used-once warnings on internal
variables.
* Moved all the major widgets to be separately loadable
* Tweak Composite stuff some more - it should still be considered
subject to change, but basic structure should be okay.
- Not all composites are in same style yet
- I may have missed some $cw->{-opt} changes to $cw->{Configure}{-opt}
- ConfigSpecs 'delagation' needs work to make the fact that
a widget is a composite transparent to the user.
* In place are ways to direct -xxx to a subwidget->configure(-xxx)
* Need way to direct -xxx to a subwidget->configure(-yyy)
* Need way to direct -xxx to somewidget->handler(-yyy)
* Need cget
* Need to be able to use options
Changes in b4
* An 'experimental' release which attempts to minimize startup time
and memory use by AutoLoading and Dynamicaly loading as much as possible.
As such it may be seriously damaged on machines which don't support dynamic
loading - such machines should probably stick to Tk-b3.
Needs a patch (supplied) to perl5.001e to make auto-loaded methods work.
* A few fixes from Stephen Lidie to demos (Thanks again Stephen).
* Removed most of the $w->IsXxxx tests following recent discussion
by perl5-porters.
* Other minor cleanups.