Commit of 3.99.3 version
This commit is contained in:
parent
dd57fe2b2a
commit
fd0f8b8984
27
CHANGES
27
CHANGES
|
@ -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
224
ChangeLog
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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*)
|
|
@ -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
|
||||
|
|
|
@ -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)))
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
|
@ -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?
|
||||
.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
27985
Doc/Reference/manual.ps
27985
Doc/Reference/manual.ps
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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 */
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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">{BaR}</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">{BbR}</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">{BcR}</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">{BdR}</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">{BfR}</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">{BhR}</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">{BkR}</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">{BmR}</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">{BoR}</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">{BpR}</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">{BsR}</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">{BtR}</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">{BwR}</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">{BxR}</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">{ByR}</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">{BAR}</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">{BBR}</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">{BER}</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">{BKR}</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">{BNR}</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">{BRR}</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">{BSR}</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">{BTR}</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">{BWR}</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">{BXR}</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">{BYR}</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.
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 "foo"
|
||||
:bg (Tk:choose-color :initial-color "gray"
|
||||
:title "Choose color")))</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>
|
|
@ -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?} {IdataR)}</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
|
||||
|
|
|
@ -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-\ 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,
|
||||
|
|
|
@ -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 "<<</B><I>virtual</I><B>>>"</B><I> sequence </I>?<I>sequence ...</I>?)</A><DD>
|
||||
<DT><A NAME="M4">(<B>event 'add {"<<</B><I>virtual</I><B>>>"</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 "<<</B><I>virtual</I><B>>>" </B>?<I>sequence sequence ...</I>?)</A><DD>
|
||||
<DT><A NAME="M5">(<B>event 'delete {"<<</B><I>virtual</I><B>>>"} </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>"<<<I>virtual</I><B>>>"</B>)</A><DD>
|
||||
<DT><A NAME="M7">{(Bevent} 'info)</A><DD>
|
||||
<DT><A NAME="M8">(<B>event 'info {</B>"<<<I>virtual</I><B>>>"</B>)}</A><DD>
|
||||
Returns information about virtual events.
|
||||
If the "<B><<</B><I>virtual</I><B>>></B>" 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">{BnowR}</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">{BtailR}</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">{BheadR}</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">{BmarkR}</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
|
||||
|
|
|
@ -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} {IwindowR?} {?IoptionR?)}</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} {IwindowR?)}</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} {IwindowR?} {ItextR)}</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} {IwindowR?} {?IoptionR?)}</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
|
||||
|
|
|
@ -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 with:</I></A><DD>
|
||||
<DT><A NAME="M4">{<I>Included with:</I>}</A><DD>
|
||||
(require "ftp")
|
||||
<P>
|
||||
<DT><A NAME="M5"><I>Inherits from:</I></A><DD>
|
||||
<DT><A NAME="M5">{<I>Inherits from:</I>}</A><DD>
|
||||
<top>
|
||||
<P>
|
||||
<DT><A NAME="M6"><I>Direct slots:</I></A><DD>
|
||||
<DT><A NAME="M6">{<I>Direct slots:</I>}</A><DD>
|
||||
<B>host</B> contains the name of the host to connect to.
|
||||
<P>
|
||||
<P>
|
||||
|
|
|
@ -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} {InameR}</A><DD>
|
||||
<I>name</I> gives the name of a file whose contents define the source
|
||||
image.
|
||||
|
||||
|
|
|
@ -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 "left" :expand #t :fill "both")
|
||||
(pack .s :side "right" :expand #f :fill "y")</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>
|
||||
|
|
|
@ -77,6 +77,8 @@ Hereafter are simple uses of the <B>STk:make-dialog</B> procedure
|
|||
(display "bar\n")))
|
||||
(list "baz" (lambda ()
|
||||
(display "baz\n")))))</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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 "Really quit?"
|
||||
:type 'YesNo
|
||||
:icon 'question)))
|
||||
(case answer
|
||||
((yes) (exit))
|
||||
(else (Tk:message-box :message "I know you like this application!"
|
||||
: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>
|
|
@ -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>
|
||||
|
|
|
@ -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} {IchannelIdR}</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>
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
<H3><A NAME="M2">SYNOPSIS</A></H3>
|
||||
<P>
|
||||
<DL>
|
||||
<DT><A NAME="M3"><I>ERROR MANAGEMENT</I></A><DD>
|
||||
<DT><A NAME="M3">{<I>ERROR MANAGEMENT</I>}</A><DD>
|
||||
<B>*errno*</B>
|
||||
<P>
|
||||
<P>
|
||||
<P>
|
||||
(<B>posix-perror</B> <I>str</I>)
|
||||
<P>
|
||||
<DT><A NAME="M4"><I>FILES AND DIRECTORIES</I></A><DD>
|
||||
<DT><A NAME="M4">{<I>FILES AND 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 FUNCTIONS</I></A><DD>
|
||||
<DT><A NAME="M5">{<I>TIME 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 FUNCTIONS</I></A><DD>
|
||||
<DT><A NAME="M6">{<I>PROCESSES 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 INFORMATIONS</I></A><DD>
|
||||
<DT><A NAME="M7">{<I>SYSTEM 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 MANAGEMENT</I></A><DD>
|
||||
<DT><A NAME="M9">{<I>ERROR 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 AND DIRECTORIES</I></A><DD>
|
||||
<DT><A NAME="M12">{<I>FILES AND DIRECTORIES</I>}</A><DD>
|
||||
</DL>
|
||||
<P>
|
||||
<P>
|
||||
|
@ -135,7 +135,7 @@ structure is not viewable by itself. Use, <B>posix-stat->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->vector</B> <I>descr</I>)</A><DD>
|
||||
<DT><A NAME="M14">{(<B>posix-stat->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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 BnewR}</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 IdisplayR}</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 IfileNameR}</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 IgeometryR}</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 InameR}</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-syncR}</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 IvisualR}</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-tkR}</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 IfileNameR}</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 IfileNameR}</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 InumberR}</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-interactiveR}</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-helpR}</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_LIBRARYR}</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_PATHR}</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_PATHR}</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_PATHR}</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.stkR}</A><DD>
|
||||
<DT><A NAME="M31">{I$STK_LIBRARY/STk/init.stkR}</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~/.stkrcR}</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.
|
||||
|
|
312
Help/text.n.html
312
Help/text.n.html
|
@ -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} {IwhereR}</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} {IimageR}</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} {IImageNameR}</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} {IpixelsR}</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} {IpixelsR}</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 < 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} {'cgetR} {Iindex} {optionR)}</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 {IindexR} {?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 {IindexR} {?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} {'namesR)}</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-< 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-> 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-\ 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
11
INSTALL
|
@ -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
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
/* XPM */
|
||||
static char * box_minux_xpm[] = {
|
||||
"9 9 2 1",
|
||||
" c black",
|
||||
". c white",
|
||||
" ",
|
||||
" ....... ",
|
||||
" ....... ",
|
||||
" ....... ",
|
||||
" . . ",
|
||||
" ....... ",
|
||||
" ....... ",
|
||||
" ....... ",
|
||||
" "};
|
|
@ -0,0 +1,14 @@
|
|||
/* XPM */
|
||||
static char * box_plus_xpm[] = {
|
||||
"9 9 2 1",
|
||||
" c black",
|
||||
". c white",
|
||||
" ",
|
||||
" ....... ",
|
||||
" ... ... ",
|
||||
" ... ... ",
|
||||
" . . ",
|
||||
" ... ... ",
|
||||
" ... ... ",
|
||||
" ....... ",
|
||||
" "};
|
|
@ -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 ",
|
||||
" ",
|
||||
" "};
|
||||
|
|
@ -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 ;\
|
||||
|
|
|
@ -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")
|
|
@ -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
|
||||
|
|
|
@ -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")
|
|
@ -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)))
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
||||
|
|
20
Lib/init.stk
20
Lib/init.stk
|
@ -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)
|
||||
|
|
|
@ -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")
|
33
Lib/menu.stk
33
Lib/menu.stk
|
@ -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))
|
||||
|
|
|
@ -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")
|
|
@ -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*)
|
||||
|
|
284
Lib/prolog.ps
284
Lib/prolog.ps
|
@ -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
|
|
@ -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
|
||||
|
|
12
Lib/text.stk
12
Lib/text.stk
|
@ -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|))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
58
Makefile.in
58
Makefile.in
|
@ -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
10
README
|
@ -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
424
STk.prj
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue