summaryrefslogtreecommitdiff
path: root/iwidgets/CHANGES
blob: d012c1f9d744c7f26c2455e0c9f8048bb4d8f12c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
[incr Widgets] CHANGES
----------------------

==========================================================================
CURRENT VERSION:  4.0.1
PREVIOUS VERSION: 4.0.0
DATE: 9/16/02
CONTACT: Chad Smith (itclguy@attbi.com)

  This is primarily a bug-fix release of the [incr Widgets].  Please see
the ChangeLog for a detailed explanation of the changes made to the various
widgets and the SourceForge tickets to which each change is associated.

  Check out the incoming/demos directory.  I've added a couple new widgets
that were submitted to SourceForge.  Let me know if you think they are
useful or not.  If so, they can be added to the distribution in a future
release.

  Many thanks to Marty Backe for his tireless efforts closing out numerous
SF tickets for this release!

==========================================================================



==========================================================================
 -------------------------- iwidgets-4.0.0 ------------------------------
 -------------------- CHANGES FROM iwidgets-3.1.0 -----------------------
==========================================================================
DATE: 8/07/01
CONTACT: Chad Smith (itclguy@yahoo.com)

--------
CHANGES:
--------
  This release of the [incr Widgets] marks the first time they are
released independently of the [incr Tcl] distribution.  The Iwidgets
package is now separate from Itcl and can be optionally downloaded
and built as a true extension to Itcl (well actually Itk).

  Along with the Makefile/configuration-type changes necessary for
removing the Iwidgets from Itcl, there are many other changes you
should note in this release.  I'll try to list each of these:

o - The most important change is that doing a 'package require Iwidgets'
    no longer pulls the itcl namespace commands into the global namespace.
    Previously, this was done because none of the itcl-specific commands
    such as class, configbody, etc. were properly resolved in the [incr
    Widgets] classes.  Now, all references to itcl commands use proper
    namespace resolution.  For example, "class iwidgets::Checkbox" is now
    replaced with "itcl::class iwidgets::Checkbox".

    Here is a list of itcl commands that are now properly scoped:
	class
	body
	configbody
	scope
	code

    There are likely many folks in the community that have come to rely
    on the exporting of itcl commands into the global namespace, so if you're
    one of these folks you have two choices if you want to use this version
    of the [incr Widgets]: (1) You can add a "namespace import -force itcl::*"
    at the beginning of your application (this is what 'package require
    Iwidgets' used to do); or (2) you can add "itcl::" in front of each of the
    itcl-specific commands in your code.

o - A new mega-widget, extbutton, was added to the distribution.  Note that
    this new widget will only work with Tk 8.4 or later.  A man page and
    test case is available in the distribution.

o - "readonly" was added as a new value for the combobox's -state option.

o - A new option, -gmt, was added to the datefield.  It accepts boolean values.

o - A new option, -state, was added to the radiobox.

o - A new method, bbox, was added to tabset to return the bounding box that
    will completely enclose all tabs.

o - A new option, -automount, was added to extfileselectionbox and
    fileselectionbox.

o - Error checking was added to hierarchy's -alwaysquery option to enforce
    boolean values, and some memory leaks were plugged in the 'clear' method.

==========================================================================



==========================================================================
 -------------------------- 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.