diff options
Diffstat (limited to 'itcl/iwidgets3.0.0/CHANGES')
-rw-r--r-- | itcl/iwidgets3.0.0/CHANGES | 1516 |
1 files changed, 0 insertions, 1516 deletions
diff --git a/itcl/iwidgets3.0.0/CHANGES b/itcl/iwidgets3.0.0/CHANGES deleted file mode 100644 index b03c44c4ec0..00000000000 --- a/itcl/iwidgets3.0.0/CHANGES +++ /dev/null @@ -1,1516 +0,0 @@ -[incr Widgets] CHANGE LOG - -========================================================================== - -------------------------- iwidgets-3.0.0 ------------------------------ - -------------------- CHANGES FROM iwidgets-2.2.0 ----------------------- -========================================================================== - - [incr Widgets] version 3.0.0 is compatable with itcl3.0 - - [incr Widgets] has undergone a major overhaul between the last version -and 3.0.0. Since so many changes have taken place it made more since to -list them by widget class name rather than the old style of new features -and bug fixes. The majority of the changes are under the covers and will -have minimal impact of existing scripts, but there are a few that may -bite you. To locate possible incompatabilities, just search this file -for the key words "POSSIBLE INCOMPATIBILITY". - - In addition, quite a few new widgets have been added to the set. They -include the following: - - Calendar - Checkbox - Dateentry - Datefield - Disjointlistbox - Extfileselectionbox - Extfileselectiondialog - Finddialog - Hierarchy - Labeledframe - Mainwindow - Messagebox - Scrolledwidget - Timeentry - Timefield - Watch - - Thanx to the following contributors who have been kind enough to help -me support this effort through enhancements, bug fixes, and new widgets. - - John Tucker jatucker@austin.dsccc.com - Mitch Gorman emrys@net-gate.com - John Reekie johnr@EECS.Berkeley.EDU - Alfredo Jahn ajahn@spd.dsccc.com - Michael McLennan mmclennan@lucent.com - - -Labeledwidget -______________________________________________________________________________ - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Changed component option basis to be that of the "usuals". - ->> Removed a redundant frame component named "shell" just below the hull. - ->> Corrected labelvariable bug. Setting the labelvariable had no effect. - The code has been corrected such that a trace is installed on the variable - which forces an update of the label text upon writes to the variable. - ->> Removed the labmargin frame component used for implementing a margin. - This is now accomplished via the grid by maintaining an empty row/column - for the margin and adjusting its minsize. - ->> POSSIBLE INCOMPATIBILITY - The childsite is now a protected component. - If you need access to it, use the childsite command. - ->> Added new label position orientation settings. The current label - positions are nw, n, ne, sw, s, se, en, e, es, wn, w, and ws. - ->> Updated the test script and man page. - - -Scrolledlistbox -______________________________________________________________________________ - ->> Derived from the Scrolledwidget class which provides the vertical - and horizontal scrollbars along with the options to control their - display. - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Changed component option basis to be that of the "usuals". - ->> Added a -state option that allows you to disable the listbox. Selection - is blocked. The foreground of the scrolledlistbox label is changed - to disbabledforeground. - ->> Fixed the infinite looping problem which would occur with -hscrollmode - set to dynamic and a really long line added just out of the view port. - As you'd scroll down the horizontal scrollbar bar would start flashing - on and off. - ->> Removed the margin frame components used for implementing a margin - between the listbox and scrollbars. This is now accomplished via - the grid by maintaining an empty row/column for the margin and - adjusting its minsize. - ->> POSSIBLE INCOMPATIBILITY - Removed -items option. This was originally - put in as a convienence, but it turns out to be quite costly in terms - of performance. It had to go. The insert/delete/get commands can be - used instead which is much more in line with Tk. - ->> Updated the test script, demo, and man page. - - -Entryfield -______________________________________________________________________________ - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Modified the real type validation to except exponents. Patch provided - by evans@engineous.com (Rick Evans). - ->> The -state option changes the label to disabledforeground when the - entryfield is disabled. - ->> Changed component option basis to be that of the "usuals". - ->> Added a -pasting configuration option to allow user to enable/disable - pasting into the entry component of the entryfield. csmith@adc.com - (Chad Smith) - ->> Removed hardcoded state comparisons in the _keyPress method and replaced - with code to mask out <Ctrl> and <Alt> keypress events. csmith@adc.com - (Chad Smith) - - -Pushbutton -______________________________________________________________________________ - ->> Changed component option basis to be that of the "usuals". - ->> POSSIBLE INCOMPATABILITY - The pushButton component has been changed - to pushbutton. - ->> POSSIBLE INCOMPATABILITY - The following options have been removed - and are not directly available in the pushbutton anymore: - -anchor -justify -textvariable - - The underlying button component still maintains them , but not the - pushbutton itself. You can still set them via the component - command, i.e. ".pb component pushButton configure -justify left" - - -Buttonbox -______________________________________________________________________________ - ->> Changed component option basis to be that of the "usuals". - - -Shell -______________________________________________________________________________ - ->> Changed component option basis to be that of the "usuals". - ->> Added a -width and -height option. A value of zero causes the width - and/or height to be adjusted to the required value based on the size - requests of the components placed in the childsite. Otherwise, the - width and/or height is fixed. The default is zero. - ->> Added -width and -height tests to the test script and updated the - man page. - ->> The activate method no longer returns an error if it is called when - the shell is already active. Instead, the shell is just raised. - - -Dialogshell -______________________________________________________________________________ - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Changed component option basis to be that of the "usuals". - ->> Updated the test script and man page, adding the -width and -height - options that are inherited from the shell. - - -Dialog -______________________________________________________________________________ - ->> Updated the test script and man page, adding the -width and -height - options that are inherited from the shell. - - -Selectionbox -______________________________________________________________________________ - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Changed component option basis to be that of the "usuals". - ->> Modified the insert and delete methods to use the items insert and - delete method rather than configuring the -items option which has - been removed from the underlying scrolledlistbox. - ->> Removed the margin frame component used for implementing a margin - between the items and selection. This is now accomplished via - the grid by maintaining an empty row for the margin and adjusting - its minsize. - ->> Removed the unecessary frame that was used to contrain the width - and height of the widget. This is now performed directly on the - widget hull. - ->> POSSIBLE INCOMPATABILITY - The following options have been removed - and are not directly available in the selectionbox anymore: - -hscrollmode -itemslabelpos -labelmargin -margin -relief - -sbwidth -scrollmargin -selectionlabelpos -vscrollmode - - The underlying components still maintain them, but not the - selectionbox itself. You can still set them via the component - command, i.e. ".sb component selection configure -labelpos nw" or - ".sb component items configure -hscrollmode static" - ->> Added a -width and -height option. A value of zero causes the width - and/or height to be adjusted to the required value based on the size - requests of the components placed in the childsite. Otherwise, the - width and/or height is fixed. The default is zero. - ->> Updated the test script, demo, and man page. - - -Selectiondialog -______________________________________________________________________________ - ->> Pack propagation is now handled by the shell class. - ->> Modified the insert and delete methods to use the insert and - delete method rather than configuring the -items option which has - been removed from the underlying scrolledlistbox. - ->> Changed component option basis to be that of the "usuals". - ->> POSSIBLE INCOMPATABILITY - The "sb" component has been renamed to be - "selectionbox". This is much more descriptive. - ->> POSSIBLE INCOMPATABILITY - The following options have been removed - and are not directly available in the selectiondialog anymore: - -hscrollmode -itemslabelpos -labelmargin -margin -relief - -sbwidth -scrollmargin -selectionlabelpos -vscrollmode - - The underlying components still maintain them, but not the - selectiondialog itself. You can still set them via the component - command, i.e. ".sd component selectionbox configure -margin 10" or - ".sd component selectionbox component items configure -hscrollmode static" - ->> The -width and -height options are now controlled by the shell class. - A value of zero causes the width and/or height to be adjusted to the - required value based on the size requests of the components. Otherwise, - the width and/or height is fixed. The default is zero. - - -Scrolledtext -______________________________________________________________________________ - ->> Derived from the Scrolledwidget class which provides the vertical - and horizontal scrollbars along with the options to control their - display. - ->> Reimplemented geometry management using the grid instead of the packer, - eliminating quite a few unneeded frames along the way. - ->> Changed component option basis to be that of the "usuals". - ->> Removed the margin frame components used for implementing a margin - between the text and scrollbars. This is now accomplished via - the grid by maintaining an empty row/column for the margin and - adjusting its minsize. - ->> The -state option changes the label to disabledforeground when the - scrolledtext is disabled. - ->> Fixed the infinite looping problem which would occur with -wrap set - to none, -hscrollmode set to dynamic and a really long line added - just out of the view port. As you'd scroll down the horizontal - scrollbar bar would start flashing on and off. - ->> Added an index argument to the import method so a file can be - imported into the text area at positions other than just the end. - ->> Updated the test script and man page. - - -Feedback -______________________________________________________________________________ - ->> Corrected namspace problem by removing global scope qualifier from - class definition as well as method and option bodies. Bug report - and patch provided by evans@engineous.com (Rick Evans). - - -Hyperhelp -______________________________________________________________________________ - ->> Corrected namspace problem by removing global scope qualifier from - class definition as well as method and option bodies. Bug report - provided by evans@engineous.com (Rick Evans). - - -Scrolledhtml -______________________________________________________________________________ - ->> Corrected namspace problem by removing global scope qualifier from - class definition as well as method and option bodies. Bug report - provided by evans@engineous.com (Rick Evans). - - -Canvasprintbox -______________________________________________________________________________ - ->> Added tcl_platform to list of global variables declared in print - method. Bug report provided by evans@engineous.com (Rick Evans). - - -Scrolledcanvas -______________________________________________________________________________ - ->> Derived from the Scrolledwidget class which provides the vertical - and horizontal scrollbars along with the options to control their - display. - ->> POSSIBLE INCOMPATIBILITY - The ScrCanvas component has been renamed - canvas. - ->> The -state option changes the label to disabledforeground when the - scrolledcanvas is disabled. - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Changed component option basis to be that of the "usuals". - ->> Removed the margin frame components used for implementing a margin - between the canvas and scrollbars. This is now accomplished via - the grid by maintaining an empty row/column for the margin and - adjusting its minsize. - ->> Updated the test script, demo, and man page. - - -Scrolledframe -______________________________________________________________________________ - ->> Derived from the Scrolledwidget class which provides the vertical - and horizontal scrollbars along with the options to control their - display. - ->> POSSIBLE INCOMPATIBILITY - The childsite is now a protected component. - If you need access to it, use the childsite command. - ->> POSSIBLE INCOMPATIBILITY - The scrCanvas component has been renamed - canvas and the scrFrame component to sfchildsite. - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Changed component option basis to be that of the "usuals". - ->> Fixed the infinite looping problem which would occur with -hscrollmode - set to dynamic and a really long component added just out of the view - port. As you'd scroll down the horizontal scrollbar bar would start - flashing on and off. - ->> Removed the margin frame components used for implementing a margin - between the canvas and scrollbars. This is now accomplished via - the grid by maintaining an empty row/column for the margin and - adjusting its minsize. - ->> Updated the test script, demo, and man page. - - -Promptdialog -______________________________________________________________________________ - ->> Changed component option basis to be that of the "usuals". - ->> POSSIBLE INCOMPATABILITY - Renamed the "ef" component to "prompt". - ->> POSSIBLE INCOMPATABILITY - The following options have been removed - and are not directly available in the promptdialog anymore: - -fixed -justify -labelbitmap -labelimage -labelmargin - -state -textvariable -width - - The underlying components still maintain them, but not the - promptdialog itself. You can still set them via the component - command, i.e. ".pd component prompt configure -labelpos w" - ->> Updated the test script, demo, and man page. - - -Messagedialog -______________________________________________________________________________ - ->> Changed component option basis to be that of the "usuals". - ->> POSSIBLE INCOMPATABILITY - Renamed the "msg" component to "message". - ->> POSSIBLE INCOMPATABILITY - The following options have been removed - and are not directly available in the messagedialog anymore: - -anchor -justify -wraplength - - The underlying components still maintain them, but not the - messagedialog itself. You can still set them via the component - command, i.e. ".md component message configure -justify left" - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Updated the test script, demo, and man page. - - -Hierarchy -______________________________________________________________________________ - ->> New iwidgets hierarchical data viewer mega-widget which manages a list - of nodes that can be expanded or collapsed. Individual nodes can be - highlighted. Clicking with the right mouse button on any item brings - up a special item menu. Clicking on the background area brings up - a different popup menu. - ->> Many thanks to Michael McLennan who provided the nucleus of this code. - ->> Man page, test script, and demo have been produced. - ->> The catalog demo has been updated to include the hierarchy demo. - - -Checkbox -______________________________________________________________________________ - ->> New iwidget checkbox mega-widget which manages a group of check - buttons quite similar to that of the existing radiobox. - ->> Thanks to John Tucker for the contributed code. - ->> Man page, test script, and demo have been produced. - ->> The catalog demo has been updated to include the checkbox demo. - - -Radiobox -______________________________________________________________________________ - ->> Changed component option basis to be that of the "usuals". - ->> Changed the base class to be labeledframe. - ->> Updated the test script, demo, and man page. - - -Spinner -______________________________________________________________________________ - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Removed a redundant frame component named "arrowFrame". - ->> Removed the use of the option database to set the option values. - - -Spinint -______________________________________________________________________________ - ->> Removed the use of the option database to set the option values. - - -Datefield -______________________________________________________________________________ - ->> New iwidget. The datefield is a smart date entry field with adjustable - built-in intelligence levels. It can be made smart enough not to accept - any bad dates or made dumb enough to accept any old thing typed. Since - it is derived from the labeledwidget, it also includes an optional label. - ->> Man page, test script, and demo have been produced. - ->> The catalog demo has been updated to include the datefield demo. - - -Calendar -______________________________________________________________________________ - ->> New iwidget. The calendar widget provide for the selection and/or - display of dates. It displays a single month at a time. Buttons exist - on the top to change the month in effect turning th pages of a calendar. - As a page is turned, the dates for the month are modified. Selection - of a date visually marks that date. The selected value can be monitored - via the -command option or just retrieved using the get method. Methods - also exist to select a date and show a particular month. - - The option set allows the calendars appearance to take on many forms. - For example, the background of the weekdays and weekends can be - independently changed, the starting day of the week can be set to - any of the days, the titles and fonts of everything is configurable, - and an outline can be displayed around the each day. - ->> Many thanks to Michael McLennan who provided me a early copy of his - book which gave me the example on which this code is based. - ->> Man page, test script, and demo have been produced. - ->> The catalog demo has been updated to include the calendar demo. - - -Dateentry -______________________________________________________________________________ - ->> New iwidget. Dateentry is a quicken style date entry field with a - popup calendar produced by combining the datefield and calendar widgets - together. This allows a user to enter the date via the keyboard or by - using the mouse by selecting the calendar icon which brings up a popup - calendar. Since it is based on both the datefield and calendar, both - option sets exists under the same roof in the dateentry. - ->> Man page, test script, and demo have been produced. - ->> The catalog demo has been updated to include the dateentry demo. - - -Messagebox -______________________________________________________________________________ - ->> New iwidget. Implements an information messages area widget with - scrollbars. Message types can be user defined and configured. Their - options include foreground, background, font, bell, and their display - mode of on or off. This allows message types to defined as needed, - removed when no longer so, and modified when necessary. - - The number of lines that can be displayed may be limited. When this - limit is reached, the oldest line is removed. There is also support - for saving the contents to a file, using the standard file selection - dialog. - ->> Many thanks to Alfredo Jahn who came up with idea and provided me a - very stable working version which I extended to support user defined - message types. - ->> Man page, test script, and demo have been produced. - ->> The catalog demo has been updated to include the messagebox demo. - - -Spintime -______________________________________________________________________________ - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Removed the margin frame component used for implementing a margin - between the hour, minute and second components. This is now accomplished - via the grid by maintaining an empty row for the margin and adjusting - its minsize. - ->> POSSIBLE INCOMPATIBILITY - The delete, clear, and insert methods have - been removed. Use the show method to set the time. - ->> POSSIBLE INCOMPATIBILITY - The get method has been changed such that - it returns the time as either a colon separated string or a clock clicks - value. - ->> Added a show method to be used to set the time. The method takes as - an argument either a valid time string, a clock clicks value, or the - keyword now. - ->> The current time will now appear as the default. - ->> Updated the test script, demo, and man page. - - -Spindate -______________________________________________________________________________ - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Removed the margin frame component used for implementing a margin - between the month, day and year components. This is now accomplished - via the grid by maintaining an empty row for the margin and adjusting - its minsize. - ->> Spindate now uses the clock command during the spinning of the date - components. Only valid dates are spun now. - ->> POSSIBLE INCOMPATIBILITY - Changed the -monthformat option to be - string, brief, and full doing away with the optional user specified list. - ->> POSSIBLE INCOMPATIBILITY - The delete, clear, and insert methods have - been removed. Use the show method to set the date. - ->> POSSIBLE INCOMPATIBILITY - The get method has been changed such that - it returns the date as either a string or a clock clicks value. - ->> Added a show method to be used to set the time. The method takes as - an argument either a valid time string, a clock clicks value, or the - keyword now. - ->> The current date will now appear as the default. - ->> Selection and keyboard entry of values has been disabled. The value - may only be changed via the spinners which insures correct operation. - ->> Updated the test script, demo, and man page.. - - -Feedback -______________________________________________________________________________ - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Made all the itk_components public. - ->> Added a trough which appears beneath the feedback widget. It has a - -troughcolor option to set its color. - - -Scrolledhtml -______________________________________________________________________________ - ->> Added -alink (same as -linkhighlight, but matches html naming) and -update - options. - ->> Added new tags to come up to html3.2: - basefont - div - font - table - td - th - tr - ->> Added numbering formats for <li> tag. - ->> Fixed to delete images after page is cleared. - ->> Fixed to bring anchor points to middle when moving down to a nearby - anchor point. - ->> Fixes to regular expression matches. - ->> Performance enhancements with stack algorithm and regular expression - searches. - - -Hyperhelp -______________________________________________________________________________ - ->> Added -closecmd and -maxhistory options. - ->> Made itk_components public/private (which could conceivably break - someone, if they were using a component directly that is now private) - ->> Fixed bindings. - - -Toolbar -______________________________________________________________________________ - ->> Added a destructor to cancel the possibly pending after command request - to display the popup help. - ->> Corrected the vertical packing such that items are expanded horizontally. - - -Finddialog -______________________________________________________________________________ - ->> New iwidget. Finddialog works in conjunction with a text or - scrolledtext widget to provide a means of performing search operations. - The user is prompted for a text pattern to be found in the text or - scrolledtext widget. The search can be for all occurances, by regular - expression, considerate of the case, or backwards. - ->> Man page, test script, and demo have been produced. - ->> The catalog demo has been updated to include the finddialog demo. - - -Panedwindow -______________________________________________________________________________ - ->> Corrected show/hide bug which caused the placement of the sash and - separator to be incorrect. If you added a couple of panes and then - hid them all of them followed by showing them, the sash distribution - was wrong. - ->> Corrected a divide by zero problem which occurred when you hid all - of the panes. - - -Combobox -______________________________________________________________________________ - ->> Mitch Gorman (emrys@net-gate.com) has taken over maintenance of the - combobox from John Sigler. - ->> Entry completion has been added. Should your typing in the entry - field match an item in the list, it is completed for you automatically. - This feature is switchable via the -completion option. The default - is on. - ->> It now utilizes a true button for the arrowBtn component. - ->> The -state option has been fixed such that it can be truly disabled. - ->> Reimplemented geometry management using the grid instead of the packer. - ->> A -grab option has been added to do both local and global grabs - of the drop-down listbox. - ->> POSSIBLE INCOMPATIBILITY - Removed -items option. This was originally - put in as a convienence, but it turns out to be quite costly in terms - of performance. It had to go. The insert/delete/get commands can be - used instead which is much more in line with Tk. - ->> POSSIBLE INCOMPATIBILITY - The following options have been removed: - -autoclear and -fliparrow. - ->> The combobox now utilizes built-in bitmaps for button glyphs. - ->> Removed the margin frame component used for implementing a margin - between the entry and arrow button. This is now accomplished via - the grid by maintaining an empty column for the margin and adjusting - its minsize. - ->> List elements are preserved when switching between drop-down and simple - styles via the -dropdown option. - ->> The functionality of the -state and -editable options have been made - completely independent of each other. It can be editable/normal, - non-editable/normal, or disabled, and toggling one option will not - impact the other option when the first is toggled back - ->> Corrected the validation processing in the -unique option. - ->> Fixed various error messages returned due to bad arguments, options, etc. - - -Fileselectionbox -______________________________________________________________________________ - ->> Reimplemented geometry management using the grid instead of the packer. - ->> Changed component option basis to be that of the "usuals". - ->> Removed frame components used for margins. This is now accomplished - via the grid by maintaining an empty row/column for the margin and - setting its minsize. - ->> Changed the default value of -nomatchstring to "". - ->> The directory and files lists are now shown without the leading - directory name. Although this differs from the Motif standard, it - keeps the fileselectionbox more in line with the tk_getSaveFile dialog. - ->> POSSIBLE INCOMPATIBILITY - The -style option which allowed you to - display the fileselectionbox in a "notif" style using comboboxes - for the filter and selection and kept the lists in a panedwindow - has been removed. A related option, -dirsfraction is also gone. - - This feature caused the fileselectionbox to be much slower during - construction than anticipated. If you liked the "notif" style, it - exists in a new mega-widget call extfileselectionbox and - extfileselectiondialog. - ->> POSSIBLE INCOMPATIBILITY - The childsite is now a protected component. - If you need access to it, use the childsite command. - ->> POSSIBLE INCOMPATABILITY - The following options have been removed - and are not directly available in the fileselectionbox anymore: - - -relief -repeatdelay -repeatinterval -labelmargin - -hscrollmode -sbwidth -scrollmargin -vscrollmode - -dirslabelpos -fileslabelpos -filterlabelpos - -selectionimage- selectionlabelpos -filterfocuscommand - -selectionfocuscommand -dbldirscommand -dblfilescommand - - The underlying components still maintain them , but not the - fileselectionbox itself. You can still set them via the component - command, i.e. ".fsb component dirs configure -hscrollmode none" - ->> POSSIBLE INCOMPATIBILITY - The -horizmargin and -vertmargin options - have been removed. I doubt if anybody other than the most picky - of people will be effected. - ->> Added new childsite position orientation settings. The new - positions are n, s, e, w, top, bottom, and center. - ->> Updated the test script and man page. - - -Extfileselectionbox -______________________________________________________________________________ - ->> New Iwidget. The extfileselectionbox is basically the "notif" portion - of the previous version of the fileselectionbox. It was separated from - the fileselectionbox for performance reasons. - ->> Created test script, demo and man page. - ->> The catalog demo has been updated to include the extfileselectionbox demo. - - -Tabset -______________________________________________________________________________ ->> Corrected tab display problem which was occurring on HP machines. - - Some additional updates were installed in tab selection and deselection. - They will only be invoke should the os be HP-UX. Also, the ability - to scroll the tabs via MB2 has been disabled for HPs. Thanks to - tilt@designacc.com (Thomas Tempero) for first reporting the problem - mikesz@pcs.mot.com (Michael Szilagyi) for sending me the fix which - was implemented. - - -Timefield -______________________________________________________________________________ - ->> New iwidget. The timefield is a smart time entry field. It verifies - user time input prior to its display. Since it is derived from the - labeledwidget, it also includes an optional label. - ->> Man page, test script, and demo have been produced. - ->> The catalog demo has been updated to include the timefield demo. - - -Watch -______________________________________________________________________________ - ->> New iwidget. The watch widget displays a simple clock face. Methods - exist to set/get the time. The hands can be adjusted via mouse selection - with the new setting being retrievable via the get method. It is - very configurable. The colors of the hands, face, and marks can all - be changed to suit your needs. - ->> Many thanks to John Tucker who developed this nice widget. - ->> Man page, test script, and demo have been produced. - ->> The catalog demo has been updated to include the watch demo. - - -Timeentry -______________________________________________________________________________ - ->> New iwidget. Timeentry, like the dateentry, is along the quicken - lines as well. It displays a timefield with a watch icon button - beside it. Selection of button presents a popup watch which enables - you to select the time by dragging the hands about the face. The - popup has a close button that removes the popup and sets the timefield - to the value previously displayed in the watch. You can also just - enter the time directly as you would in the standard timefield. - ->> Man page, test script, and demo have been produced. - ->> The catalog demo has been updated to include the timeentry demo. - - -========================================================================== - -------------------------- iwidgets-2.1.1 ------------------------------ - -------------------- CHANGES FROM iwidgets-2.1.0 ----------------------- -========================================================================== - - [incr Widgets] version 2.1.1 is compatable with itcl2.1 - -NEW FEATURES ------------------------------------------------------------------------------- ->> Added pagecget method to notebook class. - - Patch supplied by Tom Tromey (tromey@cygnus.com). - ->> Added buttoncget method to buttonbox class. - - Patch supplied by Tom Tromey (tromey@cygnus.com). - ->> Added buttoncget method to dialogshell class. - - Patch supplied by Tom Tromey (tromey@cygnus.com). - ->> Added -closecmd option to the hyperhelp mega-widget. - - Previously, closing the hyperhelp widget deleted the object which was - deemed to be user hostile. Now, there exists a -closecmd option - which defaults to just deactivating the widget. Should you wish to - destroy the widget, either do so explictly or modify the -closecmd - to do it. - - -BUG FIXES ------------------------------------------------------------------------------- ->> Corrected selectborderwidth option class name in the toolbar - - The class name was set to SelectBorderWidth rather than BorderWidth. - This created problems when attempting to use the toolbar with - other widgets like the scrolledcanvas. Bug report by csmith@adc.com - (Chad Smith). - ->> Allow negative indexes in scrolledlistbox - - Negative indicies are reasonable and valid. Bug report by - wfarel@cas.org (Bill Farel). - ->> Corrected problem with caps-lock and num-lock in entryfields - - Validation was not being being done if the num-lock or caps-lock - keys are down. Bug report by ronnie@r2d2.wink.com (Ronnie Carpio). - ->> Corrected problem with special character entry in entryfields - - Upon entry of a special character in the entry field like \ or [ - an error would be reported: "Error: missing "". The substitutions - being performed in iwidgets::Entryfield::_keyPress have been corrected. - Bug report and patch provided by ronnie@r2d2.wink.com (Ronnie Carpio). - ->> Made the relayout method in pushbutton protected. - - The relayout method in the pushbutton needed to be changed from private - to protected so parent classes can have access. Bug discovered by - Mario Weilguni <e8732250@student.tuwien.ac.at> - ->> Corrected html tag parsing in scrolledhtml mega-widget - - Fixed regular expressions parsing html tags to ignore text in quotes - and only examine first attribute in list. - ->> Corrected optionmenu insert bug - - The option menu would not allow you to insert an entry beyond the - current length of the popup menu. It should just default to using - the end in this case. - ->> Corrected scrolledtext import method newline insertion problem - - There was a bug in the scrolledtext widget. It always inserted a - newline before the text of the file when doing an "import". And it - didn't correctly preserve a trailing newline on the file. Reported - by Tom Tromey (tromey@cygnus.com) - ->> Corrected minor problems in notebook class. - - The index method gave an error if (eg) "select" wass passed but - there is no selection. Instead it should return -1 as documented. - Changed it to always return -1 in case of error. This makes more - sense. - - If there are no items in the notebook, the -scrollcommand should - still be run (if it is set). Otherwise, you end up with a - scrollbar that looks odd, and when you try to scroll you get - errors. Changed it so that it will tell the scrollbar that - the entire notebook is being displayed. Reported by Tom Tromey - (tromey@cygnus.com) - ->> Corrected menubar menucget command to return errors for bad options. - - The command "<menubar> menucget .element" returned something other - than an error message. This has been corrected. Reported by Tom - Tromey (tromey@cygnus.com) - ->> Corrected menubar man page. - - The usage for the menubar menucget command was wrong and has been - fixed. Reported by Tom Tromey (tromey@cygnus.com) - - -INCOMPATIBLE CHANGES ------------------------------------------------------------------------------- - - -========================================================================== - -------------------------- iwidgets-2.1.0 ------------------------------ - -------------------- CHANGES FROM iwidgets-2.0.1 ----------------------- -========================================================================== - - [incr Widgets] version 2.1.0 is compatable with itcl2.1 - -NEW FEATURES ------------------------------------------------------------------------------- ->> Eliminated unneeded update idletask calls. - - Went through many of the [incr Widgets] and got rid of those update - idletask calls that were not really needed. This should speed a few - of them up a bit. - ->> The hyperhelp mega-widget has been enhanced such that topic items - don't need to be in the help directory. - - It's just an added option in specifying topics. To use it, you would - replace '-topics {topic1 topic2 topic3}' with - '-topics {topic1 {topicname2 filename2} {topic3 filename3}}'. In other - words, you only have to change where you want to specify a pathname. If - you don't specify a filename, everything works the same. - ->> Added a -autoclear option to the combobox. - - The combobox was doing an automatic erasure of the entry field contents - upon hitting return. With this option, you can turn that off but it - still puts the string in the list. - ->> Added a -master option to the shell class. - - The shell made all instances transient with "." as the master. With - this option, you can change the master to other toplevels. The default - is no master for shells, and "." for all dialogs which are derived from - shell. - ->> Added a -style option to the fileselectionbox and fileselection dialog. - - Tony Parent did a great job of augmenting the fileselectionbox with - a style option that allows you to change the layout from the standard - motif look-and-feel to a better than motif layout. This new layout - is called notif and features comboboxes for the filter and selection - entry fields and a paned window contains the two listboxes allowing - you to change the allocation of space for the lists. - ->> Removed the center childsite position for the fileselectionbox. - - This is a side effect of the notif change made by Tony Parent. It - just isn't easy to have a center position when your in a pane window. - It is a small sacrifice for the having an alternate layout of the - fileselectionbox. - - -BUG FIXES ------------------------------------------------------------------------------- ->> The makefile was amended to install the unknown.gif file correctly. - - The hyperhelp and scrolledhtml widgets need an unknown gif file that - is used when unable to load an image. The makefile was not properly - installing it. - ->> The scrolledhtml.n man page was fixed to allow man2html to work. - - The scrolledhtml.n file had a bug which would hang man2html during a - "make install-html". The bug affected only the htmling of the file - not the man page itself. - - -INCOMPATIBLE CHANGES ------------------------------------------------------------------------------- - - -========================================================================== - -------------------------- iwidgets-2.0.1 ------------------------------ - -------------------- CHANGES FROM iwidgets-2.0.0 ----------------------- -========================================================================== - - [incr Widgets] version 2.0.1 is compatable with itcl2.0 - -NEW FEATURES ------------------------------------------------------------------------------- ->> Added extra frame around canvas widget in Scrolledcanvas class - - The borderwidth, relief, and hightlight options have been removed from - the canvas widget and placed on the new encompassing frame widget. This - fixes the problem with canvas widgets including the border and highlight - ring in the clipping region. - ->> Added extra frame around text widget in Scrolledtext class - - The borderwidth, relief, and hightlight options have been removed from - the text widget and placed on the new encompassing frame widget. This - fixes the problem with text widgets including the border and highlight - ring in the clipping region. - ->> The canvasprintbox stamp supports resizing and default print buttons - - Tako Schotanus updated the canvasprintbox such that the stamp now gets - updated whenever the window is resized. Also, he modified the dialog - default buttons to be Print, Apply and Cancel. Apply does a refresh and - Print does what you'd expect. - ->> Added feedback mega-widget to [incr Widgets] - - The feedback widget is a gage for displaying process status. Display - is given as a percentage and as a thermometer type bar. Options exist - for adding a label and controlling its position. - - Special thanks go to Sam Shen(SLShen@lbl.gov), as this code is based on his - feedback.tcl code from tk inspect. The original code is copyright 1995 - Lawrence Berkeley Laboratory. - ->> Added scrolledhtml mega-widget to [incr Widgets] - - The scrolledhtml widget implements a scrollable html text widget through - inheritance from scrolledtext. Import reads from an html file, while - export still writes plain text. Also provides a render command, to - display html text passed in as an argument. - - Special thanks go to Sam Shen(SLShen@lbl.gov), as this code is based on his - tkhtml.tcl code from tk inspect. The original code is copyright 1995 - Lawrence Berkeley Laboratory. - ->> Added hyperhelp mega-widget to [incr Widgets] - - The hyperhelp widget implements a help facility using html formatted - hypertext files. - - Special thanks go to Sam Shen(SLShen@lbl.gov), as this code is based on his - help.tcl code from tk inspect. - ->> Added menubar mega-widget to [incr Widgets] - - Actually it was kind-of already an iwidget. It was living in the incoming - directory for a time. No one had a complaints about it so now it is - a full citizen. - - -BUG FIXES ------------------------------------------------------------------------------- ->> Corrected spurious quote in toolbar.itk - - Thanks to Tom Tromey for finding this elusive little buglet and sending - the patch. Wish all problems were reported in this manner. - ->> Corrected problem with dialogs being unable to acquire a grab. - - The dialogshell activate method would generate an error if unable to - acquire a grab for application and global modal dialogs. The fix - installed adds a catch and a reattempt loop with a delay. In other - words, the dialog shell will continuously attempt to acquire the grab - with a delay between attempts. - ->> Corrected problem with pushbutton not displaying the tab traversal ring. - - The pushbutton would not display the tab traversal ring when the default - ring was enabled. This has been corrected. - ->> Corrected scrolledlistbox getcurselection method with multiple selectmode. - - If the current scrolledlistbox selectmode is multiple, then the - getcurselection method should always return the selected items as - a list, regardless of the number of items selected. It used to - return a list only if more than one item is selected. - ->> Buttonbox wasn't adjusting geometrically following hides if not mapped. - - Bernard Johnson from TI was good enough to find this one. It could - be seen by creating a dialog, activating, deactivating, then hiding - a button. Next, activate it again and you'd notice that the dialog's - buttonbox had not been resized. The problem was that the resizing - of the buttonbox was bound to the map event, which once mapped, was - removed when it shouldn't have been. - ->> Buttonbox wasn't adjusting properly following button additions which - were preceeded by deletions. - - Greg McFarlane found this one. The buttonbox needed to do perform - and update idletasks following the sizing of the box during a deletion. - Otherwise, the values returned by winfo were incorrect during a - subsequent button addition. - ->> Removed underlining of listbox items in the combobox. - - Milind Khandekar requested that this feature be removed. It was - annoying. - - -INCOMPATIBLE CHANGES ------------------------------------------------------------------------------- - - -========================================================================== - -------------------------- iwidgets-2.0.0 ------------------------------ - -------------------- CHANGES FROM iwidgets-2.0b4 ----------------------- -========================================================================== - - [incr Widgets] version 2.0.0 is compatable with itcl2.0 - -NEW FEATURES ------------------------------------------------------------------------------- ->> The copyright has been assigned to DSC Communications Corporation. - - The copyright has been transferred from private individuals to DSC. - It is still an open copyright, just changes in the legalize wording. - ->> Added several new mega-widgets. - - The new mega-widgets include the toolbar, tabnotebook, tabset, and - notebook. Check the man pages for details. - ->> Added demo catalog. - - The demos directory now contains a catalog program. It displays the - code for each demo upon single select. Double-click starts the demo. - ->> Added incoming directory for experimental mega-widgets. - - An incoming directory exists in the distribution which contains beta - state mega-widgets. They are not installed, but do include the needed - doc, demos, and tests. These mega-widgets may or may not make the cut. - Please send feedback on their viability. If enough positive response - is felt, then they will be moved up. Otherwise, I'll move them to an - outgoing directory and later delete them altogether. - ->> With the introduction of the new itcl-2.0b3 code command, the following - changes were required. - - All "bind" and "after" commands now use "code". - - All "-command" options and scrollbar commands now use "code". - - Removed "uplevel /scope" combinations from command type options. - - Replaced "eval" with "uplevel #0" for evaluation of command options. - ->> Added curselection method to selectionbox and selectiondialog class. - - The curselection command from the contained listbox of the selectionbox - has been thinwrapped. - ->> Removed BLT dependency for implementing application modal dialogs. - - The dialogshell class no longer uses blt_busy for application modal - dialogs. Instead, local grabs are performed. The benefits are speed - and extension independence. Minus is the loss of the watch cursor - which blt_busy used. I figure, programmers wanting the cursor action - can implement it themselves on an as needed basis. - ->> Added a grab stack in the dialogshell. - - The dialogshell uses a grabstack to keep track of the current blocking - levels. Thus a application modal dialog can activate another one and - upon closing the last one, the next one in the stack gets the block. - This feature did not exist before. - ->> Replace "after 1" commands with "after idle" - - This produces the same result, but makes for a cleaner syntax. - ->> Added center command to the dialogshell. - - The dialogshell provides a center command which takes an optional argument - of the path for another widget. Upon activation, the dialogshell will - be centered with respect to it. The command may also be invoked with - no arguments to center the dialogshell on the screen as a whole. Since - all other dialog classes are derived from dialogshell, all dialogs now - have the center command available. - ->> Made the Help button hidden by default for dialogs - - Most people turn it off right away anyway. It is still there. Just need - to do a "show Help" if you need it back. - ->> Comboxbox now derived from entryfield. - - The combobox structure has been modified to be derived from the entryfield - class. Now combobox labels can be aligned using the labeledwidget - alignlabels method along with optionmenus, entryfields and such. - ->> Added -justify and -wraplength to Messagedialog. - - The justify and wraplength options are now kept for the label in the - messagedialog widget. - ->> Added a man page generator for itcl. - - In the doc directory is a new utility called mkitclman. It does a good - job at an initial pass of man page generation for new iwidget classes. - You still need to get in there and beef up the man page which is produced, - but it is better than starting from scratch. - ->> Added the canvasprintbox and canvasprintdialog mega-widgets. - - Two new mega-widgets, canvasprintbox and canvasprintdialog, have been - contributed to [incr Widgets]. Thanks to Tako Schotanus, - Tako.Schotanus@bouw.tno.nl. - ->> Added the textbackground option to the scrolledcanvas widget - - The textbackground option has been added to the scrolledcanvas widget - similarly to the scrolledlistbox and entryfield widgets. - - -BUG FIXES ------------------------------------------------------------------------------- ->> Enabled repeat action in spinners. - - This was available in iwidgets two versions ago. I made in incorrect - merge and lost the change. It has now been added back into the spinner. - ->> Eliminated use of #auto in panedwindow. - - Using #auto made the test script fail should you run it two times in a - row. Instead, the class keeps its own unique counter which is always - reset upon construction. This was more of an annoyance than a bug. - ->> Corrected selection problem in selectiondialog. - - The selectiondialog wasn't configuring the itemscommand properly, so - selection of an item was not reflected in the selection entryfield. - ->> Corrected index usage problem in buttonbox insert method. - - The buttonbox insert method didn't correctly convert the index argument - prior to inserting the new pushbutton. This has been fixed. - ->> Corrected flicker problem in scrolled* widgets. - - Modified the scrolled* widgets to only change the current scrollbar - display if different than the current setting. This fixes the flicker - problem which was apparent during horizontal scrolling. - ->> Entryfield command option performs a break. - - Following evaluation of the command option for entryfield widgets, a - break is performed. This caused a problem when entryfields were in - a dialog. Hitting return in the entryfield, invoked the dialogs - default button. This has been fixed. - - -INCOMPATIBLE CHANGES ------------------------------------------------------------------------------- ->> Removed -highlightbackground option from mega-widgets - - All the -highlightbackground options have been renamed to be -background. - This was always an annoyance anyway. Now, setting the -background changes - all the highlightbackgrounds as well. Should anybody still for some odd - reason need -highlightbackground, just access the component with the - "component name configure" command. - - -========================================================================== - -------------------------- iwidgets-2.0b0 ------------------------------ - -------------------- CHANGES FROM iwidgets-2.0b1 ----------------------- -========================================================================== - - [incr Widgets] versions b1, b2, b3, and b4 are compatable with itcl-2.0b2 - -NEW FEATURES ------------------------------------------------------------------------------- - ->> A secondary lower case mega-widget command now exits. - - Mega-widgets can now be created using the new lower case, more tk'ish - method or still using the class name. - - Entryfield .ef and entryfield .ef - - both perform the same operation. - ->> The demos should now all work. - - The correct wish is now called. itkwish instead of the old itcl_wish. - ->> The man pages have all been updated to the best of my ability. - ->> A new more minimal format for the code style has been implemented. - - The class declaration only contains declarations. All implementation is - spearate. This creates a much more readable class. - ->> All class file names as well as the tests, doc, and demos are all lower - case. - ->> Several new validate types such as hexidecimal and real have been added - to the Entryfield. - ->> The Panedwindow class additional commands: - - A paneconfigure command exists for configuring indiviual tagged panes. - - panedwindow .pw - .pw add first - .pw add last - .pw paneconfigure first -margin 10 - - An insert command exists. It takes an index and tag as arguments followed - by optional arguments to be applied to the pane. - - .pw insert end second -minimum 20 - ->> The Buttonbox class now has additional commands: - - A buttonconfigure command exists for configuring indiviual tagged buttons. - - buttonbox .bb - .bb add OK -text OK - .bb add Cancel -text Cancel - .bb buttonconfigure OK -command [list puts OK] - - An insert command has been added. It takes an index as the first arg, - followed by the tag and button arguments. - - .bb insert Cancel Apply -text Apply - - The invoke command no long excepts a list of buttons to invoke. That - didn't make much sense. It takes an optional index for a single button - to invoke. Without any arguments, the default button is invoked. - -BUG FIXES ------------------------------------------------------------------------------- - ->> Corrected scrolled* packing - - The packing order of all the scrolled* mega-widgets has been modified - such that the scrollbars are the last to be clipped. - ->> Corrected buttonbox single button centering - - The buttonbox has been modified such that a box with only one button - will be correctly centered. - ->> scrolledlist selection corrected - - The -selectioncommand is now invoked following any selection of an item, - regardless if it was already selected. The programmer must now determine - if the selected item has changed if necessary. The previous approach of - only invoking the -selectioncommand if the selection has changed caused - too many problems, making it behave erraticly. - ->> Corrected problems preventing classes being derived from scrolled* classes - - Several variables were incorrectly declared to be private rather than - protected. Also, the _scroll* method was incorrectly declared private - instead of protected. These problems prevented inheritance from the - scrolled* classes. - - -INCOMPATIBLE CHANGES ------------------------------------------------------------------------------- - ->> The class names are now upper case on the first character only. - - Class names have been changed to be upper case on the first character - only to be more X'ish. Old class names like EntryField are now Entryfield. - ->> All public methods are now all lowercase. - - This effects the typical common method such as childsite. Others effected - include : - - ::iwidgets::Labeledwidget::alignlabels - ->> Labeledwidget class changes: - - The -labelon option has been removed. The mega-widget now unpacks both - the label and margin if neither the -labeltext, -labelbitmap, or - -labeimage have a value. - - The -font option has been removed. The -labelfont option should be used - instead. - ->> Entryfield class changes: - - The -labelon option is not inherited by the Entryfield anymore. See the - Labeledwidget changes above. - - The Entryfield fixed option has a different meaning. It now specified - the maximum number of characters allowed. A value of zero is unlimited. - This frees up the width option to be able to specify a greater number - of characters than the fixed amount for visual effect. - - The -type and -validate options have been combined to just -validate - which now takes either a type keyword or a command. The command receives - additional trailing arguments consisting of the input character and the - the widget. I hope to change this soon to use substitutions like %c - for the character at a later date. - - The -background option has been removed. The -textbackground option - should be used instead. - - The -validate option now has several substitution strings which may be - passed to the validation script. - ->> ScrollBar class changes: - - It has been deleted. It wasn't a big win. The only benefit was that the - -background option automatically calculated the troughcolor at 80% of - its value. It's just as easy to use the option database and change the - Tk scrollbar troughcolor to whatever value is desired. The various - scrolled* classes now all use the straight Tk scrollbar. - ->> Panedwindow class changes: - - Panes are now tagged. This means the add, and insert methods take an - additional argument which is the tag for that pane. - - The panedwindow index method now takes the tag as well as the number and - keyword "end". Other methods such as delete, hide, and show now can use - the pane tag as an index. - - panedwindow .pw - .pw add bottom - .pw insert 0 top - .pw insert 1 middle - .pw delete middle - - The refresh method has been renamed to reset. - - The semi-private -state option has been removed. The only method of - controlling the display of panes is via the hide and show methods. - ->> Dialogshell class changes: - - The modality option value of "system" has been renamed to be "global" - ->> Dialog class changes: - - All the options for the buttons have been removed. The buttonconfigure - method should be used instead. The class simply creates the standard - OK, Apply, Cancel, and Help buttons tagged by their default labels. - The buttonconfigure method can be used to make modifications to the - buttons. The hide and show methods should now be used instead of the - the -disp* options. - - dialog .d - .d buttonconfigure OK -text Enter - .d hide Help - .d hide Apply - - The -orient option is no longer kept. It seemed rarely used if at all. - The -buttonboxpos option handles the mojority of the cases as is. - ->> Scrolledcanvas class changes: - - The binditem method is now been renamed back to bind. This is what it - should have been all along. A problem in the alpha version of [incr Tcl] - prevented use of this word. - |