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 4
Bindings 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.