URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [insight/] [itcl/] [iwidgets3.0.0/] [README] - Rev 1765
Compare with Previous | Blame | View Log
------------------------------------------------------------------------------
[incr Widgets] - version 3.0.0
------------------------------------------------------------------------------
This version is compatible with itcl3.0
Please send general comments or suggestions to mulferts@spd.dsccc.com.
Should you have an enhancement or comment regarding a specific mega-widget,
please send email to the author listed in the source header.
==============================================================================
Copyright (c) 1995 DSC Technologies Corporation
==============================================================================
This software is copyrighted by DSC Technologies and private individual
contributors. The copyright holder is specifically listed in the header
of each file. The following terms apply to all files associated with the
software unless explicitly disclaimed in individual files by private
contributors.
Permission to use, copy, modify, distribute and license this software and
its documentation for any purpose, and without fee or written agreement
with DSC, is hereby granted, provided that the above copyright notice
appears in all copies and that both the copyright notice and warranty
disclaimer below appear in supporting documentation, and that the names of
DSC Technologies Corporation or DSC Communications Corporation not be used
in advertising or publicity pertaining to the software without specific,
written prior permission.
DSC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, AND NON-INFRINGEMENT.
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND
DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
ENHANCEMENTS, OR MODIFICATIONS. IN NO EVENT SHALL DSC BE LIABLE FOR ANY
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
RESTRICTED RIGHTS: Use, duplication or disclosure by the government
is subject to the restrictions as set forth in subparagraph (c) (1) (ii)
of the Rights in Technical Data and Computer Software Clause as DFARS
252.227-7013 and FAR 52.227-19.
==============================================================================
OVERVIEW
------------------------------------------------------------------------------
- Introduction
- Distribution
- Web site
- Getting started
- Contributions
- Acknowledgements
------------------------------------------------------------------------------
Introduction
------------------------------------------------------------------------------
[incr Widgets] is an object-oriented mega-widget set which extends
Tcl/Tk and is based on [incr Tcl] and [incr Tk]. This set of mega-widgets
delivers many new, general purpose widgets like option menus, comboboxes,
selection boxes, and various dialogs whose couterparts are found in Motif
and Windows. Since [incr Widgets] is based on the [incr Tk] extension, the
Tk framework of configuration options, widget commands, and default bindings
is maintained. In other words, each [incr Widgets] mega-widget seamlessly
blends with the standard Tk widgets. They look, act and feel like Tk
widgets. In addition, all [incr Widgets] mega-widgets are object oriented and
may themselves be extended, using either inheritance or composition.
[incr Widgets] offers a strong object-oriented foundation which addresses
the need for a flexible and extensible mega-widget set. Its usage replaces
common widget combinations with higher level abstractions, simplifying code,
reducing errors, increasing readability, adding productivity, and promoting
a singular look-and-feel. The ability to extend [incr Widgets] enables
developers to create new mega-widgets based on previous work.
In short, [incr Widgets] is a library of reusable mega-widgets that can
be easily extended using composition or inheritance, allowing quicker
development of large scale applications. Usage drastically reduces
development time. New dialogs can be created in hours. Whole applications
in a few days. Reuse becomes a reality. Many projects are benefitting frm
the intergration of this mega-widget set into their development strategy.
[incr Widgets] is an [incr Tcl] and [incr Tk] success story. Good products
come from good foundations.
Distribution
------------------------------------------------------------------------------
The [incr Widgets] distribution is included with [incr Tcl] version 2.0
and greater. It is available via ftp at ftp.neosoft.com/tcl. Consult the
included release documentation for installation notes. For the latest
in distribution information, this web site should be consulted.
The [incr Tcl] distribution will always include the most current release
of [incr Widgets] which was possible at the time of its release. It is
anticipated that [incr Widgets] will change more rapidly than [incr Tcl].
This being the case, in between [incr Tcl] releases, the latest version
of [incr Widgets] is also separately available via ftp at the same
location list above as well as the web site.
The version number of [incr Widgets] tracks the release of [incr Tcl]
for which it is compatible. The version numbering system for [incr Widgets]
includes an extra number. For example version 2.1.1 of [incr Widgets] is
compatible with [incr Tcl] 2.1. As the minor number of [incr Tcl] increases
the second digit of the [incr Widgets] version varies. This makes for
easy release identification.
Web site
------------------------------------------------------------------------------
For the most current news regarding [incr Widgets] please consult the web
set - http://www.tcltk.com/iwidgets. The site contains a lot of good
information such as tutotials, man pages, and examples. Plus, I'm real
proud of our new logo. Also, catch our picture under the development
team link. Many thanks to the good people at Webnet Technologies for
the excellent web production work. Joe Bob says "Check it out !"
Getting started
------------------------------------------------------------------------------
The "doc" directory contains man pages and a technical paper. The man
pages are installed under the man directory off your --prefix. In
addition, the makefile includes an install-html target for creating
a HTML version of the man pages. They are placed under your prefixed
doc directory.
doc/iwidgets.ps ... Updated paper presented at Tcl Workshop 95.
doc/*.n ........... Man pages
The "demos" directory contains demo scripts for each mega-widget. The
demos are also installed under the lib directory off your --prefix.
demos/catalog ..... Comprehensive demo package which illustrates
[incr Widgets] usage additionally displaying the
source.
The "tests" directory contains a set of test scripts for [incr Widgets].
They also make for a great demo of the flexiblity of the mega-widgets.
Once you've built your itkwish, try firing it up and sourcing "all" in
the tests directory.
Installation
------------------------------------------------------------------------------
[incr Tcl] with [incr Widgets]
As previously stated, the latest version of itcl contains the latest
version of iwidgets. Having the itcl distribution is a prerequsite
to using iwidgets. Thus, if you don't have itcl follow the these steps
to acquire itcl and iwidgets.
1) Read the distribution section notes above.
2) Obtain the [incr Tcl] 3.x distribution from the archive site like this:
ftp ftp.neosoft.com
cd /pub/tcl/sorted/devel/
binary
get itcl3.0.tar.gz
get itcl3.0.README
quit
3) Follow the directions in the itcl README file.
If you've already got itcl and have found a newer version of iwidgets
at neosoft, then follow the following steps.
1) Read the distribtion scetion notes above.
2) Obtain the [incr Widgets] 3.x.y distribution from the archive site
like this:
ftp ftp.neosoft.com
cd /pub/tcl/sorted/devel/
binary
get iwidgets3.0.1.tar.gz
quit
3) cd to your compatable itcl source directory. For example:
cd /usr/local/src/itcl3.0
4) Uncompress and untar the iwidgets distribution:
gunzip iwidgets3.0.1.tar.gz
tar xvf iwidgets3.0.1.tar
5) Run the configuration script:
cd iwidgets3.0.1
./configure
or, for systems that don't recognize "#!" in shell scripts:
cd itcl3.0
/bin/sh ./configure
By default, the configuration script will set things up
to be installed in "/usr/local". You can change this
by specifying a different "prefix" in the "configure" command.
You'll want to use the same value you used for the prefix in
the configuration of your itcl3.0 distribution.
./configure --prefix=/your/install/path
You can also add options for a particular "cc" compiler and
compiler flags:
./configure --with-cc=gcc --with-cflags=-g
The "configure" script generates new Makefiles from their
respective templates (Makefile.in).
6) Build the iwidgets library:
make all
7) Install the iwidgets library, man pages and script files.
make install
8) Optionally, you can install the html'ed version of the iwidgets
man pages:
make install-html
Contributions
------------------------------------------------------------------------------
I feel that [incr Widgets] is a good start in the direction of establishing
a strong set of object-oriented mega-widgets, but I swear that everytime I
go back and look at the source I see an even better more simplier way
something could have been accomplished. Should anybody within the Tcl/Tk
community come upon an even better way, a great enhancement, or an awesome
new mega-widget altogether, please don't hesitate to send it to the author
listed in the header or myself, mulferts@spd.dsccc.com, as moderator. I or
any of the development team members are always available via email for a
technical interchange of ideas.
[incr Widgets] is a continuing effort. We have many new mega-widgets
currently under development and are actively looking for volunteers willing
to contribute their own [incr Tk] based mega-widgets for inclusion into
the [incr Widgets] set. The distribution is moderated. Contributed
mega-widgets should be of good quality and complete with documentation,
tests, and demonstrations. Please follow the coding style found in the
distribution source. This includes man page and test script formats as well.
The languages and extensions on which [incr Widgets] is based are of high
standards. [incr Widgets] strives to attain this same level. Be fore
warned, the moderator is a facist.
Acknowledgements
------------------------------------------------------------------------------
Thanks to the original develment team, comprised of Mark Ulferts, Sue
Yockey, Bret Schuhmacher, Alfredo Jahn, John Sigler, and Bill Scott. Also
thanks to Mark Harrison for his influence, confidence, and ideas.
Thanks also to the new set of contributors which include John Tucker,
Mitch Gorman, John Reekie, Alfredo Jahn, Ken Copeland, Tako Schotanus,
Tony Parent and Michael McLennan
Thanks to Michael McLennan, creator of [incr Tcl] and [incr Tk], for the
beta copies, training, assistance, and his infectious enthusiasm.
Thanks to DSC Communications for picking up the copyright and supporting
the public release of this software.
Thanks to John P. Davis for creating the [incr Widgets] "Flaming Toaster"
logo which can be seen at http://www.tcltk.com/iwidgets
Thanks to WebNet Technologies for their assistance is designing the [incr
Widgets] web site, as well as hosting it.
Special thanks to my wife Karen for supporting this effort and to our two
girls, Katelyn and Bailey, who occasionally shared the PC with me. Also
thanks to my Discman and its relentless power supply as well as my rock
and roll CD collection. No music, no software.
--
____________________________________________________________________________
_/_/ _/_/ _/ _/ _/ Mark L. Ulferts
_/ _/ _/ _/ _/ _/ _/ ulferts@swbell.net
_/ _/_/ _/ _/ _/ _/ mulferts@austin.dsccc.com
_/ _/ _/ _/ _/_/_/ _/ _/_/_/_/ _/ DSC Communications Corp, Austin Texas
____________________________________________________________________________