-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
212 lines (164 loc) · 9.81 KB
/
README
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
------------------------------------------------------------------------------
[incr Widgets] - version 4.1.1
------------------------------------------------------------------------------
Please send general comments, suggestions, and questions to [email protected]
or [email protected]. Much of this file was written by Mark Ulferts, the
original [incr Widgets] guy, several years ago when the Iwidgets were first
released. Chad has assumed responsibilities for updates and maintenance.
==============================================================================
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 may be downloaded at SourceForge:
www.sourceforge.net/projects/incrtcl. The current distribution is
version 4.1.1.
Web site
------------------------------------------------------------------------------
For the most current news regarding [incr Widgets] please consult the web
site - http://incrtcl.sourceforge.net/iwidgets. Many thanks to Brett Schwarz
who has done an incredible job overhauling this site. Take a look!
Getting started
------------------------------------------------------------------------------
The "doc" directory contains man pages and a technical paper. The man
pages are installed under the man directory off your --prefix, and as of
version 4.0.1 are prepended with the text "iwidgets_" to easily differentiate
[incr Widgets] man pages from those of other extensions.
doc/iwidgets.ps ... Updated paper presented at Tcl Workshop 95.
doc/*.n ........... Man pages
The "demos" directory contains demo scripts for each mega-widget as
well as html versions of all the [incr Widgets] man pages. 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.
demos/html ..... HTML version of the [incr Widgets] man pages.
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.
Installation
------------------------------------------------------------------------------
NOTE: Having the itcl distribution is a prerequsite to using iwidgets.
Thus, if you don't have itcl you need to visit Source Forge to download
and install it first. Once you have downloaded and installed [incr Tcl]
and [incr Tk], you can proceed with [incr Widgets] installation as follows:
1) Copy the iwidgets4.1.1.tar.gz file to your toplevel [incr Tcl]
directory. For example, if you have the itcl3.2.1 distribution in
a directory named /usr/local/tcl/itcl3.2.1, then you should copy
the iwidgets file to this directory.
Note, if you don't copy the iwidgets archive to this directory,
then you will need to specify the --with-itcl flag when you run
the configure script.
2) Untar/unzip the archive:
gunzip -c iwidgets4.1.1.tar.gz |tar xvf -
3) Run the configuration script:
cd iwidgets4.1.1
./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 [incr Tcl/Tk] distribution.
./configure --prefix=/your/install/path
The "configure" script generates a Makefile from the Makefile.in
template.
Also, as mentioned eariler, you may need to tell the [incr Widgets]
where the [incr Tcl] source is located. For example, if your toplevel
[incr Tcl] directory is located in /opt/tools/tcl/itcl3.2.1 and you
are building the [incr Widgets] in a directory other than this, then
you will need to use the following:
./configure --prefix=/your/install/path \
--with-itcl=/opt/tools/tcl/itcl3.2.1
4) Run the test suite:
make test
7) Install the [incr Widgets] man pages, demos, and script files.
make install
Acknowledgements
------------------------------------------------------------------------------
Thanks to Brett Schwarz for a ton of work done on the new [incr Widgets]
web site, http://incrtcl.sourceforge.net/iwidgets.
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
_/ _/ _/ _/ _/ _/ _/ [email protected]
_/ _/_/ _/ _/ _/ _/ [email protected]
_/ _/ _/ _/ _/_/_/ _/ _/_/_/_/ _/ DSC Communications Corp, Austin Texas