**********************************************************************
Tix 4.0 a1
**********************************************************************
Tix 4.0a1 ALPHA Release:
----------------------------------------------------------------------
This is the first release of Tix 4.0. Not everything is
working. There is very little documentation except the best
kind of documentation -- the source code itself :)
This alpha release is intended for TK developers only. Please
don't use it in critical applications whose failures will
cost your jobs.
>>>>>> Please read the file README.LEGAL first. Also, read the
"frequently asked question" section at the end of this
document. It also covers some legal issues of this version of
Tix.
Requirement
-----------
(1) TCL 7.4 and TK 4.0
Inaddition, if you want the SGI GL widgets you also need
(1) the glxwin-1.3.1 from MIT. I have included it inside
** You don't need [incr tcl] because Tix is based on its own
OOP framework.
Installation
------------
(1) With Tix 4.0, you need to compile a C library. Go into src and
edit the Makefile to suit your configuration. If you want to
use the Silicon Graphics GL, edit the file Makefile.sgi
After that, you can type "make", which will give you libtix.a and
tixwish.
Notice that if you use Makefile.sgi, it will generate files of
the same name. Therefore, if you want to have an SGI version
together with a non-SGI version, then you have to rename the
GL capabale tixwish to something else.
(2) After you finish with the binary, you can install the TCL script
library of Tix. You can copy the whole subdirectory
Tix4.0a1/library to /usr/local/lib/tcl. If you put the library
somewhere else, you have to set the environment variable
TIX_LIBRARY to point to that directory.
(3) Now you can start to play with the demos. Make sure these
environment variables are set up correctly:
TCL_LIBRARY --> TCL 7.4 library
TK_LIBRARY --> TK 4.0 library
TIX_LIBRARY --> TIX 4.0 libraryary
Change directory to Tix4.0a1/demos and type
$ tixwish -f widget
If it doesn't work, take a step backward. Change directory to
Tix4.0a1/test and try each of them. At least some should work.
GL Widgets
----------
Demos are in Tix4.0a1/test
colorblk.tcl
colored.tcl <<
colorspc.tcl
matedit.tcl <<
matspher.tcl
They are not working properly yet, especially the material
editor.
tixwish options
---------------
Unlike TK 4.0, tixwish still requires the -f option. Therefore:
$ tixwish -f somefoo.tcl
Other options: Allowed values
----------------------------------------------
-fontset 14Point, 12Point, TK
-scheme SGIGray, Gray, Blue, TK
-tixlibrary dir of the TIX script library
API Changes
-----------
(1) The call tixInit is not need anymore. Now the toolkit options
can be specified in the command line or specified in the X
resource database, e.g.
*myapp*fontSet: 14Point
*myapp*scheme: TK
(2) If the scheme OR fontset is set to "TK", then Tix won't touch
the default options of the TK widgets. This is because I
received many complaints about Tix messing up their existing
options.
(3) Almost all widgets have at least some changes in their options
and methods. I know this is painful. However, this is
necessary because the previous versions of Tix were by and
large experimental and they had a lot of stupid designs. The
old interface was awful, irregular and not expressive enough.
The most major change is the subwidget access mechanism. Now
you can use the "subwidget" method to access public widgets.
For example:
tixScrolledListbox .d -scrollbar auto
set listbox [.d subwidget listbox]
$listbox insert end "This is a string"
Most of the old subwidget options are gone. For example, these
options are gone from tixCombobox:
-entrybg
-listheight
Instead, you have to use the option database to specify these
options.
options add *TixCombobox*entry.background gray
or, in the script, you can write
tixCombobox .d -options {
entry.background gray
listbox.height 10
}
There use to be a bunch of subwidget access methods like
tixCombobox::entry
tixCombobox::listbox
Now all of them can be replaced by the "subwidget" method
old:
.cbox subwidget listbox insert end "This is a string"
new:
.cbox subwidget listbox insert end "This is a string"
Nevertheles, these old subwidget access methods are kept for
backward compatibility.
(4) The Intrinsics OOP interface is totally changed from 3.6c.
Hopefully, not many people wrote their Tix widgets. Even if
you had, the change should be easy: you just have to change
the widget class declaration code (~40 lines per widget) and
change the short names form tixFbc to TixFooBarClub. For
example, it took me about 2 minutes to port the ColorEditor
from 3.6 to 4.0.
(5) Misc changes
- TixFileSelectbox
The "-filter" options is gone. Now you should use the
"-pattern" and "-dir" options to specify the matching pattern
and the directory.
- There is a -label option for most "chooser" widgets such as
Combobox, Select, Control, so you don't need to create
separate labels for them. For good alignment effect, try:
option add *main*TixCombobox*label.width 8
option add *main*TixCombobox*label.anchor e
tixCombobox .main.b1 -label "City:"
tixCombobox .main.b2 -label "State:"
tixCombobox .main.b3 -label "Country:"
This will create three comboboxes with alignment
City: ________ V
State: ________ V
Country: ________ V
----------------------------------------------------------------------
Another announcement message of Tix 4.0a1
Announcing TIX 4.0a1 - A Set Of Compound Widgets
I am pleased to announce the availability of Tix 4.0a1, the first
alpha release of Tix. If you have used Tix 3.6, you will love the new
and enhanced features of Tix 4.0:
(1) Lots of new, Motif-style widgets including:
PanedWindow
NoteBook
Combobox
Control (called "SpinBox" in motif)
File Selection box
Popup and Option menu
Balloon help window
MDI (Multiple Document Interface) window
(2) New intergated geometry management supports:
--->> Motif style Form geometry manager <<---
- Automatic scrollbars for listbox
- ScrolledWindow widget that allows you to scroll any type of widget
- Geometry management facilities that allow you to develop a
geometry manager directly in TCL.
(3) Object Oriented Programming Framework
Tix is not based on [incr tcl]. It is based on its own OOP
framework. While [incr tcl] tries to be general, the Tix OOP
framework is tuned tuned for compound widget programming.
Therefore, it allows you to rapidly develop new widgets
without having to go through all the dirty works you have to
do under [incr tcl], such as renaming widget commands.
Also, Tix features a well-defined subwidget access mechainsm
that allows you to easily access subwidgets inside a compound
widgets without compromising the integrity of the OOP
interface.
(4) SGI GL Widgets
If you are developing for the SGI you are going to like these:
- Color Editor
- Material Editor
They are similar to the widgets you can find in the Inventor
SceneViewer.
You can obtain Tix4.0a1 from my ftp site:
ftp://linc.cis.upenn.edu/pub/ioi/Tix4.0a1.tar.gz
Some on-line documentation of Tix can be found at. These HTML files
are pretty old. They will be updated shortly. But just in case you
find some discrepancies between the code and the HTML files, always
rely on the source code. That's the what the "a" in Tix4.0a1.tar.gz
means :)
http://www.cis.upenn.edu/~ioi/tix/tix.html
Please be aware that currently Tix 4.0 is still in ALPHA testing. As
such, the software will contain LOTS of bugs and unstable features.
Also, the programming interface is still transient and will change
according to user feedbacks. Therefore, please advoid using Tix4.0a1
in any production code.
Please try it out and send bug reports, comments, feedbacks to me so
that I know how to improve. Your opinions are important! You can
contact me at
ioi@graphics.cis.upenn.edu
Enjoy!
Ioi.
Last modified Jan 31 11:53