diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2019-01-07 19:38:30 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2019-01-07 19:38:30 (GMT) |
commit | 917eac6db5489b4256a4ba42d89df60e80906894 (patch) | |
tree | fb96917e1f49ca7bcef7efc1107c1306f604a471 /tkhtml1/doc | |
parent | 09e487f0e296d4f8b4d8f52913e0853cd6267ab1 (diff) | |
download | blt-917eac6db5489b4256a4ba42d89df60e80906894.zip blt-917eac6db5489b4256a4ba42d89df60e80906894.tar.gz blt-917eac6db5489b4256a4ba42d89df60e80906894.tar.bz2 |
update TEA 3.13
Diffstat (limited to 'tkhtml1/doc')
-rw-r--r-- | tkhtml1/doc/COPYING | 339 | ||||
-rw-r--r-- | tkhtml1/doc/COPYRIGHT | 25 | ||||
-rw-r--r-- | tkhtml1/doc/README | 15 | ||||
-rw-r--r-- | tkhtml1/doc/notes1.txt | 52 | ||||
-rw-r--r-- | tkhtml1/doc/simple.make | 80 | ||||
-rw-r--r-- | tkhtml1/doc/spec.html | 677 | ||||
-rw-r--r-- | tkhtml1/doc/webpage/mkwebpage.tcl | 195 |
7 files changed, 0 insertions, 1383 deletions
diff --git a/tkhtml1/doc/COPYING b/tkhtml1/doc/COPYING deleted file mode 100644 index e77696a..0000000 --- a/tkhtml1/doc/COPYING +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/tkhtml1/doc/COPYRIGHT b/tkhtml1/doc/COPYRIGHT deleted file mode 100644 index f42114b..0000000 --- a/tkhtml1/doc/COPYRIGHT +++ /dev/null @@ -1,25 +0,0 @@ -# -# Smithsonian Astrophysical Observatory, Cambridge, MA, USA -# This code has been modified under the terms listed below and is made -# available under the same terms. -# -# Copyright (C) 1997,1998 D. Richard Hipp -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. -# -# You should have received a copy of the GNU Library General Public -# License along with this library; if not, write to the -# Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. -# -# Author contact information: -# drh@acm.org -# http://www.hwaci.com/drh/ diff --git a/tkhtml1/doc/README b/tkhtml1/doc/README deleted file mode 100644 index 8f3613a..0000000 --- a/tkhtml1/doc/README +++ /dev/null @@ -1,15 +0,0 @@ -This directory contains all source code files for the TkHtml -widget. TkHtml renders HTML for Tcl/Tk 8.0 and later. - - COPYRIGHT Text of the GNU Public License, under which this - software is distributed. - - - COMPILE.txt Instructions on how to compile TkHtml. - - doc Other documentation about TkHtml. - - src All of the source code. - - tools Source code to tools that are used to build the widget - but which do not become part of the widget. diff --git a/tkhtml1/doc/notes1.txt b/tkhtml1/doc/notes1.txt deleted file mode 100644 index 120f33f..0000000 --- a/tkhtml1/doc/notes1.txt +++ /dev/null @@ -1,52 +0,0 @@ -The HTML widget uses lots of TCL callback routines. But a TCL -callback can do nasty things. For example, a TCL callback -could delete the HTML widget that invoked the callback. Or -it could delete the TCL interpreter in which the HTML widget -is running. So we have to call HtmlLock() before invoking -a TCL callback and check to make sure the widget was not -deleted before using any fields in the widget structure after -the callback runs. - -The following routines can call TCL callbacks, either directly -or indirectly: - - HtmlTokenizerAppend() - HtmlParseCmd() - HtmlWidgetCommand() - HtmlGetImage() - HtmlAddStyle() - HtmlParseCmd()... - HtmlSizer() - HtmlLayout() - HtmlRedrawCallback() - GetLinkColor() - HtmlAddStyle()... - HtmlCallResolver() - HtmlGetImage()... - HtmlResolveCmd() - HtmlWidgetCommand() - HtmlRedrawCallback()... - HtmlGetFont() - DrawSelectionBackground() - HtmlBlockDraw()... - HtmlBlockDraw() - HtmlRedrawCallback() - FindIndexInBlock() - DecodeBaseIndex() - HtmlGetIndex() - HtmlIndexCmd() - HtmlWidgetCommand()... - HtmlSelectionSetCmd() - HtmlWidgetCommand()... - HtmlInsertCmd() - HtmlWidgetCommand()... - Paragraph() - DoBreakMarkup() - HtmlLayoutBlock() - HtmlLayout()... - HtmlTableLayout() - DoBreakMarkup()... - HtmlDeleteControls() - HtmlClear() - HtmlWidgetCommand()... - HtmlDestroyWidget() diff --git a/tkhtml1/doc/simple.make b/tkhtml1/doc/simple.make deleted file mode 100644 index cd99dc6..0000000 --- a/tkhtml1/doc/simple.make +++ /dev/null @@ -1,80 +0,0 @@ -#! /bin/sh -# -# Trying to generate a loadable module for Tcl/Tk8.1.1 on -# WindowsNT using Cygwin20 cross-compiler running under -# RedHat6.0. - -# Step -1: -# Make a copy of winsock.h into winsock2.h. "Winsock2.h" is needed by -# tclWinPort.h. tclWinPort.h is included by tclStubLib.c in step 3. -# - -# Step 0: -# Make sure the cross-compiler tools are on PATH and remove -# old files. -# -PATH=$PATH:/opt/cygwin20/bin -rm -f simple.o stublib.o simple.dll - -# Step 1: -# Generate the C source code into "simple.c" -# -cat >simple.c <<\END -#include <tcl.h> - -int Simple_Init(Tcl_Interp *interp){ - Tcl_InitStubs(interp,"8.1",0); - Tk_InitStubs(interp,"8.1",0); - return TCL_OK; -} -END - -# Step 2: -# Compile the C source code yielding simple.o -# -i586-cygwin32-gcc \ - -I/home/drh/tcltk/tcl8.1.1/generic \ - -mno-cygwin \ - -DUSE_TCL_STUBS=1 \ - -c simple.c - -# Step 3: -# Compile the Stub libraries yielding tclstub.o and tkstub.o -# -i586-cygwin32-gcc \ - -I/home/drh/tcltk/tcl8.1.1/generic \ - -I/home/drh/tcltk/tcl8.1.1/win \ - -mno-cygwin \ - -o tclstub.o \ - -c /home/drh/tcltk/tcl8.1.1/generic/tclStubLib.c -i586-cygwin32-gcc \ - -I/home/drh/tcltk/tcl8.1.1/generic \ - -I/home/drh/tcltk/tcl8.1.1/win \ - -I/home/drh/tcltk/tk8.1.1/generic \ - -I/home/drh/tcltk/tk8.1.1/win \ - -I/home/drh/tcltk/tk8.1.1/xlib \ - -mno-cygwin \ - -o tkstub.o \ - -c /home/drh/tcltk/tk8.1.1/generic/tkStubLib.c - -# Step 4: -# Generate the DEF file -# -cat >simple.def <<\END -EXPORTS -Simple_Init -END - -# Step 5: -# Use dllwrap to build the DLL. Note: tclstub81.lib is copied out -# of the binary tk8.1 distribution from Scriptics. -# -i586-cygwin32-dllwrap \ - --def simple.def \ - -v \ - --driver-name i586-cygwin32-gcc \ - --dlltool-name i586-cygwin32-dlltool \ - --as i586-cygwin32-as \ - --dllname simple.dll \ - --target i386-mingw32 -mno-cygwin \ - simple.o tclstub.o tkstub.o diff --git a/tkhtml1/doc/spec.html b/tkhtml1/doc/spec.html deleted file mode 100644 index cc88b52..0000000 --- a/tkhtml1/doc/spec.html +++ /dev/null @@ -1,677 +0,0 @@ -<html> -<!-- - Specifications for the Tk HTML Widget - $Revision$ - Copyright (C) 1997, 1998, 1999 D. Richard Hipp - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - Author Contact Information: - drh@acm.org - http://www.hwaci.com/drh/ - - @(#) $Id$ ---> -<head> -<title>Interface Specification For The HTML Widget</title> -</head> -<body bgcolor=white> -<h1>Interface Specification For The HTML Widget</h1> - -<p>This is a draft interface specification for the Tk HTML -widget currently under development. -Since it is still a draft, it is subject to change. -Eventually, the interface will stabilize and this interface -specification will morph into a manual page.</p> - -<h2>Configuration Options</h2> - -<table cellspacing=10> -<tr><td valign=top><tt>-appletcommand</tt></td> -<td> - <p>This option specifies the name of the Tcl procedure to invoke when the - <tt><applet>...</applet></tt> tag sequence is seen. The html - widget will append two arguments to the procedure before calling it. - The first argument is the name of a widget that the callback should - create to hold the applet. - The second argument is - a list of name/value pairs which are the arguments to - the <tt><applet></tt> tag.</p> - - <p>The text between <tt><applet></tt> and <tt></applet></tt> - is normally suppressed. - However, if the <tt>-appletcommand</tt> option is set to the empty string, - the <tt><applet></tt> tag is ignored and all text between - <tt><applet></tt> and <tt></applet></tt> is displayed - normally.</p> - - <p>"<embed>" is treated as an alias for - "<applet></applet>".</p> -</td></tr> - -<tr><td valign=top><tt>-background</tt></td> -<td> - <p>The background color for the widget.</p> - - <p>Note that the <tt><body bgcolor=...></tt> HTML tag does not - automatically cause the widget to change its background color. If - you want the background color to change in response to this HTML tag, - then your Tcl script should intercept - the <tt><body></tt> tag using the - ``<tt>token handler</tt>'' widget command (described below) and - change the background color manually.</p> -</td></tr> - -<tr><td valign=top><tt>-base</tt></td> -<td> - <p>The base URI for the current document. This should be set to - the URI that was used to retrieve the document before parsing - begins.</p> -</td></tr> - -<tr><td valign=top><tt>-bd</tt><td>An alias for <tt>-borderwidth</tt> - -<tr><td valign=top><tt>-bg</tt><td>An alias for <tt>-background</tt> - -<tr><td valign=top><tt>-borderwidth</tt></td> -<td> - <p>The width of the 3-D border drawn around the parameter of the widget, in - pixels.</p> -</td></tr> - -<tr><td valign=top><tt>-cursor</tt></td> -<td> - <p>The cursor displayed when the pointer is positioned over the HTML widget. - If {}, the cursor reverts to its default shape.</p> -</td></tr> - -<tr><td valign=top><tt>-exportselection</tt></td> -</tr> - -<tr><td valign=top><tt>-fontcommand</tt></td> -<td> - <p>The name of a TCL procedure that is used to convert HTML font names - into TCL font names. A default built-in procedure is used if the value - of this option is {}.</p> - - <p>When the HTML widget needs a new font, it calls this procedure with - two arguments. This first argument is the font size expressed as an - integer between 1 and 7. The standard size is 4. The second argument - is a set of between 0 and 3 keywords drawn from the following set: - "bold", "italic", and "fixed". If the "bold" keyword is present in - the second argument, the font returned should be bold. If the "italic" - keyword is present, the font should be italic. If the "fixed" keyword - is present, the font should be fixed-width. The TCL procedure should - return the name of the TCL font that the HTML widget will use to render - the given HTML font. If the TCL procedure returns an empty string, - then the built-in default procedure is used to determine the font.</p> - - <p>Examples: This is {4 {}}. <tt>This is {4 fixed}</tt>. - <small>This is {3 {}}</small>. <large><tt><bold>This is {5 {fixed bold}} - </bold></tt></large></p> -</td></tr> - - -<tr><td valign=top><tt>-fg</tt></td> -<td>An alias for <tt>-foreground</tt>.</td> -</tr> - -<tr><td valign=top><tt>-foreground</tt></td> -<td> - The default foreground color in which HTML text is rendered. - The HTML can override this using the <tt>color=...</tt> attribute - on various HTML tags. -</td></tr> - -<tr><td valign=top> -<code>-formcommand <var>string</var></code> -</td><td> -Declares a handler for everything to do with forms within a document. -Arguments will be appended to <var>string</var> and the result evaluated -during parsing (for form creation) and when the widget is cleared (for -form cleanup). The first argument is a token for -identifying a form. The second argument selects the action to perform. -The remaining arguments depend on the action, as follows. - -<dl><dt><code><var>string token</var> form <var>URL method attrs</var></code> -<dd>The handler should begin taking notes for form <var>token</var>, -especially the (resolved) <var>URL</var> of the action and the -<var>method</var> to be applied. The raw attributes of the FORM element -are in the pairlist <var>attrs</var>. - -<dt><code><var>string token</var> flush</code> -<dd>When the document is cleared, the widget will destroy all the windows -it requested. This handler should clean up anything else -it created for that form. - -<dt><code><var>string token</var> input <var>path attrs</var></code> -<dd>The handler should create a window named <var>path</var> -appropriate for the element described by the <var>attrs</var>. -The widget will map the window into its rendering appropriately. -<p>It is not an error for the handler to return without creating such a window -(it's natural in the case of type=hidden); the widget simply -ignores the element in that case. -The attributes are the raw values in the HTML, with one exception; -a <code>src</code> will be resolved before the handler is called. - -<dt><code><var>string token</var> textarea <var>path attrs initial</var></code> -<dd>The handler should create a window (a single Text, or a Frame with Text -and Scrollbars, or whatever) appropriate for a <textarea> and -initialise it to the <var>initial</var> string. - -<dt><code><var>string token</var> select <var>path attrs choices initial</var></code> -<dd><em><select> is quite a complicated case...</em> -The handler should create a window -appropriate for a <select> of the given attributes and -present the list of <var>choices</var>. Each choice is a pair, the -value and its label. <var>initial</var> is a list of values initially -selected. <em>This approach is somewhat questionable but should do -most of the time.</em> -</dl> - -Caution: Be very careful to avoid confusing HTML variables with TCL -variables. It may be tempting to use the <code>name</code> attribute -fairly directly to link -together related widgets, but it will likely cause incorrect -behaviours. Also be careful to observe the order in which the elements are -created; this determines the order in which they must be submitted. -A default form handler with the correct bahaviour written in TCL will be -bundled with the widget. -<p>The attribute names will be downcased within <var>attrs</var>. -</td></tr> - -<tr><td valign=top><tt>-framecommand</tt><td> -The script specified by this option is invoked when the HTML parser -encounters a <tt><frameset>...</frameset></tt> tag sequence. -The arguments to the script are TBD. -If the value of the option is the empty string, then the text within -the <tt><noframe>...</noframe></tt> tag sequence is displayed. - -<tr><td valign=top><tt>-height</tt><td> -Specifies the height of the area into which HTML is rendered. -This value plus twice the <tt>-padx</tt>, <tt>-borderwidth</tt> and -<tt>-highlightthickness</tt> values is the total height of the widget. - -<tr><td valign=top><tt>-highlightbackground</tt><td> - -<tr><td valign=top><tt>-highlightcolor</tt><td> - -<tr><td valign=top><tt>-highlightthickness</tt><td> - -<tr><td valign=top><tt>-hyperlinkcommand</tt></td> -<td> - The script specified by this option is invoked whenever the user - clicks on a hyperlink on the HTML page. Before invoking this - script, the URI for the hyperlink is appended. -</td></tr> - -<tr><td valign=top><tt>-imagecommand</tt></td> -<td> - When a ``<tt><img src=...></tt>'' tag is encountered, the - HTML widget invokes the script specified by this option in order to - get the name of a Tk image object to display the HTML image. - Before invoking the script, the following arguments are appended: - <ol> - <li>The value of the <tt>src=...</tt> parameter after have been - processed by the resolver. - <li>The value of the <tt>width=...</tt> parameter. - <li>The value of the <tt>height=...</tt> parameter. - <li>A list containing the names and values of all parameters. - </ol> - If the name returned by this script is the empty string, or if the - script is an empty string, then the HTML widget displays the - <tt>alt=...</tt> text of the <tt><img></tt> tag instead of - an image. -</td></tr> - -<tr><td valign=top><tt>-isvisitedcommand</tt><td> -When the HTML widget encounters a hyperlink -(``<tt><a href=...></tt>'') it invokes the script specified -by this option in order to determine whether or not the hyperlink -has been visited. -This information is needed to determine what color to use to display -the hyperlink. - -<tr><td valign=top><tt>-padx</tt><td> -The amount of extra space to insert between the 3-D border and the -left and right sides of the document text. - -<tr><td valign=top><tt>-pady</tt><td> -The amount of extra space to insert between the 3-D border and the top -and bottom of the document text. - -<tr><td valign=top><tt>-relief</tt><td> -The relief used to draw the 3-D border. - -<tr><td valign=top><tt>-resolvercommand</tt></td> -<td> - <p>The name of a TCL command used to resolve URIs. If blank, a built-in - resolver is used. If a TCL command is specified but it returns - an empty string, the built-in resolver is used then too. - The build-in resolver is based on the algorithm - in section 5.2 of RFC 2396. </p> - - <p>Multiple URIs are appended to the TCL command before it is executed. - The first URI is the BASE URI of the document (the URL that specified - by the -base configuration option and updated according to any prior - <BASE> markup). Zero or more additional URIs are - appended to this base. The result of the script should be the resolution - of the whole series or URIs.</p> -</td></tr> - -<tr><td valign=top><tt>-rulerelief</tt></td> -<td> - <p>Determines the appearance of the Horizontal Rule (<HR>) markup. - The default is "sunken". This can also be "raised" or "flat". If - "flat", then the <HR> is drawn using a solid line in the current - foreground color. "groove" and "ridge" are the same as "flat".</p> -</td></tr> - -<tr><td valign=top><tt>-scriptcommand</tt></td> -<td> - <p>Whenever <SCRIPT>...</SCRIPT> markup is encountered in - the input HTML, the attributes of the <SCRIPT> markup and - the body of the script are appended to this string and the result - is executed as a TCL command. If this options is the empty string, - then the script is ignored. -</td></tr> - -<tr><td valign=top><tt>-selectioncolor</tt><td> -The background color used when drawing the selection. The -foreground color for the selection is the same as the regular -foreground color. - -<tr><td valign=top><tt>-tablerelief</tt></td> -<td> - <p>Determines the appearance of the borders around tables. - The default is "raised". This can also be "sunken" or "flat". If - "flat", then the borders is drawn using solid lines in the current - foreground color. "groove" and "ridge" are the same as "flat".</p> -</td></tr> - -<tr><td valign=top><tt>-takefocus</tt><td> - -<tr><td valign=top><tt>-unvisitedcolor</tt><td> -The foreground color used to draw hyperlinks that have not been visited. - -<tr><td valign=top><tt>-underlinehyperlinks</tt><td> -Set to TRUE to cause hyperlinks to be drawn using an underlined font. - -<tr><td valign=top><tt>-visitedcolor</tt><td> -The foreground color used to draw hyperlinks that have been visited. - -<tr><td valign=top><tt>-width</tt><td> -The width of the document text. -This value does not include space allocated for -<tt>-highlightthickness</tt>, <tt>-borderwiddth</tt> or -<tt>-padx</tt>. - -<tr><td valign=top><tt>-xscrollcommand</tt><td> - -<tr><td valign=top><tt>-yscrollcommand</tt><td> - -</table> - -<h2>Indices</h2> - -Internally, the HTML widget stores the HTML document as a list of -tokens. -Each token is either -<ul> -<li>a contiguous sequence of non-space characters (Text), -<li>a contiguous sequence of spaces, tabs or newlines (Space), -<li>or an HTML markup tag (such as ``<tt><em></tt>''.) -</ul> -Tokens are identified by number. -The first token is ``1'', the second is ``2'' and so forth. -So in its simplest form, an index is just an integer greater than 0. -<p> -Within a single Text or Space token, individual characters are -also identified by number, though the counting starts with 0 instead -of 1. -The character number is connected to the token number by a period. -So, for example, the 4th character in the 9th token would be -``9.3''. -<p> -Two integers separated by a dot is called the <em>connonical</em> form -of an index. -Other index forms are available, including: - -<table cellspacing=10> -<tr><td valign=top>end<td> -The keyword ``end'' means one character past -the last character of the last token. -<tr><td valign=top>@X,Y<td> -The character located at screen coordinates X,Y. -<tr><td valign=top>*.last<td> -The second integer can be replaced by the keyword ``last'' to mean the -last character in the token. -<tr><td valign=top>sel.first<td> -This is the first character that is part of the selection. -<tr><td valign=top>sel.last<td> -This is the last character that is part of the selection. -<tr><td valign=top>ins<td> -The character immediately following the insertion cursor. -</table> - -<h2>Commands</h2> - -<dl> -<dt><b>html</b> <i>window</i> ?<i>options ...</i>?</dt><p> -<dd> - Create a new HTML widget instance named <i>windows</i> -</dd> -<p> -<dt><b>html</b> <b>reformat</b> <i>from to text</i><p> -<dd> -Convert text from one encoding to another. The text is given -in the <i>text</i> argument. The current encoding of the text -is specified by the <i>from</i> argument. This command returns -the same text in the <i>to</i> encoding. -<p> -<i>From</i> and <i>to</i> may be any of the following values: -<p> -<table cellspacing=10> -<tr><td valign=top>plain</td> -<td> - Ordinary text with no characters escaped. -</td></tr> -<tr><td valign=top>http</td> -<td> - The text is encoded in a form suitable for use with the HTTP - protocol. Spaces are converted to "+". Special characters - and escaped as "%aa" where "a" is a hexadecimal digit. A special - character is anything other than an alphanumeric or one of these: - ".", "$", "-", or "_". -</td></tr> -<tr><td valign=top>url</td> -<td> - The text is encoded in a form suitable for use as a URI. - Spaces are converted to "+". Special characters - and escaped as "%aa" where "a" is a hexadecimal digit. A special - character is anything other than an alphanumeric or one of these: - ".", "$", "-", "_", or "/". -</td></tr> -<tr><td valign=top>html</td> -<td> - The text is encoded in a form suitable for use within HTML. - "&" is encoded as "&amp;", "<" is encoded as "&lt;" and so - forth. -</td></tr> -</table> -<p> -This command is intended to be useful to the TCL procedures that implement -callbacks for the HTML widget. -</dd> -<p> -<dt><b>html</b> <b>uri join</b> <i>scheme authority path query fragment</i><p> -<dd> -This command takes the five main components of a URI and joins them together -into a complete URI. Special characters in any component are escaped. -</dd> -<p> -<dt><b>html</b> <b>uri split</b> <i>uri</i><p> -<dd> -This command takes a single URI and splits it into its five major -components: scheme, authorithy, path, query and fragement. The command -returns a list where each component is an element of the list. -Components missing from the URI are represented as empty elements in -the list. -</dd> - -</dl> - -<h2>Widget Commands</h2> - -<dl> - -<dt><i>WIDGET</i>  <tt>cget</tt> <i>config-option</i><p> -<dd> -Return the value of a configuration option. Works just like any -other Tk widget. -<p> - -<dt><i>WIDGET</i>  <tt>clear</tt><p> -<dd> -Remove all tokens and text from the HTML widget. -The parser is reset to its initial state. -This routine should be called to changes pages. -<p> - -<dt><i>WIDGET</i>  <tt>configure</tt> ?<i>args...</i>?<p> -<dd> -The standard Tk configuration command. -<p> - -<dt><i>WIDGET</i>  <tt>href</tt>  <i>X  Y</i><p> -<dd>If the coordinates <i>X Y</i> define a point above a hyperlink, -then this command will return the target URL for that hyperlink. -The URL will be resolved using the -resolvercommand before it -is returned. -<p> - -<dt><i>WIDGET</i>  <tt>index</tt>  <i>INDEX  ?COUNT  UNITS?</i></p> -<dd> -Translates <i>INDEX</i> into its connonical form. -The connonical form of an index is two integers separated by a period. -<p> -The optional 3rd and 4th arguments specify a displacement from <i>INDEX</i> -to the value of the index returned. -<i>COUNT</i> can be any integer value, including a negative number. -<i>UNITS</i> must be either ``<tt>char</tt>'' or ``<tt>line</tt>''. -<p> - -<dt><i>WIDGET</i>  <tt>insert</tt>  <i>INDEX</i><p> -<dd> -Causes the insertion cursor (a flashing vertical bar) to be positioned -immediately before the character specified by <i>INDEX</i>. -<p> - -<dt><i>WIDGET</i>  <tt>names</tt><p> -<dd> -This command causes the widget to scan the entire text of the document -looking for tags of the form ``<tt><a name=...></tt>''. -It returns a list of values of the <tt>name=...</tt> fields. -<p> -The vertical position of the document can be moved to any of these names -using the ``<i>WIDGET</i> <tt>yview</tt> <i>NAME</i>'' command described -below. -<p> - -<dt><i>WIDGET</i>  <tt>parse</tt>  <i>HTML-TEXT</i><p> -<dd>Adds the given HTML text to the end of any text previously received -through the <tt>parse</tt> command and parses as much of the text as -possible into tokens. -Afterwards, the display is updated to show the new tokens, if they are -visible.<p> - -<dt><i>WIDGET</i> <tt>resolver</tt> ?<i>uri ...</i>?<p> -<dd>The resolver specified by the -resolvercommand option - is called with the - base URI of the document followed - by the remaining arguments to this commant. The result of this - command is the result of the -resolvercommand script.<p> - -<dt><i>WIDGET</i>  <tt>selection</tt>  <i>subcommand args...</i><p> -<dd>The selection widget command is used to control the selection.<p> - <dl> - <dt><i>WIDGET</i>  <tt>selection clear</tt><p> - <dd>Clear the current selection. No text will be selected after this - command executes.<p> - - <dt><i>WIDGET</i>  <tt>selection set</tt>  <i>START  END</i><p> - <dd>Change the selection to be all text contained within the given - indices.<p> - </dl> - <p> - -<dt><i>WIDGET</i>  <tt>text</tt>  <i>subcommand args...</i><p> -<dd>There are several token commands. They all have the common -property that they directly manipulate the text that is displayed. -These commands (none of which are currently implemented) can be used -to build an WYSIWYG editor for HTML.<p> - <dl> - <dt><i>WIDGET</i> <tt>text ascii</tt>  <i>INDEX-1  INDEX-2</i><p> - <dd><p> - Returns plain ASCII text that represents all characters between - <i>INDEX-1</i> and <i>INDEX-2</i>. Formatting tags are omitted. - The <i>INDEX-1</i> character is included by <i>INDEX-2</i> is omitted. - <p> - - <dt><i>WIDGET</i> <tt>text delete</tt>  <i>INDEX-1  INDEX-2</i><p> - <dd><p> - All text from <i>INDEX-1</i> up to, but not including <i>INDEX-2</i> is - removed and the display is updated accordingly. - <p> - - <dt><i>WIDGET</i> <tt>text html</tt>  <i>INDEX-1  INDEX-2</i><p> - <dd><p> - Returns HTML text that represents all characters and formatting tags - between <i>INDEX-1</i> and <i>INDEX-2</i>. - The <i>INDEX-1</i> character is included by <i>INDEX-2</i> is omitted. - <p> - - <dt><i>WIDGET</i> <tt>text insert</tt>  <i>INDEX  TEXT</i><p> - <dd><p> - Inserts one or more characters immediately before the character whose - index is given. - <p> - </dl> - - -<dt><i>WIDGET</i>  <tt>token</tt>  <i>subcommand args...</i><p> -<dd>There are several token commands. They all have the common - property that they involve the list of tokens into which the - HTML is parsed.<p> - Some of the following subcommands make use of indices. The - character number of these indices is ignored since these commands - deal only with whole tokens. - <p> - <dl> - <dt><i>WIDGET</i> <tt>token append</tt> - <i>TAG ARGUMENTS</i><p> - <dd> - The command causes a token to be appended to the current list of - tokens in the HTML widget. This command is typically used within - a token handler. - <p> - - - <dt><i>WIDGET</i> <tt>token delete</tt> - <i>INDEX  ?INDEX-2?</i><p> - <dd> - Deletes the single token indentified by the index. If a second index is - given, the range of tokens from the first to the second index inclusive - is deleted. - <p> - - <dt><i>WIDGET</i> <tt>token find</tt> - <i>TAG</i><p> - <dd> - Locates all tokens with the given <i>TAG</i> and returns them all - as a list. - Each element of the returned list is a sublist containing the index - for the token and the arguments for the token. - <p> - - <dt><i>WIDGET</i> <tt>token get</tt> - <i>INDEX  ?INDEX-2?</i><p> - <dd> - Returns a list of tokens in the range of <i>INDEX</i> through - <i>INDEX-2</i>. - Each element of the list consists of the token tag followed by - the token arguments. - <p> - - <dt><i>WIDGET</i> <tt>token handler</tt> - <i>TAG ?SCRIPT?</i><p> - <dd> - This command allows special processing to occur for selected tokens - in the HTML input stream. - The <i>TAG</i> argument is either ``Text'' or ``Space'' or the name - of an HTML tag (ex: ``H3'' or ``/A''). - If a non-empty script is specified for a particular tag, then when - instances of that tag are encountered by the parser, the parser calls the - corresponding script instead of appending the token to the end of the - token list. Before calling the script, three arguments are appended: - <ol> - <li>The token number. - <li>The tag. (ex: <tt>H3</tt>) - <li>A list of name/value pairs describing all arguments to the tag. - </ol> - An empty handler script causes the default processing to occur for - the tag. If the script argument is omitted all together, then - the current value of the token handler for the given tag is returned. - <p> - Only one handler may be defined for each token type. If a new - handler is specified for a token type that previously had a different - handler defined, then the old handler is overwritten by the new. - <p> - - <dt><i>WIDGET</i> <tt>token insert</tt> - <i>INDEX  TAG  ARGUMENTS</i><p> - <dd> - Inserts a single token given by <i>TAG</i> and <i>ARGUMENTS</i> into - the token list immediately before <i>INDEX</i>. - <p> - </dl> - -<p> - -<dt><i>WIDGET</i> <tt>xview</tt> <i>args...</i><p> -<dd>Used to control horizontal scrolling.<p> - <dl> - <dt><i>WIDGET</i>  <tt>xview</tt><p> - <dd>Returns a list containing two elements. The elements are a fractions - between 0.0 and 1.0 that define the position of the left and right - edges of - the visible part of the document as a fraction of the whole.<p> - <dt><i>WIDGET</i>  <tt>xview moveto</tt>  <i>FRACTION</i><p> - <dd>Adjusts the horizontal position of the document so that - <i>FRACTION</i> of the horizontal span of the document is off-screen - to the left.<p> - <dt><i>WIDGET</i>  <tt>xview scroll</i>  <i>NUMBER  WHAT</i><p> - <dd> - Shifts the view in the window left or right according to - <i>NUMBER</i> and <i>WHAT</i>.   <i>NUMBER</i> is an integer - and <i>WHAT</i> is either <tt>units</tt> or <tt>pages</tt>.<p> - </dl> - -<dt><i>WIDGET</i>  <tt>yview</tt> <i>args...</i><p> -<dd>Used to control the vertical position of the document.<p> - <dl> - <dt><i>WIDGET</i>  <tt>yview</tt><p> - <dd>Returns a list containing two elements. The elements are a fractions - between 0.0 and 1.0 that define the position of the top and bottom - edges of - the visible part of the document as a fraction of the whole.<p> - <dt><i>WIDGET</i>  <tt>yview</tt>  <i>NAME</i><p> - <dd>Adjusts the vertical position of the document so that the tag - ``<tt><a name=</tt><i>NAME</i><tt>></tt>'' is on screen, - and preferably near the top of the screen.<p> - <dt><i>WIDGET</i>  <tt>yview moveto</tt>  <i>FRACTION</i><p> - <dd>Adjusts the horizontal position of the document so that - <i>FRACTION</i> of the vertical span of the document is off-screen - above the visible region.<p> - <dt><i>WIDGET</i>  <tt>xview scroll</i> <i>NUMBER WHAT</i><p> - <dd> - Shifts the view in the window up or down according to - <i>NUMBER</i> and <i>WHAT</i>.   <i>NUMBER</i> is an integer - and <i>WHAT</i> is either <tt>units</tt> or <tt>pages</tt>.<p> - </dl> - -</dl> -</body> -</html> diff --git a/tkhtml1/doc/webpage/mkwebpage.tcl b/tkhtml1/doc/webpage/mkwebpage.tcl deleted file mode 100644 index de1d25d..0000000 --- a/tkhtml1/doc/webpage/mkwebpage.tcl +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/tclsh -# -# Construct the web page for tkhtml -# -# @(#) $Id$ -# - -set p [open publish.sh w] -puts $p "#!/bin/sh" -puts $p "#" - -set SendList {} - -set f [open index.html w] -puts $f { -<html> -<head> -<title>An HTML Widget for Tcl/Tk</title> -</head> -<body bgcolor=white> -<h1 align=center>An HTML Widget For Tcl/Tk</h1> -} -puts $f "<p align=center><i>Last update: [clock format [clock seconds]]</i></p>" -puts $f { -<p>"Tkhtml" is a Tcl/Tk widget that displays HTML. Tkhtml -is implemented in C. It is a true widget, not a metawidget implemented -using the Text or Canvas widgets of the Tcl/Tk core. Implementing -Tkhtml in C gives it a number of advantages:</p> - -<p> -<ul> -<li> It runs fast and uses little memory.</li> -<li> It supports smooth scrolling.</li> -<li> It supports text wrap-around on images and tables.</li> -<li> It has a full implementation of tables. Complex pages (such as - <a href="http://www.scriptics.com/">http://www.scriptics.com/</a>) - are displayed correctly.</li> -<li> Supports forms. </li> -<li> It supports the <APPLET>, <SCRIPT> and <EMBED>. - (Partially. Full support is pending.) </li> -<li> Support for frames is planned. </li> -</ul> -</p> - -<p>Tkhtml can be used with Tcl/Tk8.0 or later. -The shared libraries use the new stubs mechanism, so you -should be able to load Tkhtml with any version of "wish" beginning -with 8.0.6.</p> - -<p>At the moment, there is not a lot of software that uses this -widget. Tkhtml is not an application in and of itself. It is only -a tool. But applications are being built around tkhtml. Check back -later for new developments.</p> - -<h2>Mailing List!</h2> - -<p><font color=red><b><i>New!</i></b></font> - A mailing list has been started for users of tkhtml. - Sign up if you want to recieve notifications of updates or - ask questions about using tkhtml.</p> - -<form method=GET action="http://www.egroups.com/subscribe"> -<input type=hidden name="listname" value="tkhtml"> -<input type=hidden name="SubmitAction" value="Subscribe"> -<p>Enter your e-mail address below and click the button to - sign up for the tkhtml mailing list:</p> - -<p> -<table cellspacing=10> -<tr><td valign=center> -<input type=text name="emailaddr" value="your e-mail" size=21> -</td><td valign=center> -<input type=image border=0 alt="Click here to join tkhtml" - name="Click here to join tkhtml" SRC="http://www.egroups.com/oems/default/languages/english/images/subscriptionBoxButton.gif"> -</td></tr> -</table> -</p> - -<p>You can also view the - <a href="http://www.egroups.com/group/tkhtml/">archives</a> - for the mailing list. To post to this mailing list, send a - message to <a href="mailto:tkhtml@eGroups.com">tkhtml@eGroups.com</a>. - The mailing list is hosted by - <a href="http://www.egroups.com/">eGroups.com</A> -</p> -</form> - - -<h2>You Can Help!</h2> - -<p>If you would like to help, please consider -contributing in the following ways:</p> - -<p> -<ul> -<li> Try out tkhtml on your computer and report bugs to - <a href="mailto:drh@acm.org">drh@acm.org</a>. </li> -<li> Fix bugs and send in patches. (Write access to the - CVS repository may be granted to anyone who is serious - about this.)</li> -<li> Make suggestions for new features. </li> -<li> Write applications that use tkhtml. </li> -<li> Improve the documentation. </li> -</ul> -</p> - -<p>Any help you can provide is appreciated.</p> - -<h2>Getting The Widget</h2> - -<p>Visit the <a href="download.html">download</a> page for a list of -files available for immediate download.</p> - -<p>You can now also obtain the latest tkhtml sources via anonymous CVS. -To access the anonymous CVS server, first install CVS on your system. -(See <a href="http://www.cyclic.com/">http://www.cyclic.com/</a> for -additional information.) Then login as follows:</p> - -<blockquote><pre> -cvs -d :pserver:cvs@xoli.dyn.dhs.org:/home/cvs/cvsroot login -</pre></blockquote> - -<p>You will be prompted for a password. Use "<tt>cvs</tt>". After -you get logged in successfully, you can check out the source tree -like this:</p> - -<blockquote><pre> -cvs -d :pserver:cvs@xoli.dyn.dhs.org:/home/cvs/cvsroot checkout htmlwidget -</pre></blockquote> - -<p>This command creates a directory named "<tt>htmlwidget</tt>" and -fills it with the latest version of the sources.</p> - -</body> -</html> -} -close $f -lappend SendList index.html - -set f [open download.html w] -puts $f { -<html> -<head> -<title>TkHtml Download Page</title> -</head> -<body bgcolor=white> -<h1 align=center>TkHtml Download Page</h1> -} -puts $f "<p align=center><i>Last update: [clock format [clock seconds]]</i></p>" -puts $f { - -<p>The files shown below are available for download. For the very -latest sources, visit the anonymous CVS server. Instructions for -reaching the anonymous CVS server are on the tkhtml -<a href="index.html">homepage</a>.</p> - -<ul> -} -foreach {file desc} { - tkhtml.tar.gz {A tarball containing all the latest source code} - hv.tcl.gz {The "Html Viewer" example application} - spec.html {A raw specification of how the tkhtml widget works} - tkhtml.so.gz {Shared library suitable for use on Linux} - tkhtml.dll.zip {A DLL suitable for use on Windows95/98/NT/2K} -} { - if {![file readable $file]} continue - lappend SendList $file - puts $f "<li><p><a href=\"$file\">$file</a><br>" - puts $f "Description: $desc<br>" - puts $f "Size: [file size $file] bytes<br>" - puts $f "Last modified: [clock format [file mtime $file]]" - switch -glob -- $file { - *.zip - - *.gz {set access zcat} - default {set access cat} - } - if {![catch {exec $access $file | ident | grep {$Id: }} ident]} { - puts $f "<br>Version information:" - puts $f "<pre>\n$ident</pre>" - } - puts $f "</p></li>\n" -} -puts $f { -</ul> - -<p><a href="index.html">Back</a> to the tkhtml home page</p> - -</body> -</html> -} -close $f -lappend SendList download.html - -puts $p "scp [lsort $SendList] hwaci@oak.he.net:public_html/sw/tkhtml" -close $p |