Commit of 3.99.3 version

This commit is contained in:
Erick Gallesio 1998-09-30 13:11:02 +02:00
parent dd57fe2b2a
commit fd0f8b8984
254 changed files with 41301 additions and 18704 deletions

27
CHANGES
View File

@ -1,3 +1,30 @@
30/09/98 Release 3.99.3
-----------------------
Mains changes/modifications since 3.99.2 are:
* Tk level is 8.0.3 (the latest stable Tk release)
* New STklos Classes:
+ <Hierarchy-tree> and <Hierarchy-item> to draw
hierarchy such as files/directories, class/metaclasses ...
+ <Notepad> to define ... notepads
+ <Scheme-text> which extends <Text> to "font-lockify"
Scheme buffers
* Method and generic function editor
* A class browser (type "(class-browser)" to access it)
* some new manual pages
* Base64 Encoding/Decoding extension
* Locale extension to treat strings and character using locale information
* Better installation scripts (+ some corrections)
* Bug corrections
06/09/98 Release 3.99.2
-----------------------

224
ChangeLog
View File

@ -1,3 +1,222 @@
1998-09-27 Erick Gallesio <eg@unice.fr>
* Src/toplevel.c (init_interpreter): *stk-library* is now
initialized here instead in the Tk initialization procedure
(implying that this variable is now defined in snow).
* Tk version is now 8.0.3. The stable version of Tk8.0
1998-09-26 Erick Gallesio <eg@unice.fr>
* Demos/classbrowse.stklos: New Demo of the class browser
* Lib/class-browser.stklos: New file. This is class browser which
fully use the MOP to display various informations about classes,
such as their methods or their slots. Accessing to a class is done
through a panel which shows the complete class hierarchy
* Lib/method-editor.stklos: New file: Editor for methods and
generic functions
* Demos/widget.stk: Code of the various demo of the big widget
program are now "font-locked".
* STklos/Tk/Composite/Schemetext.stklos: New class: <Scheme-text>.
This is a subclass of <Scroll-text> specialize for Scheme
programs. For now, only Emacs like "font-locking" is done by this
widget.
* Tk/generic/tkText.c (TextSearchCmd): Added environment
management to the Text searches.
1998-09-25 Erick Gallesio <eg@unice.fr>
* Src/tcl-lib.c (Tcl_CreateInterp): Cache of regexp was not
correctly initialized.
* STklos/Tk/Composite/Multiwin.stklos: Border width of a Mutiple
window is fixed to 0. Otherwise, displacement of inner windows is
"chaotic". This particularly occurs when the user has a default
border-width defined in its Xdefaults file.
1998-09-19 Erick Gallesio <eg@unice.fr>
* Extensions/locale.c: New file. This extensions implement string
and character comparisons using locale. The new functions are of
the form string-lo<?, string-lo-ci=?, and so on...
* Src/str.c (stringcomp): Bug in stringcomp with 8bit characters.
We had (char<? #\é #\e) => #f whereas (string<? "é" "e") => #t
Comparison is now done on unsigned chars.
1998-09-17 Erick Gallesio <eg@unice.fr>
* Src/argv.c (STk_process_argc_argv): Processing of argument has
been rewritten.
1998-09-16 Erick Gallesio <eg@unice.fr>
* Src/number.c (_STk_do_addition): Bug correction (two small
giving a bignum in some cases).
1998-09-10 Erick Gallesio <eg@unice.fr>
* Lib/tk-unix.stk: completely rewritten.
* Doc/Manual/choose-color.n:
* Doc/Manual/message-box.n: New manual pages
* STklos/Tk/Tk-classes.stklos : The standard Tk dialog were not
exported correctly.
1998-09-09 Erick Gallesio <eg@unice.fr>
* Big code cleanup on all STk code. There were problems with
Alpha, and I hope that this cleanup, will ease to find the
problems.
1998-08-31 Erick Gallesio <eg@unice.fr>
* Tk/unix/tkUnixSend.c (TkGetInterpNames): Bug correction: If the
number of running intrepreters was 1, the command (winfo 'interps)
returned a strings instead of a list of length 1.
* Src/toplevel.c (repl_driver): The interpreter cannot be executed
if the DISPLAY variable is not set and the option -no-tk has not
been used. This should avoid me a lot of mail from people which
install STk and complain of weird message when launching the
demos...
* Src/eval.c (STk_eval): Call to apply without parameter
(i.e. [apply]) yields an error. This was a long standing bug
signalled by Josh Mc Donald in 1995!!!
1998-08-29 Erick Gallesio <eg@unice.fr>
* STklos/Tk/Toplevel.stklos: Two new methods make-transient and
place-toplevel.
* STklos/stklos.stk (class-methods): New function, which return
all the methods which have a given class (or a descendant) in its
specializers.
1998-08-25 Erick Gallesio <eg@unice.fr>
* STklos/Tk/Composite/Notepad.stklos: New file which define a
Note-pad class.
* Demos/stklos-widgets.stklos: Added <Notepad> demo
1998-08-24 Erick Gallesio <eg@unice.fr>
* STklos/Tk/Composite/Hierarchy.stklos: New file which define 2
new classes: <Hierarchy-tree> and <Hierarchy-item> which allow to
display any kind of hierarchy (see the source file for 3 examples
of use).
* Demos/stklos-widgets.stklos: Added <hierarchy-tree> demo
1998-08-23 Erick Gallesio <eg@unice.fr>
* Tk/generic/tkBind.c (Tk_CreateBinding, FreeTclBinding): Bug
correction: Bindings on item canvas, were not properly
garbaged. BTW, the way for keeping track of closures used in
bindings has been simplified.
* Tk/generic/tkCmds.c (Tk_BindCmd): Adaptated to the new scheme
for bindings.
1998-08-20 Erick Gallesio <eg@unice.fr>
* STklos/Tk/Scrollbar.stklos: Adding exportation of
STk:{h|v}-scroll-side and STk:{h|v}-scroll-side-set!
1998-07-28 Erick Gallesio <eg@unice.fr>
* STklos/stklos.stk (compute-get-n-set): Signaling that an
allocation scheme is unknown is now done in a method which
discriminate on <object> instead of <class>. This greatly
simplifies the usage of meta-classes which use multiple
inheritance (old code implicitly suppose that a meta-class has a
CPL of the form [ ... <class> <object> <top>]. With this
modification, <class> can appear before an "ante-penultiem"
position.
1998-07-27 Erick Gallesio <eg@unice.fr>
* Utils/STk.spec.in: Modified to be more architecture independent
(as far as possible). In particular Linux PPC should work
(inspired from a STk.spec file given by Philippe Laliberte
<arsphl@oeil.qc.ca>).
1998-07-25 Erick Gallesio <eg@unice.fr>
* Tk/unix/tkUnixWm.c: Make the result of (wm 'state ...)
consistent. It was, depending the cases, a string or a
symbol. This is always a string now. THIS COULD BREAK EXISTING
CODE!
* Lib/tk-init.stk (*start-withdrawn*): One example of code broken
by previous modification...
1998-07-22 Erick Gallesio <eg@unice.fr>
* Src/Makefile.in (install.stk.libs): The tcl-glue.h and tk-glue.h
files were not installed when doing a "make
install.libs". Corrected now. Thanks to Vincent Granet
<vg@unice.fr> for signalling it.
1998-07-20 Erick Gallesio <eg@unice.fr>
* Src/print.c (printlist_star): Buggy when printing some simple
dotted pair. The patch was provided by Ian Wild
<ian.wild@eurocontrol.be>.
* Tk/generic/tkFont.c (GetAttributeInfoObj): Bug when reporting
boolean font attributes. Bug signalled by Vincent Granet
<vg@unice.fr>
* Extensions/base64.c: New file which provides base64 file
encoding and decoding (base64-encoding and base64-decoding)
* Lib/base64.stk: New file which load the base64 extension. It
also provides the functions (base64-encoding-string and
base64-decoding-string)
1998-07-19 Erick Gallesio <eg@unice.fr>
* Src/cont.c (STk_throw): Bug correction: continuation escape
procedures couldn't take an arbitrary number of arguments. Thanks
to Michael N. Livshin <mike@olan.com> for the patch.
1998-07-17 Erick Gallesio <eg@unice.fr>
* Makefile.in: Modified so that all the install paths are relative
to the value of "prefix". This seems to be useful for people using
STOW. Suggestion made by Michael N. Livshin <mike@olan.com>.
1998-07-15 Erick Gallesio <eg@unice.fr>
* Extensions/hash.c (hash_table_put): Another bug in the hash
table is corrected. Code for putting values in hash tables whose
hash function is given by the user has been rewritten. Thanks to
Brian Denheyer <briand@northwest.com> for pointing this bug.
1998-07-14 Erick Gallesio <eg@unice.fr>
* Suppression of the background bitmap for the Web pages. It was
not easily readable on 8bits displays. Even HTML is hard to port !!
1998-06-27 Erick Gallesio <eg@unice.fr>
* Doc/Reference/Appendix-F.tex: Correction of a "bug" for the
emacs auto-mode-alist variable initialization (signalled by
craig dry <ra0531@email.sps.mot.com>)
1998-06-09 Erick Gallesio <eg@unice.fr>
* Release 3.99.2
@ -275,8 +494,9 @@ Mon Feb 2 22:47:52 1998 Erick Gallesio <eg@unice.fr>
Sun Feb 1 19:16:46 1998 Erick Gallesio <eg@unice.fr>
* Lib/tk-unix.stk: New file for the definition of standard messages
box. They are simulated on Unix and will be natve (someday) on Windows.
* Lib/tk-unix.stk: New file for the definition of standard
messages box. They are simulated on Unix and will be native
(someday) on Windows.
* STklos/Tk/MsgBox.stklos: New Classes: <Tk-message-box>

View File

@ -10,7 +10,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: animate.stk 1.1 Tue, 10 Mar 1998 20:43:37 +0000 eg $
;;;; $Id: animate.stk 1.1 Tue, 10 Mar 1998 21:43:37 +0100 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 9-Mar-1998 18:51

View File

@ -10,7 +10,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: puzzle.stk 1.1 Tue, 10 Mar 1998 20:43:37 +0000 eg $
;;;; $Id: puzzle.stk 1.1 Tue, 10 Mar 1998 21:43:37 +0100 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 9-Mar-1998 21:11

View File

@ -330,6 +330,15 @@
<u>Comment</u>: Here again, what is interesting in this demo is not what
it does, nothing specially fancy, but how it is easy to
program, IMHO.
<p><li>
<b>classbrowse.stklos</b>
This demo shows the STklos class browser.
<br>
<u>Run with</u>:
<A expr=(run "classbrowse.stklos")>
../Src/test-stk -f classbrowse.stklos</a>
<br>
</ul>
<h4>2.2 STklos widgets</h4>
@ -435,7 +444,7 @@
<address><a href="mailto:eg@unice.fr">Erick Gallesio</a></address>
<!-- Created: Sun Mar 1 15:56:45 CET 1998 -->
<!-- hhmts start -->
Last modified: Mon Mar 9 19:15:46 CET 1998
Last modified: Sat Sep 26 18:44:39 CEST 1998
<!-- hhmts end -->
</body>
</html>

View File

@ -8,7 +8,7 @@
;;;; double-clicking.
;;;; This is a new version of the demo which can be run before STk is installed
;;;;
;;;; $Id: browse.stk 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $
;;;; $Id: browse.stk 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 3-Aug-1993 17:33

View File

@ -7,7 +7,7 @@
;;;; directory and allows you to open files or subdirectories by
;;;; double-clicking.
;;;;
;;;; $Id: browse.stklos 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $
;;;; $Id: browse.stklos 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 3-Aug-1993 17:33

View File

@ -13,7 +13,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: calc.stklos 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $
;;;; $Id: calc.stklos 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 6-Apr-1995 18:11

22
Demos/classbrowse.stklos Executable file
View File

@ -0,0 +1,22 @@
#!/bin/sh
:;exec /usr/local/bin/stk -f "$0" "$@"
;;;; classbrowse.stk -- Demonstration of the STk class browser
;;;;
;;;; Copyright © 1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;;
;;;; Permission to use, copy, and/or distribute this software and its
;;;; documentation for any purpose and without fee is hereby granted, provided
;;;; that both the above copyright notice and this permission notice appear in
;;;; all copies and derived works. Fees for distribution or use of this
;;;; software or derived works may only be charged with express written
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: classbrowse.stklos 1.1 Sat, 26 Sep 1998 19:19:52 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 26-Sep-1998 19:12
;;;; Last file update: 26-Sep-1998 19:13
;; A Demo which is quite easy to write
(class-browser *top-root*)

View File

@ -16,7 +16,7 @@
;;;; This software is a derivative work of other copyrighted softwares; the
;;;; copyright notices of these softwares are placed in the file COPYRIGHTS
;;;;
;;;; $Id: filebox.stklos 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $
;;;; $Id: filebox.stklos 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $
;;;;
;;;; Author: Erick Gallesio [eg@kaolin.unice.fr]
;;;; Creation date: 12-Jun-1994 11:24

View File

@ -23,9 +23,11 @@
File-box
Gauge
Help-Balloon
Hierarchy-Tree
Labeled-Entry
Labeled-Frame
Multiple-Window
Notepad
Paned
Scroll-Canvas
Scroll-Listbox
@ -217,3 +219,53 @@
(slot-set! g 'value i)
(after 5)
(update))))
;=============================================================================
(define (demo-hierarchy-tree)
(let* ((top (make <Toplevel> :title "Hierarchy Tree Demo"))
(T (make <Hierarchy-tree> :parent top :width 400 :height 300)))
(pack T :expand #t :fill "both")
(define d1 (add-node T #f "dir1"))
(define d2 (add-node T #f "dir2"))
(define d3 (add-node T d1 "dir3"))
(add-leave T d1 "file2")
(add-leave T d1 "file1")
(add-leave T d3 "file3")
(add-leave T d2 "file4")))
;=============================================================================
(define (demo-notepad)
;;
;; Fist define the actions associated to the tab
;;
(define (Host parent tab)
(unless (page tab) ; First call. Create the interface
(let* ((f (make <Frame> :parent parent :border-width 3
:background "darkgray" :relief "groove"))
(b1 (make <Labeled-Entry> :parent f :title "Host: "))
(b2 (make <Labeled-Entry> :parent f :title "Port: ")))
(pack b1 b2 :fill 'x :padx 10 :pady 10)
(set! (page tab) f)))
(pack (page tab) :padx 10 :pady 10 :fill "both" :expand #t))
(define (Mess parent tab)
(unless (page tab) ; First call. Create the interface
(let ((m (make <Message> :parent parent :border-width 3
:relief "groove" :background "darkgray" :aspect 300
:justify "center" :font "10x20"
:text "This is a simple demonstration.")))
(pack m :expand #t :fill "both")
(set! (page tab) m)))
(pack (page tab) :padx 10 :pady 10 :fill "both" :expand #t))
(let* ((top (make <Toplevel> :title "Note Pad Widget Demo"))
(f (make <NotePad> :parent top :width 450 :height 150)))
(pack f :expand #t :fill "both" :padx 2 :pady 2)
(make <Notepad-Tab> :parent f :text "host1" :action Host)
(make <Notepad-Tab> :parent f :text "host2" :action Host)
(make <Notepad-Tab> :parent f :text "Multi-line\nlabel" :action Mess)
(make <Notepad-Tab> :parent f :bitmap "questhead" :width 30 :action Host)))

View File

@ -13,7 +13,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: term.stk 1.2 Mon, 16 Feb 1998 07:28:39 +0000 eg $
;;;; $Id: term.stk 1.2 Mon, 16 Feb 1998 08:28:39 +0100 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 7-Oct-1995 10:39

View File

@ -68,7 +68,7 @@
(let* ((top (make <Toplevel> :title (format #f "Demo code: ~A" file)
:geometry "+400+400"))
(but (make <Frame> :parent top))
(txt (make <Scroll-Text> :parent top :wrap "none"
(txt (make <Scheme-text> :parent top :wrap "none"
:h-scroll-side "bottom" :width 85 :height 30 :font "fixed"
:value (exec (string-append "cat " file)))))

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -8,7 +8,7 @@
%%EndComments
%DVIPSCommandLine: dvips -f Isotas96.dvi
%DVIPSParameters: dpi=600, comments removed
%DVIPSSource: TeX output 1998.06.09:0933
%DVIPSSource: TeX output 1998.09.30:1358
%%BeginProcSet: tex.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72

View File

@ -28,10 +28,12 @@
'\" .CE
'\" End code excerpt.
'\"
'\" .VS ?br?
'\" .VS ?version? ?br?
'\" Begin vertical sidebar, for use in marking newly-changed parts
'\" of man pages. If an argument is present, then a line break is
'\" forced before starting the sidebar.
'\" of man pages. The first argument is ignored and used for recording
'\" the version when the .VS was added, so that the sidebars can be
'\" found and removed when they reach a certain age. If another argument
'\" is present, then a line break is forced before starting the sidebar.
'\"
'\" .VE
'\" End of vertical sidebar.
@ -133,7 +135,7 @@
'\" # ^Y = starting y location
'\" # ^v = 1 (for troff; for nroff this doesn't matter)
.de VS
.if !"\\$1"" .br
.if !"\\$2"" .br
.mk ^Y
.ie n 'mc \s12\(br\s0
.el .nr ^v 1u

View File

@ -256,7 +256,7 @@ For each item that meets the constraints specified by
\fItag\fR to the list of tags associated with the item if it
isn't already present on that list.
It is possible that no items will satisfy the constraints
given by \fIsearchSpec and \fIarg\fRs, in which case the
given by \fIsearchSpec\fR and \fIarg\fRs, in which case the
procedure has no effect.
This procedure returns an empty list as result.
\fISearchSpec\fR and \fIarg\fR's may take any of the following

49
Doc/Manual/choose-color.n Normal file
View File

@ -0,0 +1,49 @@
'\" Color=Green
'\"
'\" Derived from a document with following copyright
'\"
'\" Copyright (c) 1996 Sun Microsystems, Inc.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\" SCCS: @(#) chooseColor.n 1.4 96/09/19 17:01:44
'\"
.so STk-man.macros
.TH Tk:choose-color n 4.2 STk "STk procedure"
.BS
'\" Note: do not modify the .SH NAME line immediately below!
.SH NAME
Tk:choose-color \- pops up a dialog box for the user to select a color.
.PP
.SH SYNOPSIS
\fB(tk:choose-Color \fR?\fIoption value ...\fR?)
.BE
.SH DESCRIPTION
.PP
This procedure is part of the STk library.
The procedure \fBTk:choose-color\fR pops up a dialog box for the
user to select a color. The following \fIoption\-value\fR pairs are
possible as command line arguments:
.TP
\fB:initial-color\fR \fIcolor\fR
Specifies the color to display in the color dialog when it pops
up.
.TP
\fB:title\fR \fItitleString\fR
Specifies a string to display as the title of the dialog box. If this
option is not specified, then an empty title will be displayed.
.LP
If the user selects a color, \fBTk:choose-color\fR will return the
name of the color. If the
user cancels the operation, \fBTk:choose-color\fR will return
\fB#f\fR
.SH EXAMPLE
.CS
(pack (button '.b :text "foo"
:bg (Tk:choose-color :initial-color "gray"
:title "Choose color")))
.CE

View File

@ -34,7 +34,7 @@ any of the values allowed for the \fIsequence\fR argument to the
If \fIvirtual\fR is already defined, the new physical event sequences
add to the existing sequences for the event.
.TP
(\fBevent 'delete "<<\fIvirtual\fB>>" \fR?\fIsequence \fIsequence ...\fR?)
(\fBevent 'delete "<<\fIvirtual\fB>>" \fR?\fIsequence\fR \fIsequence ...\fR?)
Deletes each of the \fIsequence\fRs from those associated with
the virtual event given by \fIvirtual\fR.
\fIVirtual\fR may be any string value and \fIsequence\fR may have

View File

@ -116,7 +116,7 @@ The platform-specific name of a font, interpreted by the graphics server.
This also includes, under X, an XLFD (see [4]) for which a single ``\fB*\fR''
character was used to elide more than one field in the middle of the
name. See PLATFORM-SPECIFIC issues for a list of the system fonts.
.VS 1
.VS 8.0 br
.TP
[3] \fIfamily \fR?\fIsize\fR? ?\fIstyle\fR? ?\fIstyle ...\fR?
.

View File

@ -9,7 +9,7 @@
'\" @(#) frame.n 1.23 95/08/12 17:35:08
'\"
.so STk-man.macros
.TH frame n 4.0 STk "Tk Built-In Commands"
.TH frame n 8.0 STk "Tk Built-In Commands"
.BS
'\" Note: do not modify the .SH NAME line immediately below!
.SH NAME
@ -45,7 +45,7 @@ If the \fBcolormap\fR option is not specified, the new window
uses the same colormap as its parent.
This option may not be changed with the \fBconfigure\fR
widget procedure.
.VS br
.VS "" br
.OP :container container Container container
The value must be a boolean. If true, it means that this window will
be used as a container in which some other application will be embedded

View File

@ -96,8 +96,11 @@ Indicates the anchor point for the selection, which is set with the
.TP 12
\fBend\fR
Indicates the end of the listbox.
For some procedures this means just after the last element;
for other procedures it means the last element.
.VS
For most procedure this refers to the last element in the listbox,
but for a few procedure such as \fBindex\fR and \fBinsert\fR
it refers to the element just after the last one.
.VE
.TP 12
\fB@\fIx\fB,\fIy\fR
Indicates the element that covers the point in the listbox window
@ -124,6 +127,10 @@ procedures are possible for listbox widgets:
.TP
(\fIwidget\-name '\fBactivate\fR \fIindex\fR)
Sets the active element to the one indicated by \fIindex\fR.
.VS 8.0
If \fIindex\fR is outside the range of elements in the listbox
then the closest element is activated.
.VE
The active element is drawn with an underline when the widget
has the input focus, and its index may be retrieved with the
index \fBactive\fR.
@ -136,7 +143,11 @@ of the upper-left corner of the screen area covered by the text
(specified in pixels relative to the widget) and the last two
elements give the width and height of the area, in pixels.
If no part of the element given by \fIindex\fR is visible on the
screen then the result is an empty list; if the element is
screen,
.VS 8.0
or if \fIindex\fR refers to a non-existent element,
.VE
then the result is an empty list; if the element is
partially visible, the result gives the full area of the element,
including any parts that are not visible.
.TP
@ -178,7 +189,10 @@ to delete. If \fIlast\fR isn't specified it defaults to
.TP
(\fIwidget\-name '\fBget \fIfirst\fR \fIlast\fR)
If \fIlast\fR is omitted, returns the contents of the listbox
element indicated by \fIfirst\fR.
element indicated by \fIfirst\fR,
.VS 8.0
or an empty list if \fIfirst\fR refers to a non-existent element.
.VE
If \fIlast\fR is specified, the procedure returns a list whose elements
are all of the listbox elements between \fIfirst\fR and \fIlast\fR,
inclusive.
@ -186,8 +200,11 @@ Both \fIfirst\fR and \fIlast\fR may have any of the standard
forms for indices.
.TP
(\fIwidget\-name '\fBindex \fIindex\fR)
Returns a decimal string giving the integer index value that
corresponds to \fIindex\fR.
Returns the integer index value that corresponds to \fIindex\fR.
.VS 8.0
If \fIindex\fR is \fBend\fR the return value is a count of the number
of elements in the listbox (not the index of the last element).
.VE
.TP
(\fIwidget\-name '\fBinsert \fIindex \fR?\fIelement element ...\fR?)
Inserts zero or more new elements in the list just before the
@ -236,6 +253,10 @@ has several forms, depending on \fIoption\fR:
.TP
(\fIwidget\-name \fB'selection 'anchor \fIindex\fR)
Sets the selection anchor to the element given by \fIindex\fR.
.VS 8.0
If \fIindex\fR refers to a non-existent element, then the closest
element is used.
.VE
The selection anchor is the end of the selection that is fixed
while dragging out a selection with the mouse.
The index \fBanchor\fR may be used to refer to the anchor

View File

@ -94,3 +94,5 @@ Hereafter are simple uses of the \fBSTk:make-dialog\fR procedure
(list "baz" (lambda ()
(display "baz\n")))))
.CE
.SH SEE ALSO
message-box

90
Doc/Manual/message-box.n Normal file
View File

@ -0,0 +1,90 @@
'\" Color=Green
'\"
'\" Derived from a document with following copyright
'\"
'\" Copyright (c) 1996 Sun Microsystems, Inc.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\" SCCS: @(#) messageBox.n 1.5 96/09/19 17:02:40
'\"
.so STk-man.macros
.TH Tk:message-box n 4.2 STk "STk procedure"
.BS
'\" Note: do not modify the .SH NAME line immediately below!
.SH NAME
Tk:message-box \- pops up a message window and waits for user response.
.SH SYNOPSIS
\fB(Tk:message-box \fR?\fIoption value ...\fR?)
.BE
.SH DESCRIPTION
.PP
This procedure creates and displays a message window with an
application-specified message, an icon and a set of buttons. Each of
the buttons in the message window is identified by a unique symbolic
name (see the \fB:type\fR options). After the message window is
popped up, \fBTk:message-box\fR waits for the user to select one of the
buttons. Then it returns the symbolic name of the selected button.
The following option-value pairs are supported:
.TP
\fB:default\fR \fIname\fR
\fIName\fR gives the symbolic name of the default button for
this message window ('ok', 'cancel', and so on). See \fB:type\fR
for a list of the symbolic names. If the message box has just one
button it will automatically be made the default, otherwise if this
option is not specified, there won't be any default button.
.TP
\fB:icon\fR \fIiconImage\fR
Specifies an icon to display. \fIIconImage\fR must be one of the
following: \fBerror\fR, \fBinfo\fR, \fBquestion\fR or
\fBwarning\fR. If this option is not specified, then no icon will be
displayed.
.TP
\fB:message\fR \fIstring\fR
Specifies the message to display in this message box.
\fB:title\fR \fItitleString\fR
Specifies a string to display as the title of the message box. The
default value is an empty string.
.TP
\fB:type\fR \fIpredefinedType\fR
Arranges for a predefined set of buttons to be displayed. The
following values are possible for \fIpredefinedType\fR:
.RS
.TP 18
\fBAbortRetryIgnore\fR
Displays three buttons whose symbolic names are \fBabort\fR,
\fBretry\fR and \fBignore\fR.
.TP 18
\fBOk\fR
Displays one button whose symbolic name is \fBok\fR.
.TP 18
\fBOkCancel\fR
Displays two buttons whose symbolic names are \fBok\fR and \fBcancel\fR.
.TP 18
\fBRetryCancel\fR
Displays two buttons whose symbolic names are \fBretry\fR and \fBcancel\fR.
.TP 18
\fBYesNo\fR
Displays two buttons whose symbolic names are \fByes\fR and \fBno\fR.
.TP 18
\fBYesNoCancel\fR
Displays three buttons whose symbolic names are \fByes\fR, \fBno\fR
and \fBcancel\fR.
.RE
.PP
.SH EXAMPLE
.CS
(let ((answer (Tk:message-box :message "Really quit?"
:type 'YesNo
:icon 'question)))
(case answer
((yes) (exit))
(else (Tk:message-box :message "I know you like this application!"
:type 'Ok))))
.CE
.SH SEE ALSO
make-dialog

View File

@ -39,6 +39,12 @@ Like all images, photos are created using the \fBimage create\fR
command.
Photos support the following \fIoptions\fR:
.TP
\fB\:channel \fIchannelId\fR
\fIchannelId\fR gives the name of a port open for reading which is to be
read to supply data for the photo image. The data format in the port
must be one of those for which there is an image format handler that
can read data from a file or port.
.TP
\fB:data \fIstring\fR
Specifies the contents of the image as a string. The format of the
string must be one of those for which there is an image file format
@ -53,7 +59,8 @@ Specifies the name of the file format for the data specified with the
\fB:file \fIname\fR
\fIname\fR gives the name of a file that is to be read to supply data
for the photo image. The file format must be one of those for which
there is an image file format handler that can read data from a file.
there is an image file format handler that can read data from a file or
port.
.TP
\fB:gamma \fIvalue\fR
Specifies that the colors allocated for displaying this image in a

View File

@ -204,7 +204,7 @@ document. 1.0 refers to the end of the document, 0.333
refers to a point one-third of the way through the document,
and so on.
.TP
'\fBscroll \fInumber '\fBunit\fR
'\fBscroll \fInumber '\fBunits\fR
The widget should adjust its view by \fInumber\fR units.
The units are defined in whatever way makes sense for the widget,
such as characters or lines in a text widget.
@ -212,7 +212,7 @@ such as characters or lines in a text widget.
the top or left of the window, or \-1, which means that one unit
should scroll off the bottom or right of the window.
.TP
'\fBscroll \fInumber '\fBpage\fR
'\fBscroll \fInumber '\fBpages\fR
The widget should adjust its view by \fInumber\fR pages.
It is up to the widget to define the meaning of a page; typically
it is slightly less than what fits in the window, so that there

View File

@ -21,7 +21,7 @@
'\" ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
'\" PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
'\"
'\" $Id: stk.1 1.2 Mon, 20 Apr 1998 20:15:01 +0000 eg $
'\" $Id: stk.1 1.2 Mon, 20 Apr 1998 22:15:01 +0200 eg $
'\"
.so STk-man.macros
.TH STk 1 4.0 STk "January_1998"

View File

@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.11
%%CreationDate: Mon Apr 20 10:54:40 1998
%%CreationDate: Mon Sep 14 15:35:30 1998
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic

View File

@ -974,7 +974,7 @@ there are multiple marks at the same index.
These semantics mean that the \fBmark next\fP operation can be used to
step through all the marks in a text widget in the same order
as the mark information returned by the \fBdump\fP operation.
If a mark has been set to the special \fBend\fB index,
If a mark has been set to the special \fBend\fP index,
then it appears to be \fIafter\fP \fBend\fP with respect to the \fBmark next\fP operation.
An empty list is returned if there are no marks after \fIindex\fR.
.TP
@ -1064,6 +1064,8 @@ The argument following \fB:count\fR gives the name of a variable;
if a match is found, the number of characters in the matching
range will be stored in the variable.
.TP
\fB:environment\fI env\fR
The argument following \fB:environment\fR gives the definition environment of the variable counting matches (i.e. the one given to the \fB:count\fR option).
\fB:\-\fR
This switch has no effect except to terminate the list of switches:
the next argument will be treated as \fIpattern\fR even if it starts

View File

@ -3,21 +3,32 @@
%
% Author: Erick Gallesio [eg@unice.fr]
% Creation date: 21-Dec-1997 20:09
% Last file update: 9-Jun-1998 09:33
% Last file update: 30-Sep-1998 13:56
%
\section*{Introduction}
This appendix lists the main differences\footnote{ Only the
differences which affect the language or new ports are reported here.
In particular, internal changes, packages written in Scheme or
performance enhancement are not discussed here.} among the various
recent versions of STk. Differences with older versions as well as
implementation changes are described in the CHANGES file located in
the main directory of the STk distribution.
differences which affect the language or new ports are reported
here. In particular, internal changes, packages written in Scheme,
STklos or performance enhancements are not discussed here.} among
the various recent versions of STk. Differences with older versions
as well as implementation changes are described in the CHANGES file
located in the main directory of the STk distribution.
\section*{Release 3.99.3}
\small{\emph{Release date: 09/30/98}}
Mains changes/modifications since 3.99.2 are:
\begin{itemize}
\item Tk version is 8.0.3
\item Base64 Encoding/Decoding extension
\item Locale extension to treat strings and character using locale
information
\end{itemize}
\section*{Release 3.99.1}
\section*{Release 3.99.2}
\small{\emph{Release date: 04/27/98}}
Mainly a bugs correcting release.

View File

@ -3,7 +3,7 @@
%
% Author: Erick Gallesio [eg@unice.fr]
% Creation date: 21-Dec-1994 12:05
% Last file update: 6-Apr-1998 11:17
% Last file update: 27-Jun-1998 10:12
%
\section{Introduction}
@ -98,9 +98,11 @@ consists to add the following lines in your .{\tt emacs} startup file.
;; Add the '.stk' and '.stklos' suffix in the auto-mode-alist Emacs
;; variable. Setting this variable permits to automagically place the
;; buffer in scheme-mode.
(setq-default auto-mode-alist (append auto-mode-alist
("\\.stk$" . scheme-mode)
("\\.stklos$" . scheme-mode)))
(setq auto-mode-alist
(append '(("\\.scm$" . scheme-mode)
("\\.stk$" . scheme-mode)
("\\.stklos$" . scheme-mode))
auto-mode-alist))
\end{verbatim}
\end{quote}

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -30,6 +30,7 @@ Other extensions are more "useful":
- socket.c: simple support (and hence limited) for sockets. It allows you
to make simple clients and servers program using TCP/IP
- sregexp.c Regular expressions
- base64. c provide base64 file endoding and decoding.
For more informations on extension building, read the document

View File

@ -12,7 +12,7 @@
#
# Author: Erick Gallesio [eg@kaolin.unice.fr]
# Creation date: 6-Mar-1994 15:49
# Last file update: 2-Jun-1998 17:44
# Last file update: 20-Jul-1998 19:37
include ../config.make
@ -34,7 +34,8 @@ CFLAGS= $(SH_CCFLAGS) $(STKCFLAGS) $(DFLGS) -DUSE_TK @DEFS@ \
all: $(EXTRA_OBJ)
chmod 0755 stk-genmake
# Following lines are needed for weird make commands. Use Gnu make....
# Following lines are needed for weird make commands.
# You really should use Gnu make....
hash.$(SH_SUFFIX): hash.o
sregexp.$(SH_SUFFIX): sregexp.o
process.$(SH_SUFFIX): process.o
@ -43,6 +44,7 @@ posix.$(SH_SUFFIX): posix.o
html.$(SH_SUFFIX): html.o
pixmap.$(SH_SUFFIX): pixmap.o
jpeg.$(SH_SUFFIX): jpeg.o
base64.$(SH_SUFFIX): base64.o
examples: $(EXAMPLES)
install:

132
Extensions/base64.c Normal file
View File

@ -0,0 +1,132 @@
/*
*
* b a s e 6 4 . c -- Base64 support for STk
*
* Copyright © 1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
*
*
* Permission to use, copy, and/or distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that both the above copyright notice and this permission notice appear in
* all copies and derived works. Fees for distribution or use of this
* software or derived works may only be charged with express written
* permission of the copyright holder.
* This software is provided ``as is'' without express or implied warranty.
*
* Author: Erick Gallesio [eg@unice.fr]
* Creation date: 20-Jul-1998 12:19
* Last file update: 20-Jul-1998 19:40
*/
#include <stk.h>
#include <ctype.h>
static char table[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
static char rev_table[128];
#define OutChar(c, f) {Putc((c), (f)); if (++count>=72) {Putc('\n', (f)); count=0;}}
static void initialize_rev_table(void)
{
char *p;
int count = 0;
for (p = table; *p; p++) rev_table[*p] = count++;
}
static void encode(FILE *f, FILE *g)
{
int c, state, count, old;
state = old = count = 0;
while ((c = Getc(f)) != EOF) {
switch (++state) {
case 1: OutChar(table[(c>>2) & 0x3f], g);
break;
case 2: OutChar(table[((old<<4) & 0x30) | ((c>>4) & 0x0f)], g);
break;
case 3: OutChar(table[((old<<2) & 0x3c) | ((c>>6) & 0x03)], g);
OutChar(table[c & 0x3f], g);
state = 0;
break;
}
old = c;
}
switch (state) {
case 0: /* nothing */;
case 1: OutChar(table[(old<<4) & 0x30], g);
OutChar('=', g);
OutChar('=', g);
break;
case 2: OutChar(table[(old<<2) & 0x3c], g);
OutChar('=', g);
break;
}
}
static void decode(FILE *f, FILE *g)
{
static int initialized = 0;
int c, bits, group, j;
if (!initialized) {
initialize_rev_table();
initialized = 1;
}
group = 0; j = 18;
while ((c = Getc(f)) != EOF) {
if (c != '\n') {
if (c != '=') {
bits = rev_table[c];
group |= bits << j;
}
j -= 6;
if (j < 0) {
c = (group&0xff0000) >> 16; if (c) Putc(c, g);
c = (group&0x00ff00) >> 8; if (c) Putc(c, g);
c = (group&0x0000ff); if (c) Putc(c, g);
group = 0;
j = 18;
}
}
}
}
static PRIMITIVE base64_encode(SCM f, SCM g)
{
ENTER_PRIMITIVE("base64-encode");
if (!INP(f)) Serror("bad input port", f);
if (g == UNBOUND)
g = STk_curr_oport;
else
if (!OUTP(g)) Serror("bad output port", g);
encode(PORT_FILE(f), PORT_FILE(g));
return UNDEFINED;
}
static PRIMITIVE base64_decode(SCM f, SCM g)
{
ENTER_PRIMITIVE("base64-decode");
if (!INP(f)) Serror("bad input port", f);
if (g == UNBOUND)
g = STk_curr_oport;
else
if (!OUTP(g)) Serror("bad output port", g);
decode(PORT_FILE(f), PORT_FILE(g));
return UNDEFINED;
}
PRIMITIVE STk_init_base64(void)
{
STk_add_new_primitive("base64-decode", tc_subr_1_or_2, base64_decode);
STk_add_new_primitive("base64-encode", tc_subr_1_or_2, base64_encode);
return UNDEFINED;
}

View File

@ -2,7 +2,7 @@
*
* h a s h . c -- Hash Tables
*
* Copyright © 1993-1997 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
* Copyright © 1993-1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
*
*
* Permission to use, copy, and/or distribute this software and its
@ -19,7 +19,7 @@
*
* Author: Erick Gallesio [eg@kaolin.unice.fr]
* Creation date: 17-Jan-1994 17:49
* Last file update: 31-Dec-1997 15:36
* Last file update: 15-Jul-1998 17:34
*/
#include <stk.h>
@ -263,22 +263,22 @@ static PRIMITIVE hash_table_put(SCM ht, SCM key, SCM val)
break;
case hash_comp:
index = Apply(HASH_SXHASH(ht), LIST1(key));
entry = Tcl_CreateHashEntry(HASH_H(ht), (char *) index, &new);
Tcl_SetHashValue(entry, NIL); /* To avoid GC problems in further allocations
* Thanks to S. Calvo <sarah@grammatech.com> */
if (new)
Tcl_SetHashValue(entry, LIST1(Cons(key, val)));
else {
SCM old = (SCM) Tcl_GetHashValue(entry);
if ((entry=Tcl_FindHashEntry(HASH_H(ht), (char *) index)) != NULL) {
SCM old = (SCM) Tcl_GetHashValue(entry); /* waz here */
SCM tmp = find_key(key, old, HASH_COMP(ht));
if (tmp) {
CAR(tmp) = key;
CDR(tmp) = val;
CAR(tmp) = key; /* Generally useless. But we don't master the hash fct */
CDR(tmp) = val; /* (i.e. it can have side-effects) */
}
else
Tcl_SetHashValue(entry, Cons(Cons(key, val), old));
}
else { /* new bucket */
SCM tmp = LIST1(Cons(key, val)); /* place it in tmp to avoid GC problems */
entry = Tcl_CreateHashEntry(HASH_H(ht), (char *) index, &new);
Tcl_SetHashValue(entry, tmp);
}
break;
}
return UNDEFINED;

View File

@ -7,7 +7,7 @@
* Department of Computer Science,
* University of California, Berkeley
*
* $Id: jpeg.c 1.1 Sat, 03 Jan 1998 12:46:25 +0000 eg $
* $Id: jpeg.c 1.1 Sat, 03 Jan 1998 13:46:25 +0100 eg $
*
* Parts of this file are based on code under the following
* copyrights. Include these copyrights if you do anything

190
Extensions/locale.c Normal file
View File

@ -0,0 +1,190 @@
/*
*
* l o c a l e . c -- Locale management
*
*
* Copyright © 1993-1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
*
*
* Permission to use, copy, and/or distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that both the above copyright notice and this permission notice appear in
* all copies and derived works. Fees for distribution or use of this
* software or derived works may only be charged with express written
* permission of the copyright holder.
* This software is provided ``as is'' without express or implied warranty.
*
* This software is a derivative work of other copyrighted softwares; the
* copyright notices of these softwares are placed in the file COPYRIGHTS
*
*
* Author: Erick Gallesio [eg@kaolin.unice.fr]
* Creation date: 19-Sep-1998 12:01
* Last file update: 19-Sep-1998 15:02
*
*
*/
#include <locale.h>
#include <stdlib.h>
#include "stk.h"
static char bad_string_message[] = "comparing strings: bad string";
static char bad_char_message[] = "comparing chars: bad char";
static char *locale_name = "";
/*==== Utilities ====*/
static int compare(unsigned char c1, unsigned char c2)
{
unsigned char s1[2] = " ";
unsigned char s2[2] = " ";
/* This is really UGLY but can we write it in a cleaner way using
* only pure ANSI-C primitives? */
*s1 = c1; *s2 = c2;
return strcoll((char *)s1, (char *)s2);
}
static int stringcomp(SCM s1, SCM s2)
{
register int l1, l2;
register char *str1, *str2;
if (NSTRINGP(s1)) Err(bad_string_message, s1);
if (NSTRINGP(s2)) Err(bad_string_message, s2);
for (l1=STRSIZE(s1), str1=CHARS(s1), l2=STRSIZE(s2), str2=CHARS(s2);
l1 && l2;
l1--, str1++, l2--, str2++)
if (*str1 != *str2)
return compare((unsigned char) *str1,
(unsigned char) *str2);
/* l1 == 0 || l2 == 0 */
return l1 ? +1 : (l2 ? -1 : 0);
}
static int stringcompci(SCM s1, SCM s2)
{
register int l1, l2;
register char *str1, *str2;
if (NSTRINGP(s1)) Err(bad_string_message, s1);
if (NSTRINGP(s2)) Err(bad_string_message, s2);
for (l1=STRSIZE(s1), str1=CHARS(s1), l2=STRSIZE(s2), str2=CHARS(s2);
l1 && l2;
l1--, str1++, l2--, str2++)
if (tolower(*str1) != tolower(*str2))
return compare((unsigned char) tolower(*str1),
(unsigned char) tolower(*str2));
/* l1 == 0 || l2 == 0 */
return l1 ? +1 : (l2 ? -1 : 0);
}
static int charcomp(SCM c1, SCM c2)
{
if (NCHARP(c1)) Err(bad_char_message, c1);
if (NCHARP(c2)) Err(bad_char_message, c2);
return compare(CHAR(c1), CHAR(c2));
}
static int charcompci(SCM c1, SCM c2)
{
if (NCHARP(c1)) Err(bad_char_message, c1);
if (NCHARP(c2)) Err(bad_char_message, c2);
return compare((unsigned char) tolower(CHAR(c1)),
(unsigned char) tolower(CHAR(c2)));
}
/*==== Primitives ====*/
static PRIMITIVE set_locale(SCM locale)
{
char *res;
ENTER_PRIMITIVE("set-locale!");
if (!STRINGP(locale)) Serror("bad string", locale);
if ((res=setlocale(LC_ALL, CHARS(locale))) == NULL)
Serror("bad locale", locale);
locale_name = res;
return STk_makestring(res);
}
static PRIMITIVE get_locale(void)
{
return STk_makestring(locale_name);
}
static PRIMITIVE eq (SCM s1,SCM s2){return (stringcomp(s1,s2)==0)? Truth: Ntruth;}
static PRIMITIVE lt (SCM s1,SCM s2){return (stringcomp(s1,s2)<0) ? Truth: Ntruth;}
static PRIMITIVE gt (SCM s1,SCM s2){return (stringcomp(s1,s2)>0) ? Truth: Ntruth;}
static PRIMITIVE le (SCM s1,SCM s2){return (stringcomp(s1,s2)<=0)? Truth: Ntruth;}
static PRIMITIVE ge (SCM s1,SCM s2){return (stringcomp(s1,s2)>=0)? Truth: Ntruth;}
static PRIMITIVE eqci(SCM s1,SCM s2){return (stringcompci(s1,s2)==0)? Truth:Ntruth;}
static PRIMITIVE ltci(SCM s1,SCM s2){return (stringcompci(s1,s2)<0) ? Truth:Ntruth;}
static PRIMITIVE gtci(SCM s1,SCM s2){return (stringcompci(s1,s2)>0) ? Truth:Ntruth;}
static PRIMITIVE leci(SCM s1,SCM s2){return (stringcompci(s1,s2)<=0)? Truth:Ntruth;}
static PRIMITIVE geci(SCM s1,SCM s2){return (stringcompci(s1,s2)>=0)? Truth:Ntruth;}
static PRIMITIVE Ceq (SCM c1, SCM c2){return (charcomp(c1,c2)==0) ? Truth: Ntruth;}
static PRIMITIVE Clt (SCM c1, SCM c2){return (charcomp(c1,c2)<0) ? Truth: Ntruth;}
static PRIMITIVE Cgt (SCM c1, SCM c2){return (charcomp(c1,c2)>0) ? Truth: Ntruth;}
static PRIMITIVE Cle (SCM c1, SCM c2){return (charcomp(c1,c2)<=0) ? Truth: Ntruth;}
static PRIMITIVE Cge (SCM c1, SCM c2){return (charcomp(c1,c2)>=0) ? Truth: Ntruth;}
static PRIMITIVE Ceqci(SCM c1, SCM c2){return (charcompci(c1,c2)==0)? Truth:Ntruth;}
static PRIMITIVE Cltci(SCM c1, SCM c2){return (charcompci(c1,c2)<0) ? Truth:Ntruth;}
static PRIMITIVE Cgtci(SCM c1, SCM c2){return (charcompci(c1,c2)>0) ? Truth:Ntruth;}
static PRIMITIVE Cleci(SCM c1, SCM c2){return (charcompci(c1,c2)<=0)? Truth:Ntruth;}
static PRIMITIVE Cgeci(SCM c1, SCM c2){return (charcompci(c1,c2)>=0)? Truth:Ntruth;}
PRIMITIVE STk_init_locale(void)
{
char *lang = getenv("LANG");
STk_add_new_primitive("set-locale!", tc_subr_1, set_locale);
STk_add_new_primitive("get-locale", tc_subr_0, get_locale);
STk_add_new_primitive("string-lo=?", tc_subr_2, eq);
STk_add_new_primitive("string-lo<?", tc_subr_2, lt);
STk_add_new_primitive("string-lo>?", tc_subr_2, gt);
STk_add_new_primitive("string-lo<=?", tc_subr_2, le);
STk_add_new_primitive("string-lo>=?", tc_subr_2, ge);
STk_add_new_primitive("string-lo-ci=?", tc_subr_2, eqci);
STk_add_new_primitive("string-lo-ci<?", tc_subr_2, ltci);
STk_add_new_primitive("string-lo-ci>?", tc_subr_2, gtci);
STk_add_new_primitive("string-lo-ci<=?", tc_subr_2, leci);
STk_add_new_primitive("string-lo-ci>=?", tc_subr_2, geci);
STk_add_new_primitive("char-lo=?", tc_subr_2, Ceq);
STk_add_new_primitive("char-lo<?", tc_subr_2, Clt);
STk_add_new_primitive("char-lo>?", tc_subr_2, Cgt);
STk_add_new_primitive("char-lo<=?", tc_subr_2, Cle);
STk_add_new_primitive("char-lo>=?", tc_subr_2, Cge);
STk_add_new_primitive("char-lo-ci=?", tc_subr_2, Ceqci);
STk_add_new_primitive("char-lo-ci<?", tc_subr_2, Cltci);
STk_add_new_primitive("char-lo-ci>?", tc_subr_2, Cgtci);
STk_add_new_primitive("char-lo-ci<=?", tc_subr_2, Cleci);
STk_add_new_primitive("char-lo-ci>=?", tc_subr_2, Cgeci);
locale_name = setlocale(LC_ALL, lang ? lang : "");
if(!locale_name)
/* LANG variable is erroneous, set locale to "C" */
locale_name = setlocale(LC_ALL, "C");
return UNDEFINED;
}

View File

@ -2,7 +2,7 @@
*
* p o s i x . c -- Provide some POSIX.1 functions
*
* Copyright © 1993-1997 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
* Copyright © 1993-1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
*
*
* Permission to use, copy, and/or distribute this software and its
@ -16,11 +16,11 @@
* This software is a derivative work of other copyrighted softwares; the
* copyright notices of these softwares are placed in the file COPYRIGHTS
*
* $Id: posix.c 1.1 Sat, 03 Jan 1998 12:46:25 +0000 eg $
* $Id: posix.c 1.2 Thu, 10 Sep 1998 23:44:28 +0200 eg $
*
* Author: Erick Gallesio [eg@kaolin.unice.fr]
* Creation date: 14-Mar-1995 20:14
* Last file update: 30-Dec-1997 23:31
* Last file update: 10-Sep-1998 15:06
*
* This file contains also contains code additions from Shiro Kawai
* <shiro@sqush.squareusa.com>
@ -92,16 +92,16 @@ static PRIMITIVE posix_stat2vector(SCM descr)
info = (struct stat *) EXTDATA(descr);
z = STk_makevect(10, NIL); /* NIL because some integers are bignums */
VECT(z)[0] = STk_makeinteger(info->st_dev);
VECT(z)[1] = STk_makeinteger(info->st_ino);
VECT(z)[2] = STk_makeinteger(info->st_mode);
VECT(z)[3] = STk_makeinteger(info->st_nlink);
VECT(z)[4] = STk_makeinteger(info->st_uid);
VECT(z)[5] = STk_makeinteger(info->st_gid);
VECT(z)[6] = STk_makeinteger(info->st_size);
VECT(z)[7] = STk_makeinteger(info->st_atime);
VECT(z)[8] = STk_makeinteger(info->st_mtime);
VECT(z)[9] = STk_makeinteger(info->st_ctime);
VECT(z)[0] = STk_makeinteger((long)info->st_dev);
VECT(z)[1] = STk_makeinteger((long)info->st_ino);
VECT(z)[2] = STk_makeinteger((long)info->st_mode);
VECT(z)[3] = STk_makeinteger((long)info->st_nlink);
VECT(z)[4] = STk_makeinteger((long)info->st_uid);
VECT(z)[5] = STk_makeinteger((long)info->st_gid);
VECT(z)[6] = STk_makeinteger((long)info->st_size);
VECT(z)[7] = STk_makeinteger((long)info->st_atime);
VECT(z)[8] = STk_makeinteger((long)info->st_mtime);
VECT(z)[9] = STk_makeinteger((long)info->st_ctime);
return z;
}
@ -187,7 +187,7 @@ static PRIMITIVE posix_mkdir(SCM path, SCM mode)
if (NSTRINGP(path)) Err("posix-mkdir: bad path", path);
if (NINTEGERP(mode)) Err("posix-mkdir: bad mode", mode);
r = mkdir(CHARS(path), INTEGER(mode));
r = mkdir(CHARS(path), (mode_t) INTEGER(mode));
return (r < 0)? Ntruth : Truth;
}
@ -266,7 +266,7 @@ static PRIMITIVE posix_mktime(SCM t)
Err("posix-mktime: bad time structure", t);
sec = (time_t) mktime(EXTDATA(t));
return STk_makeinteger((double) sec);
return STk_makeinteger((long) sec);
}
static PRIMITIVE posix_tm2vector(SCM t)
@ -338,7 +338,7 @@ static PRIMITIVE posix_strftime(SCM format, SCM t)
return STk_makestring(buffer);
else
Err("posix-strftime: buffer too short", NIL);
/*NOTREACHED*/
return UNDEFINED; /* never reached */
}
/******************************************************************************

View File

@ -9,7 +9,7 @@
*
* Win32 support by Caleb Deupree <cdeupree@erinet.com>
*
* Last file update: 31-Jan-1998 10:29
* Last file update: 10-Sep-1998 15:17
*/
@ -75,7 +75,8 @@ static void socket_error(char *who, char *message, SCM object)
static void set_socket_io_ports(int s, SCM sock, char *who)
{
int t, len, port;
int t, port;
size_t len;
char *hostname, *fname;
FILE *fs, *ft;
char buffer[200];
@ -138,9 +139,8 @@ static PRIMITIVE make_client_socket(SCM hostname, SCM port)
char str[] = "make-client-socket";
struct hostent *hp;
struct sockaddr_in server;
struct in_addr local_ip;
SCM z, local_host;
int s;
SCM z;
/* Verify arguments */
if(NSTRINGP(hostname))
@ -196,8 +196,6 @@ static PRIMITIVE make_server_socket(SCM port)
char msg[] = "make-server-socket";
struct sockaddr_in sin;
int s, portnum, len;
SCM local_host;
struct in_addr local_ip;
SCM z;
/* Determine port to use */
@ -254,7 +252,7 @@ static PRIMITIVE make_server_socket(SCM port)
static PRIMITIVE socket_accept_connection(SCM sock)
{
char buff[50], *s;
char *s;
char str[]= "socket-accept-connection";
struct sockaddr_in sin;
struct hostent *host;
@ -290,7 +288,6 @@ static void apply_socket_closure(SCM closure)
static PRIMITIVE when_socket_ready(SCM s, SCM closure)
{
char str[50];
int fd;
if (NSOCKETP(s))
@ -321,6 +318,7 @@ static PRIMITIVE when_socket_ready(SCM s, SCM closure)
static PRIMITIVE buggy_handler(SCM s, SCM closure)
{
Err("when-socket-ready: cannot be used with snow", NIL);
return UNDEFINED;
}
/******************************************************************************
@ -331,8 +329,6 @@ static PRIMITIVE buggy_handler(SCM s, SCM closure)
static PRIMITIVE socket_shutdown(SCM sock, SCM close_socket)
{
SCM tmp1, tmp2;
if (close_socket == UNBOUND) close_socket = Truth;
if (NSOCKETP(sock)) Err("socket-shutdown: bad socket", sock);

View File

@ -14,7 +14,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: stk-genmake.in 1.1 Sat, 06 Jun 1998 12:19:03 +0000 eg $
;;;; $Id: stk-genmake.in 1.1 Sat, 06 Jun 1998 14:19:03 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 1-Jun-1998 18:44

View File

@ -3,11 +3,12 @@
<H2><IMG ALIGN=BOTTOM SRC=Img/RefBookGreen.gif>
The <I>STk</I> green pages</H2><HR>
<PRE>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=change-image.n.html>change-image</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=find-image.n.html>find-image</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=focus-next.n.html>focus-next</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=free-image.n.html>free-image</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=listener.n.html>listener</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=make-dialog.n.html>make-dialog</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=make-image.n.html>make-image</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=option-menu.n.html>option-menu</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=palette.n.html>palette</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=popup.n.html>popup</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=repl-display-prompt.n.html>repl-display-prompt</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=repl-display-result.n.html>repl-display-result</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=report-error.n.html>report-error</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=change-image.n.html>change-image</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=choose-color.n.html>choose-color</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=find-image.n.html>find-image</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=focus-next.n.html>focus-next</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=free-image.n.html>free-image</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=listener.n.html>listener</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=make-dialog.n.html>make-dialog</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=make-image.n.html>make-image</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=message-box.n.html>message-box</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=option-menu.n.html>option-menu</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=palette.n.html>palette</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=popup.n.html>popup</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=repl-display-prompt.n.html>repl-display-prompt</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=repl-display-result.n.html>repl-display-result</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=report-error.n.html>report-error</A>
</PRE>
<HR><A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC=./Img/ManPageWhite.gif> Back to the <B>STk</B> main page</A>
</BODY></HTML>

View File

@ -42,23 +42,24 @@ Hereafter is the complete list of STk help pages currently available:
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=after.n.html>after</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=bell.n.html>bell</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=bind.n.html>bind</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=bindtags.n.html>bindtags</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=bitmap.n.html>bitmap</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=button.n.html>button</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=canvas.n.html>canvas</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=change-image.n.html>change-image</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=checkbutton.n.html>checkbutton</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=clipboard.n.html>clipboard</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=destroy.n.html>destroy</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=entry.n.html>entry</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=event.n.html>event</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=find-image.n.html>find-image</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=focus.n.html>focus</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=focus-next.n.html>focus-next</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=frame.n.html>frame</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=free-image.n.html>free-image</A>
<IMG ALIGN=BOTTOM SRC=Img/YellowBall.gif><A HREF=ftp.n.html>ftp</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=grab.n.html>grab</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=grid.n.html>grid</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=image.n.html>image</A> <IMG ALIGN=BOTTOM SRC=Img/YellowBall.gif><A HREF=jpeg.n.html>jpeg</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=label.n.html>label</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=listbox.n.html>listbox</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=listener.n.html>listener</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=lower.n.html>lower</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=make-dialog.n.html>make-dialog</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=make-image.n.html>make-image</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=menu.n.html>menu</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=menubutton.n.html>menubutton</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=message.n.html>message</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=option.n.html>option</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=option-menu.n.html>option-menu</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=options.n.html>options</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=pack.n.html>pack</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=palette.n.html>palette</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=photo.n.html>photo</A> <IMG ALIGN=BOTTOM SRC=Img/YellowBall.gif><A HREF=pixmap.n.html>pixmap</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=place.n.html>place</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=popup.n.html>popup</A> <IMG ALIGN=BOTTOM SRC=Img/YellowBall.gif><A HREF=posix.n.html>posix</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=radiobutton.n.html>radiobutton</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=raise.n.html>raise</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=repl-display-prompt.n.html>repl-display-prompt</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=repl-display-result.n.html>repl-display-result</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=report-error.n.html>report-error</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=scale.n.html>scale</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=scrollbar.n.html>scrollbar</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=selection.n.html>selection</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=send.n.html>send</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=text.n.html>text</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=tk.n.html>tk</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=tkvars.n.html>tkvars</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=tkwait.n.html>tkwait</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=toplevel.n.html>toplevel</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=update.n.html>update</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=winfo.n.html>winfo</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=wm.n.html>wm</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=choose-color.n.html>choose-color</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=clipboard.n.html>clipboard</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=destroy.n.html>destroy</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=entry.n.html>entry</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=event.n.html>event</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=find-image.n.html>find-image</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=focus.n.html>focus</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=focus-next.n.html>focus-next</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=frame.n.html>frame</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=free-image.n.html>free-image</A> <IMG ALIGN=BOTTOM SRC=Img/YellowBall.gif><A HREF=ftp.n.html>ftp</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=grab.n.html>grab</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=grid.n.html>grid</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=image.n.html>image</A> <IMG ALIGN=BOTTOM SRC=Img/YellowBall.gif><A HREF=jpeg.n.html>jpeg</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=label.n.html>label</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=listbox.n.html>listbox</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=listener.n.html>listener</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=lower.n.html>lower</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=make-dialog.n.html>make-dialog</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=make-image.n.html>make-image</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=menu.n.html>menu</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=menubutton.n.html>menubutton</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=message.n.html>message</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=message-box.n.html>message-box</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=option.n.html>option</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=option-menu.n.html>option-menu</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=options.n.html>options</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=pack.n.html>pack</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=palette.n.html>palette</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=photo.n.html>photo</A> <IMG ALIGN=BOTTOM SRC=Img/YellowBall.gif><A HREF=pixmap.n.html>pixmap</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=place.n.html>place</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=popup.n.html>popup</A> <IMG ALIGN=BOTTOM SRC=Img/YellowBall.gif><A HREF=posix.n.html>posix</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=radiobutton.n.html>radiobutton</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=raise.n.html>raise</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=repl-display-prompt.n.html>repl-display-prompt</A> <IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=repl-display-result.n.html>repl-display-result</A>
<IMG ALIGN=BOTTOM SRC=Img/GreenBall.gif><A HREF=report-error.n.html>report-error</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=scale.n.html>scale</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=scrollbar.n.html>scrollbar</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=selection.n.html>selection</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=send.n.html>send</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=text.n.html>text</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=tk.n.html>tk</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=tkvars.n.html>tkvars</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=tkwait.n.html>tkwait</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=toplevel.n.html>toplevel</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=update.n.html>update</A> <IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=winfo.n.html>winfo</A>
<IMG ALIGN=BOTTOM SRC=Img/BlueBall.gif><A HREF=wm.n.html>wm</A>
</PRE>
</UL>
</UL>

View File

@ -182,27 +182,27 @@ types of events the value substituted is undefined.
<P>
<DL>
<DT><A NAME="M8"><B>%</B></A><DD>
<DT><A NAME="M8">{ B% R}</A><DD>
Replaced with a single percent.
<P>
<DT><A NAME="M9"><B>#</B></A><DD>
<DT><A NAME="M9">{ B# R}</A><DD>
The number of the last client request processed by the server
(the <I>serial</I> field from the event). Valid for all event
types.
<P>
<DT><A NAME="M10"><B>a</B></A><DD>
<DT><A NAME="M10">{ Ba R}</A><DD>
The <I>above</I> field from the event,
formatted as a hexadecimal number.
Valid only for <B>Configure</B> events.
<P>
<DT><A NAME="M11"><B>b</B></A><DD>
<DT><A NAME="M11">{ Bb R}</A><DD>
The number of the button that was pressed or released. Valid only
for <B>ButtonPress</B> and <B>ButtonRelease</B> events.
<P>
<DT><A NAME="M12"><B>c</B></A><DD>
<DT><A NAME="M12">{ Bc R}</A><DD>
The <I>count</I> field from the event. Valid only for <B>Expose</B> events.
<P>
<DT><A NAME="M13"><B>d</B></A><DD>
<DT><A NAME="M13">{ Bd R}</A><DD>
The <I>detail</I> field from the event. The <B>d</B> is replaced by
a string identifying the detail. For <B>Enter</B>,
<B>Leave</B>, <B>FocusIn</B>, and <B>FocusOut</B> events,
@ -215,34 +215,34 @@ NotifyInferior NotifyPointerRoot
NotifyNonlinear NotifyVirtual</B></PRE>
For events other than these, the substituted string is undefined.
</UL>
<DT><A NAME="M14"><B>f</B></A><DD>
<DT><A NAME="M14">{ Bf R}</A><DD>
The <I>focus</I> field from the event (<B>#f</B> or <B>#t</B>). Valid only
for <B>Enter</B> and <B>Leave</B> events.
<P>
<DT><A NAME="M15"><B>h</B></A><DD>
<DT><A NAME="M15">{ Bh R}</A><DD>
The <I>height</I> field from the event. Valid only for <B>Configure</B> and
<B>Expose</B> events.
<P>
<DT><A NAME="M16"><B>k</B></A><DD>
<DT><A NAME="M16">{ Bk R}</A><DD>
The <I>keycode</I> field from the event. Valid only for <B>KeyPress</B>
and <B>KeyRelease</B> events.
<P>
<DT><A NAME="M17"><B>m</B></A><DD>
<DT><A NAME="M17">{ Bm R}</A><DD>
The <I>mode</I> field from the event. The substituted string is one of
<B>NotifyNormal</B>, <B>NotifyGrab</B>, <B>NotifyUngrab</B>, or
<B>NotifyWhileGrabbed</B>. Valid only for <B>Enter</B>,
<B>FocusIn</B>, <B>FocusOut</B>, and <B>Leave</B> events.
<P>
<DT><A NAME="M18"><B>o</B></A><DD>
<DT><A NAME="M18">{ Bo R}</A><DD>
The <I>override_redirect</I> field from the event. Valid only for
<B>Map</B>, <B>Reparent</B>, and <B>Configure</B> events.
<P>
<DT><A NAME="M19"><B>p</B></A><DD>
<DT><A NAME="M19">{ Bp R}</A><DD>
The <I>place</I> field from the event, substituted as one of the
strings <B>PlaceOnTop</B> or <B>PlaceOnBottom</B>. Valid only
for <B>Circulate</B> events.
<P>
<DT><A NAME="M20"><B>s</B></A><DD>
<DT><A NAME="M20">{ Bs R}</A><DD>
The <I>state</I> field from the event. For <B>ButtonPress</B>,
<B>ButtonRelease</B>, <B>Enter</B>, <B>KeyPress</B>, <B>KeyRelease</B>,
<B>Leave</B>, and <B>Motion</B> events, a decimal string
@ -250,62 +250,62 @@ is substituted. For <B>Visibility</B>, one of the strings
<B>VisibilityUnobscured</B>, <B>VisibilityPartiallyObscured</B>,
and <B>VisibilityFullyObscured</B> is substituted.
<P>
<DT><A NAME="M21"><B>t</B></A><DD>
<DT><A NAME="M21">{ Bt R}</A><DD>
The <I>time</I> field from the event. Valid only for events that
contain a <I>time</I> field.
<P>
<DT><A NAME="M22"><B>w</B></A><DD>
<DT><A NAME="M22">{ Bw R}</A><DD>
The <I>width</I> field from the event. Valid only for
<B>Configure</B> and <B>Expose</B> events.
<P>
<DT><A NAME="M23"><B>x</B></A><DD>
<DT><A NAME="M23">{ Bx R}</A><DD>
The <I>x</I> field from the event. Valid only for events containing
an <I>x</I> field.
<P>
<DT><A NAME="M24"><B>y</B></A><DD>
<DT><A NAME="M24">{ By R}</A><DD>
The <I>y</I> field from the event. Valid only for events containing
a <I>y</I> field.
<P>
<DT><A NAME="M25"><B>A</B></A><DD>
<DT><A NAME="M25">{ BA R}</A><DD>
Substitutes the ASCII character corresponding to the event, or
the empty string if the event doesn't correspond to an ASCII character
(e.g. the shift key was pressed). <B>XLookupString</B> does all the
work of translating from the event to an ASCII character.
Valid only for <B>KeyPress</B> and <B>KeyRelease</B> events.
<P>
<DT><A NAME="M26"><B>B</B></A><DD>
<DT><A NAME="M26">{ BB R}</A><DD>
The <I>border_width</I> field from the event. Valid only for
<B>Configure</B> events.
<P>
<DT><A NAME="M27"><B>E</B></A><DD>
<DT><A NAME="M27">{ BE R}</A><DD>
The <I>send_event</I> field from the event. Valid for all event types.
<P>
<DT><A NAME="M28"><B>K</B></A><DD>
<DT><A NAME="M28">{ BK R}</A><DD>
The keysym corresponding to the event, substituted as a textual
string. Valid only for <B>KeyPress</B> and <B>KeyRelease</B> events.
<P>
<DT><A NAME="M29"><B>N</B></A><DD>
<DT><A NAME="M29">{ BN R}</A><DD>
The keysym corresponding to the event, substituted as
a decimal
number. Valid only for <B>KeyPress</B> and <B>KeyRelease</B> events.
<P>
<DT><A NAME="M30"><B>R</B></A><DD>
<DT><A NAME="M30">{ BR R}</A><DD>
The <I>root</I> window identifier from the event. Valid only for
events containing a <I>root</I> field.
<P>
<DT><A NAME="M31"><B>S</B></A><DD>
<DT><A NAME="M31">{ BS R}</A><DD>
The <I>subwindow</I> window identifier from the event,
formatted as a hexadecimal number.
Valid only for events containing a <I>subwindow</I> field.
<P>
<DT><A NAME="M32"><B>T</B></A><DD>
<DT><A NAME="M32">{ BT R}</A><DD>
The <I>type</I> field from the event. Valid for all event types.
<P>
<DT><A NAME="M33"><B>W</B></A><DD>
<DT><A NAME="M33">{ BW R}</A><DD>
The path name of the window to which the event was reported (the
<I>window</I> field from the event). Valid for all event types.
<P>
<DT><A NAME="M34"><B>X</B></A><DD>
<DT><A NAME="M34">{ BX R}</A><DD>
The <I>x_root</I> field from the event.
If a virtual-root window manager is being used then the substituted
value is the corresponding x-coordinate in the virtual root.
@ -313,7 +313,7 @@ Valid only for
<B>ButtonPress</B>, <B>ButtonRelease</B>, <B>KeyPress</B>, <B>KeyRelease</B>,
and <B>Motion</B> events.
<P>
<DT><A NAME="M35"><B>Y</B></A><DD>
<DT><A NAME="M35">{ BY R}</A><DD>
The <I>y_root</I> field from the event.
If a virtual-root window manager is being used then the substituted
value is the corresponding y-coordinate in the virtual root.

View File

@ -167,24 +167,29 @@ This procedure is ignored if the button's state is <B>disabled</B>.
<H3><A NAME="M39">DEFAULT BINDINGS</A></H3>
Tk automatically creates class bindings for buttons that give them
default behavior:
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M40">{[1]}</A><DD>
A button activates whenever the mouse passes over it and deactivates
whenever the mouse leaves the button.
Under Windows, this binding is only active when mouse button 1 has
been pressed over the button.
<LI>
<P>
<DT><A NAME="M41">{[2]}</A><DD>
A button's relief is changed to sunken whenever mouse button 1 is
pressed over the button, and the relief is restored to its original
value when button 1 is later released.
<LI>
<P>
<DT><A NAME="M42">{[3]}</A><DD>
If mouse button 1 is pressed over a button and later released over
the button, the button is invoked. However, if the mouse is not
over the button when button 1 is released, then no invocation occurs.
<LI>
<P>
<DT><A NAME="M43">{[4]}</A><DD>
When a button has the input focus, the space key causes the button
to be invoked.
</OL>
<P>
</DL>
<P>
If the button's state is <B>disabled</B> then none of the above
actions occur: the button is completely non-responsive.
@ -192,7 +197,7 @@ actions occur: the button is completely non-responsive.
The behavior of buttons can be changed by defining new bindings for
individual widgets or by redefining the class bindings.
<H3><A NAME="M40">SEE ALSO</A></H3>
<H3><A NAME="M44">SEE ALSO</A></H3>
<B><A HREF="./checkbutton.n.html">checkbutton</A></B>, <B><A HREF="./radiobutton.n.html">radiobutton</A></B>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookBlue.gif"> Back to the <B>STk</B> main page</A>

View File

@ -283,7 +283,7 @@ For each item that meets the constraints specified by
<I>tag</I> to the list of tags associated with the item if it
isn't already present on that list.
It is possible that no items will satisfy the constraints
given by <I>searchSpec and arg</I>s, in which case the
given by <I>searchSpec</I> and <I>arg</I>s, in which case the
procedure has no effect.
This procedure returns an empty list as result.
<I>SearchSpec</I> and <I>arg</I>'s may take any of the following
@ -869,7 +869,7 @@ of the first item in the display list is returned.
If <I>tagOrId</I> doesn't refer to any items at all then
an empty list is returned.
<P>
<DT><A NAME="M106">(<I>widget-name '</I><B>xview </B>?<I>args</I>?)</A><DD>
<DT><A NAME="M106">(<I>widget-name '</I><B>xview </B>?<I>args</I>?)</A><DD>
This procedure is used to query and change the horizontal position of the
information displayed in the canvas's window.
It can take any of the following forms:

View File

@ -277,23 +277,27 @@ modifying its associated variable to reflect the new state.
<H3><A NAME="M49">BINDINGS</A></H3>
Tk automatically creates class bindings for checkbuttons that give them
the following default behavior:
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M50">{[1]}</A><DD>
On Unix systems, a checkbutton activates whenever the mouse passes
over it and deactivates whenever the mouse leaves the checkbutton. On
Windows systems, when mouse button 1 is pressed over a
checkbutton, the button activates whenever the mouse pointer is inside
the button, and deactivates whenever the mouse pointer leaves the
button.
<LI>
<P>
<DT><A NAME="M51">{[2]}</A><DD>
When mouse button 1 is pressed over a checkbutton, it is invoked (its
selection state toggles and the procedure associated with the button is
invoked, if there is one).
<LI>
<P>
<DT><A NAME="M52">{[3]}</A><DD>
When a checkbutton has the input focus, the space key causes the checkbutton
to be invoked. Under Windows, there are additional key bindings; plus
(+) and equal (=) select the button, and minus (-) deselects the button.
</OL>
<P>
</DL>
<P>
If the checkbutton's state is <B>disabled</B> then none of the above
actions occur: the checkbutton is completely non-responsive.
@ -301,7 +305,7 @@ actions occur: the checkbutton is completely non-responsive.
The behavior of checkbuttons can be changed by defining new bindings for
individual widgets or by redefining the class bindings.
<H3><A NAME="M50">SEE ALSO</A></H3>
<H3><A NAME="M53">SEE ALSO</A></H3>
<B><A HREF="./button.n.html">button</A></B>, <B><A HREF="./radiobutton.n.html">radiobutton</A></B>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookBlue.gif"> Back to the <B>STk</B> main page</A>

36
Help/choose-color.n.html Normal file
View File

@ -0,0 +1,36 @@
<HTML><HEAD><TITLE>STk procedure - Tk:choose-color manual page</TITLE></HEAD>
<BR>
<BODY bgcolor = #c3ffc3>
<H2><IMG ALIGN=BOTTOM SRC="./Img/ManPageGreen.gif"> Tk:choose-color</H2>
<I>pops up a dialog box for the user to select a color.</I><P><IMG ALIGN=TOP SRC="./Img/line-red.gif">
<P>
<H3><A NAME="M2">SYNOPSIS</A></H3>
<B>(tk:choose-Color </B>?<I>option value ...</I>?)<BR>
<H3><A NAME="M3">DESCRIPTION</A></H3>
This procedure is part of the STk library.
The procedure <B>Tk:choose-color</B> pops up a dialog box for the
user to select a color. The following <I>option-value</I> pairs are
possible as command line arguments:
<P>
<DL>
<DT><A NAME="M4"><B>:initial-color</B> <I>color</I></A><DD>
Specifies the color to display in the color dialog when it pops
up.
<P>
<DT><A NAME="M5"><B>:title</B> <I>titleString</I></A><DD>
Specifies a string to display as the title of the dialog box. If this
option is not specified, then an empty title will be displayed.
<P>
</DL>
<P>
If the user selects a color, <B>Tk:choose-color</B> will return the
name of the color. If the
user cancels the operation, <B>Tk:choose-color</B> will return
<B>#f</B>
<H3><A NAME="M6">EXAMPLE</A></H3>
<PRE>(pack (button '.b :text &quot;foo&quot;
:bg (Tk:choose-color :initial-color &quot;gray&quot;
:title &quot;Choose color&quot;)))</PRE>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookGreen.gif"> Back to the <B>STk</B> main page</A>
</BODY></HTML>

View File

@ -25,7 +25,7 @@ Claims ownership of the clipboard on <I>window</I>'s display and removes
any previous contents. <I>Window</I> defaults to <B>*root*</B>. Returns an
empty list.
<P>
<DT><A NAME="M6">(<B>clipboard 'append</B> ?<B>:display-of</B> <I>window</I>? ?<B>:format</B> <I>format</I>? ?<B>:type</B> <I>type</I>? ?\fB:\|-\fR? \fIdata\fR)</A><DD>
<DT><A NAME="M6">(<B>clipboard 'append</B> ?<B>:display-of</B> <I>window</I>? ?<B>:format</B> <I>format</I>? ?<B>:type</B> <I>type</I>? {? B:|- R?} { Idata R)}</A><DD>
Appends <I>data</I> to the clipboard on <I>window</I>'s
display in the form given by <I>type</I> with the representation given
by <I>format</I> and claims ownership of the clipboard on <I>window</I>'s

View File

@ -328,44 +328,53 @@ the following default behavior.
In the descriptions below, ``word'' refers to a contiguous group
of letters, digits, or ``_'' characters, or any single character
other than these.
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M65">{[1]}</A><DD>
Clicking mouse button 1 positions the insertion cursor
just before the character underneath the mouse cursor, sets the
input focus to this widget, and clears any selection in the widget.
Dragging with mouse button 1 strokes out a selection between
the insertion cursor and the character under the mouse.
<LI>
<P>
<DT><A NAME="M66">{[2]}</A><DD>
Double-clicking with mouse button 1 selects the word under the mouse
and positions the insertion cursor at the beginning of the word.
Dragging after a double click will stroke out a selection consisting
of whole words.
<LI>
<P>
<DT><A NAME="M67">{[3]}</A><DD>
Triple-clicking with mouse button 1 selects all of the text in the
entry and positions the insertion cursor before the first character.
<LI>
<P>
<DT><A NAME="M68">{[4]}</A><DD>
The ends of the selection can be adjusted by dragging with mouse
button 1 while the Shift key is down; this will adjust the end
of the selection that was nearest to the mouse cursor when button
1 was pressed.
If the button is double-clicked before dragging then the selection
will be adjusted in units of whole words.
<LI>
<P>
<DT><A NAME="M69">{[5]}</A><DD>
Clicking mouse button 1 with the Control key down will position the
insertion cursor in the entry without affecting the selection.
<LI>
<P>
<DT><A NAME="M70">{[6]}</A><DD>
If any normal printing characters are typed in an entry, they are
inserted at the point of the insertion cursor.
<LI>
<P>
<DT><A NAME="M71">{[7]}</A><DD>
The view in the entry can be adjusted by dragging with mouse button 2.
If mouse button 2 is clicked without moving the mouse, the selection
is copied into the entry at the position of the mouse cursor.
<LI>
<P>
<DT><A NAME="M72">{[8]}</A><DD>
If the mouse is dragged out of the entry on the left or right sides
while button 1 is pressed, the entry will automatically scroll to
make more text visible (if there is more text off-screen on the side
where the mouse left the window).
<LI>
<P>
<DT><A NAME="M73">{[9]}</A><DD>
The Left and Right keys move the insertion cursor one character to the
left or right; they also clear any selection in the entry and set
the selection anchor.
@ -377,60 +386,76 @@ by words and also extend the selection.
Control-b and Control-f behave the same as Left and Right, respectively.
Meta-b and Meta-f behave the same as Control-Left and Control-Right,
respectively.
<LI>
<P>
<DT><A NAME="M74">{[10]}</A><DD>
The Home key, or Control-a, will move the insertion cursor to the
beginning of the entry and clear any selection in the entry.
Shift-Home moves the insertion cursor to the beginning of the entry
and also extends the selection to that point.
<LI>
<P>
<DT><A NAME="M75">{[11]}</A><DD>
The End key, or Control-e, will move the insertion cursor to the
end of the entry and clear any selection in the entry.
Shift-End moves the cursor to the end and extends the selection
to that point.
<LI>
<P>
<DT><A NAME="M76">{[12]}</A><DD>
The Select key and Control-Space set the selection anchor to the position
of the insertion cursor. They don't affect the current selection.
Shift-Select and Control-Shift-Space adjust the selection to the
current position of the insertion cursor, selecting from the anchor
to the insertion cursor if there was not any selection previously.
<LI>
<P>
<DT><A NAME="M77">{[13]}</A><DD>
Control-/ selects all the text in the entry.
<LI>
<P>
<DT><A NAME="M78">{[14]}</A><DD>
Control-&#92; clears any selection in the entry.
<LI>
<P>
<DT><A NAME="M79">{[15]}</A><DD>
The F16 key (labelled Copy on many Sun workstations) or Meta-w
copies the selection in the widget to the clipboard, if there is a selection.
<LI>
<P>
<DT><A NAME="M80">{[16]}</A><DD>
The F20 key (labelled Cut on many Sun workstations) or Control-w
copies the selection in the widget to the clipboard and deletes
the selection.
If there is no selection in the widget then these keys have no effect.
<LI>
<P>
<DT><A NAME="M81">{[17]}</A><DD>
The F18 key (labelled Paste on many Sun workstations) or Control-y
inserts the contents of the clipboard at the position of the
insertion cursor.
<LI>
<P>
<DT><A NAME="M82">{[18]}</A><DD>
The Delete key deletes the selection, if there is one in the entry.
If there is no selection, it deletes the character to the right of
the insertion cursor.
<LI>
<P>
<DT><A NAME="M83">{[19]}</A><DD>
The BackSpace key and Control-h delete the selection, if there is one
in the entry.
If there is no selection, it deletes the character to the left of
the insertion cursor.
<LI>
<P>
<DT><A NAME="M84">{[20]}</A><DD>
Control-d deletes the character to the right of the insertion cursor.
<LI>
<P>
<DT><A NAME="M85">{[21]}</A><DD>
Meta-d deletes the word to the right of the insertion cursor.
<LI>
<P>
<DT><A NAME="M86">{[22]}</A><DD>
Control-k deletes all the characters to the right of the insertion
cursor.
<LI>
<P>
<DT><A NAME="M87">{[23]}</A><DD>
Control-w deletes the word to the left of the insertion cursor.
<LI>
<P>
<DT><A NAME="M88">{[24]}</A><DD>
Control-t reverses the order of the two characters to the right of
the insertion cursor.
</OL>
<P>
</DL>
<P>
If the entry is disabled using the <B>:state</B> option, then the entry's
view can still be adjusted and text in the entry can still be selected,

View File

@ -12,7 +12,7 @@ events. The procedure has several different forms, determined by the
first argument. The following forms are currently supported:
<P>
<DL>
<DT><A NAME="M4">(<B>event 'add &quot;&lt;&lt;</B><I>virtual</I><B>&gt;&gt;&quot;</B><I> sequence </I>?<I>sequence ...</I>?)</A><DD>
<DT><A NAME="M4">(<B>event 'add {&quot;&lt;&lt;</B><I>virtual</I><B>&gt;&gt;&quot;</B><I>} sequence </I>?<I>sequence ...</I>?)</A><DD>
Associates the virtual event <I>virtual</I> with the physical
event sequence(s) given by the <I>sequence</I> arguments, so that
the virtual event will trigger whenever any one of the <I>sequence</I>s
@ -23,7 +23,7 @@ any of the values allowed for the <I>sequence</I> argument to the
If <I>virtual</I> is already defined, the new physical event sequences
add to the existing sequences for the event.
<P>
<DT><A NAME="M5">(<B>event 'delete &quot;&lt;&lt;</B><I>virtual</I><B>&gt;&gt;&quot; </B>?<I>sequence sequence ...</I>?)</A><DD>
<DT><A NAME="M5">(<B>event 'delete {&quot;&lt;&lt;</B><I>virtual</I><B>&gt;&gt;&quot;} </B>?<I>sequence</I> <I>sequence ...</I>?)</A><DD>
Deletes each of the <I>sequence</I>s from those associated with
the virtual event given by <I>virtual</I>.
<I>Virtual</I> may be any string value and <I>sequence</I> may have
@ -55,8 +55,8 @@ will complete before the <B>event generate</B> procedure returns.
If the <B>:when</B> option is specified then it determines when the
event is processed.
<P>
<DT><A NAME="M7">(\fBevent 'info)</A><DD>
<DT><A NAME="M8">(<B>event 'info </B>&quot;&lt;&lt;<I>virtual</I><B>&gt;&gt;&quot;</B>)</A><DD>
<DT><A NAME="M7">{( Bevent} 'info)</A><DD>
<DT><A NAME="M8">(<B>event 'info {</B>&quot;&lt;&lt;<I>virtual</I><B>&gt;&gt;&quot;</B>)}</A><DD>
Returns information about virtual events.
If the &quot;<B>&lt;&lt;</B><I>virtual</I><B>&gt;&gt;</B>&quot; argument is omitted, the return value
is a list of all the virtual events that are currently defined.
@ -225,19 +225,19 @@ of the following values:
<P>
<P>
<DL>
<DT><A NAME="M32"><B>now</B></A><DD>
<DT><A NAME="M32">{ Bnow R}</A><DD>
Process the event immediately, before the procedure returns.
This also happens if the <B>:when</B> option is omitted.
<P>
<DT><A NAME="M33"><B>tail</B></A><DD>
<DT><A NAME="M33">{ Btail R}</A><DD>
Place the event on STk's event queue behind any events already
queued for this application.
<P>
<DT><A NAME="M34"><B>head</B></A><DD>
<DT><A NAME="M34">{ Bhead R}</A><DD>
Place the event at the front of STk's event queue, so that it
will be handled before any other events already queued.
<P>
<DT><A NAME="M35"><B>mark</B></A><DD>
<DT><A NAME="M35">{ Bmark R}</A><DD>
Place the event at the front of STk's event queue but behind any
other events already queued with <B>:when mark</B>.
This option is useful when generating a series of events that should

View File

@ -12,7 +12,7 @@ a font. The procedure has several different forms, determined by the
first argument. The following forms are currently supported:
<P>
<DL>
<DT><A NAME="M4">(<B>font 'actual </B><I>font</I> ?\fB\:displayof \fIwindow\fR? ?\fIoption\fR?)</A><DD>
<DT><A NAME="M4">(<B>font 'actual </B><I>font</I> {? B:displayof} { Iwindow R?} {? Ioption R?)}</A><DD>
</DL>
<P>
<DL>
@ -29,15 +29,15 @@ first argument. The following forms are currently supported:
<P>
<DL>
<DT><A NAME="M8">(<B>font 'families</B>)</A><DD>
<DT><A NAME="M9">(<B>font 'families</B> \fB\:displayof \fIwindow\fR?)</A><DD>
<DT><A NAME="M9">(<B>font 'families</B> { B:displayof} { Iwindow R?)}</A><DD>
</DL>
<P>
<DL>
<DT><A NAME="M10">(<B>font 'measure </B><I>font</I> ?\fB\:displayof \fIwindow\fR? \fItext\fR)</A><DD>
<DT><A NAME="M10">(<B>font 'measure </B><I>font</I> {? B:displayof} { Iwindow R?} { Itext R)}</A><DD>
</DL>
<P>
<DL>
<DT><A NAME="M11">(<B>font 'metrics </B><I>font</I> ?\fB\:displayof \fIwindow\fR? ?\fIoption\fR?)</A><DD>
<DT><A NAME="M11">(<B>font 'metrics </B><I>font</I> {? B:displayof} { Iwindow R?} {? Ioption R?)}</A><DD>
</DL>
<P>
<DL>
@ -51,15 +51,15 @@ The following formats are accepted as a font description anywhere
permitted when specifying the <B>:font</B> option for widgets.
<P>
<DL>
<DT><A NAME="M14">[1] <I>fontname</I></A><DD>
<DT><A NAME="M14">{[1]} <I>fontname</I></A><DD>
</DL>
<P>
<DL>
<DT><A NAME="M15">[2] <I>systemfont</I></A><DD>
<DT><A NAME="M15">{[2]} <I>systemfont</I></A><DD>
</DL>
<P>
<DL>
<DT><A NAME="M16">[3] <I>family </I>?<I>size</I>? ?<I>style</I>? ?<I>style ...</I>?</A><DD>
<DT><A NAME="M16">{[3]} <I>family </I>?<I>size</I>? ?<I>style</I>? ?<I>style ...</I>?</A><DD>
</DL>
<UL>
<PRE><B>normal bold roman italic
@ -67,11 +67,11 @@ underline overstrike</B></PRE>
</UL>
<P>
<DL>
<DT><A NAME="M17">[4] X-font names (XLFD)</A><DD>
<DT><A NAME="M17">{[4]} X-font names (XLFD)</A><DD>
</DL>
<P>
<DL>
<DT><A NAME="M18">[5] <I>option value </I>?<I>option value ...</I>?</A><DD>
<DT><A NAME="M18">{[5]} <I>option value </I>?<I>option value ...</I>?</A><DD>
</DL>
<P>
When font description <I>font</I> is used, the system attempts to parse the
@ -86,11 +86,11 @@ an error is generated.
<H3><A NAME="M19">FONT METRICS</A></H3>
<P>
<DL>
<DT><A NAME="M20"><B>:ascent </B></A><DD>
<DT><A NAME="M20"><B>:ascent </B></A><DD>
</DL>
<P>
<DL>
<DT><A NAME="M21"><B>:descent </B></A><DD>
<DT><A NAME="M21"><B>:descent </B></A><DD>
</DL>
<P>
<DL>
@ -98,7 +98,7 @@ an error is generated.
</DL>
<P>
<DL>
<DT><A NAME="M23"><B>:fixed </B></A><DD>
<DT><A NAME="M23"><B>:fixed </B></A><DD>
</DL>
<H3><A NAME="M24">FONT OPTIONS</A></H3>
The following options are supported on all platforms, and are used when

View File

@ -19,13 +19,13 @@
(<B>ftp-display f file</B>)<BR>
<H3><A NAME="M3">CLASS DESCRIPTION</A></H3>
<DL>
<DT><A NAME="M4"><I>Included&nbsp;with:</I></A><DD>
<DT><A NAME="M4">{<I>Included&nbsp;with:</I>}</A><DD>
(require &quot;ftp&quot;)
<P>
<DT><A NAME="M5"><I>Inherits&nbsp;from:</I></A><DD>
<DT><A NAME="M5">{<I>Inherits&nbsp;from:</I>}</A><DD>
&lt;top&gt;
<P>
<DT><A NAME="M6"><I>Direct&nbsp;slots:</I></A><DD>
<DT><A NAME="M6">{<I>Direct&nbsp;slots:</I>}</A><DD>
<B>host</B> contains the name of the host to connect to.
<P>
<P>

View File

@ -15,7 +15,7 @@ Like all images, jpegs are created using the <B><A HREF=../Help/./image.n.html>i
command. Jpeg images support the following <I>options</I>:
<P>
<DL>
<DT><A NAME="M5">\fB\:file \fIname\fR</A><DD>
<DT><A NAME="M5">{ B:file} { Iname R}</A><DD>
<I>name</I> gives the name of a file whose contents define the source
image.

View File

@ -106,8 +106,9 @@ Indicates the anchor point for the selection, which is set with the
<P>
<DT><A NAME="M32"><B>end</B></A><DD>
Indicates the end of the listbox.
For some procedures this means just after the last element;
for other procedures it means the last element.
For most procedure this refers to the last element in the listbox,
but for a few procedure such as <B>index</B> and <B>insert</B>
it refers to the element just after the last one.
<P>
<DT><A NAME="M33"><B>@</B><I>x</I><B>,</B><I>y</I></A><DD>
Indicates the element that covers the point in the listbox window
@ -134,6 +135,8 @@ procedures are possible for listbox widgets:
<DL>
<DT><A NAME="M35">(<I>widget-name '</I><B>activate</B> <I>index</I>)</A><DD>
Sets the active element to the one indicated by <I>index</I>.
If <I>index</I> is outside the range of elements in the listbox
then the closest element is activated.
The active element is drawn with an underline when the widget
has the input focus, and its index may be retrieved with the
index <B>active</B>.
@ -146,7 +149,9 @@ of the upper-left corner of the screen area covered by the text
(specified in pixels relative to the widget) and the last two
elements give the width and height of the area, in pixels.
If no part of the element given by <I>index</I> is visible on the
screen then the result is an empty list; if the element is
screen,
or if <I>index</I> refers to a non-existent element,
then the result is an empty list; if the element is
partially visible, the result gives the full area of the element,
including any parts that are not visible.
<P>
@ -186,7 +191,8 @@ to delete. If <I>last</I> isn't specified it defaults to
<DT><A NAME="M42">(<I>widget-name '</I><B>get </B><I>first</I>)</A><DD>
<DT><A NAME="M43">(<I>widget-name '</I><B>get </B><I>first</I> <I>last</I>)</A><DD>
If <I>last</I> is omitted, returns the contents of the listbox
element indicated by <I>first</I>.
element indicated by <I>first</I>,
or an empty list if <I>first</I> refers to a non-existent element.
If <I>last</I> is specified, the procedure returns a list whose elements
are all of the listbox elements between <I>first</I> and <I>last</I>,
inclusive.
@ -194,8 +200,9 @@ Both <I>first</I> and <I>last</I> may have any of the standard
forms for indices.
<P>
<DT><A NAME="M44">(<I>widget-name '</I><B>index </B><I>index</I>)</A><DD>
Returns a decimal string giving the integer index value that
corresponds to <I>index</I>.
Returns the integer index value that corresponds to <I>index</I>.
If <I>index</I> is <B>end</B> the return value is a count of the number
of elements in the listbox (not the index of the last element).
<P>
<DT><A NAME="M45">(<I>widget-name '</I><B>insert </B><I>index </I>?<I>element element ...</I>?)</A><DD>
Inserts zero or more new elements in the list just before the
@ -246,6 +253,8 @@ has several forms, depending on <I>option</I>:
<DL>
<DT><A NAME="M52">(<I>widget-name </I><B>'selection 'anchor </B><I>index</I>)</A><DD>
Sets the selection anchor to the element given by <I>index</I>.
If <I>index</I> refers to a non-existent element, then the closest
element is used.
The selection anchor is the end of the selection that is fixed
while dragging out a selection with the mouse.
The index <B>anchor</B> may be used to refer to the anchor
@ -387,15 +396,17 @@ the other modes appear to be useful only in special situations.
<P>
In addition to the above behavior, the following additional behavior
is defined by the default bindings:
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M70">{[1]}</A><DD>
In <B>extended</B> mode, the selected range can be adjusted by pressing
button 1 with the Shift key down: this modifies the selection to
consist of the elements between the anchor and the element under
the mouse, inclusive.
The un-anchored end of this new selection can also be dragged with
the button down.
<LI>
<P>
<DT><A NAME="M71">{[2]}</A><DD>
In <B>extended</B> mode, pressing button 1 with the Control key down
starts a toggle operation: the anchor is set to the element under
the mouse, and its selection state is reversed. The selection state
@ -405,17 +416,20 @@ of all elements between the anchor and the element under the mouse
is set to match that of the anchor element; the selection state of
all other elements remains what it was before the toggle operation
began.
<LI>
<P>
<DT><A NAME="M72">{[3]}</A><DD>
If the mouse leaves the listbox window with button 1 down, the window
scrolls away from the mouse, making information visible that used
to be off-screen on the side of the mouse.
The scrolling continues until the mouse re-enters the window, the
button is released, or the end of the listbox is reached.
<LI>
<P>
<DT><A NAME="M73">{[4]}</A><DD>
Mouse button 2 may be used for scanning.
If it is pressed and dragged over the listbox, the contents of
the listbox drag at high speed in the direction the mouse moves.
<LI>
<P>
<DT><A NAME="M74">{[5]}</A><DD>
If the Up or Down key is pressed, the location cursor (active
element) moves up or down one element.
If the selection mode is <B>browse</B> or <B>extended</B> then the
@ -423,70 +437,85 @@ new active element is also selected and all other elements are
deselected.
In <B>extended</B> mode the new active element becomes the
selection anchor.
<LI>
<P>
<DT><A NAME="M75">{[6]}</A><DD>
In <B>extended</B> mode, Shift-Up and Shift-Down move the location
cursor (active element) up or down one element and also extend
the selection to that element in a fashion similar to dragging
with mouse button 1.
<LI>
<P>
<DT><A NAME="M76">{[7]}</A><DD>
The Left and Right keys scroll the listbox view left and right
by the width of the character <B>0</B>.
Control-Left and Control-Right scroll the listbox view left and
right by the width of the window.
Control-Prior and Control-Next also scroll left and right by
the width of the window.
<LI>
<P>
<DT><A NAME="M77">{[8]}</A><DD>
The Prior and Next keys scroll the listbox view up and down
by one page (the height of the window).
<LI>
<P>
<DT><A NAME="M78">{[9]}</A><DD>
The Home and End keys scroll the listbox horizontally to
the left and right edges, respectively.
<LI>
<P>
<DT><A NAME="M79">{[10]}</A><DD>
Control-Home sets the location cursor to the the first element in
the listbox, selects that element, and deselects everything else
in the listbox.
<LI>
<P>
<DT><A NAME="M80">{[11]}</A><DD>
Control-End sets the location cursor to the the last element in
the listbox, selects that element, and deselects everything else
in the listbox.
<LI>
<P>
<DT><A NAME="M81">{[12]}</A><DD>
In <B>extended</B> mode, Control-Shift-Home extends the selection
to the first element in the listbox and Control-Shift-End extends
the selection to the last element.
<LI>
<P>
<DT><A NAME="M82">{[13]}</A><DD>
In <B>multiple</B> mode, Control-Shift-Home moves the location cursor
to the first element in the listbox and Control-Shift-End moves
the location cursor to the last element.
<LI>
<P>
<DT><A NAME="M83">{[14]}</A><DD>
The space and Select keys make a selection at the location cursor
(active element) just as if mouse button 1 had been pressed over
this element.
<LI>
<P>
<DT><A NAME="M84">{[15]}</A><DD>
In <B>extended</B> mode, Control-Shift-space and Shift-Select
extend the selection to the active element just as if button 1
had been pressed with the Shift key down.
<LI>
<P>
<DT><A NAME="M85">{[16]}</A><DD>
In <B>extended</B> mode, the Escape key cancels the most recent
selection and restores all the elements in the selected range
to their previous selection state.
<LI>
<P>
<DT><A NAME="M86">{[17]}</A><DD>
Control-slash selects everything in the widget, except in
<B>single</B> and <B>browse</B> modes, in which case it selects
the active element and deselects everything else.
<LI>
<P>
<DT><A NAME="M87">{[18]}</A><DD>
Control-backslash deselects everything in the widget, except in
<B>browse</B> mode where it has no effect.
<LI>
<P>
<DT><A NAME="M88">{[19]}</A><DD>
The F16 key (labelled Copy on many Sun workstations) or Meta-w
copies the selection in the widget to the clipboard, if there is
a selection.
</OL>
<P>
</DL>
<P>
The behavior of listboxes can be changed by defining new bindings for
individual widgets or by redefining the class bindings.
<H3><A NAME="M70">EXAMPLE</A></H3>
<H3><A NAME="M89">EXAMPLE</A></H3>
Herafter is an example of a listbox connected to a scrollbar
<PRE>;; Create list box and scrollbar
(listbox '.l :height 5
@ -499,7 +528,7 @@ Herafter is an example of a listbox connected to a scrollbar
;; Pack elements
(pack .l :side &quot;left&quot; :expand #t :fill &quot;both&quot;)
(pack .s :side &quot;right&quot; :expand #f :fill &quot;y&quot;)</PRE>
<H3><A NAME="M71">SEE ALSO</A></H3>
<H3><A NAME="M90">SEE ALSO</A></H3>
<B><A HREF="./scrollbar.n.html">scrollbar</A></B>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookBlue.gif"> Back to the <B>STk</B> main page</A>

View File

@ -77,6 +77,8 @@ Hereafter are simple uses of the <B>STk:make-dialog</B> procedure
(display &quot;bar\n&quot;)))
(list &quot;baz&quot; (lambda ()
(display &quot;baz\n&quot;)))))</PRE>
<H3><A NAME="M11">SEE ALSO</A></H3>
<B>message-box</B>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookGreen.gif"> Back to the <B>STk</B> main page</A>
</BODY></HTML>

View File

@ -661,34 +661,42 @@ the same as the original menu.
<H3><A NAME="M85">DEFAULT BINDINGS</A></H3>
Tk automatically creates class bindings for menus that give them
the following default behavior:
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M86">{[1]}</A><DD>
When the mouse enters a menu, the entry underneath the mouse
cursor activates; as the mouse moves around the menu, the active
entry changes to track the mouse.
<LI>
<P>
<DT><A NAME="M87">{[2]}</A><DD>
When the mouse leaves a menu all of the entries in the menu
deactivate, except in the special case where the mouse moves from
a menu to a cascaded submenu.
<LI>
<P>
<DT><A NAME="M88">{[3]}</A><DD>
When a button is released over a menu, the active entry (if any) is invoked.
The menu also unposts unless it is a torn-off menu.
<LI>
<P>
<DT><A NAME="M89">{[4]}</A><DD>
The Space and Return keys invoke the active entry and
unpost the menu.
<LI>
<P>
<DT><A NAME="M90">{[5]}</A><DD>
If any of the entries in a menu have letters underlined with
with <B>:underline</B> option, then pressing one of the underlined
letters (or its upper-case or lower-case equivalent) invokes that
entry and unposts the menu.
<LI>
<P>
<DT><A NAME="M91">{[6]}</A><DD>
The Escape key aborts a menu selection in progress without invoking any
entry. It also unposts the menu unless it is a torn-off menu.
<LI>
<P>
<DT><A NAME="M92">{[7]}</A><DD>
The Up and Down keys activate the next higher or lower entry
in the menu. When one end of the menu is reached, the active
entry wraps around to the other end.
<LI>
<P>
<DT><A NAME="M93">{[8]}</A><DD>
The Left key moves to the next menu to the left.
If the current menu is a cascaded submenu, then the submenu is
unposted and the current menu entry becomes the cascade entry
@ -700,7 +708,8 @@ Otherwise the key has no effect.
The left-right order of menubuttons is determined by their stacking
order: Tk assumes that the lowest menubutton (which by default
is the first one created) is on the left.
<LI>
<P>
<DT><A NAME="M94">{[9]}</A><DD>
The Right key moves to the next menu to the right.
If the current entry is a cascade entry, then the submenu is
posted and the current menu entry becomes the first entry
@ -708,7 +717,8 @@ in the submenu.
Otherwise, if the current menu was posted from a
menubutton, then the current menubutton is unposted and the
next menubutton to the right is posted.
</OL>
<P>
</DL>
<P>
Disabled menu entries are non-responsive: they don't activate and
they ignore mouse button presses and releases.
@ -716,12 +726,12 @@ they ignore mouse button presses and releases.
The behavior of menus can be changed by defining new bindings for
individual widgets or by redefining the class bindings.
<H3><A NAME="M86">BUGS</A></H3>
<H3><A NAME="M95">BUGS</A></H3>
At present it isn't possible to use the
option database to specify values for the options to individual
entries.
<H3><A NAME="M87">SEE ALSO</A></H3>
<H3><A NAME="M96">SEE ALSO</A></H3>
<B>popup option-menu menubutton</B>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookBlue.gif"> Back to the <B>STk</B> main page</A>

View File

@ -176,47 +176,57 @@ command.
<H3><A NAME="M39">DEFAULT BINDINGS</A></H3>
Tk automatically creates class bindings for menubuttons that give them
the following default behavior:
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M40">{[1]}</A><DD>
A menubutton activates whenever the mouse passes over it and deactivates
whenever the mouse leaves it.
<LI>
<P>
<DT><A NAME="M41">{[2]}</A><DD>
Pressing mouse button 1 over a menubutton posts the menubutton:
its relief changes to raised and its associated menu is posted
under the menubutton. If the mouse is dragged down into the menu
with the button still down, and if the mouse button is then
released over an entry in the menu, the menubutton is unposted
and the menu entry is invoked.
<LI>
<P>
<DT><A NAME="M42">{[3]}</A><DD>
If button 1 is pressed over a menubutton and then released over that
menubutton, the menubutton stays posted: you can still move the mouse
over the menu and click button 1 on an entry to invoke it.
Once a menu entry has been invoked, the menubutton unposts itself.
<LI>
<P>
<DT><A NAME="M43">{[4]}</A><DD>
If button 1 is pressed over a menubutton and then dragged over some
other menubutton, the original menubutton unposts itself and the
new menubutton posts.
<LI>
<P>
<DT><A NAME="M44">{[5]}</A><DD>
If button 1 is pressed over a menubutton and released outside
any menubutton or menu, the menubutton unposts without invoking
any menu entry.
<LI>
<P>
<DT><A NAME="M45">{[6]}</A><DD>
When a menubutton is posted, its associated menu claims the input
focus to allow keyboard traversal of the menu and its submenus.
See the <B><A HREF="./menu.n.html">menu</A></B> manual entry for details on these bindings.
<LI>
<P>
<DT><A NAME="M46">{[7]}</A><DD>
If the <B>underline</B> option has been specified for a menubutton
then keyboard traversal may be used to post the menubutton:
Alt+<I>x</I>, where <I>x</I> is the underlined character (or its
lower-case or upper-case equivalent), may be typed in any window
under the menubutton's toplevel to post the menubutton.
<LI>
<P>
<DT><A NAME="M47">{[8]}</A><DD>
The F10 key may be typed in any window to post the first menubutton
under its toplevel window that isn't disabled.
<LI>
<P>
<DT><A NAME="M48">{[9]}</A><DD>
If a menubutton has the input focus, the space and return keys
post the menubutton.
</OL>
<P>
</DL>
<P>
If the menubutton's state is <B>disabled</B> then none of the above
actions occur: the menubutton is completely non-responsive.
@ -224,7 +234,7 @@ actions occur: the menubutton is completely non-responsive.
The behavior of menubuttons can be changed by defining new bindings for
individual widgets or by redefining the class bindings.
<H3><A NAME="M40">SEE ALSO</A></H3>
<H3><A NAME="M49">SEE ALSO</A></H3>
<B>menu option-menu</B>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookBlue.gif"> Back to the <B>STk</B> main page</A>

79
Help/message-box.n.html Normal file
View File

@ -0,0 +1,79 @@
<HTML><HEAD><TITLE>STk procedure - Tk:message-box manual page</TITLE></HEAD>
<BR>
<BODY bgcolor = #c3ffc3>
<H2><IMG ALIGN=BOTTOM SRC="./Img/ManPageGreen.gif"> Tk:message-box</H2>
<I>pops up a message window and waits for user response.</I><P><IMG ALIGN=TOP SRC="./Img/line-red.gif">
<H3><A NAME="M2">SYNOPSIS</A></H3>
<B>(Tk:message-box </B>?<I>option value ...</I>?)<BR>
<H3><A NAME="M3">DESCRIPTION</A></H3>
This procedure creates and displays a message window with an
application-specified message, an icon and a set of buttons. Each of
the buttons in the message window is identified by a unique symbolic
name (see the <B>:type</B> options). After the message window is
popped up, <B>Tk:message-box</B> waits for the user to select one of the
buttons. Then it returns the symbolic name of the selected button.
The following option-value pairs are supported:
<P>
<DL>
<DT><A NAME="M4"><B>:default</B> <I>name</I></A><DD>
<I>Name</I> gives the symbolic name of the default button for
this message window ('ok', 'cancel', and so on). See <B>:type</B>
for a list of the symbolic names. If the message box has just one
button it will automatically be made the default, otherwise if this
option is not specified, there won't be any default button.
<P>
<DT><A NAME="M5"><B>:icon</B> <I>iconImage</I></A><DD>
Specifies an icon to display. <I>IconImage</I> must be one of the
following: <B>error</B>, <B>info</B>, <B>question</B> or
<B>warning</B>. If this option is not specified, then no icon will be
displayed.
<P>
<DT><A NAME="M6"><B>:message</B> <I>string</I></A><DD>
Specifies the message to display in this message box.
<B>:title</B> <I>titleString</I>
Specifies a string to display as the title of the message box. The
default value is an empty string.
<P>
<DT><A NAME="M7"><B>:type</B> <I>predefinedType</I></A><DD>
Arranges for a predefined set of buttons to be displayed. The
following values are possible for <I>predefinedType</I>:
<P>
<P>
<DL>
<DT><A NAME="M8"><B>AbortRetryIgnore</B></A><DD>
Displays three buttons whose symbolic names are <B>abort</B>,
<B>retry</B> and <B>ignore</B>.
<P>
<DT><A NAME="M9"><B>Ok</B></A><DD>
Displays one button whose symbolic name is <B>ok</B>.
<P>
<DT><A NAME="M10"><B>OkCancel</B></A><DD>
Displays two buttons whose symbolic names are <B>ok</B> and <B>cancel</B>.
<P>
<DT><A NAME="M11"><B>RetryCancel</B></A><DD>
Displays two buttons whose symbolic names are <B>retry</B> and <B>cancel</B>.
<P>
<DT><A NAME="M12"><B>YesNo</B></A><DD>
Displays two buttons whose symbolic names are <B>yes</B> and <B>no</B>.
<P>
<DT><A NAME="M13"><B>YesNoCancel</B></A><DD>
Displays three buttons whose symbolic names are <B>yes</B>, <B>no</B>
and <B>cancel</B>.
<P>
</DL>
</DL>
<P>
<H3><A NAME="M14">EXAMPLE</A></H3>
<PRE>(let ((answer (Tk:message-box :message &quot;Really quit?&quot;
:type 'YesNo
:icon 'question)))
(case answer
((yes) (exit))
(else (Tk:message-box :message &quot;I know you like this application!&quot;
:type 'Ok))))</PRE>
<H3><A NAME="M15">SEE ALSO</A></H3>
<B><A HREF="./make-dialog.n.html">make-dialog</A></B>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookGreen.gif"> Back to the <B>STk</B> main page</A>
</BODY></HTML>

View File

@ -164,8 +164,9 @@ This area is called the <I>cavity</I>; for the first slave it
is the entire area of the master.
<P>
For each slave the packer carries out the following steps:
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M26">{[1]}</A><DD>
The packer allocates a rectangular <I>parcel</I> for the slave
along the side of the cavity given by the slave's <B>:side</B> option.
If the side is top or bottom then the width of the parcel is
@ -176,7 +177,8 @@ the height of the cavity and the width is the requested width
of the slave plus the <B>:ipadx</B> and <B>:padx</B> options.
The parcel may be enlarged further because of the <B>:expand</B>
option (see ``EXPANSION'' below)
<LI>
<P>
<DT><A NAME="M27">{[2]}</A><DD>
The packer chooses the dimensions of the slave.
The width will normally be the slave's requested width plus
twice its <B>:ipadx</B> option and the height will normally be
@ -188,14 +190,16 @@ minus twice the <B>:padx</B> option.
If the <B>:fill</B> option is <B>y</B> or <B>both</B>
then the height of the slave is expanded to fill the width of the parcel,
minus twice the <B>:pady</B> option.
<LI>
<P>
<DT><A NAME="M28">{[3]}</A><DD>
The packer positions the slave over its parcel.
If the slave is smaller than the parcel then the <B>:anchor</B>
option determines where in the parcel the slave will be placed.
If <B>:padx</B> or <B>:pady</B> is non-zero, then the given
amount of external padding will always be left between the
slave and the edges of the parcel.
</OL>
<P>
</DL>
<P>
Once a given slave has been packed, the area of its parcel
is subtracted from the cavity, leaving a smaller rectangular
@ -209,7 +213,7 @@ If the cavity shrinks to zero size, then all remaining slaves
on the packing list will be unmapped from the screen until
the master window becomes large enough to hold them again.
<H3><A NAME="M26">EXPANSION</A></H3>
<H3><A NAME="M29">EXPANSION</A></H3>
If a master window is so large that there will be extra space
left over after all of its slaves have been packed, then the
extra space is distributed uniformly among all of the slaves
@ -219,7 +223,7 @@ slaves whose <B>:side</B> is <B>left</B> or <B>right</B>,
and extra vertical space is distributed among the expandable
slaves whose <B>:side</B> is <B>top</B> or <B>bottom</B>.
<H3><A NAME="M27">GEOMETRY PROPAGATION</A></H3>
<H3><A NAME="M30">GEOMETRY PROPAGATION</A></H3>
The packer normally computes how large a master must be to
just exactly meet the needs of its slaves, and it sets the
requested width and height of the master to these dimensions.
@ -233,14 +237,14 @@ the requested width and height of the packer.
This may be useful if, for example, you wish for a master
window to have a fixed size that you specify.
<H3><A NAME="M28">RESTRICTIONS ON MASTER WINDOWS</A></H3>
<H3><A NAME="M31">RESTRICTIONS ON MASTER WINDOWS</A></H3>
The master for each slave must either be the slave's parent
(the default) or a descendant of the slave's parent.
This restriction is necessary to guarantee that the
slave can be placed over any part of its master that is
visible without danger of the slave being clipped by its parent.
<H3><A NAME="M29">PACKING ORDER</A></H3>
<H3><A NAME="M32">PACKING ORDER</A></H3>
If the master for a slave is not its parent then you must make sure
that the slave is higher in the stacking order than the master.
Otherwise the master will obscure the slave and it will appear as
@ -251,7 +255,7 @@ will be highest in the stacking order.
Or, you can use the <B><A HREF="./raise.n.html">raise</A></B> and <B><A HREF="./lower.n.html">lower</A></B> procedures to change
the stacking order of either the master or the slave.
<H3><A NAME="M30">SEE ALSO</A></H3>
<H3><A NAME="M33">SEE ALSO</A></H3>
<B><A HREF="./grid.n.html">grid</A></B>, <B><A HREF="./place.n.html">place</A></B>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookBlue.gif"> Back to the <B>STk</B> main page</A>

View File

@ -22,23 +22,30 @@ command.
Photos support the following <I>options</I>:
<P>
<DL>
<DT><A NAME="M5"><B>:data </B><I>string</I></A><DD>
<DT><A NAME="M5">{ B:channel} { IchannelId R}</A><DD>
<I>channelId</I> gives the name of a port open for reading which is to be
read to supply data for the photo image. The data format in the port
must be one of those for which there is an image format handler that
can read data from a file or port.
<P>
<DT><A NAME="M6"><B>:data </B><I>string</I></A><DD>
Specifies the contents of the image as a string. The format of the
string must be one of those for which there is an image file format
handler that will accept string data. If both the <B>:data</B>
and <B>:file</B> options are specified, the <B>:file</B> option takes
precedence.
<P>
<DT><A NAME="M6"><B>:format </B><I>format-name</I></A><DD>
<DT><A NAME="M7"><B>:format </B><I>format-name</I></A><DD>
Specifies the name of the file format for the data specified with the
<B>:data</B> or <B>:file</B> option.
<P>
<DT><A NAME="M7"><B>:file </B><I>name</I></A><DD>
<DT><A NAME="M8"><B>:file </B><I>name</I></A><DD>
<I>name</I> gives the name of a file that is to be read to supply data
for the photo image. The file format must be one of those for which
there is an image file format handler that can read data from a file.
there is an image file format handler that can read data from a file or
port.
<P>
<DT><A NAME="M8"><B>:gamma </B><I>value</I></A><DD>
<DT><A NAME="M9"><B>:gamma </B><I>value</I></A><DD>
Specifies that the colors allocated for displaying this image in a
window should be corrected for a non-linear display with the specified
gamma exponent value. (The intensity produced by most
@ -49,13 +56,13 @@ value is one (no correction). In general, values greater than one
will make the image lighter, and values less than one will make it
darker.
<P>
<DT><A NAME="M9"><B>:height </B><I>number</I></A><DD>
<DT><A NAME="M10"><B>:height </B><I>number</I></A><DD>
Specifies the height of the image, in pixels. This option is useful
primarily in situations where the user wishes to build up the contents
of the image piece by piece. A value of zero (the default) allows the
image to expand or shrink vertically to fit the data stored in it.
<P>
<DT><A NAME="M10"><B>:palette </B><I>palette-spec</I></A><DD>
<DT><A NAME="M11"><B>:palette </B><I>palette-spec</I></A><DD>
Specifies the resolution of the color cube to be allocated for
displaying this image, and thus the number of colors used from the
colormaps of the windows where it is displayed. The
@ -66,7 +73,7 @@ red, green and blue to use, respectively. If the first form (a single
number) is used, the image will be displayed in monochrome (i.e.,
grayscale).
<P>
<DT><A NAME="M11"><B>:width </B><I>number</I></A><DD>
<DT><A NAME="M12"><B>:width </B><I>number</I></A><DD>
Specifies the width of the image, in pixels. This option is useful
primarily in situations where the user wishes to build up the contents
of the image piece by piece. A value of zero (the default) allows the
@ -74,7 +81,7 @@ image to expand or shrink horizontally to fit the data stored in it.
<P>
</DL>
<H3><A NAME="M12">IMAGE COMMAND</A></H3>
<H3><A NAME="M13">IMAGE COMMAND</A></H3>
When a photo image is created, Tk also creates a new command
whose name is the same as the image.
This command may be used to invoke various operations
@ -94,18 +101,18 @@ changed.
The following commands are possible for photo images:
<P>
<DL>
<DT><A NAME="M13">(<I>imageName '</I><B>blank</B>)</A><DD>
<DT><A NAME="M14">(<I>imageName '</I><B>blank</B>)</A><DD>
Blank the image; that is, set the entire image to have no data, so it
will be displayed as transparent, and the background of whatever
window it is displayed in will show through.
<P>
<DT><A NAME="M14">(<I>imageName '</I><B>cget</B> <I>option</I>)</A><DD>
<DT><A NAME="M15">(<I>imageName '</I><B>cget</B> <I>option</I>)</A><DD>
Returns the current value of the configuration option given
by <I>option</I>.
<I>Option</I> may have any of the values accepted by the
<B>image create photo</B> command.
<P>
<DT><A NAME="M15">(<I>imageName '</I><B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?)</A><DD>
<DT><A NAME="M16">(<I>imageName '</I><B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?)</A><DD>
Query or modify the configuration options for the image.
If no <I>option</I> is specified, returns a list describing all of
the available options for <I>imageName</I> (see <B>Tk_ConfigureInfo</B> for
@ -119,7 +126,7 @@ this case the command returns an empty string.
<I>Option</I> may have any of the values accepted by the
<B>image create photo</B> command.
<P>
<DT><A NAME="M16">(<I>imageName '</I><B>copy</B> <I>sourceImage</I> ?<I>option value(s) ...</I>?)</A><DD>
<DT><A NAME="M17">(<I>imageName '</I><B>copy</B> <I>sourceImage</I> ?<I>option value(s) ...</I>?)</A><DD>
Copies a region from the image called <I>sourceImage</I> (which must
be a photo image) to the image called <I>imageName</I>, possibly with
pixel zooming and/or subsampling. If no options are specified, this
@ -129,7 +136,7 @@ options may be specified:
<P>
<P>
<DL>
<DT><A NAME="M17"><B>:from </B><I>x1 y1 x2 y2</I></A><DD>
<DT><A NAME="M18"><B>:from </B><I>x1 y1 x2 y2</I></A><DD>
Specifies a rectangular sub-region of the source image to be copied.
(<I>x1,y1</I>) and (<I>x2,y2</I>) specify diagonally opposite corners of
the rectangle. If <I>x2</I> and <I>y2</I> are not specified, the
@ -138,7 +145,7 @@ pixels copied will include the left and top edges of the specified
rectangle but not the bottom or right edges. If the <B>:from</B>
option is not given, the default is the whole source image.
<P>
<DT><A NAME="M18"><B>:to </B><I>x1 y1 x2 y2</I></A><DD>
<DT><A NAME="M19"><B>:to </B><I>x1 y1 x2 y2</I></A><DD>
Specifies a rectangular sub-region of the destination image to be
affected. (<I>x1,y1</I>) and (<I>x2,y2</I>) specify diagonally opposite
corners of the rectangle. If <I>x2</I> and <I>y2</I> are not specified,
@ -147,14 +154,14 @@ region (after subsampling and zooming, if specified). If <I>x2</I> and
<I>y2</I> are specified, the source region will be replicated if
necessary to fill the destination region in a tiled fashion.
<P>
<DT><A NAME="M19"><B>:shrink</B></A><DD>
<DT><A NAME="M20"><B>:shrink</B></A><DD>
Specifies that the size of the destination image should be reduced, if
necessary, so that the region being copied into is at the bottom-right
corner of the image. This option will not affect the width or height
of the image if the user has specified a non-zero value for the
<B>:width</B> or <B>:height</B> configuration option, respectively.
<P>
<DT><A NAME="M20"><B>:zoom </B><I>x y</I></A><DD>
<DT><A NAME="M21"><B>:zoom </B><I>x y</I></A><DD>
Specifies that the source region should be magnified by a factor of
<I>x</I> in the X direction and <I>y</I> in the Y direction. If <I>y</I>
is not given, the default value is the same as <I>x</I>. With this
@ -162,7 +169,7 @@ option, each pixel in the source image will be expanded into a block
of <I>x</I> x <I>y</I> pixels in the destination image, all the same
color. <I>x</I> and <I>y</I> must be greater than 0.
<P>
<DT><A NAME="M21"><B>:subsample </B><I>x y</I></A><DD>
<DT><A NAME="M22"><B>:subsample </B><I>x y</I></A><DD>
Specifies that the source image should be reduced in size by using
only every <I>x</I>th pixel in the X direction and <I>y</I>th pixel in
the Y direction. Negative values will cause the image to be flipped
@ -170,13 +177,13 @@ about the Y or X axes, respectively. If <I>y</I> is not given, the
default value is the same as <I>x</I>.
<P>
</DL>
<DT><A NAME="M22">(<I>imageName '</I><B>get</B> <I>x y</I>)</A><DD>
<DT><A NAME="M23">(<I>imageName '</I><B>get</B> <I>x y</I>)</A><DD>
Returns the color of the pixel at coordinates (<I>x</I>,<I>y</I>) in the
image as a list of three integers between 0 and 255, representing the
red, green and blue components respectively.
<P>
<DT><A NAME="M23">(<I>imageName '</I><B>put </B><I>data</I>)</A><DD>
<DT><A NAME="M24">(option <I>imageName '</I><B>put </B><I>data</I> <B>:to</B><I> x1 y1 x2 y2</I>)</A><DD>
<DT><A NAME="M24">(<I>imageName '</I><B>put </B><I>data</I>)</A><DD>
<DT><A NAME="M25">(option <I>imageName '</I><B>put </B><I>data</I> <B>:to</B><I> x1 y1 x2 y2</I>)</A><DD>
Sets pixels in <I>imageName</I> to the colors specified in <I>data</I>.
<I>data</I> is used to form a two-dimensional array of pixels that are
then copied into the <I>imageName</I>. <I>data</I> is structured as a
@ -191,7 +198,7 @@ specify diagonally opposite corners of the affected rectangle, and the
array given in <I>data</I> will be replicated as necessary in the X and
Y directions to fill the rectangle.
<P>
<DT><A NAME="M25">(<I>imageName '</I><B>read</B> <I>filename</I> ?<I>option value(s) ...</I>?)</A><DD>
<DT><A NAME="M26">(<I>imageName '</I><B>read</B> <I>filename</I> ?<I>option value(s) ...</I>?)</A><DD>
Reads image data from the file named <I>filename</I> into the image.
This command first searches the list of
image file format handlers for a handler that can interpret the data
@ -201,13 +208,13 @@ specified:
<P>
<P>
<DL>
<DT><A NAME="M26"><B>:format </B><I>format-name</I></A><DD>
<DT><A NAME="M27"><B>:format </B><I>format-name</I></A><DD>
Specifies the format of the image data in <I>filename</I>.
Specifically, only image file format handlers whose names begin with
<I>format-name</I> will be used while searching for an image data
format handler to read the data.
<P>
<DT><A NAME="M27"><B>:from </B><I>x1 y1 x2 y2</I></A><DD>
<DT><A NAME="M28"><B>:from </B><I>x1 y1 x2 y2</I></A><DD>
Specifies a rectangular sub-region of the image file data to be copied
to the destination image. If only <I>x1</I> and <I>y1</I> are
specified, the region extends from (<I>x1,y1</I>) to the bottom-right
@ -216,7 +223,7 @@ specified, they specify diagonally opposite corners or the region.
The default, if this option is not specified, is the whole of the
image in the image file.
<P>
<DT><A NAME="M28"><B>:shrink</B></A><DD>
<DT><A NAME="M29"><B>:shrink</B></A><DD>
If this option, the size of <I>imageName</I> will be reduced, if
necessary, so that the region into which the image file data are read
is at the bottom-right corner of the <I>imageName</I>. This option
@ -224,13 +231,13 @@ will not affect the width or height of the image if the user has
specified a non-zero value for the <B>:width</B> or <B>:height</B>
configuration option, respectively.
<P>
<DT><A NAME="M29"><B>:to </B><I>x y</I></A><DD>
<DT><A NAME="M30"><B>:to </B><I>x y</I></A><DD>
Specifies the coordinates of the top-left corner of the region of
<I>imageName</I> into which data from <I>filename</I> are to be read.
The default is (0,0).
<P>
</DL>
<DT><A NAME="M30">(<I>imageName '</I><B>redither</B>)</A><DD>
<DT><A NAME="M31">(<I>imageName '</I><B>redither</B>)</A><DD>
The dithering algorithm used in displaying photo images propagates
quantization errors from one pixel to its neighbors.
If the image data for <I>imageName</I> is supplied in pieces, the
@ -239,13 +246,13 @@ not noticeable, but if it is a problem, this command can be used to
recalculate the dithered image in each window where the image is
displayed.
<P>
<DT><A NAME="M31">(<I>imageName '</I><B>write </B><I>filename</I> ?<I>option value(s) ...</I>?)</A><DD>
<DT><A NAME="M32">(<I>imageName '</I><B>write </B><I>filename</I> ?<I>option value(s) ...</I>?)</A><DD>
Writes image data from <I>imageName</I> to a file named <I>filename</I>.
The following options may be specified:
<P>
<P>
<DL>
<DT><A NAME="M32"><B>:format</B><I> format-name</I></A><DD>
<DT><A NAME="M33"><B>:format</B><I> format-name</I></A><DD>
Specifies the name of the image file format handler to be used to
write the data to the file. Specifically, this subcommand searches
for the first handler whose name matches a initial substring of
@ -253,7 +260,7 @@ for the first handler whose name matches a initial substring of
file. If this option is not given, this subcommand uses the first
handler that has the capability to write an image file.
<P>
<DT><A NAME="M33"><B>:from </B><I>x1 y1 x2 y2</I></A><DD>
<DT><A NAME="M34"><B>:from </B><I>x1 y1 x2 y2</I></A><DD>
Specifies a rectangular region of <I>imageName</I> to be written to the
image file. If only <I>x1</I> and <I>y1</I> are specified, the region
extends from <I>(x1,y1)</I> to the bottom-right corner of
@ -263,7 +270,7 @@ if this option is not given, is the whole image.
<P>
</DL>
</DL>
<H3><A NAME="M34">IMAGE FORMATS</A></H3>
<H3><A NAME="M35">IMAGE FORMATS</A></H3>
The photo image code is structured to allow handlers for additional
image file formats to be added easily. The photo image code maintains
a list of these handlers. Handlers are added to the list by
@ -292,7 +299,7 @@ requested handler, and may contain additional information following
that, which the handler can use, for example, to specify which variant
to use of the formats supported by the handler.
<H3><A NAME="M35">COLOR ALLOCATION</A></H3>
<H3><A NAME="M36">COLOR ALLOCATION</A></H3>
When a photo image is displayed in a window, the photo image code
allocates colors to use to display the image and dithers the image, if
necessary, to display a reasonable approximation to the image using
@ -321,12 +328,12 @@ the image to be displayed in shades of gray, even on a color display,
by giving a single number rather than three numbers separated by
slashes.
<H3><A NAME="M36">CREDITS</A></H3>
<H3><A NAME="M37">CREDITS</A></H3>
The photo image type was designed and implemented by Paul Mackerras,
based on his earlier photo widget and some suggestions from
John Ousterhout.
<H3><A NAME="M37">SEE ALSO</A></H3>
<H3><A NAME="M38">SEE ALSO</A></H3>
<B><A HREF="./bitmap.n.html">bitmap</A></B>, <B>make-image</B>, <B><A HREF="./image.n.html">image</A></B>, <B><A HREF="./jpeg.n.html">jpeg</A></B>, <B><A HREF="./pixmap.n.html">pixmap</A></B>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookBlue.gif"> Back to the <B>STk</B> main page</A>

View File

@ -6,14 +6,14 @@
<H3><A NAME="M2">SYNOPSIS</A></H3>
<P>
<DL>
<DT><A NAME="M3"><I>ERROR&nbsp;MANAGEMENT</I></A><DD>
<DT><A NAME="M3">{<I>ERROR&nbsp;MANAGEMENT</I>}</A><DD>
<B>*errno*</B>
<P>
<P>
<P>
(<B>posix-perror</B> <I>str</I>)
<P>
<DT><A NAME="M4"><I>FILES&nbsp;AND&nbsp;DIRECTORIES</I></A><DD>
<DT><A NAME="M4">{<I>FILES&nbsp;AND&nbsp;DIRECTORIES</I>}</A><DD>
(<B>posix-stat</B> <I>filename</I>)
<P>
<P>
@ -28,7 +28,7 @@
<P>
(<B>posix-pipe</B>)
<P>
<DT><A NAME="M5"><I>TIME&nbsp;FUNCTIONS</I></A><DD>
<DT><A NAME="M5">{<I>TIME&nbsp;FUNCTIONS</I>}</A><DD>
(<B>posix-time</B>)
<P>
<P>
@ -75,7 +75,7 @@
<P>
(<B>posix-strftime</B> <I>format time</I>)
<P>
<DT><A NAME="M6"><I>PROCESSES&nbsp;FUNCTIONS</I></A><DD>
<DT><A NAME="M6">{<I>PROCESSES&nbsp;FUNCTIONS</I>}</A><DD>
<P>
<P>
(<B>posix-fork</B>)
@ -84,7 +84,7 @@
<P>
(<B>posix-wait</B>)
<P>
<DT><A NAME="M7"><I>SYSTEM&nbsp;INFORMATIONS</I></A><DD>
<DT><A NAME="M7">{<I>SYSTEM&nbsp;INFORMATIONS</I>}</A><DD>
<P>
<P>
(<B>posix-uname</B>)
@ -107,7 +107,7 @@ manual page or to the POSIX.1 document.
<P>
<DL>
<DT><A NAME="M9"><I>ERROR&nbsp;MANAGEMENT</I></A><DD>
<DT><A NAME="M9">{<I>ERROR&nbsp;MANAGEMENT</I>}</A><DD>
</DL>
<P>
<P>
@ -124,7 +124,7 @@ the error message.
See <B>perror(3)</B>.
<P>
<DT><A NAME="M12"><I>FILES&nbsp;AND&nbsp;DIRECTORIES</I></A><DD>
<DT><A NAME="M12">{<I>FILES&nbsp;AND&nbsp;DIRECTORIES</I>}</A><DD>
</DL>
<P>
<P>
@ -135,7 +135,7 @@ structure is not viewable by itself. Use, <B>posix-stat-&gt;vector</B>
to access its content in Scheme.If <I>filename</I> does not exists, this procedure
returns <I>#f</I>.
<P>
<DT><A NAME="M14">(<B>posix-stat-&gt;vector</B> <I>descr</I>)</A><DD>
<DT><A NAME="M14">{(<B>posix-stat-&gt;vector</B>} <I>descr</I>)</A><DD>
transforms a file description sructure obtained by <B>posix-stat</B> to a Scheme
vector. The components of the vector are given here with their index:
<P>

View File

@ -245,18 +245,22 @@ value corresponding to this widget.
<H3><A NAME="M46">BINDINGS</A></H3>
Tk automatically creates class bindings for radiobuttons that give them
the following default behavior:
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M47">{[1]}</A><DD>
The radiobutton activates whenever the mouse passes over it and deactivates
whenever the mouse leaves the radiobutton.
<LI>
<P>
<DT><A NAME="M48">{[2]}</A><DD>
When mouse button 1 is pressed over a radiobutton it is invoked (it
becomes selected and the procedure associated with the button is
invoked, if there is one).
<LI>
<P>
<DT><A NAME="M49">{[3]}</A><DD>
When a radiobutton has the input focus, the space key causes the radiobutton
to be invoked.
</OL>
<P>
</DL>
<P>
If the radiobutton's state is <B>disabled</B> then none of the above
actions occur: the radiobutton is completely non-responsive.
@ -264,7 +268,7 @@ actions occur: the radiobutton is completely non-responsive.
The behavior of radiobuttons can be changed by defining new bindings for
individual widgets or by redefining the class bindings.
<H3><A NAME="M47">SEE ALSO</A></H3>
<H3><A NAME="M50">SEE ALSO</A></H3>
<B><A HREF="./button.n.html">button</A></B>, <B><A HREF="./checkbutton.n.html">checkbutton</A></B>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookBlue.gif"> Back to the <B>STk</B> main page</A>

View File

@ -280,40 +280,51 @@ Tk automatically creates class bindings for scales that give them
the following default behavior.
Where the behavior is different for vertical and horizontal scales,
the horizontal behavior is described in parentheses.
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M46">{[1]}</A><DD>
If button 1 is pressed in the trough, the scale's value will
be incremented or decremented by the value of the <B>resolution</B>
option so that the slider moves in the direction of the cursor.
If the button is held down, the action auto-repeats.
<LI>
<P>
<DT><A NAME="M47">{[2]}</A><DD>
If button 1 is pressed over the slider, the slider can be dragged
with the mouse.
<LI>
<P>
<DT><A NAME="M48">{[3]}</A><DD>
If button 1 is pressed in the trough with the Control key down,
the slider moves all the way to the end of its range, in the
direction towards the mouse cursor.
<LI>
<P>
<DT><A NAME="M49">{[4]}</A><DD>
If button 2 is pressed, the scale's value is set to the mouse
position. If the mouse is dragged with button 2 down, the scale's
value changes with the drag.
<LI>
<P>
<DT><A NAME="M50">{[5]}</A><DD>
The Up and Left keys move the slider up (left) by the value
of the <B>resolution</B> option.
<LI>
<P>
<DT><A NAME="M51">{[6]}</A><DD>
The Down and Right keys move the slider down (right) by the value
of the <B>resolution</B> option.
<LI>
<P>
<DT><A NAME="M52">{[7]}</A><DD>
Control-Up and Control-Left move the slider up (left) by the
value of the <B>bigIncrement</B> option.
<LI>
<P>
<DT><A NAME="M53">{[8]}</A><DD>
Control-Down and Control-Right move the slider down (right) by the
value of the <B>bigIncrement</B> option.
<LI>
<P>
<DT><A NAME="M54">{[9]}</A><DD>
Home moves the slider to the top (left) end of its range.
<LI>
<P>
<DT><A NAME="M55">{[10]}</A><DD>
End moves the slider to the bottom (right) end of its range.
</OL>
<P>
</DL>
<P>
If the scale is disabled using the <B>state</B> option then
none of the above bindings have any effect.

View File

@ -218,7 +218,7 @@ document. 1.0 refers to the end of the document, 0.333
refers to a point one-third of the way through the document,
and so on.
<P>
<DT><A NAME="M42">'<B>scroll </B><I>number '</I><B>unit</B></A><DD>
<DT><A NAME="M42">'<B>scroll </B><I>number '</I><B>units</B></A><DD>
The widget should adjust its view by <I>number</I> units.
The units are defined in whatever way makes sense for the widget,
such as characters or lines in a text widget.
@ -226,7 +226,7 @@ such as characters or lines in a text widget.
the top or left of the window, or -1, which means that one unit
should scroll off the bottom or right of the window.
<P>
<DT><A NAME="M43">'<B>scroll </B><I>number '</I><B>page</B></A><DD>
<DT><A NAME="M43">'<B>scroll </B><I>number '</I><B>pages</B></A><DD>
The widget should adjust its view by <I>number</I> pages.
It is up to the widget to define the meaning of a page; typically
it is slightly less than what fits in the window, so that there
@ -302,70 +302,85 @@ the following default behavior.
If the behavior is different for vertical and horizontal scrollbars,
the horizontal behavior is described in parentheses.
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M48">{[1]}</A><DD>
Pressing button 1 over <B>arrow1</B> causes the view in the
associated widget to shift up (left) by one unit so that the
document appears to move down (right) one unit.
If the button is held down, the action auto-repeats.
<LI>
<P>
<DT><A NAME="M49">{[2]}</A><DD>
Pressing button 1 over <B>trough1</B> causes the view in the
associated widget to shift up (left) by one screenful so that the
document appears to move down (right) one screenful.
If the button is held down, the action auto-repeats.
<LI>
<P>
<DT><A NAME="M50">{[3]}</A><DD>
Pressing button 1 over the slider and dragging causes the view
to drag with the slider.
If the <B>jump</B> option is true, then the view doesn't drag along
with the slider; it changes only when the mouse button is released.
<LI>
<P>
<DT><A NAME="M51">{[4]}</A><DD>
Pressing button 1 over <B>trough2</B> causes the view in the
associated widget to shift down (right) by one screenful so that the
document appears to move up (left) one screenful.
If the button is held down, the action auto-repeats.
<LI>
<P>
<DT><A NAME="M52">{[5]}</A><DD>
Pressing button 1 over <B>arrow2</B> causes the view in the
associated widget to shift down (right) by one unit so that the
document appears to move up (left) one unit.
If the button is held down, the action auto-repeats.
<LI>
<P>
<DT><A NAME="M53">{[6]}</A><DD>
If button 2 is pressed over the trough or the slider, it sets
the view to correspond to the mouse position; dragging the
mouse with button 2 down causes the view to drag with the mouse.
If button 2 is pressed over one of the arrows, it causes the
same behavior as pressing button 1.
<LI>
<P>
<DT><A NAME="M54">{[7]}</A><DD>
If button 1 is pressed with the Control key down, then if the
mouse is over <B>arrow1</B> or <B>trough1</B> the view changes
to the very top (left) of the document; if the mouse is over
<B>arrow2</B> or <B>trough2</B> the view changes
to the very bottom (right) of the document; if the mouse is
anywhere else then the button press has no effect.
<LI>
<P>
<DT><A NAME="M55">{[8]}</A><DD>
In vertical scrollbars the Up and Down keys have the same behavior
as mouse clicks over <B>arrow1</B> and <B>arrow2</B>, respectively.
In horizontal scrollbars these keys have no effect.
<LI>
<P>
<DT><A NAME="M56">{[9]}</A><DD>
In vertical scrollbars Control-Up and Control-Down have the same
behavior as mouse clicks over <B>trough1</B> and <B>trough2</B>, respectively.
In horizontal scrollbars these keys have no effect.
<LI>
<P>
<DT><A NAME="M57">{[10]}</A><DD>
In horizontal scrollbars the Up and Down keys have the same behavior
as mouse clicks over <B>arrow1</B> and <B>arrow2</B>, respectively.
In vertical scrollbars these keys have no effect.
<LI>
<P>
<DT><A NAME="M58">{[11]}</A><DD>
In horizontal scrollbars Control-Up and Control-Down have the same
behavior as mouse clicks over <B>trough1</B> and <B>trough2</B>, respectively.
In vertical scrollbars these keys have no effect.
<LI>
<P>
<DT><A NAME="M59">{[12]}</A><DD>
The Prior and Next keys have the same behavior
as mouse clicks over <B>trough1</B> and <B>trough2</B>, respectively.
<LI>
<P>
<DT><A NAME="M60">{[13]}</A><DD>
The Home key adjusts the view to the top (left edge) of the document.
<LI>
<P>
<DT><A NAME="M61">{[14]}</A><DD>
The End key adjusts the view to the bottom (right edge) of the document.
</OL>
<P>
</DL>
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookBlue.gif"> Back to the <B>STk</B> main page</A>
</BODY></HTML>

View File

@ -14,61 +14,61 @@ abbreviations for the <B>-help</B> option).
<P>
<DL>
<DT><A NAME="M4"><B>-colormap new</B></A><DD>
<DT><A NAME="M4">{ B-colormap Bnew R}</A><DD>
Specifies that the window should have a new private colormap instead of
using the default colormap for the screen.
<P>
<DT><A NAME="M5"><B>-display </B><I>display</I></A><DD>
<DT><A NAME="M5">{ B-display Idisplay R}</A><DD>
Display (and screen) on which to display window.
<P>
<DT><A NAME="M6"><B>-file </B><I>fileName</I></A><DD>
<DT><A NAME="M6">{ B-file IfileName R}</A><DD>
Read commands from <I>fileName</I> rather than standard input. The
last element in <I>fileName</I> will be used as the title for the
application and name of its interpreter for <B><A HREF="./send.n.html">send</A></B>
commands (unless overridden by the <B>-name</B> option\fR).
<P>
<DT><A NAME="M7"><B>-geometry </B><I>geometry</I></A><DD>
<DT><A NAME="M7">{ B-geometry Igeometry R}</A><DD>
Initial geometry to use for window.
<P>
<DT><A NAME="M8"><B>-name </B><I>name</I></A><DD>
<DT><A NAME="M8">{ B-name Iname R}</A><DD>
Use <I>name</I> as the title to be displayed in the window, and
as the name of the interpreter for <B><A HREF="./send.n.html">send</A></B> commands.
<P>
<DT><A NAME="M9"><B>-sync</B></A><DD>
<DT><A NAME="M9">{ B-sync R}</A><DD>
Execute all X server commands synchronously, so that errors
are reported immediately. This will result in much slower
execution, but it is useful for debugging.
<P>
<DT><A NAME="M10"><B>-visual </B><I>visual</I></A><DD>
<DT><A NAME="M10">{ B-visual Ivisual R}</A><DD>
Specifies the visual to use for the window.<I>Visual</I> may be one of the following:
<I>best</I>, <I>directcolor</I>, <I>grayscale</I>, <I>greyscale</I>,
<I>pseudocolor</I>, <I>staticcolor</I>, <I>staticgray</I>,
<I>staticgrey</I>, <I>truecolor</I>, or <I>default</I>
<P>
<DT><A NAME="M11"><B>-no-tk</B></A><DD>
<DT><A NAME="M11">{ B-no-tk R}</A><DD>
Don't initialize the Tk toolkit
<P>
<DT><A NAME="M12"><B>-load </B><I>fileName</I></A><DD>
<DT><A NAME="M12">{ B-load IfileName R}</A><DD>
Evaluate expressions contained in <I>fileName</I> before reading
expressions from standard input.
<P>
<DT><A NAME="M13"><B>-image </B><I>fileName</I></A><DD>
<DT><A NAME="M13">{ B-image IfileName R}</A><DD>
Restore the state saved in <I>fileName</I> by the <I>dump</I> primitive
(Note: For now, <I>dump</I> works only on SunOS 4.1.x, Linux 1.x (a.out format)
and FreeBSD).
<P>
<DT><A NAME="M14"><B>-cells </B><I>number</I></A><DD>
<DT><A NAME="M14">{ B-cells Inumber R}</A><DD>
Set the default size for the heap to <I>number</I> cells. The given number is
also the amount of cells used when extending the heap. Default value is 20000.
<P>
<DT><A NAME="M15"><B>-interactive</B></A><DD>
<DT><A NAME="M15">{ B-interactive R}</A><DD>
Tell the interpreter that it is used interactively (even if it doesn't
think so).
<P>
<DT><A NAME="M16"><B>-help</B></A><DD>
<DT><A NAME="M16">{ B-help R}</A><DD>
Print a summary of the command-line options and exit.
<P>
<DT><A NAME="M17"><B>--</B></A><DD>
<DT><A NAME="M17">{ B-|- R}</A><DD>
Pass all remaining arguments through to the script's <B>argv</B>
variable without interpreting them.
This provides a mechanism for passing arguments such as <B>-name</B>
@ -146,21 +146,21 @@ is no more necessary and can be omitted.
<B>stk</B> uses the following shell variables:
<P>
<DL>
<DT><A NAME="M25"><I>STK_LIBRARY</I></A><DD>
<DT><A NAME="M25">{ ISTK_LIBRARY R}</A><DD>
This variable indicates where the library files are located. This variable
allows to overload the default value of the Scheme variable <I>*stk-library*</I>
which is automatically calculated by the interpreter.(i.e. <I>stk</I> or <I>snow</I>).
<P>
<DT><A NAME="M26"><I>STK_LOAD_PATH</I></A><DD>
<DT><A NAME="M26">{ ISTK_LOAD_PATH R}</A><DD>
This variable serves to initialize the <I>*load-path*</I> Scheme variable. This
variable is a list of paths to try when in a load command.
<P>
<DT><A NAME="M27"><I>STK_HELP_PATH</I></A><DD>
<DT><A NAME="M27">{ ISTK_HELP_PATH R}</A><DD>
This variable serves to initialize the <I>*help-path*</I> Scheme variable. It
must contain a list of documentation directories. This variable is used by the help
procedure.
<P>
<DT><A NAME="M28"><I>STK_IMAGE_PATH</I></A><DD>
<DT><A NAME="M28">{ ISTK_IMAGE_PATH R}</A><DD>
This variable serves to initialize the <I>*image-path*</I> Scheme variable. It
must contain a list of images directories. This variable is used by the make-image
procedure.
@ -170,8 +170,8 @@ procedure.
</DL>
<H3><A NAME="M29">FILES</A></H3>
<DL>
<DT><A NAME="M30"><I>./init.stk</I></A><DD>
<DT><A NAME="M31"><I>$STK_LIBRARY/STk/init.stk</I></A><DD>
<DT><A NAME="M30">{ I./init.stk R}</A><DD>
<DT><A NAME="M31">{ I$STK_LIBRARY/STk/init.stk R}</A><DD>
When <B>stk</B> starts running, it tries to load the file <I>init.stk</I>
in the current directory. If this file is not present, it tries to load
this file in the <B>STk_LIBRARY</B> directory (the value of <B>STk_LIBRARY</B>
@ -179,7 +179,7 @@ is automatically computed to be in a sibling directory of the interpreter
executable.
<P>
<DT><A NAME="M32"><I>~/.stkrc</I></A><DD>
<DT><A NAME="M32">{ I~/.stkrc R}</A><DD>
Standard <I>init.stk</I> file tries to load the file <I>~/.stkrc</I>. This file
can be used to store functions definitions or variables settings that you want
to be executed at each interpreter invocation.

View File

@ -661,7 +661,7 @@ widget command.
The following options are currently supported:
<P>
<DL>
<DT><A NAME="M85">\fB\:align \fIwhere\fR</A><DD>
<DT><A NAME="M85">{ B:align} { Iwhere R}</A><DD>
If the image is not as tall as the line in which it is displayed,
this option determines where the image is displayed in the line.
<I>Where</I> must have one of the values <B>top</B> (align the top of the image
@ -671,23 +671,23 @@ image with the bottom of the line's area),
or <B>baseline</B> (align the bottom of the image with the baseline
of the line).
<P>
<DT><A NAME="M86">\fB\:image \fIimage\fR</A><DD>
<DT><A NAME="M86">{ B:image} { Iimage R}</A><DD>
Specifies the name of the Tk image to display in the annotation.
If <I>image</I> is not a valid Tk image, then an error is returned.
<P>
<DT><A NAME="M87">\fB\:name \fIImageName\fR</A><DD>
<DT><A NAME="M87">{ B:name} { IImageName R}</A><DD>
Specifies the name by which this image instance may be referenced in
the text widget. If <I>ImageName</I> is not supplied, then the
name of the Tk image is used instead.
If the <I>imageName</I> is already in use, <I>#nn</I> is appended to
the end of the name as described above.
<P>
<DT><A NAME="M88">\fB\:padx \fIpixels\fR</A><DD>
<DT><A NAME="M88">{ B:padx} { Ipixels R}</A><DD>
<I>Pixels</I> specifies the amount of extra space to leave on
each side of the embedded image.
It may have any of the usual forms defined for a screen distance.
<P>
<DT><A NAME="M89">\fB\:pady \fIpixels\fR</A><DD>
<DT><A NAME="M89">{ B:pady} { Ipixels R}</A><DD>
<I>Pixels</I> specifies the amount of extra space to leave on
the top and on the bottom of the embedded image.
It may have any of the usual forms defined for a screen distance.
@ -700,19 +700,23 @@ It may have any of the usual forms defined for a screen distance.
Selection support is implemented via tags.
If the <B>exportSelection</B> option for the text widget is true
then the <B>sel</B> tag will be associated with the selection:
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M91">{[1]}</A><DD>
Whenever characters are tagged with <B>sel</B> the text widget
will claim ownership of the selection.
<LI>
<P>
<DT><A NAME="M92">{[2]}</A><DD>
Attempts to retrieve the
selection will be serviced by the text widget, returning all the
characters with the <B>sel</B> tag.
<LI>
<P>
<DT><A NAME="M93">{[3]}</A><DD>
If the selection is claimed away by another application or by another
window within this application, then the <B>sel</B> tag will be removed
from all characters in the text.
</OL>
<P>
</DL>
<P>
The <B>sel</B> tag is automatically defined when a text widget is
created, and it may not be deleted with the ``<I>widget-name </I><B>'tag 'delete</B>''
@ -723,7 +727,7 @@ the text widget are tied to the <B>:background</B>,
tag: changes in either will automatically be reflected in the
other.
<H3><A NAME="M91">THE INSERTION CURSOR</A></H3>
<H3><A NAME="M94">THE INSERTION CURSOR</A></H3>
The mark named <B>insert</B> has special significance in text widgets.
It is defined automatically when a text widget is created and it
may not be unset with the ``<I>widget-name </I><B>mark unset</B>'' widget
@ -732,7 +736,7 @@ The <B>insert</B> mark represents the position of the insertion
cursor, and the insertion cursor will automatically be drawn at
this point whenever the text widget has the input focus.
<H3><A NAME="M92">WIDGET PROCEDURE</A></H3>
<H3><A NAME="M95">WIDGET PROCEDURE</A></H3>
The <B>text</B> procedure creates a new STk procedure whose
name is the same as the path name of the text's window. This
procedure may be used to invoke various
@ -744,7 +748,7 @@ determine the exact behavior of the procedure. The following
procedures are possible for text widgets:
<P>
<DL>
<DT><A NAME="M93">(<I>widget-name '</I><B>bbox </B><I>index</I>)</A><DD>
<DT><A NAME="M96">(<I>widget-name '</I><B>bbox </B><I>index</I>)</A><DD>
Returns a list of four elements describing the screen area
of the character given by <I>index</I>.
The first two elements of the list give the x and y coordinates
@ -756,13 +760,13 @@ the return value reflects just the visible part.
If the character is not visible on the screen then the return
value is an empty list.
<P>
<DT><A NAME="M94">(<I>widget-name '</I><B>cget</B> <I>option</I>)</A><DD>
<DT><A NAME="M97">(<I>widget-name '</I><B>cget</B> <I>option</I>)</A><DD>
Returns the current value of the configuration option given
by <I>option</I>.
<I>Option</I> may have any of the values accepted by the <B>text</B>
procedure.
<P>
<DT><A NAME="M95">(<I>widget-name '</I><B>compare</B> <I>index1 op index2</I>)</A><DD>
<DT><A NAME="M98">(<I>widget-name '</I><B>compare</B> <I>index1 op index2</I>)</A><DD>
Compares the indices given by <I>index1</I> and <I>index2</I> according
to the relational operator given by <I>op</I>, and returns 1 if
the relationship is satisfied and 0 if it isn't.
@ -772,7 +776,7 @@ the same character, if <I>op</I> is &lt; then 1 is returned if <I>index1</I>
refers to an earlier character in the text than <I>index2</I>, and
so on.
<P>
<DT><A NAME="M96">(<I>widget-name '</I><B>configure</B> ?<I>option</I>? <I>?value option value ...</I>?)</A><DD>
<DT><A NAME="M99">(<I>widget-name '</I><B>configure</B> ?<I>option</I>? <I>?value option value ...</I>?)</A><DD>
Query or modify the configuration options of the widget.
If no <I>option</I> is specified, returns a list describing all of
the available options for <I>widget-name</I> (see <B>Tk_ConfigureInfo</B> for
@ -786,8 +790,8 @@ this case the procedure returns an empty string.
<I>Option</I> may have any of the values accepted by the <B>text</B>
procedure.
<P>
<DT><A NAME="M97">(<I>widget-name '</I><B>debug </B>)</A><DD>
<DT><A NAME="M98">(<I>widget-name '</I><B>debug </B><I>boolean</I>)</A><DD>
<DT><A NAME="M100">(<I>widget-name '</I><B>debug </B>)</A><DD>
<DT><A NAME="M101">(<I>widget-name '</I><B>debug </B><I>boolean</I>)</A><DD>
If <I>boolean</I> is specified, then it must have one of the true or
false values accepted by Tcl_GetBoolean.
If the value is a true one then internal consistency checks will be
@ -802,8 +806,8 @@ debugging on or off in any widget turns it on or off for all widgets.
For widgets with large amounts of text, the consistency checks may
cause a noticeable slow-down.
<P>
<DT><A NAME="M99">(<I>widget-name '</I><B>delete </B><I>index1 </I>)</A><DD>
<DT><A NAME="M100">(<I>widget-name '</I><B>delete </B><I>index1 </I><I>index2</I>)</A><DD>
<DT><A NAME="M102">(<I>widget-name '</I><B>delete </B><I>index1 </I>)</A><DD>
<DT><A NAME="M103">(<I>widget-name '</I><B>delete </B><I>index1 </I><I>index2</I>)</A><DD>
Delete a range of characters from the text.
If both <I>index1</I> and <I>index2</I> are specified, then delete
all the characters starting with the one given by <I>index1</I>
@ -817,7 +821,7 @@ It is not allowable to delete characters in a way that would leave
the text without a newline as the last character.
The procedure returns an empty string.
<P>
<DT><A NAME="M101">(<I>widget-name '</I><B>dlineinfo </B><I>index</I>)</A><DD>
<DT><A NAME="M104">(<I>widget-name '</I><B>dlineinfo </B><I>index</I>)</A><DD>
Returns a list with five elements describing the area occupied
by the display line containing <I>index</I>.
The first two elements of the list give the x and y coordinates
@ -836,7 +840,7 @@ by characters and embedded windows.
If the display line containing <I>index</I> is not visible on
the screen then the return value is an empty list.
<P>
<DT><A NAME="M102">(<I>widget-name </I><B>'dump </B>?<I>switches</I>? <I>index1 </I>?<I>index2</I>?)</A><DD>
<DT><A NAME="M105">(<I>widget-name </I><B>'dump </B>?<I>switches</I>? <I>index1 </I>?<I>index2</I>?)</A><DD>
Return the contents of the text widget from <I>index1</I> up to,
but not including <I>index2</I>,
including the text and
@ -859,24 +863,24 @@ One or more of the following switches (or abbreviations thereof)
may be specified to control the dump:
<P>
<DL>
<DT><A NAME="M103"><B>:all</B></A><DD>
<DT><A NAME="M106"><B>:all</B></A><DD>
Return information about all elements: text, marks, tags, and windows.
This is the default.
<P>
<DT><A NAME="M104"><B>:command </B><I>closure</I></A><DD>
<DT><A NAME="M107"><B>:command </B><I>closure</I></A><DD>
Instead of returning the information as the result of the dump operation,
invoke the <I>closure</I> on each element of the text widget within the range.
The command must have three arguments: <I>key</I>, <I>value</I>, and <I>index</I>.
<P>
<DT><A NAME="M105"><B>:mark</B></A><DD>
<DT><A NAME="M108"><B>:mark</B></A><DD>
Include information about marks in the dump results.
<P>
<DT><A NAME="M106"><B>:tag</B></A><DD>
<DT><A NAME="M109"><B>:tag</B></A><DD>
Include information about tag transitions in the dump results. Tag information is
returned as <B>tagon</B> and <B>tagoff</B> elements that indicate the
begin and end of each range of each tag, respectively.
<P>
<DT><A NAME="M107"><B>:text</B></A><DD>
<DT><A NAME="M110"><B>:text</B></A><DD>
Include information about text in the dump results. The value is the
text up to the next element or the end of range indicated by <I>index2</I>.
A text element does not span newlines. A multi-line block of text that
@ -884,7 +888,7 @@ contains no marks or tag transitions will still be dumped as a set
of text seqments that each end with a newline. The newline is part
of the value.
<P>
<DT><A NAME="M108"><B>:window</B></A><DD>
<DT><A NAME="M111"><B>:window</B></A><DD>
Include information about embedded windows in the dump results.
The value of a window is its Tk pathname, unless the window
has not been created yet. (It must have a create script.)
@ -895,8 +899,8 @@ window by its index position to get more information.
</UL>
<P>
<DL>
<DT><A NAME="M109">(<I>widget-name </I><B>'get </B><I>index1 </I>)</A><DD>
<DT><A NAME="M110">(<I>widget-name </I><B>'get </B><I>index1 </I><I>index2</I>)</A><DD>
<DT><A NAME="M112">(<I>widget-name </I><B>'get </B><I>index1 </I>)</A><DD>
<DT><A NAME="M113">(<I>widget-name </I><B>'get </B><I>index1 </I><I>index2</I>)</A><DD>
Return a range of characters from the text.
The return value will be all the characters in the text starting
with the one whose index is <I>index1</I> and ending just before
@ -911,7 +915,7 @@ If the specified range contains embedded windows, no information
about them is included in the returned string.
<P>
<DT><A NAME="M111">(\fwidget-name \fB'image \fIoption \fR?\fIarg arg ...\fR?)</A><DD>
<DT><A NAME="M114">{( widget-name} { B'image} { Ioption} { R? Iarg} arg {... R?)}</A><DD>
This command is used to manipulate embedded images.
The behavior of the command depends on the <I>option</I> argument
that follows the <B>tag</B> argument.
@ -919,13 +923,13 @@ The following forms of the command are currently supported:
<P>
<P>
<DL>
<DT><A NAME="M112">(\fwidget-name \fB'image 'cget\fR \fIindex option\fR)</A><DD>
<DT><A NAME="M115">{( widget-name} { B'image} {'cget R} { Iindex} {option R)}</A><DD>
Returns the value of a configuration option for an embedded image.
<I>Index</I> identifies the embedded image, and <I>option</I>
specifies a particular configuration option, which must be one of
the ones listed in the section EMBEDDED IMAGES.
<P>
<DT><A NAME="M113">(\fwidget-name \fB'image 'configure \fIindex\fR ?\fIoption value ...\fR?)</A><DD>
<DT><A NAME="M116">{( widget-name} { B'image} 'configure { Iindex R} {? Ioption} value {... R?)}</A><DD>
Query or modify the configuration options for an embedded image.
If no <I>option</I> is specified, returns a list describing all of
the available options for the embedded image at <I>index</I>
@ -940,7 +944,7 @@ this case the command returns an empty string.
See EMBEDDED IMAGES for information on the options that
are supported.
<P>
<DT><A NAME="M114">(\fwidget-name \fB'image 'create \fIindex\fR ?\fIoption value ...\fR?)</A><DD>
<DT><A NAME="M117">{( widget-name} { B'image} 'create { Iindex R} {? Ioption} value {... R?)}</A><DD>
This command creates a new image annotation, which will appear
in the text at the position given by <I>index</I>.
Any number of <I>option-value</I> pairs may be specified to
@ -950,18 +954,18 @@ this image.
See EMBEDDED IMAGES for information on the options that
are supported, and a description of the identifier returned.
<P>
<DT><A NAME="M115">(\fwidget-name \fB'image 'names\fR)</A><DD>
<DT><A NAME="M118">{( widget-name} { B'image} {'names R)}</A><DD>
Returns a list whose elements are the names of all image instances currently
embedded in <I>window</I>.
<P>
</DL>
<DT><A NAME="M116">(<I>widget-name '</I><B>index </B><I>index</I>)</A><DD>
<DT><A NAME="M119">(<I>widget-name '</I><B>index </B><I>index</I>)</A><DD>
Returns the position corresponding to <I>index</I> in the form
<I>(line . char)</I> where <I>line</I> is the line number and <I>char</I>
is the character number.
<I>Index</I> may have any of the forms described under INDICES above.
<P>
<DT><A NAME="M117">(<I>widget-name '</I><B>insert </B><I>index chars </I>?<I>tagList chars tagList ...</I>?)</A><DD>
<DT><A NAME="M120">(<I>widget-name '</I><B>insert </B><I>index chars </I>?<I>tagList chars tagList ...</I>?)</A><DD>
Inserts all of the <I>chars</I> arguments just before the character at
<I>index</I>.
If <I>index</I> refers to the end of the text (the character after
@ -981,7 +985,7 @@ they produce the same effect as if a separate <B>insert</B> widget
procedure had been issued for each pair, in order.
The last <I>tagList</I> argument may be omitted.
<P>
<DT><A NAME="M118">(<I>widget-name '</I><B>mark </B><I>option </I>?<I>arg arg ...</I>?)</A><DD>
<DT><A NAME="M121">(<I>widget-name '</I><B>mark </B><I>option </I>?<I>arg arg ...</I>?)</A><DD>
This procedure is used to manipulate marks. The exact behavior of
the procedure depends on the <I>option</I> argument that follows
the <B>mark</B> argument. The following forms of the procedure
@ -989,19 +993,19 @@ are currently supported:
<P>
<P>
<DL>
<DT><A NAME="M119">(<I>widget-name '</I><B>mark 'gravity </B><I>markName</I>)</A><DD>
<DT><A NAME="M120">(<I>widget-name '</I><B>mark 'gravity </B><I>markName</I> <I>direction</I>)</A><DD>
<DT><A NAME="M122">(<I>widget-name '</I><B>mark 'gravity </B><I>markName</I>)</A><DD>
<DT><A NAME="M123">(<I>widget-name '</I><B>mark 'gravity </B><I>markName</I> <I>direction</I>)</A><DD>
If <I>direction</I> is not specified, returns <B>left</B> or <B>right</B>
to indicate which of its adjacent characters <I>markName</I> is attached
to.
If <I>direction</I> is specified, it must be <B>left</B> or <B>right</B>;
the gravity of <I>markName</I> is set to the given value.
<P>
<DT><A NAME="M121">(<I>widget-name '</I><B>mark 'names</B>)</A><DD>
<DT><A NAME="M124">(<I>widget-name '</I><B>mark 'names</B>)</A><DD>
Returns a list whose elements are the names of all the marks that
are currently set.
<P>
<DT><A NAME="M122">(<I>widget-name '</I><B>mark 'next </B><I>index</I>)</A><DD>
<DT><A NAME="M125">(<I>widget-name '</I><B>mark 'next </B><I>index</I>)</A><DD>
Returns the name of the next mark at or after <I>index</I>.
If <I>index</I> is specified in numerical form, then the search for
the next mark begins at that index.
@ -1012,11 +1016,11 @@ there are multiple marks at the same index.
These semantics mean that the <B>mark next</B> operation can be used to
step through all the marks in a text widget in the same order
as the mark information returned by the <B>dump</B> operation.
If a mark has been set to the special <B>end index,
then it appears to be </B><I>after</I> <B>end</B> with respect to the <B>mark next</B> operation.
If a mark has been set to the special <B>end</B> index,
then it appears to be <I>after</I> <B>end</B> with respect to the <B>mark next</B> operation.
An empty list is returned if there are no marks after <I>index</I>.
<P>
<DT><A NAME="M123">(<I>widget-name '</I><B>mark 'previous </B><I>index</I>)</A><DD>
<DT><A NAME="M126">(<I>widget-name '</I><B>mark 'previous </B><I>index</I>)</A><DD>
Returns the name of the mark at or before <I>index</I>.
If <I>index</I> is specified in numerical form, then the search for
the previous mark begins with the character just before that index.
@ -1029,33 +1033,33 @@ step through all the marks in a text widget in the reverse order
as the mark information returned by the <B>dump</B> operation.
An empty list is returned if there are no marks before <I>index</I>.
<P>
<DT><A NAME="M124">(<I>widget-name '</I><B>mark 'set </B><I>markName index</I>)</A><DD>
<DT><A NAME="M127">(<I>widget-name '</I><B>mark 'set </B><I>markName index</I>)</A><DD>
Sets the mark named <I>markName</I> to a position just before the
character at <I>index</I>.
If <I>markName</I> already exists, it is moved from its old position;
if it doesn't exist, a new mark is created.
This procedure returns an empty string.
<P>
<DT><A NAME="M125">(<I>widget-name '</I><B>mark 'unset </B><I>markName </I>?<I>markName markName ...</I>?)</A><DD>
<DT><A NAME="M128">(<I>widget-name '</I><B>mark 'unset </B><I>markName </I>?<I>markName markName ...</I>?)</A><DD>
Remove the mark corresponding to each of the <I>markName</I> arguments.
The removed marks will not be usable in indices and will not be
returned by future calls to ``<I>widget-name </I><B>mark names</B>''.
This procedure returns an empty string.
<P>
</DL>
<DT><A NAME="M126">(<I>widget-name '</I><B>scan</B> <I>option args</I>)</A><DD>
<DT><A NAME="M129">(<I>widget-name '</I><B>scan</B> <I>option args</I>)</A><DD>
This procedure is used to implement scanning on texts. It has
two forms, depending on <I>option</I>:
<P>
<P>
<DL>
<DT><A NAME="M127">(<I>widget-name '</I><B>scan 'mark </B><I>x y</I>)</A><DD>
<DT><A NAME="M130">(<I>widget-name '</I><B>scan 'mark </B><I>x y</I>)</A><DD>
Records <I>x</I> and <I>y</I> and the current view in the text window,
for use in conjunction with later <B>scan dragto</B> procedures.
Typically this procedure is associated with a mouse button press in
the widget. It returns an empty string.
<P>
<DT><A NAME="M128">(<I>widget-name '</I><B>scan 'dragto </B><I>x y</I>)</A><DD>
<DT><A NAME="M131">(<I>widget-name '</I><B>scan 'dragto </B><I>x y</I>)</A><DD>
This procedure computes the difference between its <I>x</I> and <I>y</I>
arguments and the <I>x</I> and <I>y</I> arguments to the last
<B>scan mark</B> procedure for the widget.
@ -1066,7 +1070,7 @@ dragging the text at high speed through the window. The return
value is an empty string.
<P>
</DL>
<DT><A NAME="M129">(<I>widget-name </I><B>search </B>?<I>switches</I>? <I>pattern index </I>?<I>stopIndex</I>?)</A><DD>
<DT><A NAME="M132">(<I>widget-name </I><B>search </B>?<I>switches</I>? <I>pattern index </I>?<I>stopIndex</I>?)</A><DD>
Searches the text in <I>widget-name</I> starting at <I>index</I> for a range
of characters that matches <I>pattern</I>.
If a match is found, the index of the first character in the match is
@ -1076,35 +1080,37 @@ may be specified to control the search:
<P>
<P>
<DL>
<DT><A NAME="M130"><B>:forwards</B></A><DD>
<DT><A NAME="M133"><B>:forwards</B></A><DD>
The search will proceed forward through the text, finding the first
matching range starting at or after the position given by <I>index</I>.
This is the default.
<P>
<DT><A NAME="M131"><B>:backwards</B></A><DD>
<DT><A NAME="M134"><B>:backwards</B></A><DD>
The search will proceed backward through the text, finding the
matching range closest to <I>index</I> whose first character
is before <I>index</I>.
<P>
<DT><A NAME="M132"><B>:exact</B></A><DD>
<DT><A NAME="M135"><B>:exact</B></A><DD>
Use exact matching: the characters in the matching range must be
identical to those in <I>pattern</I>.
This is the default.
<P>
<DT><A NAME="M133"><B>:regexp</B></A><DD>
<DT><A NAME="M136"><B>:regexp</B></A><DD>
Treat <I>pattern</I> as a regular expression and match it against
the text using the rules for regular expressions (see the <B>regexp</B>
procedure for details).
<P>
<DT><A NAME="M134"><B>:nocase</B></A><DD>
<DT><A NAME="M137"><B>:nocase</B></A><DD>
Ignore case differences between the pattern and the text.
<P>
<DT><A NAME="M135"><B>:count</B><I> varName</I></A><DD>
<DT><A NAME="M138"><B>:count</B><I> varName</I></A><DD>
The argument following <B>:count</B> gives the name of a variable;
if a match is found, the number of characters in the matching
range will be stored in the variable.
<P>
<DT><A NAME="M136"><B>:-</B></A><DD>
<DT><A NAME="M139"><B>:environment</B><I> env</I></A><DD>
The argument following <B>:environment</B> gives the definition environment of the variable counting matches (i.e. the one given to the <B>:count</B> option).
<B>:-</B>
This switch has no effect except to terminate the list of switches:
the next argument will be treated as <I>pattern</I> even if it starts
with <B>:</B>.
@ -1126,7 +1132,7 @@ when the beginning or end of the text is reached, the search
continues at the other end until the starting location is reached
again; if <I>stopIndex</I> is specified, no wrap-around will occur.
</UL>
<DT><A NAME="M137">(<I>widget-name '</I><B>see </B><I>index</I>)</A><DD>
<DT><A NAME="M140">(<I>widget-name '</I><B>see </B><I>index</I>)</A><DD>
Adjusts the view in the window so that the character given by <I>index</I>
is completely visible.
If <I>index</I> is already visible then the procedure does nothing.
@ -1136,7 +1142,7 @@ edge of the window.
If <I>index</I> is far out of view, then the procedure centers
<I>index</I> in the window.
<P>
<DT><A NAME="M138">(<I>widget-name </I><B>'tag </B><I>option </I>?<I>arg arg ...</I>?)</A><DD>
<DT><A NAME="M141">(<I>widget-name </I><B>'tag </B><I>option </I>?<I>arg arg ...</I>?)</A><DD>
This procedure is used to manipulate tags. The exact behavior of the
procedure depends on the <I>option</I> argument that follows the
<B>tag</B> argument. The following forms of the procedure are currently
@ -1144,7 +1150,7 @@ supported:
<P>
<P>
<DL>
<DT><A NAME="M139">(<I>widget-name </I><B>'tag 'add </B><I>tagName index1 </I>?<I>index2 index1 index2 ...</I>?)</A><DD>
<DT><A NAME="M142">(<I>widget-name </I><B>'tag 'add </B><I>tagName index1 </I>?<I>index2 index1 index2 ...</I>?)</A><DD>
Associate the tag <I>tagName</I> with all of the characters starting
with <I>index1</I> and ending just before
<I>index2</I> (the character at <I>index2</I> isn't tagged).
@ -1156,9 +1162,9 @@ If there are no characters in the specified range (e.g. <I>index1</I>
is past the end of the file or <I>index2</I> is less than or equal
to <I>index1</I>) then the procedure has no effect.
<P>
<DT><A NAME="M140">(<I>widget-name </I><B>'tag 'bind </B><I>tagName</I>)</A><DD>
<DT><A NAME="M141">(<I>widget-name </I><B>'tag 'bind </B><I>tagName</I> <I>sequence</I>)</A><DD>
<DT><A NAME="M142">(<I>widget-name </I><B>'tag 'bind </B><I>tagName</I> <I>sequence</I> <I>script</I>)</A><DD>
<DT><A NAME="M143">(<I>widget-name </I><B>'tag 'bind </B><I>tagName</I>)</A><DD>
<DT><A NAME="M144">(<I>widget-name </I><B>'tag 'bind </B><I>tagName</I> <I>sequence</I>)</A><DD>
<DT><A NAME="M145">(<I>widget-name </I><B>'tag 'bind </B><I>tagName</I> <I>sequence</I> <I>script</I>)</A><DD>
This procedure associates <I>script</I> with the tag given by
<I>tagName</I>.
Whenever the event sequence given by <I>sequence</I> occurs for a
@ -1214,13 +1220,13 @@ tag bindings.
The tag bindings will be invoked first, followed by bindings
for the window as a whole.
</UL>
<DT><A NAME="M143">(<I>widget-name </I><B>'tag 'cget</B> <I>tagName option</I>)</A><DD>
<DT><A NAME="M146">(<I>widget-name </I><B>'tag 'cget</B> <I>tagName option</I>)</A><DD>
This procedure returns the current value of the option named <I>option</I>
associated with the tag given by <I>tagName</I>.
<I>Option</I> may have any of the values accepted by the <B>tag configure</B>
widget procedure.
<P>
<DT><A NAME="M144">(<I>widget-name </I><B>'tag 'configure </B><I>tagName</I> ?<I>option</I>? ?<I>value</I>? ?<I>option value ...</I>?)</A><DD>
<DT><A NAME="M147">(<I>widget-name </I><B>'tag 'configure </B><I>tagName</I> ?<I>option</I>? ?<I>value</I>? ?<I>option value ...</I>?)</A><DD>
This procedure is similar to the <B>configure</B> widget procedure except
that it modifies options associated with the tag given by <I>tagName</I>
instead of modifying options for the overall text widget.
@ -1236,7 +1242,7 @@ modifies the given option(s) to have the given value(s) in <I>tagName</I>;
in this case the procedure returns an empty list.
See TAGS above for details on the options available for tags.
<P>
<DT><A NAME="M145">(<I>widget-name </I><B>'tag 'delete </B><I>tagName </I>?<I>tagName ...</I>?)</A><DD>
<DT><A NAME="M148">(<I>widget-name </I><B>'tag 'delete </B><I>tagName </I>?<I>tagName ...</I>?)</A><DD>
Deletes all tag information for each of the <I>tagName</I>
arguments.
The procedure removes the tags from all characters in the file
@ -1244,15 +1250,15 @@ and also deletes any other information associated with the tags,
such as bindings and display information.
The procedure returns an empty list.
<P>
<DT><A NAME="M146">(<I>widget-name</I><B>'tag 'lower </B><I>tagName </I>)</A><DD>
<DT><A NAME="M147">(<I>widget-name</I><B>'tag 'lower </B><I>tagName </I> <I>belowThis</I>)</A><DD>
<DT><A NAME="M149">(<I>widget-name</I><B>'tag 'lower </B><I>tagName </I>)</A><DD>
<DT><A NAME="M150">(<I>widget-name</I><B>'tag 'lower </B><I>tagName </I> <I>belowThis</I>)</A><DD>
Changes the priority of tag <I>tagName</I> so that it is just lower
in priority than the tag whose name is <I>belowThis</I>.
If <I>belowThis</I> is omitted, then <I>tagName</I>'s priority
is changed to make it lowest priority of all tags.
<P>
<DT><A NAME="M148">(<I>widget-name </I><B>'tag 'names </B>)</A><DD>
<DT><A NAME="M149">(<I>widget-name </I><B>'tag 'names </B> <I>index</I>)</A><DD>
<DT><A NAME="M151">(<I>widget-name </I><B>'tag 'names </B>)</A><DD>
<DT><A NAME="M152">(<I>widget-name </I><B>'tag 'names </B> <I>index</I>)</A><DD>
Returns a list whose elements are the names of all the tags that
are active at the character position given by <I>index</I>.
If <I>index</I> is omitted, then the return value will describe
@ -1264,8 +1270,8 @@ the tag).
The list will be sorted in order from lowest priority to highest
priority.
<P>
<DT><A NAME="M150">(<I>widget-name </I><B>'tag 'nextrange </B><I>tagName index1 </I>)</A><DD>
<DT><A NAME="M151">(<I>widget-name </I><B>'tag 'nextrange </B><I>tagName index1 </I> <I>index2</I>)</A><DD>
<DT><A NAME="M153">(<I>widget-name </I><B>'tag 'nextrange </B><I>tagName index1 </I>)</A><DD>
<DT><A NAME="M154">(<I>widget-name </I><B>'tag 'nextrange </B><I>tagName index1 </I> <I>index2</I>)</A><DD>
This procedure searches the text for a range of characters tagged
with <I>tagName</I> where the first character of the range is
no earlier than the character at <I>index1</I> and no later than
@ -1280,8 +1286,8 @@ If no matching range is found then the return value is an
empty list.
If <I>index2</I> is not given then it defaults to the end of the text.
<P>
<DT><A NAME="M152">(<I>widget-name '</I><B>tag 'prevrange </B><I>tagName index1 </I>)</A><DD>
<DT><A NAME="M153">(<I>widget-name '</I><B>tag 'prevrange </B><I>tagName index1 </I> <I>index2</I>)</A><DD>
<DT><A NAME="M155">(<I>widget-name '</I><B>tag 'prevrange </B><I>tagName index1 </I>)</A><DD>
<DT><A NAME="M156">(<I>widget-name '</I><B>tag 'prevrange </B><I>tagName index1 </I> <I>index2</I>)</A><DD>
This command searches the text for a range of characters tagged
with <I>tagName</I> where the first character of the range is
before the character at <I>index1</I> and no earlier than
@ -1296,14 +1302,14 @@ If no matching range is found then the return value is an
empty string.
If <I>index2</I> is not given then it defaults to the beginning of the text.
<P>
<DT><A NAME="M154">(<I>widget-name</I><B>'tag 'raise </B><I>tagName </I>)</A><DD>
<DT><A NAME="M155">(<I>widget-name</I><B>'tag 'raise </B><I>tagName </I> <I>aboveThis</I>)</A><DD>
<DT><A NAME="M157">(<I>widget-name</I><B>'tag 'raise </B><I>tagName </I>)</A><DD>
<DT><A NAME="M158">(<I>widget-name</I><B>'tag 'raise </B><I>tagName </I> <I>aboveThis</I>)</A><DD>
Changes the priority of tag <I>tagName</I> so that it is just higher
in priority than the tag whose name is <I>aboveThis</I>.
If <I>aboveThis</I> is omitted, then <I>tagName</I>'s priority
is changed to make it highest priority of all tags.
<P>
<DT><A NAME="M156">(<I>widget-name </I><B>'tag 'ranges </B><I>tagName</I>)</A><DD>
<DT><A NAME="M159">(<I>widget-name </I><B>'tag 'ranges </B><I>tagName</I>)</A><DD>
Returns a list describing all of the ranges of text that have been
tagged with <I>tagName</I>.
The first two elements of the list describe the first tagged range
@ -1316,7 +1322,7 @@ range.
If there are no characters tagged with <I>tag</I> then an
empty list is returned.
<P>
<DT><A NAME="M157">(<I>widget-name </I><B>'tag 'remove </B><I>tagName index1 </I>?<I>index2 index1 index2 ...</I>?)</A><DD>
<DT><A NAME="M160">(<I>widget-name </I><B>'tag 'remove </B><I>tagName index1 </I>?<I>index2 index1 index2 ...</I>?)</A><DD>
Remove the tag <I>tagName</I> from all of the characters starting
at <I>index1</I> and ending just before
<I>index2</I> (the character at <I>index2</I> isn't affected).
@ -1330,7 +1336,7 @@ to <I>index1</I>) then the procedure has no effect.
This procedure returns an empty list.
<P>
</DL>
<DT><A NAME="M158">(<I>widget-name '</I><B>window </B><I>option </I>?<I>arg arg ...</I>?)</A><DD>
<DT><A NAME="M161">(<I>widget-name '</I><B>window </B><I>option </I>?<I>arg arg ...</I>?)</A><DD>
This procedure is used to manipulate embedded windows.
The behavior of the procedure depends on the <I>option</I> argument
that follows the <B>tag</B> argument.
@ -1338,13 +1344,13 @@ The following forms of the procedure are currently supported:
<P>
<P>
<DL>
<DT><A NAME="M159">(<I>widget-name '</I><B>window 'cget</B> <I>index option</I>)</A><DD>
<DT><A NAME="M162">(<I>widget-name '</I><B>window 'cget</B> <I>index option</I>)</A><DD>
Returns the value of a configuration option for an embedded window.
<I>Index</I> identifies the embedded window, and <I>option</I>
specifies a particular configuration option, which must be one of
the ones listed in the section EMBEDDED WINDOWS.
<P>
<DT><A NAME="M160">(<I>widget-name '</I><B>window 'configure </B><I>index</I> ?<I>option value ...</I>?)</A><DD>
<DT><A NAME="M163">(<I>widget-name '</I><B>window 'configure </B><I>index</I> ?<I>option value ...</I>?)</A><DD>
Query or modify the configuration options for an embedded window.
If no <I>option</I> is specified, returns a list describing all of
the available options for the embedded window at <I>index</I>
@ -1359,7 +1365,7 @@ this case the procedure returns an empty list.
See EMBEDDED WINDOWS for information on the options that
are supported.
<P>
<DT><A NAME="M161">(<I>widget-name '</I><B>window 'create </B><I>index</I> ?<I>option value ...</I>?)</A><DD>
<DT><A NAME="M164">(<I>widget-name '</I><B>window 'create </B><I>index</I> ?<I>option value ...</I>?)</A><DD>
This procedure creates a new window annotation, which will appear
in the text at the position given by <I>index</I>.
Any number of <I>option-value</I> pairs may be specified to
@ -1368,19 +1374,19 @@ See EMBEDDED WINDOWS for information on the options that
are supported.
Returns an empty list.
<P>
<DT><A NAME="M162">(<I>widget-name '</I><B>window 'names</B>)</A><DD>
<DT><A NAME="M165">(<I>widget-name '</I><B>window 'names</B>)</A><DD>
Returns a list whose elements are the names of all windows currently
embedded in <I>window</I>.
<P>
</DL>
<DT><A NAME="M163">(<I>widget-name '</I><B>xview </B><I>option args</I>)</A><DD>
<DT><A NAME="M166">(<I>widget-name '</I><B>xview </B><I>option args</I>)</A><DD>
This procedure is used to query and change the horizontal position of the
text in the widget's window. It can take any of the following
forms:
<P>
<P>
<DL>
<DT><A NAME="M164">(<I>widget-name '</I><B>xview</B>)</A><DD>
<DT><A NAME="M167">(<I>widget-name '</I><B>xview</B>)</A><DD>
Returns a list containing two elements.
Each element is a real fraction between 0 and 1; together they describe
the portion of the document's horizontal span that is visible in
@ -1396,12 +1402,12 @@ much wider than the window.
These are the same values passed to scrollbars via the <B>:xscrollprocedure</B>
option.
<P>
<DT><A NAME="M165">(<I>widget-name '</I><B>xview 'moveto</B><I> fraction</I>)</A><DD>
<DT><A NAME="M168">(<I>widget-name '</I><B>xview 'moveto</B><I> fraction</I>)</A><DD>
Adjusts the view in the window so that <I>fraction</I> of the horizontal
span of the text is off-screen to the left.
<I>Fraction</I> is a fraction between 0 and 1.
<P>
<DT><A NAME="M166">(<I>widget-name '</I><B>xview 'scroll </B><I>number what</I>)</A><DD>
<DT><A NAME="M169">(<I>widget-name '</I><B>xview 'scroll </B><I>number what</I>)</A><DD>
This procedure shifts the view in the window left or right according to
<I>number</I> and <I>what</I>.
<I>Number</I> must be an integer.
@ -1415,14 +1421,14 @@ become visible; if it is positive then characters farther to the right
become visible.
<P>
</DL>
<DT><A NAME="M167">(<I>widget-name '</I><B>yview </B><I>?args</I>?)</A><DD>
<DT><A NAME="M170">(<I>widget-name '</I><B>yview </B><I>?args</I>?)</A><DD>
This procedure is used to query and change the vertical position of the
text in the widget's window.
It can take any of the following forms:
<P>
<P>
<DL>
<DT><A NAME="M168">(<I>widget-name '</I><B>yview</B>)</A><DD>
<DT><A NAME="M171">(<I>widget-name '</I><B>yview</B>)</A><DD>
Returns a list containing two elements, both of which are real fractions
between 0 and 1.
The first element gives the position of the first character in the
@ -1434,14 +1440,14 @@ relative to the text as a whole.
These are the same values passed to scrollbars via the <B>:yscrollprocedure</B>
option.
<P>
<DT><A NAME="M169">(<I>widget-name '</I><B>yview 'moveto</B><I> fraction</I>)</A><DD>
<DT><A NAME="M172">(<I>widget-name '</I><B>yview 'moveto</B><I> fraction</I>)</A><DD>
Adjusts the view in the window so that the character given by <I>fraction</I>
appears on the top line of the window.
<I>Fraction</I> is a fraction between 0 and 1; 0 indicates the first
character in the text, 0.33 indicates the character one-third the
way through the text, and so on.
<P>
<DT><A NAME="M170">(<I>widget-name '</I><B>yview 'scroll </B><I>number what</I>)</A><DD>
<DT><A NAME="M173">(<I>widget-name '</I><B>yview 'scroll </B><I>number what</I>)</A><DD>
This procedure adjust the view in the window up or down according to
<I>number</I> and <I>what</I>.
<I>Number</I> must be an integer.
@ -1453,34 +1459,39 @@ If <I>number</I> is negative then earlier positions in the text
become visible; if it is positive then later positions in the text
become visible.
<P>
<DT><A NAME="M171">(<I>widget-name </I><B>yview </B> <I>index</I>)</A><DD>
<DT><A NAME="M172">(<I>widget-name </I><B>yview </B><B>:pickplace</B> <I>index</I>)</A><DD>
<DT><A NAME="M174">(<I>widget-name </I><B>yview </B> <I>index</I>)</A><DD>
<DT><A NAME="M175">(<I>widget-name </I><B>yview </B><B>:pickplace</B> <I>index</I>)</A><DD>
Changes the view in the widget's window to make <I>index</I> visible.
If the <B>:pickplace</B> option isn't specified then <I>index</I> will
appear at the top of the window.
If <B>:pickplace</B> is specified then the widget chooses where
<I>index</I> appears in the window:
<P>
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M176">{[1]}</A><DD>
If <I>index</I> is already visible somewhere in the window then the
procedure does nothing.
<LI>
<P>
<DT><A NAME="M177">{[2]}</A><DD>
If <I>index</I> is only a few lines off-screen above the window then
it will be positioned at the top of the window.
<LI>
<P>
<DT><A NAME="M178">{[3]}</A><DD>
If <I>index</I> is only a few lines off-screen below the window then
it will be positioned at the bottom of the window.
<LI>
<P>
<DT><A NAME="M179">{[4]}</A><DD>
Otherwise, <I>index</I> will be centered in the window.
</OL>
<P>
</DL>
<UL>
<P>
The <B>:pickplace</B> option has been obsoleted by the <B>see</B> widget
procedure (<B>see</B> handles both x- and y-motion to make a location
visible, whereas <B>:pickplace</B> only handles motion in y).
</UL>
<DT><A NAME="M173">(<I>widget-name '</I><B>yview </B><I>number</I>)</A><DD>
<DT><A NAME="M180">(<I>widget-name '</I><B>yview </B><I>number</I>)</A><DD>
This procedure makes the first character on the line after
the one given by <I>number</I> visible at the top of the window.
<I>Number</I> must be an integer.
@ -1488,30 +1499,34 @@ This procedure used to be used for scrolling, but now it is obsolete.
<P>
</DL>
</DL>
<H3><A NAME="M174">BINDINGS</A></H3>
<H3><A NAME="M181">BINDINGS</A></H3>
Tk automatically creates class bindings for texts that give them
the following default behavior.
In the descriptions below, ``word'' refers to a contiguous group
of letters, digits, or ``_'' characters, or any single character
other than these.
<OL>
<LI>
<P>
<DL>
<DT><A NAME="M182">{[1]}</A><DD>
Clicking mouse button 1 positions the insertion cursor
just before the character underneath the mouse cursor, sets the
input focus to this widget, and clears any selection in the widget.
Dragging with mouse button 1 strokes out a selection between
the insertion cursor and the character under the mouse.
<LI>
<P>
<DT><A NAME="M183">{[2]}</A><DD>
Double-clicking with mouse button 1 selects the word under the mouse
and positions the insertion cursor at the beginning of the word.
Dragging after a double click will stroke out a selection consisting
of whole words.
<LI>
<P>
<DT><A NAME="M184">{[3]}</A><DD>
Triple-clicking with mouse button 1 selects the line under the mouse
and positions the insertion cursor at the beginning of the line.
Dragging after a triple click will stroke out a selection consisting
of whole lines.
<LI>
<P>
<DT><A NAME="M185">{[4]}</A><DD>
The ends of the selection can be adjusted by dragging with mouse
button 1 while the Shift key is down; this will adjust the end
of the selection that was nearest to the mouse cursor when button
@ -1519,24 +1534,29 @@ of the selection that was nearest to the mouse cursor when button
If the button is double-clicked before dragging then the selection
will be adjusted in units of whole words; if it is triple-clicked
then the selection will be adjusted in units of whole lines.
<LI>
<P>
<DT><A NAME="M186">{[5]}</A><DD>
Clicking mouse button 1 with the Control key down will reposition the
insertion cursor without affecting the selection.
<LI>
<P>
<DT><A NAME="M187">{[6]}</A><DD>
If any normal printing characters are typed, they are
inserted at the point of the insertion cursor.
<LI>
<P>
<DT><A NAME="M188">{[7]}</A><DD>
The view in the widget can be adjusted by dragging with mouse button 2.
If mouse button 2 is clicked without moving the mouse, the selection
is copied into the text at the position of the mouse cursor.
The Insert key also inserts the selection, but at the position of
the insertion cursor.
<LI>
<P>
<DT><A NAME="M189">{[8]}</A><DD>
If the mouse is dragged out of the widget
while button 1 is pressed, the entry will automatically scroll to
make more text visible (if there is more text off-screen on the side
where the mouse left the window).
<LI>
<P>
<DT><A NAME="M190">{[9]}</A><DD>
The Left and Right keys move the insertion cursor one character to the
left or right; they also clear any selection in the text.
If Left or Right is typed with the Shift key down, then the insertion
@ -1547,87 +1567,109 @@ by words and also extend the selection.
Control-b and Control-f behave the same as Left and Right, respectively.
Meta-b and Meta-f behave the same as Control-Left and Control-Right,
respectively.
<LI>
<P>
<DT><A NAME="M191">{[10]}</A><DD>
The Next and Prior keys move the insertion cursor forward or backwards
by one screenful and clear any selection in the text.
If the Shift key is held down while Next or Prior is typed, then
the selection is extended to include the new character.
Control-v moves the view down one screenful without moving the
insertion cursor or adjusting the selection.
<LI>
<P>
<DT><A NAME="M192">{[11]}</A><DD>
Control-Next and Control-Prior scroll the view right or left by one page
without moving the insertion cursor or affecting the selection.
<LI>
<P>
<DT><A NAME="M193">{[12]}</A><DD>
Home and Control-a move the insertion cursor to the
beginning of its line and clear any selection in the widget.
Shift-Home moves the insertion cursor to the beginning of the line
and also extends the selection to that point.
<LI>
<P>
<DT><A NAME="M194">{[13]}</A><DD>
End and Control-e move the insertion cursor to the
end of the line and clear any selection in the widget.
Shift-End moves the cursor to the end of the line and extends the selection
to that point.
<LI>
<P>
<DT><A NAME="M195">{[14]}</A><DD>
Control-Home and Meta-&lt; move the insertion cursor to the beginning of
the text and clear any selection in the widget.
Control-Shift-Home moves the insertion cursor to the beginning of the text
and also extends the selection to that point.
<LI>
<P>
<DT><A NAME="M196">{[15]}</A><DD>
Control-End and Meta-&gt; move the insertion cursor to the end of the
text and clear any selection in the widget.
Control-Shift-End moves the cursor to the end of the text and extends
the selection to that point.
<LI>
<P>
<DT><A NAME="M197">{[16]}</A><DD>
The Select key and Control-Space set the selection anchor to the position
of the insertion cursor. They don't affect the current selection.
Shift-Select and Control-Shift-Space adjust the selection to the
current position of the insertion cursor, selecting from the anchor
to the insertion cursor if there was not any selection previously.
<LI>
<P>
<DT><A NAME="M198">{[17]}</A><DD>
Control-/ selects the entire contents of the widget.
<LI>
<P>
<DT><A NAME="M199">{[18]}</A><DD>
Control-&#92; clears any selection in the widget.
<LI>
<P>
<DT><A NAME="M200">{[19]}</A><DD>
The F16 key (labelled Copy on many Sun workstations) or Meta-w
copies the selection in the widget to the clipboard, if there is a selection.
<LI>
<P>
<DT><A NAME="M201">{[20]}</A><DD>
The F20 key (labelled Cut on many Sun workstations) or Control-w
copies the selection in the widget to the clipboard and deletes
the selection.
If there is no selection in the widget then these keys have no effect.
<LI>
<P>
<DT><A NAME="M202">{[21]}</A><DD>
The F18 key (labelled Paste on many Sun workstations) or Control-y
inserts the contents of the clipboard at the position of the
insertion cursor.
<LI>
<P>
<DT><A NAME="M203">{[22]}</A><DD>
The Delete key deletes the selection, if there is one in the widget.
If there is no selection, it deletes the character to the right of
the insertion cursor.
<LI>
<P>
<DT><A NAME="M204">{[23]}</A><DD>
Backspace and Control-h delete the selection, if there is one
in the widget.
If there is no selection, they delete the character to the left of
the insertion cursor.
<LI>
<P>
<DT><A NAME="M205">{[24]}</A><DD>
Control-d deletes the character to the right of the insertion cursor.
<LI>
<P>
<DT><A NAME="M206">{[25]}</A><DD>
Meta-d deletes the word to the right of the insertion cursor.
<LI>
<P>
<DT><A NAME="M207">{[26]}</A><DD>
Control-k deletes from the insertion cursor to the end of its line;
if the insertion cursor is already at the end of a line, then
Control-k deletes the newline character.
<LI>
<P>
<DT><A NAME="M208">{[27]}</A><DD>
Control-o opens a new line by inserting a newline character in
front of the insertion cursor without moving the insertion cursor.
<LI>
<P>
<DT><A NAME="M209">{[28]}</A><DD>
Meta-backspace and Meta-Delete delete the word to the left of the
insertion cursor.
<LI>
<P>
<DT><A NAME="M210">{[29]}</A><DD>
Control-x deletes whatever is selected in the text widget.
<LI>
<P>
<DT><A NAME="M211">{[30]}</A><DD>
Control-t reverses the order of the two characters to the right of
the insertion cursor.
</OL>
<P>
</DL>
<P>
If the widget is disabled using the <B>:state</B> option, then its
view can still be adjusted and text can still be selected,
@ -1637,7 +1679,7 @@ take place.
The behavior of texts can be changed by defining new bindings for
individual widgets or by redefining the class bindings.
<H3><A NAME="M175">PERFORMANCE ISSUES</A></H3>
<H3><A NAME="M212">PERFORMANCE ISSUES</A></H3>
Text widgets should run efficiently under a variety
of conditions. The text widget uses about 2-3 bytes of
main memory for each byte of text, so texts containing a megabyte

11
INSTALL
View File

@ -1,6 +1,6 @@
+----------------------------+
| STk 3.1 Installation notes |
+----------------------------+
+-----------------------------+
| STk 3.99 Installation notes |
+-----------------------------+
IMPORTANT NOTE - IMPORTANT NOTE - IMPORTANT NOTE
@ -112,6 +112,11 @@ available when compiling STk and their default value.
| posix | enabled | Add support for POSIX.1 functions. |
| | | Support is very incmplete but will |
| | | grow |
|-------------|-------------------------------------------------|
| base64 | enabled | Compile support for Base64 encoding |
|-------------|-------------------------------------------------|
| locale | enabled | Compile support for locale in string |
| | | comparisons |
|_____________|_________|_______________________________________|
For instance

14
Lib/Images/box-minus.xpm Normal file
View File

@ -0,0 +1,14 @@
/* XPM */
static char * box_minux_xpm[] = {
"9 9 2 1",
" c black",
". c white",
" ",
" ....... ",
" ....... ",
" ....... ",
" . . ",
" ....... ",
" ....... ",
" ....... ",
" "};

14
Lib/Images/box-plus.xpm Normal file
View File

@ -0,0 +1,14 @@
/* XPM */
static char * box_plus_xpm[] = {
"9 9 2 1",
" c black",
". c white",
" ",
" ....... ",
" ... ... ",
" ... ... ",
" . . ",
" ... ... ",
" ... ... ",
" ....... ",
" "};

25
Lib/Images/diropen.xpm Normal file
View File

@ -0,0 +1,25 @@
/* XPM */
static char * diropen_xpm[] = {
"16 16 5 1",
" s None c None",
". c grey51",
"X c white",
"o c goldenrod1",
"O c grey4",
" ",
" .... ",
" .XXXX. ",
" .XooooX...... ",
" .XoooooXXXXX.O ",
" .Xoooooooooo.O ",
"...........oo.O ",
".XXXXXXXXX.Oo.O ",
".XoooooooooO..O ",
" .Xoooooooo.O.O ",
" .XoooooooooO.O ",
" .Xoooooooo.OO ",
" ...........OO ",
" OOOOOOOOOOOO ",
" ",
" "};

View File

@ -3,7 +3,7 @@
#
# Author: Erick Gallesio [eg@unice.fr]
# Creation date: ???
# Last file update: 30-Apr-1998 16:28
# Last file update: 27-Sep-1998 17:37
include ../config.make
@ -19,7 +19,7 @@ install:
-if [ ! -d $(STK_IMAGES) ] ; then mkdir -p $(STK_IMAGES); fi
-if [ ! -d $(STK_STK) ] ; then mkdir -p $(STK_STK); fi
-if [ ! -d $(STK_STK_MATCH) ] ; then mkdir -p $(STK_STK_MATCH); fi
for i in *.stk *.stklos prolog.ps STk.init; \
for i in *.stk *.stklos STk.init; \
do \
sed -e 's=/usr/local/lib/stk=$(libdir)=' \
-e 's=/usr/local/bin=$(bindir)=' $$i > $(STK_STK)/$$i ;\

47
Lib/base64.stk Normal file
View File

@ -0,0 +1,47 @@
;;;; b a s e 6 4 . s t k -- Base 64 support
;;;;
;;;; Copyright © 1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;;
;;;; Permission to use, copy, and/or distribute this software and its
;;;; documentation for any purpose and without fee is hereby granted, provided
;;;; that both the above copyright notice and this permission notice appear in
;;;; all copies and derived works. Fees for distribution or use of this
;;;; software or derived works may only be charged with express written
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: base64.stk 1.1 Mon, 20 Jul 1998 19:44:40 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 20-Jul-1998 18:43
;;;; Last file update: 20-Jul-1998 19:15
(if (symbol-bound? '%init-base64)
;; Html module is in the core interpreter
(%init-base64)
;; Try to load hash table dynamically
(load (string-append "base64." *shared-suffix*)))
;;;
;;; Public procedures
;;;
(define base64-encode-string #f)
(define base64-decode-string #f)
;;;
;;; Impl.
;;;
(let ((encode/decode (lambda (op)
(lambda (str)
(let ((in (open-input-string str))
(out (open-output-string)))
(op in out)
(get-output-string out))))))
(set! base64-encode-string (encode/decode base64-encode))
(set! base64-decode-string (encode/decode base64-decode)))
(provide "base64")

View File

@ -11,7 +11,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: bigloo.stk 1.3 Thu, 30 Apr 1998 14:16:40 +0000 eg $
;;;; $Id: bigloo.stk 1.3 Thu, 30 Apr 1998 16:16:40 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 28-Oct-1997 11:09

239
Lib/class-browser.stklos Normal file
View File

@ -0,0 +1,239 @@
;;;;
;;;; c l a s s - b r o w s e r . s t k l o s -- Class browser
;;;;
;;;; Copyright © 1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;;
;;;; Permission to use, copy, and/or distribute this software and its
;;;; documentation for any purpose and without fee is hereby granted, provided
;;;; that both the above copyright notice and this permission notice appear in
;;;; all copies and derived works. Fees for distribution or use of this
;;;; software or derived works may only be charged with express written
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: class-browser.stklos 1.1 Sat, 26 Sep 1998 19:19:52 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 25-Aug-1998 20:12
;;;; Last file update: 26-Sep-1998 19:07
(require "Tk-classes")
(require "method-editor")
(define-module class-browser
(import STklos STklos+Tk Tk)
(export class-browser browse-class)
(define *browser-current* #f)
(define *browser-notepad* #f)
(define *browser-tree* #f)
(define *browser-window* #f)
(define-class <Inheritance-item> (<Hierarchy-item>) ())
(define-class <Inheritance-tree> (<Hierarchy-tree>)
((entry :init-form #f)
(items-type :init-form <Inheritance-item>)))
(define-method open-item((self <Inheritance-item>))
(unless (slot-ref self 'open)
(let* ((data (slot-ref self 'data))
(children (slot-ref self 'children))
(hierarchy (slot-ref self 'parent))
(subclasses (class-direct-subclasses data)))
(when (and (null? children) (not (null? subclasses)))
(for-each (lambda (x)
(if (null? (class-direct-subclasses x))
(add-leave hierarchy self x)
(add-node hierarchy self x)))
(sort subclasses
(lambda (x y)
(string<? (symbol->string (class-name x))
(symbol->string (class-name y))))))))
;; Do the redisplay
(next-method)))
(define-method close-item((self <Inheritance-item>))
(slot-set! self 'children '())
(next-method))
(define-method label-item((self <Inheritance-item>))
(let* ((data (slot-ref self 'data))
(len (length (class-direct-supers data)))
(name (class-name data)))
(if (> len 2)
(format #f "~A : ~A" name len) ; class has multiple super-classes
name)))
(define-method select-item ((self <Inheritance-item>))
(let* ((data (slot-ref self 'data))
(parent (slot-ref self 'parent))
(entry (slot-ref parent 'entry)))
(unless (equal? data *browser-current*)
(set! *browser-current* data)
;; Update all the listboxes with information relative to the current class
(select-tab (current-tab *browser-notepad*))
(slot-set! entry 'value (class-name data))
(next-method))))
(define (create-hierarchy top)
(let* ((f (make <Frame> :parent top))
(e (make <Labeled-Entry> :parent f :title "Current Class"
:relief "ridge" :border-width 2))
(h (make <Inheritance-tree> :parent f :relief "raised" :border-width 2)))
(pack e :expand #f :fill "x" :padx 3 :pady 3)
(pack h :expand #t :fill "both")
(slot-set! h 'entry e)
(add-node h #f <top>)
(set! *browser-tree* h)
f))
;=============================================================================
(define (create-notepad toplevel)
(define lbs (make-vector 8))
(define n (make <Notepad> :parent toplevel))
(define index 0)
(define (create-listbox parent txt index)
(let* ((f (make <Frame> :parent parent))
(l (make <Label> :parent f :text txt))
(lb (make <Scroll-listbox> :parent f)))
(set! (background (listbox-of lb)) "white")
(pack l :fill "x" :expand #f)
(pack lb :fill "both" :expand #t)
(vector-set! lbs index lb)
f))
(define (internal-page index txt1 txt2 proc1 proc2)
(lambda (parent tab)
;; If this is the first call for this page, instanciante it
(unless (page tab)
(let* ((paned (make <HPaned> :parent parent))
(f1 (create-listbox (top-frame-of paned) txt1 index))
(f2 (create-listbox (bottom-frame-of paned) txt2 (+ index 1))))
(pack f1 f2 :expand #t :fill "both")
(set! (page tab) paned)))
;; Executed each time we select this page
(pack (page tab) :pady 5 :padx 3 :fill "both" :expand #t)
(when *browser-current*
(proc1) ;; To fill the upper part of the page
(proc2)))) ;; ........... lower ................
(define (new label txt1 txt2 proc1 proc2)
(let ((index (- index 2))) ; UGLY! we know index has been ++ by fill-lisbox
(make <Notepad-Tab>
:parent n :text label :font '(Helvetica 10 Bold)
:action (internal-page index txt1 txt2 proc1 proc2))))
(define convert-method
(lambda (m)
(format #f "~A ~S" (generic-function-name(method-generic-function m))
(map* class-name (method-specializers m)))))
(define (sort-symbols l)
(sort l (lambda (s1 s2)
(string<? (symbol->string (cdr s1)) (symbol->string (cdr s2))))))
(define (sort-strings l)
(sort l (lambda (s1 s2) (string<? (cdr s1) (cdr s2)))))
(define (show-slot s)
(let* ((top (make <Toplevel> :title "Slot Description"))
(edit (make <Scheme-text> :parent top :relief "ridge" :border-width 3))
(quit (make <Button> :parent top :text "Quit"
:command (lambda () (destroy top)))))
(set! (value edit) (format #f "Slot ``~A'' is defined as:\n\n~A"
(slot-definition-name s) (pp s 50 #f)))
(set! (background (text-of edit)) "white")
;; change title to differentiate it from the body
(tag-add (make <Text-tag> :parent edit :underline #t :foreground "brown3")
"0.0" "2.0")
;; pack everybody
(pack edit :expand #t :fill 'both)
(pack quit :expand #f :anchor 'w :ipadx 20)))
(define (fill-listbox convert build-list sortproc selectproc)
(let* ((idx index)
(res (lambda ()
(let* ((lb (vector-ref lbs idx))
(l1 (build-list *browser-current*))
(l2 (map convert l1))
(l3 (sortproc (map cons l1 l2))))
;; l1 is the list of objects. l2 is the list of the names of
;; these objects (to be inserted in the listbox). l3 is the
;; a A-list built from l1 and l2. l3 is sorted on the values
;; of l2.
(bind lb "<Double-1>"
(lambda ()
(let ((active (listbox-index lb "active")))
(selectproc (car (list-ref l3 active))))))
(set! (value lb) (map cdr l3))))))
(set! index (+ index 1))
res))
;;
;; Create-notepad starts here
;;
(new "Super\nClasses" "Direct Super Classes" "Class Precedence List"
(fill-listbox class-name class-direct-supers sort-symbols browse-class)
(fill-listbox class-name class-precedence-list (lambda(l)l) browse-class))
(new "Sub\nClasses" "Direct Subclasses" "All Subclasses"
(fill-listbox class-name class-direct-subclasses sort-symbols
browse-class)
(fill-listbox class-name class-subclasses sort-symbols browse-class))
(new "Slots" "Direct Slots" "All Slots"
(fill-listbox slot-definition-name class-direct-slots sort-symbols
show-slot)
(fill-listbox slot-definition-name class-slots sort-symbols show-slot))
(new "Methods" "Direct Methods" "All Methods"
(fill-listbox convert-method class-direct-methods sort-strings
method-editor)
(fill-listbox convert-method class-methods sort-strings method-editor))
(set! *browser-notepad* n)
n)
;=============================================================================
(define (init-class-browser . parent)
(let* ((top (if (null? parent)
(make <Toplevel> :title "** STklos Class browser **")
(car parent)))
(paned (make <VPaned> :parent top :width 700 :height 400 :fraction .4))
(h (create-hierarchy (left-frame-of paned)))
(pad (create-notepad (right-frame-of paned)))
(quit (make <Button> :parent top :text "Quit"
:command (lambda() (destroy top)))))
(pack h pad paned :fill 'both :expand #t)
(pack quit :anchor 'w :ipadx 20)
(wm 'protocol (Id top) "WM_DELETE_WINDOW" (lambda ()
(set! *browser-window* #f)
(destroy top)))
(set! *browser-window* top)))
(define (browse-class class)
(unless *browser-window* (init-class-browser))
(let* ((cpl (reverse (class-precedence-list class)))
(proc (lambda (i)
(let ((data (slot-ref i 'data)))
(when (memq data cpl)
(open-item i)
(if (eq? data class) (select-item i)))))))
(walk-hierarchy *browser-tree* proc)))
(define (class-browser . parent)
(apply init-class-browser parent)
(browse-class <top>))
)
(import class-browser)
(define class-browser (with-module class-browser class-browser))
(provide "class-browser")

View File

@ -1,7 +1,7 @@
;;;;
;;;; Entries bindings and procs
;;;;
;;;; Copyright © 1993-1997 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;; Copyright © 1993-1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;;
;;;; Permission to use, copy, and/or distribute this software and its
;;;; documentation for any purpose and without fee is hereby granted, provided
@ -17,7 +17,7 @@
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 17-May-1993 12:35
;;;; Last file update: 27-Aug-1997 15:23
;;;; Last file update: 27-Sep-1998 12:04
;;;;
(select-module Tk)
@ -334,6 +334,9 @@
(define-binding "Entry" "<<Clear>>" (|W|)
(|W| 'delete 'sel.first 'sel.last))
(define-binding "Entry" "<<PasteSelection>>" (|W| x)
(when (or *tk-strict-Motif* (not tk::mouse-moved))
(Tk:entry-paste |W| x)))
(define-binding "Entry" "<1>" (|W| x)
(Tk:entry-button-1 |W| x)
@ -469,10 +472,12 @@
(bind "Entry" "<KP_Enter>" nop)
(bind "Entry" "<Tab>" nop))
(define-binding "Entry" "<Insert>" (|W|)
(catch
(Tk:entry-insert |W| (selection 'get :displayof |W|))))
;; On Windows, paste is done using Shift-Insert. Shift-Insert already
;; generates the <<Paste>> event, so we don't need to do anything here.
(if (eqv? (os-kind) 'Unix)
(define-binding "Entry" "<Insert>" (|W|)
(catch
(Tk:entry-insert |W| (selection 'get :displayof |W|)))))
;; Additional emacs-like bindings:
@ -531,6 +536,3 @@
(set! tk::mouse-moved #t))
(|W| 'scan 'dragto x))
(define-binding "Entry" "<ButtonRelease-2>" (|W| x)
(when (or *tk-strict-Motif* (not tk::mouse-moved))
(Tk:entry-paste |W| x)))

View File

@ -4,7 +4,7 @@
;;;; For backward compatibility ...
;;;;
;;;;
;;;; Copyright © 1993-1997 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;; Copyright © 1993-1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;;
;;;; Permission to use, copy, and/or distribute this software and its
;;;; documentation for any purpose and without fee is hereby granted, provided
@ -16,7 +16,7 @@
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 16-Jun-1996 22:37
;;;; Last file update: 27-Aug-1997 18:34
;;;; Last file update: 21-Jul-1998 12:48
(select-module Tk)
@ -38,5 +38,6 @@
((string? s) (if (string=? s "") (fct file #f) (err)))
(ELSE (err)))))))
(define Tk:fileevent fileevent)

View File

@ -11,11 +11,11 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: init.stk 1.15 Tue, 19 May 1998 10:44:58 +0000 eg $
;;;; $Id: init.stk 1.17 Sat, 26 Sep 1998 19:19:52 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@kaolin.unice.fr]
;;;; Creation date: ??-Sep-1993 ??:??
;;;; Last file update: 14-May-1998 22:12
;;;; Last file update: 26-Sep-1998 17:22
;;;;
;;;==============================================================================
@ -440,6 +440,19 @@
(define-macro (multiple-value-bind vars form . body)
`(apply (lambda ,vars ,@body) ,form))
(define (map* fn . l) ; A map which accepts dotted lists (arg lists
(cond ; must be "isomorph"
((null? (car l)) '())
((pair? (car l)) (cons (apply fn (map car l))
(apply map* fn (map cdr l))))
(else (apply fn l))))
(define (for-each* fn . l) ; A for-each which accepts dotted lists (arg lists
(cond ; must be "isomorph"
((null? (car l)) '())
((pair? (car l)) (apply fn (map car l)) (apply for-each* fn (map cdr l)))
(else (apply fn l))))
(define (os-kind)
(case (machine-type)
(("MS_Win32") 'Windows)
@ -455,7 +468,8 @@
(cond
((null? l) res)
((memv (car l) res) (rem-dupl (cdr l) res))
(ELSE (rem-dupl (cdr l) (cons (car l) res)))))))
(ELSE (rem-dupl (cdr l) (cons (car l)
res)))))))
(rem-dupl l '())))
(define (set-union l1 l2)

26
Lib/locale.stk Normal file
View File

@ -0,0 +1,26 @@
;;;; l o c a l e . s t k -- Locale support
;;;;
;;;; Copyright © 1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;;
;;;; Permission to use, copy, and/or distribute this software and its
;;;; documentation for any purpose and without fee is hereby granted, provided
;;;; that both the above copyright notice and this permission notice appear in
;;;; all copies and derived works. Fees for distribution or use of this
;;;; software or derived works may only be charged with express written
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: locale.stk 1.1 Sat, 26 Sep 1998 19:19:52 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 19-Sep-1998 13:17
;;;; Last file update: 19-Sep-1998 13:18
(if (symbol-bound? '%init-locale)
;; Locale module is in the core interpreter
(%init-locale)
;; Try to load hash table dynamically
(load (string-append "locale." *shared-suffix*)))
(provide "locale")

View File

@ -15,7 +15,7 @@
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 17-May-1993 12:35
;;;; Last file update: 27-Apr-1998 12:34
;;;; Last file update: 27-Sep-1998 12:14
;;;;
(select-module Tk)
@ -659,23 +659,25 @@
;; Can't traverse into or out of a cascaded menu. Go to the next
;; or previous menubutton, if that makes sense.
(let* ((buttons (winfo 'children [winfo 'parent tk::posted-mb]))
(len (length buttons)))
(let loop ((i (- count (length (member tk::posted-mb buttons)))))
(while (< i 0) (set! i (+ i len)))
(while (>= i len) (set! i (- i len)))
(len (length buttons))
(i (do ((i 0 (+ i 1)))
((eq? tk::posted-mb (list-ref buttons i)) i)
'nothing)))
(let loop ((i (modulo (+ i count) len))
(cnt 0))
(let ((mb (list-ref buttons i)))
(unless (and (string=? [winfo 'class mb] "Menubutton")
(if (or (and (string=? [winfo 'class mb] "Menubutton")
(not (string=? [tk-get mb :state] "disabled"))
(tk-get mb :menu)
(not (equal? ((tk-get mb :menu) 'index 'last) "none")))
(when (eq? mb tk::posted-mb)
(set! continue #f))))
(loop (+ i count))))
(when continue
(Tk:menu-button-post mb)
(Tk:menu-first-entry (tk-get mb :menu))))))
(eq? mb tk::posted-mb))
;; found a menu to post
(begin
(Tk:menu-button-post mb)
(Tk:menu-first-entry (tk-get mb :menu)))
;; no menu, search another one, if possible
(if (< cnt len)
(loop (modulo (+ i count) len) (+ cnt 1))))))))))
;; Tk:menu-next-entry --
;; Activate the next higher or lower entry in the posted menu,
@ -1136,7 +1138,8 @@
:relief "raised"
:borderwidth 2
:highlightthickness 2
:anchor "c"))
:anchor "c"
:direction "flush"))
(m (menu menu-name :tearoff #f)))
(for-each (lambda (x)
(m 'add 'radiobutton :label x :variable var-name :environment env))

97
Lib/method-editor.stklos Normal file
View File

@ -0,0 +1,97 @@
;;;;
;;;; m e t h o d - e d i t o r . s t k l o s -- Editor for STklos methods and gf
;;;;
;;;; Copyright © 1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;;
;;;; Permission to use, copy, and/or distribute this software and its
;;;; documentation for any purpose and without fee is hereby granted, provided
;;;; that both the above copyright notice and this permission notice appear in
;;;; all copies and derived works. Fees for distribution or use of this
;;;; software or derived works may only be charged with express written
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: method-editor.stklos 1.1 Sat, 26 Sep 1998 19:19:52 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 24-Sep-1998 16:32
;;;; Last file update: 26-Sep-1998 17:28
(require "Tk-classes")
;;;
;;; Utilities
;;;
(define (method->list m)
(let ((gf (method-generic-function m)))
(if gf
(let ((proc (uncode (procedure-body (method-procedure m))))
(spec (map* class-name (method-specializers m))))
`(define-method ,(generic-function-name gf) ,(map* list (cdadr proc) spec)
,@(cddr proc)))
;; Method with no associated method
'())))
;=============================================================================
;
; m e t h o d - e d i t o r
;
;=============================================================================
(define-method method-editor ((m <method>) parent)
(define (make-buttons parent edit env)
(let* ((f (make <Frame> :parent parent :border-width 2 :relief "ridge"))
(e (make <Button> :parent f :text "Eval" :border-width 0
:command (lambda ()
(eval-string (value edit) env))))
(c (make <Button> :parent f :text "Close" :border-width 0
:command (lambda () (destroy parent)))))
(pack c e :side 'left)
f))
(let* ((class (if (is-a? parent <Multiple-window>) <Inner-Window> <Toplevel>))
(top (make class :title m :parent parent))
(body (pp (method->list m) 75 #f))
(env (procedure-environment (method-procedure m)))
(edit (make <Scheme-Text> :parent top :width 80 :background "white"
:value body))
(but (make-buttons top edit env)))
(pack but :expand #f :fill "x")
(pack edit :expand #t :fill "both")
top))
(define-method method-editor ((m <method>)) ; without parent
(method-editor m *top-root*))
;=============================================================================
;
; g f - e d i t o r
;
;=============================================================================
(define-method gf-editor ((gf <generic>))
(define (make-buttons parent)
(let* ((f (make <Frame> :parent parent :border-width 2 :relief "ridge"))
(t (make <Label> :parent f :anchor 'w
:text (format #f "Methods of `~S'" (generic-function-name gf))))
(e (make <Button> :parent f :text "Close"
:command (lambda () (destroy parent)))))
(pack t :fill 'x :expand #t :side 'left :padx 5)
(pack e :side 'left)
f))
(let* ((top (make <Toplevel> :title "Generic Function Editor"))
(win (make <Multiple-Window> :parent top :background "wheat3"))
(but (make-buttons top)))
(pack but :side "top" :expand #f :fill 'x)
(pack win :expand #t :fill "both")
(let loop ((x 20) (y 20) (l (generic-function-methods gf)))
(when (pair? l)
(let ((ed (method-editor (car l) win)))
(place ed :x x :y y)
(loop (+ x 20) (+ y 20) (cdr l)))))))
(provide "method-editor")

View File

@ -544,6 +544,9 @@
(printer-add 'define *pp:print-sform*)
(printer-add 'define-macro *pp:print-sform*)
(printer-add 'define-class *pp:print-sform*)
(printer-add 'define-method *pp:print-sform*)
(printer-add 'extend-syntax *pp:print-sform*)
(printer-add 'when *pp:print-sform*)
(printer-add 'unless *pp:print-sform*)

View File

@ -1,284 +0,0 @@
%%BeginProlog
50 dict begin
% This is a standard prolog for Postscript generated by Tk's canvas
% widget.
% SCCS: @(#) prolog.ps 1.5 96/02/17 17:45:11
% The definitions below just define all of the variables used in
% any of the procedures here. This is needed for obscure reasons
% explained on p. 716 of the Postscript manual (Section H.2.7,
% "Initializing Variables," in the section on Encapsulated Postscript).
/baseline 0 def
/stipimage 0 def
/height 0 def
/justify 0 def
/lineLength 0 def
/spacing 0 def
/stipple 0 def
/strings 0 def
/xoffset 0 def
/yoffset 0 def
/tmpstip null def
% Define the array ISOLatin1Encoding (which specifies how characters are
% encoded for ISO-8859-1 fonts), if it isn't already present (Postscript
% level 2 is supposed to define it, but level 1 doesn't).
systemdict /ISOLatin1Encoding known not {
/ISOLatin1Encoding [
/space /space /space /space /space /space /space /space
/space /space /space /space /space /space /space /space
/space /space /space /space /space /space /space /space
/space /space /space /space /space /space /space /space
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright
/parenleft /parenright /asterisk /plus /comma /minus /period /slash
/zero /one /two /three /four /five /six /seven
/eight /nine /colon /semicolon /less /equal /greater /question
/at /A /B /C /D /E /F /G
/H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
/quoteleft /a /b /c /d /e /f /g
/h /i /j /k /l /m /n /o
/p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /space
/space /space /space /space /space /space /space /space
/space /space /space /space /space /space /space /space
/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
/dieresis /space /ring /cedilla /space /hungarumlaut /ogonek /caron
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen
/registered /macron
/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph
/periodcentered
/cedillar /onesuperior /ordmasculine /guillemotright /onequarter
/onehalf /threequarters /questiondown
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex
/Idieresis
/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn
/germandbls
/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex
/idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn
/ydieresis
] def
} if
% font ISOEncode font
% This procedure changes the encoding of a font from the default
% Postscript encoding to ISOLatin1. It's typically invoked just
% before invoking "setfont". The body of this procedure comes from
% Section 5.6.1 of the Postscript book.
/ISOEncode {
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding ISOLatin1Encoding def
currentdict
end
% I'm not sure why it's necessary to use "definefont" on this new
% font, but it seems to be important; just use the name "Temporary"
% for the font.
/Temporary exch definefont
} bind def
% StrokeClip
%
% This procedure converts the current path into a clip area under
% the assumption of stroking. It's a bit tricky because some Postscript
% interpreters get errors during strokepath for dashed lines. If
% this happens then turn off dashes and try again.
/StrokeClip {
{strokepath} stopped {
(This Postscript printer gets limitcheck overflows when) =
(stippling dashed lines; lines will be printed solid instead.) =
[] 0 setdash strokepath} if
clip
} bind def
% desiredSize EvenPixels closestSize
%
% The procedure below is used for stippling. Given the optimal size
% of a dot in a stipple pattern in the current user coordinate system,
% compute the closest size that is an exact multiple of the device's
% pixel size. This allows stipple patterns to be displayed without
% aliasing effects.
/EvenPixels {
% Compute exact number of device pixels per stipple dot.
dup 0 matrix currentmatrix dtransform
dup mul exch dup mul add sqrt
% Round to an integer, make sure the number is at least 1, and compute
% user coord distance corresponding to this.
dup round dup 1 lt {pop 1} if
exch div mul
} bind def
% width height string StippleFill --
%
% Given a path already set up and a clipping region generated from
% it, this procedure will fill the clipping region with a stipple
% pattern. "String" contains a proper image description of the
% stipple pattern and "width" and "height" give its dimensions. Each
% stipple dot is assumed to be about one unit across in the current
% user coordinate system. This procedure trashes the graphics state.
/StippleFill {
% The following code is needed to work around a NeWSprint bug.
/tmpstip 1 index def
% Change the scaling so that one user unit in user coordinates
% corresponds to the size of one stipple dot.
1 EvenPixels dup scale
% Compute the bounding box occupied by the path (which is now
% the clipping region), and round the lower coordinates down
% to the nearest starting point for the stipple pattern. Be
% careful about negative numbers, since the rounding works
% differently on them.
pathbbox
4 2 roll
5 index div dup 0 lt {1 sub} if cvi 5 index mul 4 1 roll
6 index div dup 0 lt {1 sub} if cvi 6 index mul 3 2 roll
% Stack now: width height string y1 y2 x1 x2
% Below is a doubly-nested for loop to iterate across this area
% in units of the stipple pattern size, going up columns then
% across rows, blasting out a stipple-pattern-sized rectangle at
% each position
6 index exch {
2 index 5 index 3 index {
% Stack now: width height string y1 y2 x y
gsave
1 index exch translate
5 index 5 index true matrix tmpstip imagemask
grestore
} for
pop
} for
pop pop pop pop pop
} bind def
% -- AdjustColor --
% Given a color value already set for output by the caller, adjusts
% that value to a grayscale or mono value if requested by the CL
% variable.
/AdjustColor {
CL 2 lt {
currentgray
CL 0 eq {
.5 lt {0} {1} ifelse
} if
setgray
} if
} bind def
% x y strings spacing xoffset yoffset justify stipple DrawText --
% This procedure does all of the real work of drawing text. The
% color and font must already have been set by the caller, and the
% following arguments must be on the stack:
%
% x, y - Coordinates at which to draw text.
% strings - An array of strings, one for each line of the text item,
% in order from top to bottom.
% spacing - Spacing between lines.
% xoffset - Horizontal offset for text bbox relative to x and y: 0 for
% nw/w/sw anchor, -0.5 for n/center/s, and -1.0 for ne/e/se.
% yoffset - Vertical offset for text bbox relative to x and y: 0 for
% nw/n/ne anchor, +0.5 for w/center/e, and +1.0 for sw/s/se.
% justify - 0 for left justification, 0.5 for center, 1 for right justify.
% stipple - Boolean value indicating whether or not text is to be
% drawn in stippled fashion. If text is stippled,
% procedure StippleText must have been defined to call
% StippleFill in the right way.
%
% Also, when this procedure is invoked, the color and font must already
% have been set for the text.
/DrawText {
/stipple exch def
/justify exch def
/yoffset exch def
/xoffset exch def
/spacing exch def
/strings exch def
% First scan through all of the text to find the widest line.
/lineLength 0 def
strings {
stringwidth pop
dup lineLength gt {/lineLength exch def} {pop} ifelse
newpath
} forall
% Compute the baseline offset and the actual font height.
0 0 moveto (TXygqPZ) false charpath
pathbbox dup /baseline exch def
exch pop exch sub /height exch def pop
newpath
% Translate coordinates first so that the origin is at the upper-left
% corner of the text's bounding box. Remember that x and y for
% positioning are still on the stack.
translate
lineLength xoffset mul
strings length 1 sub spacing mul height add yoffset mul translate
% Now use the baseline and justification information to translate so
% that the origin is at the baseline and positioning point for the
% first line of text.
justify lineLength mul baseline neg translate
% Iterate over each of the lines to output it. For each line,
% compute its width again so it can be properly justified, then
% display it.
strings {
dup stringwidth pop
justify neg mul 0 moveto
stipple {
% The text is stippled, so turn it into a path and print
% by calling StippledText, which in turn calls StippleFill.
% Unfortunately, many Postscript interpreters will get
% overflow errors if we try to do the whole string at
% once, so do it a character at a time.
gsave
/char (X) def
{
char 0 3 -1 roll put
currentpoint
gsave
char true charpath clip StippleText
grestore
char stringwidth translate
moveto
} forall
grestore
} {show} ifelse
0 spacing neg translate
} forall
} bind def
%%EndProlog

View File

@ -11,7 +11,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: sterm.stk 1.3 Tue, 03 Mar 1998 22:48:24 +0000 eg $
;;;; $Id: sterm.stk 1.3 Tue, 03 Mar 1998 23:48:24 +0100 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 2-Oct-1995 22:57

View File

@ -14,11 +14,11 @@
;;;; This software is a derivative work of other copyrighted softwares; the
;;;; copyright notices of these softwares are placed in the file COPYRIGHTS
;;;;
;;;; $Id: text.stk 1.3 Sun, 22 Mar 1998 16:16:09 +0000 eg $
;;;; $Id: text.stk 1.5 Wed, 30 Sep 1998 14:02:29 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 17-May-1993 12:35
;;;; Last file update: 21-Mar-1998 12:47
;;;; Last file update: 27-Sep-1998 12:20
;;;;
(select-module Tk)
@ -462,10 +462,6 @@
(define-binding "Text" "<Control-1>" (|W| x y)
(|W| 'mark 'set "insert" (format #f "@~A,~A" x y)))
(define-binding "Text" "<ButtonRelease-2>" (|W| x y)
(if (or (not tk::mouse-moved) *tk-strict-motif*)
(Tk:text-mouse-paste |W| x y)))
(define-binding "Text" "<Left>" (|W|)
(Tk:text-set-cursor |W| "insert-1c"))
@ -612,6 +608,10 @@
(define-binding "Text" "<<Clear>>" (|W|)
(catch (|W| 'delete 'sel.first 'sel.last)))
(define-binding "Text" "<<PasteSelection>>" (|W| x y)
(if (or (not tk::mouse-moved) *tk-strict-motif*)
(Tk:text-mouse-paste |W| x y)))
(define-binding "Text" "<Insert>" (|W|)
(catch
(Tk:text-insert |W| (selection 'get :displayof |W|))))

View File

@ -17,11 +17,11 @@
;;;; This software is a derivative work of other copyrighted softwares; the
;;;; copyright notices of these softwares are placed in the file COPYRIGHTS
;;;;
;;;; $Id: tk-init.stk 1.13 Thu, 28 May 1998 20:07:43 +0000 eg $
;;;; $Id: tk-init.stk 1.18 Wed, 30 Sep 1998 14:02:29 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 17-May-1993 12:35
;;;; Last file update: 28-May-1998 19:16
;;;; Last file update: 27-Sep-1998 12:26
;;;;
(unless (equal? *tk-version* "8.0")
@ -82,7 +82,6 @@
(define tk::grab "")
(define tk::inMenuButton '())
(define tk::posted #f)
(define tk::selectMode '())
(define tk::cursor "")
(define tk::kill-buffer "") ;; One kill buffer shared between all texts.
@ -167,6 +166,7 @@
;;;; *start-withdrawn* to #f
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(when *start-withdrawn*
;; Start without mapping the root window.
(wm 'withdraw ".")
@ -186,7 +186,7 @@
(set! wm
(lambda l
(let ((res (apply old-wm l)))
(unless (eq? (old-wm 'state *root*) 'withdrawn)
(unless (equal? (old-wm 'state *root*) "withdrawn")
;; Previous wm call makes the *root* window no more withdrawn
;; Replace the pack and wm command by the original Tk ones
(set! pack old-pack)
@ -285,10 +285,12 @@
(case (os-kind)
((Windows) (event 'add "<<Cut>>" "<Control-Key-x>" "<Shift-Key-Delete>")
(event 'add "<<Copy>>" "<Control-Key-c>" "<Control-Key-Insert>")
(event 'add "<<Paste>>" "<Control-Key-v>" "<Shift-Key-Insert>"))
(event 'add "<<Paste>>" "<Control-Key-v>" "<Shift-Key-Insert>")
(event 'add "<<PasteSelection>>" "<ButtonRelease-2>" ))
((Unix) (event 'add "<<Cut>>" "<Control-Key-x>" "<Key-F20>")
(event 'add "<<Copy>>" "<Control-Key-c>" "<Key-F16>")
(event 'add "<<Paste>>" "<Control-Key-v>" "<Key-F18>")
(event 'add "<<PasteSelection>>" "<ButtonRelease-2>" )
;; Add a trace to set and unset Motif bindings when the
;; *tk-strict-Motif* variable is changed
(let ((trace (lambda ()
@ -298,6 +300,7 @@
(event op "<<Paste>>" "<Control-Key-y>")))))
(trace-var '*tk-strict-Motif* trace)
(trace))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
@ -328,6 +331,9 @@
(autoload "sterm" sterm)
(autoload "image" find-image make-image change-image delete-image)
(when (eq? (os-kind) 'Unix)
(autoload "tk-unix" Tk:choose-color Tk:message-box
Tk:get-open-file Tk:get-set-file Tk:get-file))
;=============================================================================
;
@ -355,8 +361,9 @@
(apply STk:report-error args))
;; Global help functions which are defined when Tk is loaded
(autoload "help" help STk:show-help-file)
(autoload "www-browser" WWW:browser))
(autoload "help" help STk:show-help-file)
(autoload "www-browser" WWW:browser)
(autoload "class-browser" class-browser))
;;;;
;;;; Retain now that Tk is now fully initialized

View File

@ -12,72 +12,64 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: tk-unix.stk 1.1 Fri, 10 Apr 1998 07:13:18 +0000 eg $
;;;; $Id: tk-unix.stk 1.2 Thu, 10 Sep 1998 23:44:28 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 1-Feb-1998 19:03
;;;; Last file update: 2-Feb-1998 12:19
;;;; Creation date: 10-Sep-1998 23:20
;;;; Last file update: 10-Sep-1998 23:29
(require "Tk-classes")
;;; Functions defined here are only loaded when we are on Unix.
;;; On windows, they are defined in C and implemented using the
;;; native look and feel.
;;; The functions defined here are simple wrapers around the real ones
;;; defined in the STklos+Tk module. Otherwise, we have needed to require
;;; the loading of "Tk-classes", when running Unix (and not on Windows).
(select-module STklos+Tk)
(export Tk:message-box Tk:get-open-file Tk:get-save-file)
(select-module Tk)
(export Tk:message-box Tk:choose-color
Tk:get-file Tk:get-open-file Tk:get-save-file)
;=============================================================================
;
; Tk:message-box
;
;=============================================================================
(define (Tk:message-box . l)
(let* ((default (get-keyword :default l ""))
(icon (get-keyword :icon l #f))
(text (get-keyword :text l ""))
(title (get-keyword :title l ""))
(class (case (get-keyword :type l 'ok)
((abortretryignore) <Abort-retry-ignore-message-box>)
((okcancel) <Ok-cancel-message-box>)
((retrycancel) <Retry-cancel-message-box>)
((yesno) <Yes-no-message-box>)
((yesnocancel) <Yes-no-cancel-message-box>)
(else <Ok-message-box>)))
(box (make class :text text :title title)))
(require "Tk-classes")
(apply (with-module STklos+Tk Tk:message-box) l))
;; Default
;/////// must be done ////////
;=============================================================================
;
; Tk:choose-color
;
;=============================================================================
(define (Tk:choose-color . l)
(require "Tk-classes")
(apply (with-module STklos+Tk Tk:choose-color) l))
;; Icon
(if icon (set! (icon box) (make-image icon)))
(grab 'set box)
(tkwait 'window box)
msgbox-button))
;=============================================================================
;
; Tk:get-file
;
;=============================================================================
(define (Tk:get-file . l)
(require "Tk-classes")
(apply (with-module STklos+Tk Tk:get-file) l))
;=============================================================================
;
; Tk:get-open-file
;
;=============================================================================
(define (Tk:get-open-file . l)
(apply file-chooser
:mode 'read
:value (string-append (get-keyword :initial-dir l (getcwd))
"/"
(get-keyword :initial-file l ""))
l))
(define (Tk:get-file . l)
(require "Tk-classes")
(apply (with-module STklos+Tk Tk:get-open-file) l))
;=============================================================================
;
; Tk:get-save-file
;
;=============================================================================
(define (Tk:get-save-file . l)
(apply file-chooser
:mode 'write
:value (string-append (get-keyword :initial-dir l (getcwd))
"/"
(get-keyword :initial-file l ""))
l))
(require "Tk-classes")
(apply (with-module STklos+Tk Tk:get-save-file) l))

View File

@ -11,7 +11,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: trace.stk 1.3 Tue, 19 May 1998 10:44:58 +0000 eg $
;;;; $Id: trace.stk 1.3 Tue, 19 May 1998 12:44:58 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 26-Apr-1997 16:02

View File

@ -14,50 +14,40 @@
#
# Author: Erick Gallesio [eg@unice.fr]
# Creation date: ??-Sep-1993 ??:??
# Last file update: 14-May-1998 11:28
# Last file update: 30-Sep-1998 09:52
#
include VERSION
SHELL = /bin/sh
CP = /bin/cp
RANLIB = @RANLIB@
MACHINE = @MACHINE@
MACHTYPE = @MACHINE@
MP = @MP@.a
FLAVOR = unix
FLAVOR = @FLAVOR@
prefix = @prefix@
stkdir = $(prefix)/lib/stk
libdir = $(stkdir)/$(VERSION)
execdir = $(libdir)/$(MACHINE)
confdir = $(execdir)/Config
ardir = $(execdir)/Libs
mandir = $(libdir)/man
incdir = $(libdir)/include
bindir = $(prefix)/bin
include VERSION
include paths
all: start tcl tk mp stack src snow stklos ext stop
all: $(FLAVOR)
unix: start tcl-dir mp-dir stack-dir tk-dir snow-dir src-dir stklos-dir ext-dir stop
win: start tcl-dir mp-dir stack-dir tk-dir snow-dir src-dir stklos-dir ext-dir stop
start:
@date > .start-date
@/bin/rm -f config.make
@echo "# Common startup for all Makefiles" > config.make
@echo "# This file is automatically generated" >> config.make
@echo "VERSION = $(VERSION)" >> config.make
@echo "FLAVOR = $(FLAVOR)" >> config.make
@echo "SHELL = $(SHELL)" >> config.make
@echo "MACHTYPE = $(MACHTYPE)" >> config.make
@echo "prefix = $(prefix)" >> config.make
@echo "stkdir = $(stkdir)" >> config.make
@echo "libdir = $(libdir)" >> config.make
@echo "execdir = $(execdir)" >> config.make
@echo "confdir = $(confdir)" >> config.make
@echo "ardir = $(ardir)" >> config.make
@echo "incdir = $(incdir)" >> config.make
@echo "bindir = $(bindir)" >> config.make
@echo "mandir = $(mandir)" >> config.make
@cat ./paths >> config.make
@echo "VERS-OPT = -DSTK_VERSION=\\\"$(VERSION)\\\"">> config.make
@echo "MACHINE = -DMACHINE=\\\"$(MACHINE)\\\"" >> config.make
@echo "MACHINE = -DMACHINE=\\\"$(MACHTYPE)\\\"" >> config.make
@echo "CC = @CC@" >> config.make
@echo "STKCFLAGS = @STKCFLAGS@" >> config.make
@echo "STKLDFLAGS = @STKLDFLAGS@" >> config.make
@ -86,21 +76,21 @@ stop:
@/bin/rm .start-date
@echo "Make completed at `date`"
tcl:
@(echo "make Tcl"; cd Tcl; $(MAKE) all)
tk:
tcl-dir:
@(echo "make Tcl"; cd Tcl; $(MAKE) $(FLAVOR))
tk-dir:
@(echo "make Tk"; cd Tk; $(MAKE) libtk.a)
mp:
mp-dir:
@(echo "make Mp"; cd Mp; $(MAKE) $(MP))
stack:
@(echo "make STack"; cd Stack; $(MAKE) all)
src:
stack-dir:
@(echo "make Stack"; cd Stack; $(MAKE))
src-dir:
@(echo "make Src"; cd Src; $(MAKE) stk TK="-DUSE_TK")
snow:
snow-dir:
@(echo "make Snow"; cd Snow; $(MAKE) snow TK="-DNO_TK")
stklos:
stklos-dir:
@(echo "make STklos"; cd STklos; $(MAKE) stklos)
ext:
ext-dir:
@(echo "Make Extensions"; cd Extensions; $(MAKE) all)
doc:
@(echo "Make Documentation"; cd Doc; $(MAKE) all)

10
README
View File

@ -3,7 +3,7 @@
---------------------------------
(Last release is always available from <ftp://kaolin.unice.fr/pub/STk> )
(Latest release is always available from <ftp://kaolin.unice.fr/pub/STk> )
STk is a R4RS Scheme interpreter which can access the Tk graphical
package. Concretely it can be seen as the John Ousterhout's Tk
@ -18,7 +18,8 @@ This release runs on majors Unix versions (Linux, Solaris, OSF, ...)
The previous version was also running on Microsoft Win32 (port of
current version is planned but has not be done yet).
Version 3.99 uses the Tk 8.0 package for the graphical part.
Version 3.99 uses the Tk 8.0.3 package for the graphical widgets
(Tk8.0.3 is the latest stable release of Tk).
DIFFERENCE PREVIOUS RELEASE
@ -35,14 +36,14 @@ distribution main directory for more informations.
* A simple FFI has been added. It allows to access C
functions without writing C code (works only on a
limited set of architectures for now).
* Integration of the Tk8.0 toolkit
* Integration of the Tk 8.0.3 toolkit
* The MOP of STklos is now very similar to the CLOS one.
* When a class is redefined, the instances and methods
which uses it are redefined accordingly, as in CLOS.
* Generic functions can be now traced with the standard
TRACE function.
* Some new composite widgets: Gauge, Valued-Gauge,
Balloon-help, ...
Balloon-help, Notespad, Hierarchies, ...
* The HTML-browser has been enhanced to access now the
web (i.e. you can grab distant texts or images). The
Web browser admit now applets written in Scheme.
@ -115,6 +116,7 @@ For now, STk is known to run on the following machine/systems
- PC (SCO)
- PC (NetBSD-1.0)
- Sony WS (Sony NEWS, NEWSOS 4.2R)
- PowerPC running Linux
- ...

424
STk.prj
View File

@ -1,11 +1,11 @@
;; -*- Lisp -*-
(Created-By-Prcs-Version 1 2 1)
(Created-By-Prcs-Version 1 2 8)
(Project-Description "The STk Scheme Interpreter")
(Project-Version STk 3.99.2 7)
(Parent-Version STk 3.99.2 6)
(Project-Version STk 3.99.3 24)
(Parent-Version STk 3.99.3 23)
(Version-Log "")
(New-Version-Log "")
(Checkin-Time "Tue, 09 Jun 1998 07:40:04 +0000")
(Checkin-Time "Wed, 30 Sep 1998 15:23:06 +0200")
(Checkin-Login eg)
(Populate-Ignore ("\\.o$"
"\\.a$"
@ -34,18 +34,19 @@
(Files
;; Top Level Files
(configure.in (STk/K/29_configure. 1.1.1.4 644))
(configure (STk/K/30_configure 1.1.1.4 755))
(VERSION (STk/K/31_VERSION 1.4 644))
(README (STk/K/32_README 1.3 644))
(Makefile.in (STk/K/33_Makefile.i 1.3.1.6 644))
(INSTALL (STk/K/35_INSTALL 1.4 644))
(ChangeLog (STk/K/36_ChangeLog 1.20.1.12 644))
(configure.in (STk/K/29_configure. 1.1.1.8 644))
(configure (STk/K/30_configure 1.1.1.8 755))
(VERSION (STk/K/31_VERSION 1.5 644))
(README (STk/K/32_README 1.5 644))
(Makefile.in (STk/K/33_Makefile.i 1.3.1.8 644))
(INSTALL (STk/K/35_INSTALL 1.6 644))
(ChangeLog (STk/K/36_ChangeLog 1.20.1.27 644))
(COPYRIGHTS (STk/K/37_COPYRIGHTS 1.1 644))
(COMPILING-HINTS (STk/K/38_COMPILING- 1.1 444))
(CHANGES (STk/K/39_CHANGES 1.7 644))
(CHANGES (STk/K/39_CHANGES 1.8 644))
(BINARY_DISTRIB (STk/K/40_BINARY_DIS 1.2 644))
(paths (STk/e/b/29_paths 1.1 644))
;; Contributions Directory
(Contrib/%README (STk/K/41_%README 1.1 444))
(Contrib/Inspect/README (STk/K/42_README 1.1 444))
@ -179,7 +180,7 @@
(Demos/Html-Demos/main-fr.html (STk/e/b/3_main-fr.ht 1.1 644))
(Demos/Html-Demos/main.html (STk/e/b/4_main.html 1.1 644))
(Demos/Makefile (STk/M/0_Makefile 1.2 755))
(Demos/README.html (STk/M/1_README.htm 1.3 644))
(Demos/README.html (STk/M/1_README.htm 1.4 644))
(Demos/STk-normal.gif (../Lib/Images/STk-normal.gif) :symlink)
(Demos/Widget/Warrow.stklos (STk/M/2_Warrow.stk 1.1 644))
(Demos/Widget/Wbind.stklos (STk/M/3_Wbind.stkl 1.1 444))
@ -217,6 +218,7 @@
(Demos/browse.stk (STk/M/32_browse.stk 1.2 755))
(Demos/browse.stklos (STk/M/33_browse.stk 1.2 755))
(Demos/calc.stklos (STk/M/34_calc.stklo 1.2 755))
(Demos/classbrowse.stklos (STk/e/b/41_classbrows 1.1 755))
(Demos/colormap.stk (STk/M/35_colormap.s 1.2 755))
(Demos/filebox.stklos (STk/M/37_filebox.st 1.2 755))
(Demos/hanoi.stk (STk/M/38_hanoi.stk 1.1 555))
@ -231,19 +233,19 @@
(Demos/stetris.stk (../Contrib/Stetris/stetris.stk) :symlink)
(Demos/stklos-demo.stklos (STk/M/47_stklos-dem 1.2 755))
(Demos/stklos-demo2.stklos (STk/M/48_stklos-dem 1.2 555))
(Demos/stklos-widgets.stklos (STk/M/49_stklos-wid 1.2 755))
(Demos/stklos-widgets.stklos (STk/M/49_stklos-wid 1.4 755))
(Demos/term.stk (STk/M/50_term.stk 1.2 755))
(Demos/tkcolor.stklos (STk/M/51_tkcolor.st 1.1 555))
(Demos/ttt.stk (STk/N/0_ttt.stk 1.1 755))
(Demos/turtle.stk (STk/N/1_turtle.stk 1.1 755))
(Demos/S-scape.stklos (STk/d/b/5_S-scape.st 1.1 755))
(Demos/widget.stk (STk/N/3_widget.stk 1.2 755))
(Demos/widget.stk (STk/N/3_widget.stk 1.3 755))
(Demos/wtour.stk (../Contrib/STk-wtour/lib/wtour.stk) :symlink)
;; Documentation Directory
(Doc/%README (STk/N/4_%README 1.1 444))
(Doc/Extension/Extending.dvi (STk/N/5_Extending. 1.5 644) :no-keywords)
(Doc/Extension/Extending.ps (STk/N/6_Extending. 1.5 644))
(Doc/Extension/Extending.dvi (STk/N/5_Extending. 1.6 644) :no-keywords)
(Doc/Extension/Extending.ps (STk/N/6_Extending. 1.6 644))
(Doc/Extension/Extending.tex (STk/N/7_Extending. 1.1 644))
(Doc/Extension/Makefile (STk/N/8_Makefile 1.1 444))
(Doc/Extension/bibliography.bib (../Reference/bibliography.bib) :symlink)
@ -262,8 +264,8 @@
(Doc/FAQ/FAQ.html (STk/N/16_FAQ.html 1.1 444))
(Doc/FAQ/FAQ.ps (STk/N/17_FAQ.ps 1.1 444))
(Doc/FAQ/FAQ.txt (STk/N/18_FAQ.txt 1.1 444))
(Doc/Isotas96/Isotas96.dvi (STk/N/19_Isotas96.d 1.7 644) :no-keywords)
(Doc/Isotas96/Isotas96.ps (STk/N/20_Isotas96.p 1.7 644))
(Doc/Isotas96/Isotas96.dvi (STk/N/19_Isotas96.d 1.9 644) :no-keywords)
(Doc/Isotas96/Isotas96.ps (STk/N/20_Isotas96.p 1.9 644))
(Doc/Isotas96/Isotas96.tex (STk/N/21_Isotas96.t 1.1 444))
(Doc/Isotas96/Makefile (STk/N/22_Makefile 1.1 444))
(Doc/Isotas96/bibliography.bib (../bibliography.bib) :symlink)
@ -279,23 +281,24 @@
(Doc/LaTeX-packages/moreverb.sty (STk/N/32_moreverb.s 1.1 444))
(Doc/Makefile (STk/N/33_Makefile 1.1 444))
(Doc/Manual/Makefile (STk/N/34_Makefile 1.2 644))
(Doc/Manual/STk-man.macros (STk/N/35_STk-man.ma 1.1 444))
(Doc/Manual/STk-man.macros (STk/N/35_STk-man.ma 1.2 644))
(Doc/Manual/after.n (STk/N/36_after.n 1.1 444))
(Doc/Manual/bell.n (STk/N/37_bell.n 1.1 444))
(Doc/Manual/bind.n (STk/N/38_bind.n 1.1 444))
(Doc/Manual/bindtags.n (STk/N/39_bindtags.n 1.1 444))
(Doc/Manual/bitmap.n (STk/N/40_bitmap.n 1.2 644))
(Doc/Manual/button.n (STk/N/41_button.n 1.2 644))
(Doc/Manual/canvas.n (STk/N/42_canvas.n 1.1 444))
(Doc/Manual/canvas.n (STk/N/42_canvas.n 1.2 644))
(Doc/Manual/checkbutton.n (STk/N/43_checkbutto 1.2 644))
(Doc/Manual/choose-color.n (STk/e/b/37_choose-col 1.1 644))
(Doc/Manual/clipboard.n (STk/N/44_clipboard. 1.1 444))
(Doc/Manual/destroy.n (STk/N/46_destroy.n 1.1 444))
(Doc/Manual/entry.n (STk/N/47_entry.n 1.2 644))
(Doc/Manual/event.n (STk/N/48_event.n 1.1 444))
(Doc/Manual/event.n (STk/N/48_event.n 1.2 644))
(Doc/Manual/focus-next.n (STk/N/49_focus-next 1.1 444))
(Doc/Manual/focus.n (STk/N/50_focus.n 1.1 444))
(Doc/Manual/font.n (STk/N/51_font.n 1.1 444))
(Doc/Manual/frame.n (STk/O/0_frame.n 1.1 444))
(Doc/Manual/font.n (STk/N/51_font.n 1.2 644))
(Doc/Manual/frame.n (STk/O/0_frame.n 1.2 644))
(Doc/Manual/ftp.n (STk/O/1_ftp.n 1.1 444))
(Doc/Manual/grab.n (STk/O/2_grab.n 1.1 444))
(Doc/Manual/grid.n (STk/O/3_grid.n 1.1 444))
@ -303,21 +306,22 @@
(Doc/Manual/jpeg.n (STk/O/5_jpeg.n 1.2 644))
(Doc/Manual/label.n (STk/O/6_label.n 1.2 644))
; (Doc/Manual/links.stk (STk/O/7_links.stk 1.1 644))
(Doc/Manual/listbox.n (STk/O/8_listbox.n 1.1 444))
(Doc/Manual/listbox.n (STk/O/8_listbox.n 1.2 644))
(Doc/Manual/listener.n (STk/O/9_listener.n 1.1 644))
(Doc/Manual/lower.n (STk/O/10_lower.n 1.1 444))
(Doc/Manual/make-dialog.n (STk/O/11_make-dialo 1.1 444))
(Doc/Manual/make-dialog.n (STk/O/11_make-dialo 1.2 644))
(Doc/Manual/make-image.n (STk/c/b/15_make-image 1.1 644))
; (Doc/Manual/make-link.stk (STk/O/12_make-link. 1.1 644))
(Doc/Manual/menu.n (STk/O/13_menu.n 1.2 644))
(Doc/Manual/menubutton.n (STk/O/14_menubutton 1.3 644))
(Doc/Manual/message.n (STk/O/15_message.n 1.1 444))
(Doc/Manual/message-box.n (STk/e/b/38_message-bo 1.1 644))
(Doc/Manual/option-menu.n (STk/O/16_option-men 1.1 444))
(Doc/Manual/option.n (STk/O/17_option.n 1.1 444))
(Doc/Manual/options.n (STk/O/18_options.n 1.1 644))
(Doc/Manual/pack.n (STk/O/19_pack.n 1.1 444))
(Doc/Manual/palette.n (STk/O/20_palette.n 1.1 444))
(Doc/Manual/photo.n (STk/O/21_photo.n 1.2 644))
(Doc/Manual/photo.n (STk/O/21_photo.n 1.3 644))
(Doc/Manual/pixmap.n (STk/O/22_pixmap.n 1.2 644))
(Doc/Manual/place.n (STk/O/23_place.n 1.1 444))
(Doc/Manual/popup.n (STk/O/24_popup.n 1.1 444))
@ -326,13 +330,13 @@
(Doc/Manual/raise.n (STk/O/27_raise.n 1.1 444))
(Doc/Manual/report-error.n (STk/O/28_report-err 1.2 644))
(Doc/Manual/scale.n (STk/O/29_scale.n 1.1 444))
(Doc/Manual/scrollbar.n (STk/O/30_scrollbar. 1.1 444))
(Doc/Manual/scrollbar.n (STk/O/30_scrollbar. 1.2 644))
(Doc/Manual/selection.n (STk/O/31_selection. 1.1 444))
(Doc/Manual/send.n (STk/O/32_send.n 1.1 444))
(Doc/Manual/stk.1 (STk/O/33_stk.1 1.2 644))
(Doc/Manual/stk.ps (STk/O/34_stk.ps 1.6 644))
(Doc/Manual/stk.ps (STk/O/34_stk.ps 1.7 644))
(Doc/Manual/stk.txt (STk/O/35_stk.txt 1.1 444))
(Doc/Manual/text.n (STk/O/36_text.n 1.2 644))
(Doc/Manual/text.n (STk/O/36_text.n 1.4 644))
(Doc/Manual/tk.n (STk/O/37_tk.n 1.1 444))
(Doc/Manual/tkvars.n (STk/O/38_tkvars.n 1.1 444))
(Doc/Manual/tkwait.n (STk/O/39_tkwait.n 1.1 444))
@ -349,8 +353,8 @@
(Doc/Reference/Appendix-B.tex (STk/O/45_Appendix-B 1.2 644))
(Doc/Reference/Appendix-C.tex (STk/O/46_Appendix-C 1.2 644))
(Doc/Reference/Appendix-D.tex (STk/O/47_Appendix-D 1.2 644))
(Doc/Reference/Appendix-E.tex (STk/O/48_Appendix-E 1.4 644))
(Doc/Reference/Appendix-F.tex (STk/e/b/5_Appendix-F 1.1 644))
(Doc/Reference/Appendix-E.tex (STk/O/48_Appendix-E 1.5 644))
(Doc/Reference/Appendix-F.tex (STk/e/b/5_Appendix-F 1.2 644))
(Doc/Reference/Detail.ps (STk/O/49_Detail.ps 1.1 444))
(Doc/Reference/Inspector.ps (STk/O/50_Inspector. 1.1 444))
(Doc/Reference/Makefile (STk/O/51_Makefile 1.2 644))
@ -364,8 +368,8 @@
(Doc/Reference/hierarchy.eps (STk/P/6_hierarchy. 1.1 444))
(Doc/Reference/hierarchy.fig (STk/P/7_hierarchy. 1.1 444))
(Doc/Reference/index.stk (STk/P/8_index.stk 1.1 444))
(Doc/Reference/manual.dvi (STk/P/9_manual.dvi 1.9 644) :no-keywords)
(Doc/Reference/manual.ps (STk/P/10_manual.ps 1.8 644) :no-keywords)
(Doc/Reference/manual.dvi (STk/P/9_manual.dvi 1.11 644) :no-keywords)
(Doc/Reference/manual.ps (STk/P/10_manual.ps 1.10 644) :no-keywords)
(Doc/Reference/manual.tex (STk/P/11_manual.tex 1.4 644))
(Doc/STklos+Tk/Basic-Fig-1.ps (STk/P/12_Basic-Fig- 1.1 444))
(Doc/STklos+Tk/Chap1.tex (STk/P/13_Chap1.tex 1.1 444))
@ -376,8 +380,8 @@
(Doc/STklos+Tk/Fig2-2.eps (STk/P/17_Fig2-2.eps 1.1 444))
(Doc/STklos+Tk/Makefile (STk/P/18_Makefile 1.1 440))
(Doc/STklos+Tk/Packing-demo.ps (STk/P/19_Packing-de 1.1 444))
(Doc/STklos+Tk/STklos+Tk.dvi (STk/P/20_STklos+Tk. 1.5 644) :no-keywords)
(Doc/STklos+Tk/STklos+Tk.ps (STk/P/21_STklos+Tk. 1.5 644))
(Doc/STklos+Tk/STklos+Tk.dvi (STk/P/20_STklos+Tk. 1.6 644) :no-keywords)
(Doc/STklos+Tk/STklos+Tk.ps (STk/P/21_STklos+Tk. 1.6 644))
(Doc/STklos+Tk/STklos+Tk.tex (STk/P/22_STklos+Tk. 1.1 444))
(Doc/STklos+Tk/browser.stklos (STk/P/23_browser.st 1.1 444))
(Doc/Tcl93/README (STk/P/24_README 1.1 444))
@ -391,17 +395,19 @@
(Doc/bibliography.bib (STk/e/b/6_bibliograp 1.1 644))
;; Modules Extensions Directory
(Extensions/%README (STk/P/32_%README 1.2 644))
(Extensions/Makefile.in (STk/P/33_Makefile.i 1.3 644))
(Extensions/%README (STk/P/32_%README 1.3 644))
(Extensions/Makefile.in (STk/P/33_Makefile.i 1.4 644))
(Extensions/base64.c (STk/e/b/30_base64.c 1.1 644))
(Extensions/configure (STk/P/35_configure 1.2 755))
(Extensions/configure.in (STk/P/36_configure. 1.2 644))
(Extensions/hash.c (STk/P/37_hash.c 1.1 644))
(Extensions/hash.c (STk/P/37_hash.c 1.2 644))
(Extensions/html.c (STk/P/38_html.c 1.2 644))
(Extensions/jpeg.c (STk/P/39_jpeg.c 1.1 444))
(Extensions/pixmap.c (STk/P/40_pixmap.c 1.1 444))
(Extensions/posix.c (STk/P/41_posix.c 1.1 444))
(Extensions/locale.c (STk/e/b/42_locale.c 1.1 644))
(Extensions/pixmap.c (STk/P/40_pixmap.c 1.1 644))
(Extensions/posix.c (STk/P/41_posix.c 1.2 644))
(Extensions/process.c (STk/P/42_process.c 1.3 644))
(Extensions/socket.c (STk/P/43_socket.c 1.2 644))
(Extensions/socket.c (STk/P/43_socket.c 1.3 644))
(Extensions/sregexp.c (STk/P/44_sregexp.c 1.2 644))
(Extensions/stack.c (STk/P/45_stack.c 1.1 444))
(Extensions/stk-genmake.in (STk/e/b/28_stk-genmak 1.1 644))
@ -410,7 +416,7 @@
;; Help Files (HTML) Directory
(Help/BlueIndex.html (STk/P/48_BlueIndex. 1.2 644))
(Help/GreenIndex.html (STk/P/49_GreenIndex 1.2 644))
(Help/GreenIndex.html (STk/P/49_GreenIndex 1.3 644))
(Help/Img/BlueBall.gif (STk/P/50_BlueBall.g 1.1 444) :no-keywords)
(Help/Img/GreenBall.gif (STk/P/51_GreenBall. 1.1 444) :no-keywords)
(Help/Img/ManPageBlue.gif (STk/Q/0_ManPageBlu 1.1 444) :no-keywords)
@ -432,63 +438,65 @@
(Help/Img/note.gif (STk/Q/16_note.gif 1.1 444) :no-keywords)
(Help/Img/smile.sad.gif (STk/Q/17_smile.sad. 1.1 444) :no-keywords)
(Help/Makefile (STk/Q/18_Makefile 1.2 644))
(Help/STk-hlp.html (STk/Q/19_STk-hlp.ht 1.2 644))
(Help/STk-hlp.html (STk/Q/19_STk-hlp.ht 1.3 644))
(Help/YellowIndex.html (STk/Q/20_YellowInde 1.2 644))
(Help/after.n.html (STk/Q/21_after.n.ht 1.1 644))
(Help/amib-abt.html (STk/Q/22_amib-abt.h 1.1 444))
(Help/amib-hlp.html (STk/Q/23_amib-hlp.h 1.2 644))
(Help/bell.n.html (STk/Q/24_bell.n.htm 1.1 644))
(Help/bind.n.html (STk/Q/25_bind.n.htm 1.1 644))
(Help/bind.n.html (STk/Q/25_bind.n.htm 1.2 644))
(Help/bindtags.n.html (STk/Q/26_bindtags.n 1.1 644))
(Help/bitmap.n.html (STk/Q/27_bitmap.n.h 1.2 644))
(Help/button.n.html (STk/Q/28_button.n.h 1.2 644))
(Help/canvas.n.html (STk/Q/29_canvas.n.h 1.1 644))
(Help/checkbutton.n.html (STk/Q/30_checkbutto 1.2 644))
(Help/clipboard.n.html (STk/Q/31_clipboard. 1.1 644))
(Help/button.n.html (STk/Q/28_button.n.h 1.3 644))
(Help/canvas.n.html (STk/Q/29_canvas.n.h 1.3 644))
(Help/checkbutton.n.html (STk/Q/30_checkbutto 1.3 644))
(Help/choose-color.n.html (STk/e/b/39_choose-col 1.1 644))
(Help/clipboard.n.html (STk/Q/31_clipboard. 1.2 644))
(Help/destroy.n.html (STk/Q/33_destroy.n. 1.1 644))
(Help/entry.n.html (STk/Q/34_entry.n.ht 1.2 644))
(Help/entry.n.html (STk/Q/34_entry.n.ht 1.3 644))
(Help/error-hlp.html (STk/Q/35_error-hlp. 1.1 444))
(Help/event.n.html (STk/Q/36_event.n.ht 1.1 644))
(Help/event.n.html (STk/Q/36_event.n.ht 1.3 644))
(Help/fbox-hlp.html (STk/Q/37_fbox-hlp.h 1.1 444))
(Help/focus-next.n.html (STk/Q/38_focus-next 1.1 644))
(Help/focus.n.html (STk/Q/39_focus.n.ht 1.1 644))
(Help/font.n.html (STk/Q/40_font.n.htm 1.1 644))
(Help/font.n.html (STk/Q/40_font.n.htm 1.2 644))
(Help/frame.n.html (STk/Q/41_frame.n.ht 1.1 644))
(Help/ftp.n.html (STk/Q/42_ftp.n.html 1.1 644))
(Help/ftp.n.html (STk/Q/42_ftp.n.html 1.2 644))
(Help/grab.n.html (STk/Q/43_grab.n.htm 1.1 644))
(Help/grid.n.html (STk/Q/44_grid.n.htm 1.1 644))
(Help/image.n.html (STk/Q/45_image.n.ht 1.2 644))
(Help/inspect-abt.html (STk/Q/46_inspect-ab 1.1 444))
(Help/inspect-hlp.html (STk/Q/47_inspect-hl 1.1 444))
(Help/jpeg.n.html (STk/Q/48_jpeg.n.htm 1.2 644))
(Help/jpeg.n.html (STk/Q/48_jpeg.n.htm 1.3 644))
(Help/label.n.html (STk/Q/49_label.n.ht 1.2 644))
(Help/listbox.n.html (STk/Q/50_listbox.n. 1.1 644))
(Help/listbox.n.html (STk/Q/50_listbox.n. 1.3 644))
(Help/listener.n.html (STk/Q/51_listener.n 1.1 644))
(Help/lower.n.html (STk/R/0_lower.n.ht 1.1 644))
(Help/make-dialog.n.html (STk/R/1_make-dialo 1.1 644))
(Help/make-dialog.n.html (STk/R/1_make-dialo 1.2 644))
; (Help/make-link.stk (STk/R/2_make-link. 1.1 644))
(Help/menu.n.html (STk/R/3_menu.n.htm 1.2 644))
(Help/menubutton.n.html (STk/R/4_menubutton 1.2 644))
(Help/menu.n.html (STk/R/3_menu.n.htm 1.3 644))
(Help/menubutton.n.html (STk/R/4_menubutton 1.3 644))
(Help/message.n.html (STk/R/5_message.n. 1.1 644))
(Help/message-box.n.html (STk/e/b/40_message-bo 1.1 644))
(Help/option-menu.n.html (STk/R/6_option-men 1.1 644))
(Help/option.n.html (STk/R/7_option.n.h 1.1 644))
(Help/options.n.html (STk/R/8_options.n. 1.1 644))
(Help/pack.n.html (STk/R/9_pack.n.htm 1.1 644))
(Help/pack.n.html (STk/R/9_pack.n.htm 1.2 644))
(Help/palette.n.html (STk/R/10_palette.n. 1.1 644))
(Help/photo.n.html (STk/R/11_photo.n.ht 1.2 644))
(Help/photo.n.html (STk/R/11_photo.n.ht 1.4 644))
(Help/pixmap.n.html (STk/R/12_pixmap.n.h 1.2 644))
(Help/place.n.html (STk/R/13_place.n.ht 1.1 644))
(Help/popup.n.html (STk/R/14_popup.n.ht 1.1 644))
(Help/posix.n.html (STk/R/15_posix.n.ht 1.1 644))
(Help/radiobutton.n.html (STk/R/16_radiobutto 1.1 644))
(Help/posix.n.html (STk/R/15_posix.n.ht 1.2 644))
(Help/radiobutton.n.html (STk/R/16_radiobutto 1.2 644))
(Help/raise.n.html (STk/R/17_raise.n.ht 1.1 644))
(Help/report-error.n.html (STk/R/18_report-err 1.2 644))
(Help/scale.n.html (STk/R/19_scale.n.ht 1.1 644))
(Help/scrollbar.n.html (STk/R/20_scrollbar. 1.1 644))
(Help/scale.n.html (STk/R/19_scale.n.ht 1.2 644))
(Help/scrollbar.n.html (STk/R/20_scrollbar. 1.3 644))
(Help/selection.n.html (STk/R/21_selection. 1.1 644))
(Help/send.n.html (STk/R/22_send.n.htm 1.1 644))
(Help/stk.1.html (STk/R/23_stk.1.html 1.2 644))
(Help/text.n.html (STk/R/24_text.n.htm 1.2 644))
(Help/stk.1.html (STk/R/23_stk.1.html 1.3 644))
(Help/text.n.html (STk/R/24_text.n.htm 1.4 644))
(Help/tk.n.html (STk/R/25_tk.n.html 1.1 644))
(Help/tkvars.n.html (STk/R/26_tkvars.n.h 1.1 644))
(Help/tkwait.n.html (STk/R/27_tkwait.n.h 1.1 644))
@ -510,11 +518,14 @@
(Lib/Images/STk-normal.gif (STk/R/35_STk-normal 1.2 644) :no-keywords)
(Lib/Images/STk-tiny.gif (STk/e/b/7_STk-tiny.g 1.1 644) :no-keywords)
(Lib/Images/STk-large.gif (STk/e/b/8_STk-large. 1.1 644) :no-keywords)
(Lib/Images/box-plus.xpm (STk/e/b/32_box-plus.x 1.1 644))
(Lib/Images/box-minus.xpm (STk/e/b/33_box-minus. 1.1 644))
(Lib/Images/boxes (STk/R/36_boxes 1.1 444))
(Lib/Images/cross_weave (STk/R/37_cross_weav 1.1 444))
(Lib/Images/dimple1 (STk/R/38_dimple1 1.1 444))
(Lib/Images/dimple3 (STk/R/39_dimple3 1.1 444))
(Lib/Images/dir.xpm (STk/R/40_dir.xpm 1.1 644))
(Lib/Images/diropen.xpm (STk/e/b/34_diropen.xp 1.1 644))
(Lib/Images/down_arrow_8.bm (STk/R/41_down_arrow 1.1 444))
(Lib/Images/earth.gif (STk/R/42_earth.gif 1.1 444) :no-keywords)
(Lib/Images/earthris.gif (STk/R/43_earthris.g 1.1 444) :no-keywords)
@ -552,7 +563,7 @@
(Lib/Images/question (STk/c/b/17_question 1.1 444))
(Lib/Images/info (STk/c/b/18_info 1.1 444))
(Lib/Images/error (STk/c/b/19_error 1.1 444))
(Lib/Makefile (STk/S/22_Makefile 1.3 644))
(Lib/Makefile (STk/S/22_Makefile 1.4 644))
(Lib/Match/compiler.scm (STk/S/23_compiler.s 1.1 444))
(Lib/Match/descr.scm (STk/S/24_descr.scm 1.1 444))
(Lib/Match/mexpand.scm (STk/S/25_mexpand.sc 1.1 444))
@ -560,23 +571,25 @@
(Lib/Match/s2cfun.scm (STk/S/27_s2cfun.scm 1.1 444))
(Lib/STk (.) :symlink)
(Lib/STk.init (STk/S/28_STk.init 1.3 644))
(Lib/base64.stk (STk/e/b/31_base64.stk 1.1 644))
(Lib/bigloo.stk (STk/S/30_bigloo.stk 1.3 644))
(Lib/button.stk (STk/S/31_button.stk 1.2 644))
(Lib/class-browser.stklos (STk/e/b/43_class-brow 1.1 644))
(Lib/compatibility.stk (STk/S/32_compatibil 1.1 644))
(Lib/dialog.stk (STk/S/33_dialog.stk 1.2 444))
(Lib/editor.stk (STk/S/34_editor.stk 1.1 644))
(Lib/entry.stk (STk/S/35_entry.stk 1.1 644))
(Lib/entry.stk (STk/S/35_entry.stk 1.2 644))
(Lib/error.stk (STk/S/36_error.stk 1.2 644))
(Lib/extset.stk (STk/S/37_extset.stk 1.2 644))
(Lib/ffi.stk (STk/S/38_ffi.stk 1.2 644))
(Lib/fileevent.stk (STk/S/39_fileevent. 1.1 644))
(Lib/fileevent.stk (STk/S/39_fileevent. 1.2 644))
(Lib/focus.stk (STk/S/40_focus.stk 1.1 644))
(Lib/ftp.stklos (STk/S/41_ftp.stklos 1.3 644))
(Lib/hash.stk (STk/S/42_hash.stk 1.2 644))
(Lib/help.stk (STk/S/43_help.stk 1.3 644))
(Lib/html.stk (STk/S/44_html.stk 1.1 644))
(Lib/image.stk (STk/S/45_image.stk 1.4 644))
(Lib/init.stk (STk/S/46_init.stk 1.15 644))
(Lib/init.stk (STk/S/46_init.stk 1.17 644))
(Lib/inspect-detail.stk (STk/S/47_inspect-de 1.1 644))
(Lib/inspect-help.stk (STk/S/48_inspect-he 1.1 444))
(Lib/inspect-main.stk (STk/S/49_inspect-ma 1.2 644))
@ -585,14 +598,16 @@
(Lib/jpeg.stk (STk/T/0_jpeg.stk 1.1 644))
(Lib/listbox.stk (STk/T/1_listbox.st 1.1 644))
(Lib/listener.stk (STk/T/2_listener.s 1.1 644))
(Lib/locale.stk (STk/e/b/44_locale.stk 1.1 644))
(Lib/match.stk (STk/T/3_match.stk 1.2 644))
(Lib/menu.stk (STk/T/4_menu.stk 1.4 644))
(Lib/method-editor.stklos (STk/e/b/45_method-edi 1.1 644))
(Lib/menu.stk (STk/T/4_menu.stk 1.6 644))
(Lib/palette.stk (STk/T/5_palette.st 1.2 644))
(Lib/pixmap.stk (STk/T/6_pixmap.stk 1.1 644))
(Lib/posix.stk (STk/T/7_posix.stk 1.1 444))
(Lib/pp.stk (STk/T/8_pp.stk 1.1 444))
(Lib/pp.stk (STk/T/8_pp.stk 1.2 444))
(Lib/process.stk (STk/T/9_process.st 1.1 444))
(Lib/prolog.ps (STk/T/10_prolog.ps 1.1 444))
; (Lib/prolog.ps (STk/T/10_prolog.ps 1.1 444))
(Lib/regexp.stk (STk/T/11_regexp.stk 1.1 444))
(Lib/scale.stk (STk/T/12_scale.stk 1.2 644))
(Lib/scrollbar.stk (STk/T/13_scrollbar. 1.2 644))
@ -600,9 +615,9 @@
(Lib/slib.stk (STk/T/15_slib.stk 1.1 444))
(Lib/socket.stk (STk/T/16_socket.stk 1.1 444))
(Lib/sterm.stk (STk/T/17_sterm.stk 1.3 644))
(Lib/text.stk (STk/T/18_text.stk 1.3 644))
(Lib/tk-init.stk (STk/T/19_tk-init.st 1.13 644))
(Lib/tk-unix.stk (STk/e/b/9_tk-unix.st 1.1 644))
(Lib/text.stk (STk/T/18_text.stk 1.5 644))
(Lib/tk-init.stk (STk/T/19_tk-init.st 1.18 644))
(Lib/tk-unix.stk (STk/e/b/9_tk-unix.st 1.2 644))
(Lib/trace.stk (STk/T/20_trace.stk 1.3 644))
(Lib/unix.stk (STk/T/21_unix.stk 1.1 444))
(Lib/www-browser.stklos (STk/c/b/29_www-browse 1.4 644))
@ -769,20 +784,23 @@
(STklos/Tk/Button.stklos (STk/W/21_Button.stk 1.4 644))
(STklos/Tk/Canvas.stklos (STk/W/22_Canvas.stk 1.4 644))
(STklos/Tk/Canvitem.stklos (STk/W/23_Canvitem.s 1.5 644))
(STklos/Tk/Composite/Balloon.stklos (STk/c/b/23_Balloon.st 1.1 644))
(STklos/Tk/Composite/Balloon.stklos (STk/c/b/23_Balloon.st 1.3 644))
(STklos/Tk/Composite/Choicebox.stklos (STk/W/24_Choicebox. 1.4 644))
(STklos/Tk/Composite/Colorbox.stklos (STk/c/b/24_Colorbox.s 1.2 644))
(STklos/Tk/Composite/Colorbox.stklos (STk/c/b/24_Colorbox.s 1.3 644))
(STklos/Tk/Composite/Defbutton.stklos (STk/W/25_Defbutton. 1.3 644))
(STklos/Tk/Composite/Filebox.stklos (STk/W/26_Filebox.st 1.6 644))
(STklos/Tk/Composite/Filebox.stklos (STk/W/26_Filebox.st 1.7 644))
(STklos/Tk/Composite/Gauge.stklos (STk/c/b/25_Gauge.stkl 1.1 644))
(STklos/Tk/Composite/Hierarchy.stklos (STk/e/b/35_Hierarchy. 1.3 644))
(STklos/Tk/Composite/Lentry.stklos (STk/W/28_Lentry.stk 1.4 644))
(STklos/Tk/Composite/Lframe.stklos (STk/W/29_Lframe.stk 1.2 644))
(STklos/Tk/Composite/Msgbox.stklos (STk/c/b/20_Msgbox.stk 1.3 644))
(STklos/Tk/Composite/Msgbox.stklos (STk/c/b/20_Msgbox.stk 1.4 644))
(STklos/Tk/Composite/Multipaned.stklos (STk/W/30_Multipaned 1.2 644))
(STklos/Tk/Composite/Multiwin.stklos (STk/W/31_Multiwin.s 1.7 644))
(STklos/Tk/Composite/Paned.stklos (STk/W/32_Paned.stkl 1.2 644))
(STklos/Tk/Composite/Multiwin.stklos (STk/W/31_Multiwin.s 1.8 644))
(STklos/Tk/Composite/Notepad.stklos (STk/e/b/36_Notepad.st 1.1 644))
(STklos/Tk/Composite/Paned.stklos (STk/W/32_Paned.stkl 1.3 644))
(STklos/Tk/Composite/Schemetext.stklos (STk/e/b/46_Schemetext 1.1 644))
(STklos/Tk/Composite/Scrollbox.stklos (STk/W/33_Scrollbox. 1.4 644))
(STklos/Tk/Composite/Scrollcanvas.stklos (STk/W/34_Scrollcanv 1.2 644))
(STklos/Tk/Composite/Scrollcanvas.stklos (STk/W/34_Scrollcanv 1.3 644))
(STklos/Tk/Composite/Scrolltext.stklos (STk/W/35_Scrolltext 1.2 644))
; (STklos/Tk/Composite/Spin.stklos ())
; (STklos/Tk/Composite/down ())
@ -796,23 +814,24 @@
(STklos/Tk/Message.stklos (STk/W/41_Message.st 1.2 644))
(STklos/Tk/STF.stklos (STk/W/42_STF.stklos 1.1 444))
(STklos/Tk/Scale.stklos (STk/W/43_Scale.stkl 1.3 644))
(STklos/Tk/Scrollbar.stklos (STk/W/44_Scrollbar. 1.2 644))
(STklos/Tk/Scrollbar.stklos (STk/W/44_Scrollbar. 1.3 644))
(STklos/Tk/Text.stklos (STk/W/45_Text.stklo 1.5 644))
(STklos/Tk/Tk-active.stklos (STk/W/46_Tk-active. 1.3 644))
(STklos/Tk/Tk-classes.stklos (STk/W/47_Tk-classes 1.13 644))
(STklos/Tk/Tk-classes.stklos (STk/W/47_Tk-classes 1.17 644))
(STklos/Tk/Tk-meta.stklos (STk/W/48_Tk-meta.st 1.9 644))
(STklos/Tk/Toplevel.stklos (STk/W/50_Toplevel.s 1.7 644))
(STklos/Tk/Toplevel.stklos (STk/W/50_Toplevel.s 1.8 644))
; (STklos/Tk/Widget/ImgButton.stklos ())
(STklos/active-slot.stklos (STk/c/b/21_active-slo 1.1 644))
(STklos/composite-slot.stklos (STk/c/b/22_composite- 1.1 644))
(STklos/describe.stklos (STk/c/b/14_describe.s 1.1 644))
(STklos/stklos.stk (STk/c/b/10_stklos.stk 1.23 644))
(STklos/stklos.stk (STk/c/b/10_stklos.stk 1.27 644))
(STklos/trace-gf.stklos (STk/c/b/11_trace-gf.s 1.1 644))
;; Snow (Stk with NO Window) Directory
(Snow/Makefile (../Src/Makefile) :symlink)
(Snow/address.c (../Src/address.c) :symlink)
(Snow/argv.c (../Src/argv.c) :symlink)
(Snow/base64.c (../Extensions/base64.c) :symlink)
(Snow/boolean.c (../Src/boolean.c) :symlink)
(Snow/char.c (../Src/char.c) :symlink)
(Snow/configure (../Src/configure) :symlink)
@ -833,6 +852,7 @@
(Snow/io.c (../Src/io.c) :symlink)
(Snow/keyword.c (../Src/keyword.c) :symlink)
(Snow/list.c (../Src/list.c) :symlink)
(Snow/locale.c (../Extensions/locale.c) :symlink)
(Snow/macros.c (../Src/macros.c) :symlink)
(Snow/module.c (../Src/module.c) :symlink)
(Snow/module.h (../Src/module.h) :symlink)
@ -873,72 +893,73 @@
(Snow/vector.c (../Src/vector.c) :symlink)
;; Source directory of the Interpreter
(Src/Makefile.in (STk/X/5_Makefile.i 1.7 644))
(Src/address.c (STk/X/6_address.c 1.1 644))
(Src/argv.c (STk/X/7_argv.c 1.2 644))
(Src/Makefile.in (STk/X/5_Makefile.i 1.9 644))
(Src/address.c (STk/X/6_address.c 1.2 644))
(Src/argv.c (STk/X/7_argv.c 1.5 644))
(Src/base64.c (../Extensions/base64.c) :symlink)
(Src/boolean.c (STk/X/8_boolean.c 1.1 644))
(Src/char.c (STk/X/9_char.c 1.1 644))
(Src/char.c (STk/X/9_char.c 1.3 644))
(Src/configure (STk/X/10_configure 1.1 555))
(Src/configure.in (STk/X/11_configure. 1.1 444))
(Src/cont.c (STk/X/12_cont.c 1.2 644))
(Src/dummy.c (STk/X/13_dummy.c 1.1 644))
(Src/cont.c (STk/X/12_cont.c 1.3 644))
(Src/dummy.c (STk/X/13_dummy.c 1.2 644))
(Src/dump.c (STk/X/14_dump.c 1.1 644))
(Src/dynload.c (STk/X/15_dynload.c 1.5 644))
(Src/env.c (STk/X/16_env.c 1.5 644))
(Src/error.c (STk/X/17_error.c 1.5 644))
(Src/eval.c (STk/X/18_eval.c 1.10 644))
(Src/extend.c (STk/X/19_extend.c 1.2 644))
(Src/dynload.c (STk/X/15_dynload.c 1.6 644))
(Src/env.c (STk/X/16_env.c 1.6 644))
(Src/error.c (STk/X/17_error.c 1.9 644))
(Src/eval.c (STk/X/18_eval.c 1.12 644))
(Src/extend.c (STk/X/19_extend.c 1.3 644))
(Src/extend.h (STk/X/20_extend.h 1.1 444))
(Src/gc.c (STk/X/21_gc.c 1.6 644))
(Src/gc.c (STk/X/21_gc.c 1.9 644))
(Src/gc.h (STk/X/22_gc.h 1.1 444))
(Src/hash.c (../Extensions/hash.c) :symlink)
(Src/html.c (../Extensions/html.c) :symlink)
(Src/io.c (STk/X/23_io.c 1.3 644))
(Src/io.c (STk/X/23_io.c 1.5 644))
(Src/jpeg.c (../Extensions/jpeg.c) :symlink)
(Src/keyword.c (STk/X/24_keyword.c 1.1 644))
(Src/list.c (STk/X/25_list.c 1.1 644))
(Src/keyword.c (STk/X/24_keyword.c 1.2 644))
(Src/list.c (STk/X/25_list.c 1.2 644))
(Src/locale.c (../Extensions/locale.c) :symlink)
(Src/macros.c (STk/X/26_macros.c 1.2 644))
(Src/module.c (STk/X/27_module.c 1.9 644))
(Src/module.h (STk/X/28_module.h 1.2 644))
(Src/number.c (STk/X/29_number.c 1.2 644))
(Src/module.c (STk/X/27_module.c 1.12 644))
(Src/module.h (STk/X/28_module.h 1.3 644))
(Src/number.c (STk/X/29_number.c 1.4 644))
(Src/pixmap.c (../Extensions/pixmap.c) :symlink)
(Src/port.c (STk/X/30_port.c 1.10 644))
(Src/port.c (STk/X/30_port.c 1.13 644))
(Src/posix.c (../Extensions/posix.c) :symlink)
(Src/primitives.c (STk/X/31_primitives 1.10 644))
(Src/print.c (STk/X/32_print.c 1.4 644))
(Src/proc.c (STk/X/33_proc.c 1.3 644))
(Src/primitives.c (STk/X/31_primitives 1.13 644))
(Src/print.c (STk/X/32_print.c 1.7 644))
(Src/proc.c (STk/X/33_proc.c 1.4 644))
(Src/process.c (../Extensions/process.c) :symlink)
(Src/promise.c (STk/X/34_promise.c 1.1 644))
(Src/read.c (STk/X/35_read.c 1.4 644))
(Src/read.c (STk/X/35_read.c 1.5 644))
(Src/run-stk.in (STk/X/36_run-stk.in 1.1 444))
(Src/signal.c (STk/X/37_signal.c 1.4 644))
(Src/slib.c (STk/X/38_slib.c 1.8 644))
(Src/signal.c (STk/X/37_signal.c 1.5 644))
(Src/slib.c (STk/X/38_slib.c 1.11 644))
(Src/socket.c (../Extensions/socket.c) :symlink)
(Src/sport.c (STk/X/39_sport.c 1.1 644))
(Src/sport.c (STk/X/39_sport.c 1.4 644))
(Src/sport.h (STk/X/40_sport.h 1.1 444))
(Src/sregexp.c (../Extensions/sregexp.c) :symlink)
(Src/stk.c (STk/X/41_stk.c 1.1 644))
(Src/stk.h (STk/X/42_stk.h 1.13 644))
(Src/stklos.c (STk/X/43_stklos.c 1.14 644))
(Src/stk.h (STk/X/42_stk.h 1.19 644))
(Src/stklos.c (STk/X/43_stklos.c 1.15 644))
(Src/stklos.h (STk/X/44_stklos.h 1.5 644))
(Src/str.c (STk/X/45_str.c 1.1 644))
(Src/symbol.c (STk/X/46_symbol.c 1.1 644))
(Src/syntax.c (STk/X/47_syntax.c 1.3 644))
(Src/tcl-glue.c (STk/X/48_tcl-glue.c 1.6 644))
(Src/tcl-glue.h (STk/X/49_tcl-glue.h 1.2 644))
(Src/tcl-lib.c (STk/X/50_tcl-lib.c 1.3 644))
(Src/tcl-obj.c (STk/X/51_tcl-obj.c 1.3 644))
(Src/str.c (STk/X/45_str.c 1.3 644))
(Src/symbol.c (STk/X/46_symbol.c 1.2 644))
(Src/syntax.c (STk/X/47_syntax.c 1.4 644))
(Src/tcl-glue.c (STk/X/48_tcl-glue.c 1.7 644))
(Src/tcl-glue.h (STk/X/49_tcl-glue.h 1.3 644))
(Src/tcl-lib.c (STk/X/50_tcl-lib.c 1.6 644))
(Src/tcl-obj.c (STk/X/51_tcl-obj.c 1.6 644))
(Src/tcl-util.c (STk/Y/0_tcl-util.c 1.1 644))
(Src/test-stk (STk/Y/1_test-stk 1.1 755))
(Src/tk-glue.c (STk/Y/2_tk-glue.c 1.4 644))
(Src/tk-glue.h (STk/Y/3_tk-glue.h 1.2 644))
(Src/tk-main.c (STk/Y/4_tk-main.c 1.3 644))
(Src/tk-glue.c (STk/Y/2_tk-glue.c 1.7 644))
(Src/tk-glue.h (STk/Y/3_tk-glue.h 1.3 644))
(Src/tk-main.c (STk/Y/4_tk-main.c 1.5 644))
(Src/tk-util.c (STk/Y/5_tk-util.c 1.1 644))
(Src/toplevel.c (STk/Y/6_toplevel.c 1.6 644))
(Src/toplevel.c (STk/Y/6_toplevel.c 1.11 644))
(Src/trace.c (STk/Y/7_trace.c 1.1 644))
(Src/unix.c (STk/Y/8_unix.c 1.3 644))
(Src/userinit.c (STk/Y/9_userinit.c 1.1 644))
(Src/values.c (STk/e/b/10_values.c 1.1 644))
(Src/unix.c (STk/Y/8_unix.c 1.5 644))
(Src/userinit.c (STk/Y/9_userinit.c 1.2 644))
(Src/vector.c (STk/Y/11_vector.c 1.1 644))
(Src/wstk.c (STk/Y/12_wstk.c 1.2 644))
@ -961,7 +982,7 @@
(Stack/README (STk/Y/28_README 1.1 644))
;; Tcl Directory (only part which are useful for STk)
(Tcl/Makefile.in (STk/Y/29_Makefile.i 1.3 644))
(Tcl/Makefile.in (STk/Y/29_Makefile.i 1.4 644))
(Tcl/README (STk/Y/30_README 1.1 644))
(Tcl/compat/README (STk/Y/31_README 1.1 444))
(Tcl/compat/dirent.h (STk/Y/32_dirent.h 1.1 444))
@ -970,7 +991,7 @@
(Tcl/compat/float.h (STk/Y/35_float.h 1.1 444))
(Tcl/compat/getcwd.c (STk/Y/36_getcwd.c 1.1 444))
(Tcl/compat/gettod.c (STk/Y/37_gettod.c 1.1 444))
(Tcl/compat/license.terms (STk/Y/38_license.te 1.1 444))
(Tcl/compat/license.terms (STk/Y/38_license.te 1.2 644))
(Tcl/compat/limits.h (STk/Y/39_limits.h 1.1 444))
(Tcl/compat/opendir.c (STk/Y/40_opendir.c 1.1 444))
(Tcl/compat/stdlib.h (STk/Y/41_stdlib.h 1.1 444))
@ -986,31 +1007,31 @@
(Tcl/compat/waitpid.c (STk/Y/51_waitpid.c 1.1 444))
(Tcl/configure (STk/Z/0_configure 1.1 755))
(Tcl/configure.in (STk/Z/1_configure. 1.1 644))
(Tcl/license.terms (STk/Z/2_license.te 1.1 644))
(Tcl/panic.c (STk/Z/3_panic.c 1.1 644))
(Tcl/license.terms (STk/Z/2_license.te 1.2 644))
(Tcl/panic.c (STk/Z/3_panic.c 1.2 644))
(Tcl/regexp.c (STk/Z/4_regexp.c 1.1 644))
(Tcl/tcl.h (STk/Z/5_tcl.h 1.2 644))
(Tcl/tcl.h (STk/Z/5_tcl.h 1.5 644))
(Tcl/tclAsync.c (STk/Z/6_tclAsync.c 1.1 644))
(Tcl/tclConfig.sh.in (STk/Z/7_tclConfig. 1.1 644))
(Tcl/tclEvent.c (STk/Z/8_tclEvent.c 1.3 644))
(Tcl/tclEvent.c (STk/Z/8_tclEvent.c 1.5 644))
(Tcl/tclGet.c (STk/Z/9_tclGet.c 1.1 644))
(Tcl/tclHash.c (STk/Z/10_tclHash.c 1.1 644))
(Tcl/tclInt.h (STk/Z/11_tclInt.h 1.2 644))
(Tcl/tclInt.h (STk/Z/11_tclInt.h 1.4 644))
(Tcl/tclMtherr.c (STk/Z/12_tclMtherr. 1.1 644))
(Tcl/tclNotify.c (STk/Z/13_tclNotify. 1.1 644))
(Tcl/tclNotify.c (STk/Z/13_tclNotify. 1.2 644))
(Tcl/tclPort.h (STk/Z/14_tclPort.h 1.1 644))
(Tcl/tclPreserve.c (STk/Z/15_tclPreserv 1.1 644))
(Tcl/tclRegexp.h (STk/Z/16_tclRegexp. 1.1 644))
(Tcl/tclTimer.c (STk/Z/17_tclTimer.c 1.2 644))
(Tcl/tclUnixEvent.c (STk/Z/18_tclUnixEve 1.1 444))
(Tcl/tclUnixNotfy.c (STk/Z/19_tclUnixNot 1.1 644))
(Tcl/tclUnixPort.h (STk/Z/20_tclUnixPor 1.2 644))
(Tcl/tclUnixTime.c (STk/Z/21_tclUnixTim 1.1 644))
(Tcl/tclUtil.c (STk/Z/22_tclUtil.c 1.3 644))
(Tcl/tclRegexp.h (STk/Z/16_tclRegexp. 1.2 644))
(Tcl/tclTimer.c (STk/Z/17_tclTimer.c 1.4 644))
(Tcl/tclUnixEvent.c (STk/Z/18_tclUnixEve 1.1 644))
(Tcl/tclUnixNotfy.c (STk/Z/19_tclUnixNot 1.2 644))
(Tcl/tclUnixPort.h (STk/Z/20_tclUnixPor 1.3 644))
(Tcl/tclUnixTime.c (STk/Z/21_tclUnixTim 1.3 644))
(Tcl/tclUtil.c (STk/Z/22_tclUtil.c 1.5 644))
;; The (patched) Tk directory
(Tk/Makefile (STk/Z/23_Makefile 1.1 444))
(Tk/README (STk/Z/24_README 1.1 444))
(Tk/README (STk/Z/24_README 1.2 444))
(Tk/bitmaps/error.bmp (STk/Z/25_error.bmp 1.1 444))
(Tk/bitmaps/gray12.bmp (STk/Z/26_gray12.bmp 1.1 444))
(Tk/bitmaps/gray25.bmp (STk/Z/27_gray25.bmp 1.1 444))
@ -1021,7 +1042,7 @@
(Tk/bitmaps/questhead.bmp (STk/Z/32_questhead. 1.1 444))
(Tk/bitmaps/question.bmp (STk/Z/33_question.b 1.1 444))
(Tk/bitmaps/warning.bmp (STk/Z/34_warning.bm 1.1 444))
(Tk/changes (STk/Z/35_changes 1.1 444))
(Tk/changes (STk/Z/35_changes 1.2 444))
(Tk/compat/license.terms (STk/Z/36_license.te 1.1 444))
(Tk/compat/limits.h (STk/Z/37_limits.h 1.1 444))
(Tk/compat/stdlib.h (STk/Z/38_stdlib.h 1.1 444))
@ -1031,99 +1052,99 @@
(Tk/doc/README (STk/Z/41_README 1.1 644))
(Tk/generic/README (STk/Z/42_README 1.1 644))
(Tk/generic/default.h (STk/Z/43_default.h 1.1 644))
(Tk/generic/ks_names.h (STk/Z/44_ks_names.h 1.1 644))
(Tk/generic/tk.h (STk/Z/45_tk.h 1.2 644))
(Tk/generic/ks_names.h (STk/Z/44_ks_names.h 1.2 644))
(Tk/generic/tk.h (STk/Z/45_tk.h 1.4 644))
(Tk/generic/tk3d.c (STk/Z/46_tk3d.c 1.1 644))
(Tk/generic/tk3d.h (STk/Z/47_tk3d.h 1.1 644))
(Tk/generic/tk3d.h (STk/Z/47_tk3d.h 1.2 644))
(Tk/generic/tkArgv.c (STk/Z/48_tkArgv.c 1.1 644))
(Tk/generic/tkAtom.c (STk/Z/49_tkAtom.c 1.1 644))
(Tk/generic/tkBind.c (STk/Z/50_tkBind.c 1.2 644))
(Tk/generic/tkBitmap.c (STk/Z/51_tkBitmap.c 1.1 644))
(Tk/generic/tkBind.c (STk/Z/50_tkBind.c 1.6 644))
(Tk/generic/tkBitmap.c (STk/Z/51_tkBitmap.c 1.2 644))
(Tk/generic/tkButton.c (STk/a/b/0_tkButton.c 1.2 644))
(Tk/generic/tkButton.h (STk/a/b/1_tkButton.h 1.1 644))
(Tk/generic/tkCanvArc.c (STk/a/b/2_tkCanvArc. 1.1 644))
(Tk/generic/tkButton.h (STk/a/b/1_tkButton.h 1.2 644))
(Tk/generic/tkCanvArc.c (STk/a/b/2_tkCanvArc. 1.2 644))
(Tk/generic/tkCanvBmap.c (STk/a/b/3_tkCanvBmap 1.1 644))
(Tk/generic/tkCanvImg.c (STk/a/b/4_tkCanvImg. 1.2 644))
(Tk/generic/tkCanvLine.c (STk/a/b/5_tkCanvLine 1.1 644))
(Tk/generic/tkCanvPoly.c (STk/a/b/6_tkCanvPoly 1.1 644))
(Tk/generic/tkCanvPs.c (STk/a/b/7_tkCanvPs.c 1.2 644))
(Tk/generic/tkCanvText.c (STk/a/b/8_tkCanvText 1.1 644))
(Tk/generic/tkCanvPs.c (STk/a/b/7_tkCanvPs.c 1.3 644))
(Tk/generic/tkCanvText.c (STk/a/b/8_tkCanvText 1.2 644))
(Tk/generic/tkCanvUtil.c (STk/a/b/9_tkCanvUtil 1.1 644))
(Tk/generic/tkCanvWind.c (STk/a/b/10_tkCanvWind 1.1 644))
(Tk/generic/tkCanvas.c (STk/a/b/11_tkCanvas.c 1.1 644))
(Tk/generic/tkCanvWind.c (STk/a/b/10_tkCanvWind 1.2 644))
(Tk/generic/tkCanvas.c (STk/a/b/11_tkCanvas.c 1.2 644))
(Tk/generic/tkCanvas.h (STk/a/b/12_tkCanvas.h 1.1 644))
(Tk/generic/tkClipboard.c (STk/a/b/13_tkClipboar 1.1 644))
(Tk/generic/tkCmds.c (STk/a/b/14_tkCmds.c 1.2 644))
(Tk/generic/tkCmds.c (STk/a/b/14_tkCmds.c 1.7 644))
(Tk/generic/tkColor.c (STk/a/b/15_tkColor.c 1.1 644))
(Tk/generic/tkColor.h (STk/a/b/16_tkColor.h 1.1 644))
(Tk/generic/tkConfig.c (STk/a/b/17_tkConfig.c 1.4 644))
(Tk/generic/tkConsole.c (STk/a/b/18_tkConsole. 1.1 644))
(Tk/generic/tkColor.h (STk/a/b/16_tkColor.h 1.2 644))
(Tk/generic/tkConfig.c (STk/a/b/17_tkConfig.c 1.5 644))
(Tk/generic/tkConsole.c (STk/a/b/18_tkConsole. 1.2 644))
(Tk/generic/tkCursor.c (STk/a/b/19_tkCursor.c 1.1 644))
(Tk/generic/tkEntry.c (STk/a/b/20_tkEntry.c 1.1 644))
(Tk/generic/tkEntry.c (STk/a/b/20_tkEntry.c 1.2 644))
(Tk/generic/tkError.c (STk/a/b/21_tkError.c 1.1 644))
(Tk/generic/tkEvent.c (STk/a/b/22_tkEvent.c 1.1 644))
(Tk/generic/tkFileFilter.c (STk/a/b/23_tkFileFilt 1.1 644))
(Tk/generic/tkFileFilter.h (STk/a/b/24_tkFileFilt 1.1 644))
(Tk/generic/tkFocus.c (STk/a/b/25_tkFocus.c 1.1 644))
(Tk/generic/tkFont.c (STk/a/b/26_tkFont.c 1.1 644))
(Tk/generic/tkFont.h (STk/a/b/27_tkFont.h 1.1 644))
(Tk/generic/tkFileFilter.h (STk/a/b/24_tkFileFilt 1.2 644))
(Tk/generic/tkFocus.c (STk/a/b/25_tkFocus.c 1.2 644))
(Tk/generic/tkFont.c (STk/a/b/26_tkFont.c 1.3 644))
(Tk/generic/tkFont.h (STk/a/b/27_tkFont.h 1.2 644))
(Tk/generic/tkFrame.c (STk/a/b/28_tkFrame.c 1.1 644))
(Tk/generic/tkGC.c (STk/a/b/29_tkGC.c 1.1 644))
(Tk/generic/tkGeometry.c (STk/a/b/30_tkGeometry 1.1 644))
(Tk/generic/tkGet.c (STk/a/b/31_tkGet.c 1.1 644))
(Tk/generic/tkGrab.c (STk/a/b/32_tkGrab.c 1.1 644))
(Tk/generic/tkGrid.c (STk/a/b/33_tkGrid.c 1.1 644))
(Tk/generic/tkImage.c (STk/a/b/34_tkImage.c 1.1 644))
(Tk/generic/tkImgBmap.c (STk/a/b/35_tkImgBmap. 1.1 644))
(Tk/generic/tkGrid.c (STk/a/b/33_tkGrid.c 1.2 644))
(Tk/generic/tkImage.c (STk/a/b/34_tkImage.c 1.2 644))
(Tk/generic/tkImgBmap.c (STk/a/b/35_tkImgBmap. 1.2 644))
(Tk/generic/tkImgGIF.c (STk/a/b/36_tkImgGIF.c 1.1 644))
(Tk/generic/tkImgPPM.c (STk/a/b/37_tkImgPPM.c 1.1 644))
(Tk/generic/tkImgPPM.c (STk/a/b/37_tkImgPPM.c 1.2 644))
(Tk/generic/tkImgPhoto.c (STk/a/b/38_tkImgPhoto 1.1 644))
(Tk/generic/tkImgUtil.c (STk/a/b/39_tkImgUtil. 1.1 644))
(Tk/generic/tkInitScript.h (STk/a/b/40_tkInitScri 1.1 644))
(Tk/generic/tkInt.h (STk/a/b/41_tkInt.h 1.1 644))
(Tk/generic/tkListbox.c (STk/a/b/42_tkListbox. 1.1 644))
(Tk/generic/tkInitScript.h (STk/a/b/40_tkInitScri 1.2 644))
(Tk/generic/tkInt.h (STk/a/b/41_tkInt.h 1.2 644))
(Tk/generic/tkListbox.c (STk/a/b/42_tkListbox. 1.2 644))
(Tk/generic/tkMacWinMenu.c (STk/a/b/43_tkMacWinMe 1.1 644))
(Tk/generic/tkMenu.c (STk/a/b/44_tkMenu.c 1.2 644))
(Tk/generic/tkMenu.h (STk/a/b/45_tkMenu.h 1.1 644))
(Tk/generic/tkMenuDraw.c (STk/a/b/46_tkMenuDraw 1.1 644))
(Tk/generic/tkMenu.c (STk/a/b/44_tkMenu.c 1.3 644))
(Tk/generic/tkMenu.h (STk/a/b/45_tkMenu.h 1.2 644))
(Tk/generic/tkMenuDraw.c (STk/a/b/46_tkMenuDraw 1.2 644))
(Tk/generic/tkMenubutton.c (STk/a/b/47_tkMenubutt 1.2 644))
(Tk/generic/tkMenubutton.h (STk/a/b/48_tkMenubutt 1.1 644))
(Tk/generic/tkMenubutton.h (STk/a/b/48_tkMenubutt 1.2 644))
(Tk/generic/tkMessage.c (STk/a/b/49_tkMessage. 1.2 644))
(Tk/generic/tkOption.c (STk/a/b/50_tkOption.c 1.1 644))
(Tk/generic/tkPack.c (STk/a/b/51_tkPack.c 1.1 644))
(Tk/generic/tkPlace.c (STk/b/b/0_tkPlace.c 1.1 644))
(Tk/generic/tkPointer.c (STk/b/b/1_tkPointer. 1.1 644))
(Tk/generic/tkPointer.c (STk/b/b/1_tkPointer. 1.2 644))
(Tk/generic/tkPort.h (STk/b/b/2_tkPort.h 1.1 644))
(Tk/generic/tkRectOval.c (STk/b/b/3_tkRectOval 1.1 644))
(Tk/generic/tkScale.c (STk/b/b/4_tkScale.c 1.2 644))
(Tk/generic/tkScale.h (STk/b/b/5_tkScale.h 1.2 644))
(Tk/generic/tkScale.h (STk/b/b/5_tkScale.h 1.3 644))
(Tk/generic/tkScrollbar.c (STk/b/b/6_tkScrollba 1.1 644))
(Tk/generic/tkScrollbar.h (STk/b/b/7_tkScrollba 1.1 644))
(Tk/generic/tkScrollbar.h (STk/b/b/7_tkScrollba 1.2 644))
(Tk/generic/tkSelect.c (STk/b/b/8_tkSelect.c 1.1 644))
(Tk/generic/tkSelect.h (STk/b/b/9_tkSelect.h 1.1 644))
(Tk/generic/tkSquare.c (STk/b/b/10_tkSquare.c 1.1 644))
; (Tk/generic/tkTest.c (STk/b/b/11_tkTest.c 1.1 644))
(Tk/generic/tkText.c (STk/b/b/12_tkText.c 1.1 644))
(Tk/generic/tkText.c (STk/b/b/12_tkText.c 1.3 644))
(Tk/generic/tkText.h (STk/b/b/13_tkText.h 1.1 644))
(Tk/generic/tkTextBTree.c (STk/b/b/14_tkTextBTre 1.1 644))
(Tk/generic/tkTextDisp.c (STk/b/b/15_tkTextDisp 1.1 644))
(Tk/generic/tkTextImage.c (STk/b/b/16_tkTextImag 1.2 644))
(Tk/generic/tkTextIndex.c (STk/b/b/17_tkTextInde 1.2 644))
(Tk/generic/tkTextMark.c (STk/b/b/18_tkTextMark 1.1 644))
(Tk/generic/tkTextTag.c (STk/b/b/19_tkTextTag. 1.1 644))
(Tk/generic/tkTextImage.c (STk/b/b/16_tkTextImag 1.3 644))
(Tk/generic/tkTextIndex.c (STk/b/b/17_tkTextInde 1.3 644))
(Tk/generic/tkTextMark.c (STk/b/b/18_tkTextMark 1.2 644))
(Tk/generic/tkTextTag.c (STk/b/b/19_tkTextTag. 1.2 644))
(Tk/generic/tkTextWind.c (STk/b/b/20_tkTextWind 1.1 644))
(Tk/generic/tkTrig.c (STk/b/b/21_tkTrig.c 1.1 644))
(Tk/generic/tkUtil.c (STk/b/b/22_tkUtil.c 1.1 644))
(Tk/generic/tkVisual.c (STk/b/b/23_tkVisual.c 1.1 644))
(Tk/generic/tkWindow.c (STk/b/b/24_tkWindow.c 1.2 644))
(Tk/generic/tkWindow.c (STk/b/b/24_tkWindow.c 1.4 644))
(Tk/license.terms (STk/b/b/25_license.te 1.1 444))
(Tk/unix/Makefile.in (STk/b/b/26_Makefile.i 1.5 644))
(Tk/unix/README (STk/b/b/27_README 1.1 644))
(Tk/unix/configure (STk/b/b/28_configure 1.1 755))
(Tk/unix/configure.in (STk/b/b/29_configure. 1.1 644))
(Tk/unix/configure.in (STk/b/b/29_configure. 1.1 755))
(Tk/unix/install-sh (STk/b/b/30_install-sh 1.1 755))
(Tk/unix/license.terms (STk/b/b/31_license.te 1.1 644))
(Tk/unix/mkLinks (STk/b/b/32_mkLinks 1.1 644))
(Tk/unix/mkLinks (STk/b/b/32_mkLinks 1.2 755))
(Tk/unix/porting.notes (STk/b/b/33_porting.no 1.1 644))
(Tk/unix/porting.old (STk/b/b/34_porting.ol 1.1 644))
(Tk/unix/tkAppInit.c (STk/b/b/35_tkAppInit. 1.1 644))
@ -1133,31 +1154,30 @@
(Tk/unix/tkUnix3d.c (STk/b/b/39_tkUnix3d.c 1.1 644))
(Tk/unix/tkUnixButton.c (STk/b/b/40_tkUnixButt 1.1 644))
(Tk/unix/tkUnixColor.c (STk/b/b/41_tkUnixColo 1.1 644))
(Tk/unix/tkUnixCursor.c (STk/b/b/42_tkUnixCurs 1.1 644))
(Tk/unix/tkUnixDefault.h (STk/b/b/43_tkUnixDefa 1.3 644))
(Tk/unix/tkUnixCursor.c (STk/b/b/42_tkUnixCurs 1.2 644))
(Tk/unix/tkUnixDefault.h (STk/b/b/43_tkUnixDefa 1.4 644))
(Tk/unix/tkUnixDialog.c (STk/b/b/44_tkUnixDial 1.2 644))
(Tk/unix/tkUnixDraw.c (STk/b/b/45_tkUnixDraw 1.1 644))
(Tk/unix/tkUnixEmbed.c (STk/b/b/46_tkUnixEmbe 1.1 644))
(Tk/unix/tkUnixEvent.c (STk/b/b/47_tkUnixEven 1.1 644))
(Tk/unix/tkUnixFocus.c (STk/b/b/48_tkUnixFocu 1.1 644))
(Tk/unix/tkUnixFont.c (STk/b/b/49_tkUnixFont 1.1 644))
(Tk/unix/tkUnixInit.c (STk/b/b/50_tkUnixInit 1.1 644))
(Tk/unix/tkUnixEvent.c (STk/b/b/47_tkUnixEven 1.2 644))
(Tk/unix/tkUnixFocus.c (STk/b/b/48_tkUnixFocu 1.2 644))
(Tk/unix/tkUnixFont.c (STk/b/b/49_tkUnixFont 1.2 644))
(Tk/unix/tkUnixInit.c (STk/b/b/50_tkUnixInit 1.3 644))
(Tk/unix/tkUnixInt.h (STk/b/b/51_tkUnixInt. 1.1 644))
(Tk/unix/tkUnixMenu.c (STk/c/b/0_tkUnixMenu 1.1 644))
(Tk/unix/tkUnixMenu.c (STk/c/b/0_tkUnixMenu 1.2 644))
(Tk/unix/tkUnixMenubu.c (STk/c/b/1_tkUnixMenu 1.1 644))
(Tk/unix/tkUnixPort.h (STk/c/b/2_tkUnixPort 1.1 644))
(Tk/unix/tkUnixScale.c (STk/c/b/3_tkUnixScal 1.2 644))
(Tk/unix/tkUnixScrlbr.c (STk/c/b/4_tkUnixScrl 1.1 644))
(Tk/unix/tkUnixSelect.c (STk/c/b/5_tkUnixSele 1.1 644))
(Tk/unix/tkUnixSend.c (STk/c/b/6_tkUnixSend 1.2 644))
(Tk/unix/tkUnixWm.c (STk/c/b/7_tkUnixWm.c 1.2 644))
(Tk/unix/tkUnixSend.c (STk/c/b/6_tkUnixSend 1.4 644))
(Tk/unix/tkUnixWm.c (STk/c/b/7_tkUnixWm.c 1.4 644))
(Tk/unix/tkUnixXId.c (STk/c/b/8_tkUnixXId. 1.1 644))
;; Utilities directory
(Utils/install-sh (STk/c/b/9_install-sh 1.1 555))
(Utils/STk.spec.in (STk/e/b/20_STk.spec.i 1.9 644))
(Utils/STk.spec (STk/e/b/21_STk.spec 1.10 644))
(Utils/install-sh (STk/c/b/9_install-sh 1.1 755))
(Utils/STk.spec.in (STk/e/b/20_STk.spec.i 1.12 644))
(Utils/STk.spec (STk/e/b/21_STk.spec 1.14 644))
;; Windows Directory

View File

@ -11,7 +11,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: complex.stklos 1.1 Thu, 22 Jan 1998 15:04:46 +0000 eg $
;;;; $Id: complex.stklos 1.1 Thu, 22 Jan 1998 16:04:46 +0100 eg $
;;;;
;;;; Author: Erick Gallesio [eg@kaolin.unice.fr]
;;;; Creation date: 20-Jan-1998 17:28

View File

@ -11,7 +11,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: Basics.stklos 1.12 Sat, 06 Jun 1998 12:19:03 +0000 eg $
;;;; $Id: Basics.stklos 1.12 Sat, 06 Jun 1998 14:19:03 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 30-Mar-1993 15:39

View File

@ -12,7 +12,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: Button.stklos 1.4 Mon, 27 Apr 1998 13:39:00 +0000 eg $
;;;; $Id: Button.stklos 1.4 Mon, 27 Apr 1998 15:39:00 +0200 eg $
;;;;
;;;; Author: Erick Gallesio [eg@kaolin.unice.fr]
;;;; Creation date: 30-Mar-1993 15:39

View File

@ -11,7 +11,7 @@
;;;; permission of the copyright holder.
;;;; This software is provided ``as is'' without express or implied warranty.
;;;;
;;;; $Id: Canvas.stklos 1.4 Sun, 22 Mar 1998 19:42:56 +0000 eg $
;;;; $Id: Canvas.stklos 1.4 Sun, 22 Mar 1998 20:42:56 +0100 eg $
;;;;
;;;; Author: Erick Gallesio [eg@kaolin.unice.fr]
;;;; Creation date: 18-Aug-1993 19:55

Some files were not shown because too many files have changed in this diff Show More