12-4-94 (1) Coded the geometry management hooks to write geometry managers in TCL (2) "cute circle" optional in scrollbar (3) "-sizecommand" for listbox (4) Buttons handle -buff option 12-7-94 (1) Now Geometry Hook Works (2) Tix startup don't need tixInit anymore. Use resources and command line arguments. The following explains why tixBindMaster is necessary (3) ScrolledWindow is half way through 12-8-94 (1) Created a template for new widgets. (2) Started the thermometer widget using the new template. 12-9-94 (1) Geometry hooks now will generate background errors 12-10-94 (1) tixInit.c now parses arguments and options database. Old tixInit procedure is not neded anymore. 12-15-94 (1) Now ScrolledWidget is working -- ported to tixGeometry mechanism. Now they have a common framework. (2) Cleaned up tkMenu.c. All previous extensions to tkConfig.c are removed. Now all Tix specific resources are handled by customed resource handlers inside tixConfig.c. tkConfig.c is not explicitely linked to anymore. 12-16-94 (1) Ported all TK GL widgets (the glw package) from Tix 3.6 to Tix 4.0. (2) Try to modify the look of TK scrollbar's arrows. Don't look good. File abandoned in tix/src/old 12-17-94 (1) Overlay Menu finally working without problems. There are still some hacks (I commented as "mysterious behavior" in the source file tkmenu.c). Overlay menu also works for JK. 12-18-94 (1) Started porting the whole of the Intrinsics to C. Got rid of "csn". This port will take a couple of days to finish. 12-20-94 (1) Simple class objects now working to a certain extend: tix foo tix getbitmap tix config tix config -scheme tix config -s tix getvar -scheme 1-1-95 (1) Tix4.0a1 is released (2) set up a mailing list tix-info@graphics.cis.upenn.edu 1-9-95 (1) tixTmpLine: now is used in PanedWindow, MwmClient, ResizeHandle (2) "wm release" and "wm capture" 1-15-95 (1) tixNoteBook is almost ready.
-type
option of ComboBox
was replaced by two options: -editable
and
-history
setsilent
" methods are replaced by the command
tixSetChooser
tixWidgetDoWhenIdle
. It calls the idle
handler only if the mega-widget associated with this handler
exists.
-listcmd
option of ComboBox is always called,
when the user pops up the listbox. If you want to fill the listbox
just for once, add "$combo config -listcmd {}
" at the
first line of the -listcmd
command Incompatible -- All Tix "Library Options" in the X options database are now prefixed with "tix". {scheme Scheme} is changed to {tixScheme TixScheme}. {bindings Bindings} is changed to {tixBinding TixBinding}. {fontSet FontSet} is changed to {tixFontSet TixFontSet}. N.B. {tixLibrary TixLibrary} remains the same.
New option -listwidth
added to ComboBox.
When Tix sharts up, it checks existance of fonts specified by a FontSet file. If a font does not exist, prints out any error and use the font "fixed" instead.
-backpagecolor
option added to tixNbFrame widget.
This specifies the color of the area that's not covered by the
tabs nor the notebook pages (upper right corner of the
notebook).
In TixNoteBook, I used to use a tixNoteBookFrame widget as the root widget. Now it is changed to be a subwidget (w:nbframe).
-allowempty
option added to tixControl.
This makes it easy to have a "tristated" control that doesn't show
any value. Without this command you need to fiddle with the
-validatecmd
option.
tixSetColorScheme::TixGray
changed to
tixSetColorScheme:TixGray
.During initialization of Tix, when a fontset or scheme is not available, use a default fontset or scheme instead. (used to print out error message and exit).
HList mouse bindings finally implemented. Now selections works real good.
The MS Windows look-a-like file dialog box,
tixExFileSelectBox
, is finally ready. A screen shot
can be located on line at
http://www.xpi.com/tix/screenshot.html
-image
support added to tixHList. hide
command added to HList. Plus a lot other changes. All the changes
are documented in the manual page.
Started to work on the focus handling and keyboard traversal of
mega-widgets.
Now this type of error (hazard) is detected and tixForm will give up after 50 iterations of trying to set the geometry of the master window.label .l1 -text Label1 label .l2 -text Label2 tixForm .l1 -top 0 -bottom -0 -right -0 pack .l2 -expand yes
Incompatible -- The "grid" option of the tixForm command
is changed to tixForm grid master ?x_size
y_size?
.
The Tix_SubCmdInfo
structure is changed. One more
element added to the structure. Should be backward compatible, but
you need to recompile the C code.
typedef struct _Tix_SubCmdInfo { int namelen; char * name; int minargc; int maxargc; Tix_SubCmdProc proc; char * info; Tix_CheckArgvProc checkArgvProc; } Tix_SubCmdInfo;
hide
and show
commands in HList need a new argument, so that their syntax will
be compatible with the syntax of the delete
command.
Current only pathName hide entry entryPath
is
supported, but the all
, sibilings
and
offsprings
options will be added soon.
info selection
command is added to HList (requested
by shyamp@loc3.tandem.com).
ExFileDialog now displays a busy clock.
select
command.
pageconfigure
command has been implemented.
New option -dialogtype
added to tixFileEntry. It can
be set to either tixFileSelectDialog
or
tixExFileDialog
.
wm release
and wm capture
finally seem
to work, at least on all my machines.
Many people requested for LabelEntry. It has been implemented (20 lines of code :-).
-llimit
and -ulimit
options in
tixControl have been renamed to -min
and
-max
. -llimit
and -ulimit
are now aliases to -min
and -max
so they
can still be used in your script. However, the resources names
Ulimit and LLimit are gone so you have to change your resource
descriptions:
from option add *TixControl.ULimit 4 to option add *TixControl.Max 4Bindings for Up/Down arrow keys added to tixControl.
Keyboard bindings are added to tixNoteBook. Now you can use the Tab key to cycle among a set of pages.
Pixmap images fixed to work with windows of depths different than the root window of the display.
-filetypes
option of
tixExFileSelextBox has been slightly changed. Please see the
manual page for details.
-dircmd
option has been added to DirList and ExFileBox. The
original request:
From: nchannen@hookup.net, Neil Channen, Wed Mar 29, 13:02:19, 1995I would like to use your file selection box to browse a list of files on a remote system (via ftp). Thus, I need to have a hook in the fsb that would call an external TCL routine to fill in the list of files and directories, rather than having the fsb do it itself. I have hacked this into the fsb myself, but I suspect that other people may have similar needs. Would it be possible for you to add a "-readcmd" option to the fsb, which would specify the name of a TCL procedure for the fsb to call when it needs to rebuild the directory/file lists? I am enclosing some code below which I am currently using to do this. Note that the code is based on the Alpha 3 version of Tix.
-state option added to HList. Disabled entryes cannot be selected or invoked.
filedialog
command added to the FileEnt widget.
Simple Drag+Drop implemented. This is bascially just to be used in tixplorer.
tixHList supports -at, -after and -before options for "add" and "addchild" widget commands. You can use these options to create new entries at arbitrary positions. The default is still appending the element at the end of the list.
Now the -file argument to tixwish can be omitted.
tixwish will not print prompt unless the --enable-debug flag is set during the configure script or the variable tcl_interactive is set inside the user's run time RC file.
"info hidden" command added for HList
New flag for configure "--enable-patches"
et/
subdirectory and type configure
.
Fixed bug: tixControl used to call -command callback too frequently: now -command is only called when (1) User types return or (2) User changes value and types Tab
New feature: it is now possible to check the validity of the widget options: you can add a 5th field to the -configspec's of a WidgetClass declaration. See tixComboBox.tcl for an example.
Fixed bug: any pixel values (E.g, 10, 1.0m, 20i) can now be used as offset value for TixForm.
tixDestroy
destroys
objects created by tixClass'es.
Improvement: Fixing the code of tixHList.c
Fixed bug: etixwish used to clear the options database during start-up. Now it checks the $data(et) flag brfore doing so.
subst
instead of
tixInt_Expand
in tixClass.c
.Improvement: Now tixBalloon is much more intelligent that it used to be. When the user presses the mouse button inside a "balloon'ed" widget, the balloon will be withdrawn.
Fixed bug: OptionMenu did not de-emphasize the label when
the -state
is disabled
.
-variable
option of all
widgets can take variable names that have spaces in them. For
example, $w config -variable "g(1 2)"
.
src/tixFormMisc.c: line 176 is: > clientPtr->att[axis][which].grid = grid+1; and is *should* be: < clientPtr->att[axis][which].grid = grid;
imageX
and imageY
arguments in
ImgCmpDisplay()
.
tixwish
now accepts inputs from its
stdin, for example "cat script.tcl | tixwish
".
tixOption(courier_font)
has been changed
to tixOption(fixed_font)
.
Improvement: new widget commands delete
,
enable
, disable
, entryconfigure
and entrycget
have been added to
TixOptionMenu. Also, new option -validatecmd
is
added.
Improvement: the -title
option of PopupMenu
widgets can be set in run-time.
Fixed bug: The tix(Ex)FileSelectBox widgets now respond to
the command $w config -directory
and automatically
display the files in the new directory.
tixPushGrab
and
tixPopGrab
allows you to "cascade" grabbing.
tools/tixindex
is now installed by
the install.sh
program. Also, the
tclIndex
file generated by tixindex
now
correctly states that this tclIndex
file is generated
by tixindex
, not auto_mkindex
.
Fixed bug: *relief
is no longer included in the
color schemes.
configure
script and the
setup
program have been moved from the
src
subdirectory to the toplevel directory. Now one
single ./configure command is needed to configure all
subdirectories (et
, src
and
demos-c
).
Improvement: the configure
scriptnow checks
whether the config.cache file is froma different platform. If so,
it doesn't use it.
main.c
program is gone, replaced by a standard
tixAppInit.c
. main.c
was there because I
wanted to be able to type into tixwish even if it was invoked as
"tixwish some_prog.tcl
". main.c
turned out to be an unnecessarily big hack. This problem is now
sufficiently solved by the code in
TixAppContext::Constructor
.
Improvement: The setup program now records the options in
the file .setup.rc
. These options are used
automatically the next time you invoke setup
. This
saves you a lot of typing on non-standard systems.
tixBalloon .b tixComboBox .c .b bind .c -msg "This is a ComboBox" .b bind [.c subwidget arrow] -msg "Press this to see a list" pack .c
Improvement: Tix now bundles the XPM library source code for those who do not have a required version of XPM installed on their system. The existence of the XPM library is detected automatically by configure. If it is not installed on your system, Tix will use the bundled XPM library automatically.
Incompatible: The "message" subwidget in TixBalloon has been changed from a Message class widget to a Label class widget.
delete
method added to PanedWindow.
Improvement: Now some widgets support percent substitution
for their -command
and -browsecmd
options. Percent substitution is enabled if you call tix
config -percentsubst true
or if your command has percent
sign(s) in it.
Improvement: -indicator
option and indicator
widget command are added to the HList widget. The indicator is
silimar to "little triangles" in the Mac.
Bug Fix: ComboBox has been completely rewritten, using state-machine style implementation. It code had been the most ugly part in Tix (garbage had piled up since the Tix 1.0 days).
Improvement: New command
tixBalIgnoreWhenGrabbed
: Tells the balloon not to pop
up if a certain widget (or widget class) has grabbed the
screen. This is necessary for the Balloon to behave properly for
menu and combobox widgets.
DeleteNode()
in tixHList.c
. Bug Fix: The tix public header file is now installed by the make install command.
Bug Fix: Fixed some mysterious code in NoteBook.tcl (Thanks to Richard Ball).
New Widget: TixTree widget: user-configurable tree
Improvement: Now DirTree is based on VTree.
Improvement: HList bindings for single and browse modes are completely rewritten. State diagrams are used to develop the bindings.
Improvement: New delete
command for
PanedWindow.
Improvement: HList now supports headers.
filedialog
widget command for
TixFileEntry
now accepts additional arguments and acts
like the "subwidget" command.
header
. New option: -header
.
cget
is added
to the TixPanedWindow widget. Also, the paneconfigure
command is extended to do all what is is supposed to do.
Bug Fix: The cget
command in NoteBook unsed to
return wrongly typed value.
cget
and configure
.
Control.tcl
.
-subwidget { root { -exportopt { all } -exportcmd { all } } }
Tix_WishInit()
and Tix_MainLoop()
are no longer available. Now you
should initialize Tix as a "normal" Tk extension.
Incompatible -- Tix_Init_Internal()
is not
exported anymore.
tixPrimitive::config
in Primitiv.tcl
)
which caused the combobox to flash when the listbox is popped up. A
true fix will require the patching up of Tk, I have just kludged
around. Improvement: Now the "window" display items can be used anywhere inside an HList widget: any columns, header, indicator.
Bug Fix: Window item resizing was not handled properly in HList: if a window item is a frame with some buttons packed inside, the size requested by the packer was ignored.
et/
subdirectory is better
organized. The file etixAppInit.c
is much simplified
and most the ugly stuff moved to etixInit.c
. It
should be easy to use to create new applications that uses both Tix
and ET.
tixItemStyle
to create display styles. However, the
official name of the command should be tixDisplayStyle
, as mentioned in the man page. Now all sample programs have
been changed to use tixDisplayStyle
instead. The
command alias tixItemStyle
is kept just for backward
compatibility reasons.
Improvement: -selectmode
option and
update
method are added to TixFileEntry. They work the
same way as the -selectmode
option and
update
method of the TixControl widget.
Improvement: New display item type: image
. It
is basically a stripped-down imagetext item.
forget
and
manage
for PanedWindow.
$sw subwidget hsb config -height 10
".Improvement: New XPM reader that does not require the libXpm.a library.
tixMwm
command does not require
a patch to tkXEvent.c
. The patched version of
tkXEvent.c
is removed from the src/
directory.
-dynamicgeometry
for
NoteBook widget.New feature: Now the -scrollbar options for all the scrolled widgets can have the following extended format for "auto" :
auto [+x] [-x] [+y] [-y]The +x, -x, etc are optional switches that specifies that the x (or y) scrollbar should always be shown (or hidden).
itcl_namesp.c
can be found
in the unix-itcl20
directory.
New feature: Now Tix comes with a small automatic test suite. You can type make test to test various features of Tix. More test programs will be added in the future.
test/itcl/scope1.tcl
.
Change: Now the recommended method to setup the Tix package
is the setup
script. Direct use of the
configure
script is greatly discouraged.
Change: Now the installation of the main part of Tix (TCL script library and man pages) are handled by the toplevel Makefile.in. The installation of specific binaries are handled by unix-tk4.0/Makefile.in, unix-tk4.1/Makefile.in, etc.
Change: Now all options taken by the configure script can be specified in the command line to configure. This way setup and configure and be used inter-changeably.
Change: Direct use of the configure script is no longer "strongly discouraged".
Improvement: New resource *tixSchemePriority. You can add this into the .Xdefaults files to adjust the priority level of the options set by the Tix schemes. Please refer to the Tix.n man page.
Bug fix: XPM reader wasn't parsing the header properly and couldn't read any XPM files that heas the header "/* XPM2 */".
New feature: New command refresh for DirTree.
. Bug fix: Tix no longer uses the tkNormalUid variable that used to be exported by Tk.
Changes: New command "flash" for ComboBox. ComboBox doesn't automatically flash anymore when the user selects an entry. You have to call "flash" explicitly.
Changes: Major changes in Schemes:
Bug fix: The ScrolledWindow widget didn't resize the scrollbars accordingly when the client window changed its size.
New feature: New option -dynamicgeometry for tixOptionMenu. When set to false (the default), the size of the menubutton subwidget will be wide enough to display every menu entry fully and does not change when the user selects different entries.
New Doc: NBFrame documentation is available.