initial commit

This commit is contained in:
root
2023-06-12 09:14:09 +02:00
commit b4912f303e
2545 changed files with 209350 additions and 0 deletions

340
tools/hyp_view/COPYING Normal file
View File

@@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 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) <year> <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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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) year 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.

50
tools/hyp_view/README Normal file
View File

@@ -0,0 +1,50 @@
Project HypView
===============
Description
-----------
The project HypView aims at developing a free ST-Guide replacement.
ST-Guide is hypertext viewer for TOS compatible systems and used
to display online help in many applications. It allows to read
documentations not only in a linear manner (from beginning to end),
but also to freely jump across chapters by clicking on a highlighted
text passage. Today this is a very familiar concept for everybody
browsing through the world wide web using HTML pages.
ST-Guide files are recognized by their file extension (HYP) and are
often accompanied by .REF files.
History
-------
This project was started by Philipp Donze in 2001 as a private,
one-man project. Until beginning of 2004 a varying number of beta
testers helped to improve the application. Thanks to the contributions
of Gerhard Stoll, the project progressed more until 2006 when the
sources have gone "public" under the initiative of Odd Skancke (which
ported also the sources to gcc).
Today the project (including its sources) is freely available under
the GNU Public License (GPL, provided in COPYING). The latest source
code is available through the CVS repository of FreeMiNT (in the
'freemint/tools/hypview' directory).
Disclaimer
----------
This application is provided as is. It has not been fully tested.
The program comes WITHOUT warranty of any kind!
Use it at your OWN RISK!
Authors
-------
Philipp Donze (PhilippDonze@gmx.ch, http://www.xn--donz-epa.ch)
Gerhard Stoll (gerhard_stoll@gmx.de)
Odd Skanke (ozk@atari.org)
If you have problems using HypView, please contact one of the authors.
We're also glad to receive comments, ideas and suggestions!
Philipp Donze
Chavornay, 11th march 2006

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,12 @@
- Klick auf einen ungenutzten Eintrag: eine Alert-Box fragt ob man eine
Marke setzen will.
- Klick auf einen gesetzten Eintrag stellt diesen im aktuellen Fenster dar.
- CTRL-Klick auf einen gesetzten Eintrag oeffnet diese Marke in einem
neuen Fenster.
- Shift-Klick auf einen Eintrag setzt stehts eine Marke. (ST-GUIDE
kompatibel)
- ALT-Klick auf einen gesetzten Eintrag fragt ob man diesen Loeschen will.

View File

@@ -0,0 +1,946 @@
History for HypView (v0.40.0)
=======================================
xx.xx.2011 (v0.40.0)
-HYPFIND can be used [GS]
-The last character from a ASCII file will now displayed [GS]
-Sometimes the toolbar overwrite windows in the front of them [GS]
-Window change work again [GS]
-Info dialog will not crash if a binary or plain text is loaded [GS]
10.02.2006 (v0.35.3e)
-Modified for gemlib. [ozk]
-Ported to gcc. [ozk]
-Initial CVS revision. [ozk]
-Many changes to fix problems with different sized fonts [ozk]
17.09.2005 (v0.35.2e)
-ALT-E Stack loeschen (Menue -> Stack loeschen) [GS]
20.08.2005
-Iconifizieren des Infodialogs [GS]
14.08.2005
-Scrollweite mit <Bild nach oben/runter> entspricht
<SHIFT> + <Pfeil nach oben/runter> [GS]
-Ctrl-Cursor hoch/links - zur vorigen Seite blaettern [GS]
-Ctrl-Cursor runter/rechts - zur nchsten Seite blaettern [GS]
14.08.2005
-Ist das Dokument fuer das erste Fenster nicht mehr vorhanden, war
keine Benutzung von HypView mehr moeglich. [GS]
12.08.2005 (v0.35.2d)
-Ist WDIALOG nicht vorhanden, sind einige Icons der Toolbar nicht
bedienbar. [GS]
-Neue VDI.LIB, damit keine Probleme mehr mit PlainTOS und Texten
mit Umlauten.
10.08.2005 (v0.35.2c)
-Der Inhalt des letzten Fensters wird beim Oeffnen des ersten Fenster
wieder dargestellt.
09.08.2005 (v0.35.2b)
-Wird beim Markenpfad am Anfang '$HOME\' angeben, versucht HypView
die Marken vom Homeverzeichnis zuladen.
z.B.: MARKFILE=$HOME\MARKEN.DAT
31.07.2005
-Fehler bei der Ausgabe der Popups unter N.AES 1.2.0 behoben. [GS]
27.07.2005
-Bei den Marken erscheinen die Dateinamen von denen sie stammen. Dazu
muessen sie aber neu gesetzt werden [GS]
09.04.2005
-Im Info-Dialog wird das Erstellungsdatum von HypView angezeigt. [GS]
03.03.2005
-Mit dem Schluesselwort REFONLY kann bestimmt werden ob bei einem Klick
mit der linken Maustaste nur Verweise verfolgt werden oder auch
nicht-markierte Worte. [GS]
-Ist ein alternativer Skin geladen, konnte es beim Umschalten zum
"Autolocator" zu einem haesslichen weissen Fleck kommen. [GS]
02.03.2005
-Im Info-Dialog wird neben der Programmversion nun auch relevante
Informationen zur aktuell Datei angezeigt. [GS]
-Die MagiC Dateiauswahl bekommt jetzt ein sinnvolles Dateimuster. [GS]
05.02.2005 (v0.35.2)
-Workaround: Bug in XaAES fuehrte dazu dass HypView bei einer
VA_START-Meldung in eine Endlos-Schleife verfiel.
(In XaAES liefert wind_get(WF_OWNER) fuer den "open status" immer 0).
30.01.2005 (v0.35.1)
-Marken implementiert: Damit ist es nun moeglich bis zu 10 "Favoriten"
zu speichern. Die Marken werden in der mit MARKFILE spezifizierten
Datei gespeichert. Es kann die gleiche Datei wie bei ST-GUIDE
verwendet werden, da das Format kompatibel ist. [GS]
-Mit dem MARKFILE_SAVE_ASK kann die laestige Frage, ob die Marken-Datei
gespeichert werden soll, deaktiviert werden. [GS]
-Bugfix: Zeichenfehler bei den Popup-Mens unter XaAES.
-Falls der Autolocator aktiv ist kann mittels CTRL+V Text aus dem
Klemmbrett eingefuegt werden.
-Pure C-Hilfe Protokoll (AC_HELP Meldung) wird unterstuetzt um nach
Schluesselwoertern zu suchen.
-Suche in der REF Datenbank (mittels REFLINK.TTP generiert)
implementiert [PD+GS].
Zur Zeit laesst sich nur mittels der Meldung "AC_HELP" eine Suche
ausloesen (also z.B. HypView in QED als Hilfe-Server anmelden und
dann HELP druecken wenn sich der Cursor auf einem Wort befindet.
28.01.2005
-Bugfix: Falls ein Programm per VA_START eine Hilfeseite welche ein
Leerzeichen im Titel aufrufen wollte, wurde die Seite nicht gefunden
oder es kam gar zum Absturz. [GS]
30.12.2004
-Mit CLIPBRD_NEW_WINDOW kann festgelegt werden ob beim Einfuegen mit
CTRL+V ein neues Fenster geoeffnet wird oder nicht. Bei zusaetzlichem
Druecken von "SHIFT" wird das Gegenteil der gewaehlten Funktion
ausgefuehrt.
-"Skin Laden" funktioniert wieder. Falls kein absoluter Pfad mittels
SKIN angegeben wurde, wird im Verzeichnis "Skins" danach gesucht.
D.h. relative Pfade beziehen sich immer auf das Verzeichnis "Skins"
im Verzeichnis, aus dem HypView gestartet wurde.
-AV_WINDOW_CYCLE aktiviert den globalen Fensterwechsel (via AVSERVER),
d.h. das "CTRL+W" nicht von HypView sondern vom AVSERVER erledigt
wird. Durch zusaetzliches Druecken von "SHIFT" wird das Gegenteil der
Funktion ausgefuehrt.
19.10.2004
-File Errors werden in einer Alertbox ausgeben und nicht mehr ber
die Console. [GS]
16.10.2004 (v0.34.1)
-Neues Versionsnummern Schema: die 3te Zahl steht fuer die Release
14.10.2004 (v0.34)
-"Zurueck" im Kontext-Men. [GS]
06.10.2004
-Wurde per VA_START ein absoluter Pfad angeben und die Datei befindet
sich nicht dort. So erfolgte die Auswertung der Pfadliste nicht
korrekt. [GS]
30.09.2004
-Menueicon aktiviert. [GS]
18.09.2004
-Bugfix: CTRL+V laedt jetzt wirklich die Datei SCRAP.TXT aus dem
Clipboard. [GS]
-ALT-T Inhalts-Seite zeigen (wie Inhalt-Icon, wie ST-Guide) [GS]
-ALT-X Indexseite zeigen (wie Index-Icon, wie ST-Guide) [GS]
-ALT-K Katalog laden (wie Index-Icon, wie ST-Guide) [GS]
-Bugfix: Erkennung der REF Datei funktionierte nicht immer. [GS]
10.09.2004
-Gerhard Stoll interessiert sich fuer den Quellcode von HypView und
will das Programm erweitern. Seine Aenderungen sind mit [GS] markiert.
-Unterstuetzung der Ende Tasten (gibt es z.B. beim Milan). [GS]
29.01.2004 (v0.33)
-Bugfix: ASCII Texte, die nur eine Zeile ohne CR/LF enthielten, wurden
nicht angezeigt.
14.01.2004
-Bugfix: HypView ignorierte die Kapitel-Angabe "Main" fr externe
Referenzen. Dies fuehrte dazu, dass bei Referenzen auf andere Hypertexten
nicht die richtige Startseite angezeigt wurde (sichtbar bei KATALOG.HYP).
23.12.2003
-Bugfix: Falls HYP_VIEW.CFG nicht gefunden wurde, wurde faelschlicherweise
versucht ein nicht existierender "Skin" zu laden.
-Bugfix: Die Bestimmung des Bootlaufwerks funktionierte bisher nicht.
24.11.2003
-Der Test auf WDIALOG wurde (hoffentlich endgueltig) beseitigt.
-Compiler-Einstellung war beim letzten Release faelschlicherweise auf
68020 eingestellt. Dadurch lief das Programm unter MagiC PC und auf
"einfachen" STs nicht mehr.
-Laut TOS.HYP fuehrt ein @ am Anfang eines te_ptext (=eines Textfelds)
dazu, dass der Rest als Platzhalter interpretiert wird.
Folge: Falls bei der Suche mit dem "Autolocator" als erstes Zeichen
ein @ eingegeben wird, werden alle Eingaben nicht angezeigt (die Suche
wird jedoch ausgefuehrt!). (MagiC ist jedoch davon nicht betroffen!)
23.11.2003
-Der "intelligente Fuller" verschiebt das Fenster (=die obere linke Ecke
des Fensters) nur noch wenn das vergrsserte Fenster ausserhalb des
sichtbaren Bereichs zu liegen kommt. D.h. beim "Fullen" des Fensters
springt das Fenster nicht mehr automatisch in die obere linke Ecke
des sichtbaren Bereichs.
17.11.2003 (v0.32)
-Bugfix: Im ACC-Betrieb kam es nach 2maligem ffnen zum Absturz, falls
kein DEFAULT Hypertext angegeben wurde.
14.11.2003 (v0.31)
-Monochrome Bilder (=1 Bitplane) werden jetzt nicht mehr an die Anzahl
Bitplanes der aktuellen Aufloesung angepasst, sondern einfach monochrom
gelassen. Sie werden dann mittels vrt_cpyfm() wie beim Original ST-Guide
transparent auf den Bildschirm kopiert. (Diese Transparenz kann nicht
mehr mit TRANSPARENT_PICS=0 deaktiviert werden!)
-Bugfix: Beim Bilder Laden wurde unter Umstnden zuwenig Speicher
alloziert, was unter MagiC zum System-Absturz fhrte.
-Bugfix: Falls der intelligente "Fuller" deaktiviert wurde, jedoch
die automatische Fenstergrssen-Anpassung aktiviert war, wurde beim
Zeichensatzwechsel das Fenster auf max. Bildschirmgrsse vergrssert.
-Beim Zeichensatzwechsel (=CTRL+Z) wird nun sichergestellt, dass die
Seite gut sichtbar ist, d.h. es wird wenn ntig nach Oben gescrollt.
10.11.2003 (v0.30)
-Intelligenteres vergrssern/verkleinern beim Zeichensatz-Wechsel
-Das "intelligente" vergrssern des Fensters auf die maximale Dokument-
grsse lsst sich nun mit dem Tag INTELLIGENT_FULLER=0 deaktivieren.
Dadurch wird die maximale Fenstergrsse auf Bildschirmgrsse gesetzt.
09.11.2003
-Falls WINADJUST=0 ist, wird trotzdem beim Zeichensatz-Wechsel die
Fensterbreite/-hhe angepasst (="eingerastet").
-Zeichen, die eine Zusatz-Taste (wie CTRL, ALT) zur Eingabe bentigen,
lassen sich nun auch in den Autolocator eingeben.
04.11.2003
-Bugfix: AV-Protokoll wird nun auch beim Start als ACC initialisiert.
-2 maliges Drcken von ESC deaktiviert und versteckt das Eingabe-Feld
des "Autolocator". Dadurch muss nicht mehr mit einem Mausklick das
Eingabe-Feld "weg-geklickt" werden.
20.09.2003 (v0.29)
-Der Umbruch von Text-Dateien ist nun mittels "ASCII_BREAK=" in der
HYP_VIEW.CFG konfigurierbar. D.h. HypView bricht eine sehr lange
Zeile um, sobald die angegebene Anzahl von Zeichen erreicht wurde.
-Der Umbruch von Text-Zeilen ist erfolgt wenn mglich bei einem
Leerzeichen oder Tab-Zeichen. (Hallo Sascha :-))
02.09.2003
-Bug "Endloses scrollen bei der Selektion" beseitigt
29.08.2003
-Debugging-Ausgabe bei der Selektion entfernt :-)
07.08.2003
-Fehler bei der Selektion entfernt
04.08.2003 (v0.28)
-Untersttzung fr alternative Toolbars bzw. Skins eingebaut (Variable
SKIN zeigt auf die gewnschte RSC Datei im "Skins" Verzeichnis)
Gunnar Grbel hat vor einiger Zeit einige erstellt.
03.08.2003
-Bugfix: Externe Referenzen mit Kapitelangabe funktionieren wieder.
-Bugfix: Ein (mittels Zurck-Button) entferntes Dokument konnte
beim erneuten ffnen zum Absturz fhren.
-History-Popup mit bis zu 12 Eintrgen eingebaut.
01.08.2003
-Untersttzung fr externe Referenzen eingebaut (@xref Tag)
(=Referenzen-Popup mit bis zu 12 Eintrgen)
31.07.2003 (v0.27)
-Unbekannte Dateien, die kein Null-Byte enthalten werden als Text
dargestellt.
-Text-Dateien, mit Zeilen lnger als 127 Zeichen werden umgebrochen.
-Falls eine geladene Datei mittels eines Links geladen wurde, so werden
folgende Dateien auch noch im realen Verzeichnis gesucht.
Beispiel:
"C:\GUIDES\ARCVIEW.HYP" ist ein Link auf "D:\ARCVIEW\ARCVIEW.HYP"
Wird nun auf den Link "HISTORY.TXT" geklickt, so werden folgende
Pfade der Reihe nach berprft:
C:\GUIDES\HISTORY.TXT
D:\ARCVIEW\HISTORY.TXT
HISTORY.TXT
$PATH + HISTORY.TXT
30.07.2003
-Bugfix: Darstellungs-Fehler bei sehr langen Seiten/Texten beseitigt.
-Verbesserte System-Integration: Offene Fenster werden in das
"Window-Cycling" des Desktops integriert (mittels AV_ACCWINDOPEN,
AV_ACCWINDCLOSED).
11.07.2003
-ASCII-Text-Erkennung: Es werden nun Dateien, die die Zeichen
1-4 und 16-25 enthalten als ASCII angezeigt. (Obwohl es sich
korrekterweise nicht um ASCII handelt!)
27.02.2003
-Bugfix: Falls zu einer REF Datei kein passender HYPertext vorlag,
kam es zum Absturz.
26.02.2003 (v0.26)
-Untersttzung fr REF Dateien eingebaut.
Wird eine .REF Datei als Pfad bergeben, so wird sie geladen und
die entsprechende .HYP Datei angezeigt. Achtung: Es wird einfach
nur die Dateierweiterung abgendert und nicht der entsprechende
Eintrag in der REF Datei ausgewertet!
-Falls eine Kapitelname im HYPertext nicht existiert, so wird
versucht die entsprechende .REF Datei zu laden. Im Erfolgsfall
wird dann darin nach dem passenden Kapitel gesucht.
19.01.2003 (v0.25)
-Verffentlichung des aktuellen Standes.
18.01.2003
-Arbeiten am automatischen Scrollen whrend der Selektion
absgeschlossen. Folgende Features sind eingebaut:
-gleichzeitiges horizontales und vertikales Scrollen
-nach jedem Scroll-Schritt wird eine Pause von 50 ms gemacht.
Dadurch sollte das Scrollen auch auf schnellen Rechnern brauchbar
sein.
-vertikales Scrollen ist linear Abhngig von der Mausposition.
Das heisst, wenn die Maus weiter aus dem Fenster bewegt wird, wird
auch schneller gescrollt. (64 Pixel = 1 Zeile schneller)
-Bugfix: Falls die Katalog-Datei nicht geffnet werden kann, so
wird die Mausform wieder in einen Pfeil zurck gewandelt.
-Bugfix: Beim automatischen Anpassen der Fenstergrsse (WINADJUST=1)
wird nun immer die ganze Toolbar angezeigt (=minimale Fensterbreite).
-Verbesserungen beim Umgang mit proportionalen Fonts. (Das Fensterraster
wird nun als Durchschnitt der Zeichenbreiten von ASCII 32 bis ASCII 154
berechnet.)
-Bugfix: Es wird nun immer der absolute Pfad einer Datei ermittelt.
(Also auch fr Dateien, die sich im aktuellen Verzeichnis befinden.)
-Das Block-Ende einer Selektion kann nun jederzeit mit SHIFT-Klick
verndert werden.
-Rechtsklick ffnet ein Popup mit den Block-Funktionen.
-Blockfunktionen:
-Speichern von HYP und ASCII Texten im ASCII Format (auch ber die
Toolbar zugnglich).
-CTRL+A whlt den ganzen geladenen Text aus
-CTRL+C kopierte den selektierten Block ins Clipboard. Falls kein
Text selektiert ist, wird der ganze Text kopiert.
-CTRL+V ladet die Datei SCRAP.TXT aus dem Clipboard. (wie ST-Guide)
xx.01.2003
-Diverse Arbeiten am automatischen Scrollen whrend der Selektion.
31.12.2002
-Bugfix beim automatischen Scrollen. Keine "Lcher" mehr vorhanden.
18.12.2002
-Verbesserungen bei der Selektion.
17.12.2002
-Autolocator: Leerzeichen am Anfang der Eingabe werden ignoriert.
-Selektion ist nun auch mit proportionalen Zeichenstzen kompatibel.
Bei Bitmap-Zeichenstzen berechnet anscheinend die Funktion
vqt_extent() die Grsse einer leeren Zeichenkette (="") falsch,
falls kursiv als Attribut definiert ist.
16.12.2002
-Selektion wieder entfernt. Beginn einer neuen Implementation.
-NEU: Automatisches Scrolling in horizontaler Richtung beim Selektieren.
06.12.2002
-Bugfix: LINKEFFECT wird nun genau gleich wie bei ST-Guide behandelt.
D.h. der angegebene Effekt wird als "zustzlicher" Text-Effekt mit dem
gerade aktuellen Verknpft.
-Bugfix: Die Icon-Position beim Iconifizieren wird nun immer neu einge-
stellt.
Dadurch klappt's auch mit ICFS bzw. Iconify-Servern, die
wind_get(WF_ICONIFY) nicht untersttzen.
04.12.2002
-Da ich aus zeitlichen Grnden kaum zum Programmieren kommen,
verffentliche ich den aktuellen Stand.
29.11.2002
-automatisches Scrollen in vertikaler Richtung beim Selektieren.
27.11.2002
-Bugfix: Flschlicherweise wurden beim Klick auf "Zurck" Dateien
geschlossen, die evtl. noch bentigt wurden.
(Z.B. "Katalog.hyp" -> "TOS.hyp" -> "Katalog.hyp" -> zurck
-> zurck -> CRASH!!!)
26.11.2002
-Einfache Text-Selektion per Maus eingebaut.
Folgende "Features":
-Funktioniert mit binr, ASCII und HYP Dateien
-Kein automatisches Scrollen am Fensterrand
-Keine Bercksichtigung der Text-Attribute (Betrifft HYP)
-Kein "Fortsetzen" der Selektion mittels Shift-Taste.
-Noch KEINE Aktionen eingebaut (also nur selektieren mglich).
24.11.2002
-Bugfix: Speicherschutzverletzung bei AV_PROTOKOLL "beseitigt". D.h.
HypView geht davon aus, dass bei der Anwort mit VA_PROTOSTATUS der
Zeiger auf den eigenen Namen nicht mehr bentigt wird und daher
freigegeben werden kann. Ein Desktop, der danach trotzdem auf diesen
Zeiger zugreift wird immer noch "abschmieren". Selberschuld!
20.11.2002
-Bugfix: Zugriff auf ungltigen Zeiger beseitigt. (Speicherschutz)
18.11.2002
-kleinere Bugs beseitigt, die sich eingeschlichen haben.
17.11.2002 (v0.20)
-Autolocator-Funktionalitt eingebaut.
Dies funktioniert mit allen Formaten (=HYP, ASCII, binr).
Funktionsweise:
-Such-Text eingeben
-RETURN startet die gleiche Suche erneut
-ESC lscht den eingegebenen Text
-Einfache Speicherfunktion fr HYP, welche die aktuelle Seite als ASCII
speichert.
13.11.2002
-Nach der internen Umstellung luft nun (anscheinend) alles so wie in der
vorherigen Version.
-Die Mult-Window-Bugs sind nun hoffentlich behoben.
02.10.2002
-Sortier-Reihenfolge der HISTORY gendert (=neuste Eintrge zuoberst)
-Allgemeine berarbeitung begonnen. (Da sich die Abstrze beim Gebrauch
des "Multi-Window-Features" nicht so einfach beseitigen liessen.
= strukturelle Schwchen)
-Die Standard-Pfadliste wird nun beim Starten automatisch an das Start-
laufwerk angepasst. (z.B. wird aus C: M: falls von M: gebootet wird.)
Dies betrifft nur die Standard-Pfade! D.h. es wird diese nderung nur
vorgenommen, falls keine andere Pfadliste aus der CFG geladen wurde.
-Bugfix: beim seitenweise Scrollen per Maus wurde immer eine Zeile
bersprungen.
-Bugfix: die Fileselect-Box im Fenster ist wieder zurck :-)
-Bugfix: Falls mehrere Fenster offen waren, geriet die "History"
manchmal durcheinander, was sogar zum Absturz fhren konnte.
-Bugfix: Memory-Leck bei der Anzeige von ASCII-Dateien beseitigt.
24.09.2002 (v0.17)
-Bugfix: Unntige/Fehlerhafte Mfree-Aufrufe beseitigt.
-Bugfix: Datei-Handle wurde nicht geschlossen, falls die Datei beim
"zurck"-Bewegen erneut geffnet werden musste.
-Bugfix: ein zu ffnendes Fenster hat nun immer mindestens 1 Zeile und
5 Kolonnen. Dadurch kann ein Absturz unter MagiC verhindert werden,
da kein "zu kleines" Fenster erstellt wird.
-Bugfix: Speicherschutz-Problem unter MiNT beseitigt (zumindest falls es
keine anderen mehr hat).
-Bugfix: Als ACC wurde nicht auf die AP_TERM Meldung reagiert.
23.09.2002 (v0.16)
-Automatisches Anpassen der Fenster berarbeitet. Es sollte nun nicht mehr
passieren, dass Fensterteile teilweise ausserhalb des sichtbaren Bereichs
zu liegen kommen.
-Bugfix: Falls eine gerade offene Datei nochmals geffnet wurde, wurde
in der "History" die falsche Seitennummer gespeichert.
-HypView berprft nun auf Wunsch (in der Konfiguration CHECK_TIME=1)
vor dem erneuten Zugriff auf Dateien, ob sich diese gendert haben und
ladet sie erneut. (Praktisch beim Schreiben von Hypertexten und beim
Erstellen des KATALOG.HYP)
18.09.2002
-HypView luft nun auch falls die Zeilen von HYP_VIEW.CFG mit LF (=Unix)
oder auch nur mit CR (=Mac) abgeschlossen sind.
-Bugfix: Zeichenstze unterschiedlicher Grsse wurden nicht korrekt
verarbeitet. Dies fhrte zu "berreste" beim Scrollen.
16.09.2002
-Neues Schlsselwort in der Konfiguration: DEBUG_FILE
Alle Fehlermeldungen, die normalerweise auf STDERR (=bei MagiC ist das
der Bildschirm) knnen auf eine beliebige Datei umgeleitet werden.
Dadurch lsst sich meine MiNT-Installation auch berreden die Fehler
anzuzeigen.
-Bugfix: Beim Starten als ACC wollte HypView die Parameter auswerten,
obwohl keine existieren bzw. die Daten ungltig sind.
-Bugfix: Es konnte vorkommen, das der Hilfe- und der Index-Button
anwhlbaren, obwohl es diese Seiten nicht gab.
-Abfrage auf WDIALOG vorlufig ausgebaut. (Hallo MiNTler :-))
-Bugfix: Falls die HOME-Variable nicht mit einem '\' oder '/' ab-
geschlossen war, wurde auf einen ungltigen Pfad zugegriffen und die CFG
nicht gefunden.
15.09.2002 (v0.15)
-Popups, die im Hypertext per @previous und @next in den HYP integriert
sind werden nun auch geladen und dargestellt. (Vorher blockierten diese
die Navigation mittels "Vorwrts" und "Rckwrts".)
-Untersttzung von WINPOS: Bugs beseitigt und verbessert (=es ist nun
nicht mehr mglich das Fenster so zu positionieren, dass die Fenster-
elemente nicht mehr bedienbar sind).
-"CTRL+Klick geht nicht immer"-Bug beseitigt: 0 Byte am Stringende
vergessen :-)
-Falls in einem Hypertext keine Hilfe-Seite mittels @help definiert ist,
wird nach dem Kapitel "Help" gesucht.
-Bugfix: Die Seite, die mittels @default in einem HYP definiert wird,
wurde flschlicherweise immer als Startseite benutzt.
-Bugfix: Ein Klick auf ein @limage fhrte zum Absturz.
13.09.2002
-Falls eine VA_START Meldung ankommt, die keine Datei als Parameter
enthlt, so wird dies als "Aufwecken" von HypView interpretiert.
Falls mit DEFAULT=xy eine Datei definiert wurde, so wird diese geffnet,
sonst wird der File-Selector geffnet.
-Bugfix: Als ACC gestartet konnte es vorkommen, dass HypView auf ein
nicht mehr existierendes Fenster zugriff, was natrlich zum Absturz
fhrte.
04.09.2002 (v0.14)
-Untersttzung fr "echte" Page-Up und Page-Down Tasten (wird von
MagiCMac untersttzt).
-Falls kein Katalog mittels "KATALOG=xy.hyp" definiert ist, dann lsst
sich das Katalog-Icon nicht mehr anwhlen.
-Bugfix: Bilder wurden beim zeilenweisen Scrollen "abgeschnitten".
30.08.2002 (v0.13)
-Obwohl es noch einiges zu implementieren gbe, verffentliche ich diese
"Etape".
22.08.2002
-Links vom Typ SYSTEM_ARGUMENT, REXX_SCRIPT und REXX_COMMAND (=4-6) werden
nun folgendermassen behandelt:
-SYSTEM_ARGUMENT und REXX_SCRIPT fhren zu einer AV_STARTPROG Meldung
an den AV-Server.
-REXX_COMMAND fhrt zum Senden einer VA_START Meldung an den Host, der
mittels @hostname im Hypertext gesetzt wurde.
-Bei allen drei Typen wird vor dem Versenden der Meldung versucht einen
absoluten Pfad auf eine existierende Datei zu erstellen. D.h. als Pfad
wird der Zugriffspfad des Hypertexts genommen und das "Kommando" als
Dateinamen interpretiert. Wird eine solche Datei gefunden, so wird
die Meldung mit dem kompletten Zugriffspfad versendet. Ansonsten wird
nur das "Kommando" versendet. Z.B. findet QED dadurch die Dateien.
=> Beispiel in TEST.HYP/Kommunikation
-Interne-Representation der Hypertext-Seiten gendert. Dadurch wurde die
Anzeige und das Scrollen beschleunigt. Trotzdem scheint das Zeilenweise-
scrollen beim ST-Guide schneller zu gehen.
21.08.2002
-Weitere Anpassung des TEST.HYP
-NEU: Klick auf @alink Verweise ffnen nun ein neues Fenster. Es gibt aber
kaum Hypertexte die das bisher nutzen, da ST-Guide bekanntlich nur 1
Fenster verwalten kann. Evtl. ndert sich das mit HypView?
-Links vom Typ 5 (REXX_SCRIPT) werden wie Typ 4 und 6 einfach an den
AV-Server weitergegeben.
-Links vom Typ 7 (QUIT) fhren zum Schliessen des aktuellen Fensters.
-Links vom Typ 4-6 werden zuerst als Pfade interpretiert und im aktuellen
Verzeichnis gesucht. Falls diese Datei nicht existiert, wird statt dessen
der unvernderte Link an den AV-Server bergeben.
Damit klappt es nun auch mit externen Verweisen auf nicht-Texte (z.B. auf
eine Batch-Datei im aktuellen Verzeichnis => siehe TEST.HYP).
20.08.2002
-Test-Hypertext berarbeitet und mit neuen Seiten fr nicht-existierende
Features ergnzt. Jetzt geht's an's implementieren.
27.07.2002
-Bugfix: Falls beim schliessen eines Hypertextes noch ein Popup-Fenster
offen war beendete sich das Programm nicht.
14.07.2002 (v0.12)
-Funktionsnderung: CTRL+UP/DOWN (=Strg und Pfeilhoch/-runter) bewirken
nun wie SHIFT+UP/DOWN ein seitenweises Scrollen des Fensters.
Dadurch funktioniert die "Page-Up/Down" Taste von PC-Tastaturen auch
wie zu erwarten ist (und auch von anderen GEM-Programmen praktiziert
wird). Dadurch weicht die Bedienung von ArcView von der ST-Guide
blichen ab.
-Bugfix: Tastatur-Funktionen, die fr binr-/ASCII-Texte nicht verfgbar
sind, fhren nicht mehr zum Absturz.
-NEU: Falls CTRL whrend dem Klick auf einen Link gedrckt gehalten
wird, dann wird dieser in einem neuen Fenster dargestellt.
(Achtung: Die Datei wird erneut geladen! => doppelter Speicherverbrauch!)
-Falls der Zeichensatz gendert wurde (CTRL+Z), werden alle offenen
Dokumente aktualisiert und den entsprechenden Fenster eine Redraw-
Meldung geschickt.
-Links des Typs 6 (REXX_COMMAND) werden wie Typ 4 (SYSTEM_ARGUMENT)
behandelt. Dadurch wird das ffnen einer Datei mit einem speziellen
Viewer dem AV-Server berlassen (der also den passenden Viewer suchen
und starten muss).
-NEU: In der Konfigurationsdatei kann mittels VA_START_NEWWIN angegeben
werden, wie auf eine VA_START-Meldung reagiert wird (0=kein neues Fenster
ffnen;1=evtl.;2=immer)
-Bugfix: Ein iconifiziertes Fenster wurde beim Laden einer neuen Datei
nicht automatisch "deiconifiziert".
13.07.2002
-Bugfix: Das Index-Icon ist nur noch anwhlbar falls auch wirklich eine
Index-Seite im Hypertext enthalten ist.
-Bugfix: Fehler in der Cache-Verwaltung beseitigt. Es wurde auf ein Hyper-
text zugegriffen, der nicht mehr komplett im Speicher war.
29.06.2002 (v0.11)
-Bugfix: ACC Betrieb endete meist mit einem Bus-Fehler.
-Bugfix: Hyp-Header wurden unntigerweise mehrmals geladen, weil nicht
bemerkt wurde das die Datei schon geffnet ist. (=>Cache)
26.06.2002
-Bugfix: Falls keine Default-Datei angegeben wurde, gab es einen Crash.
-Neu: System-Argumente werden per AV_STARTPROG an den AV-Server bergeben.
(D.h. man kann nun z.B. den KATALOG.HYP erneuern)
-Neu: Falls eine Datei aus einer anderen geladen wird (z.B. Verweis auf
HISTORY.TXT), dann wird versucht die Datei im Pfad der geffneten Datei
zu ffnen. (Man sollte nicht "." in die Pfadliste aufnehmen, da sonst
HypView Dateien in seinem (!) Verzeichnis sucht.)
-Bugfix: Der Link-Effekt wurde erst ab 16 Farben bernommen.
25.06.2002 (v0.10)
-Bugfix: Speicherleck beim wechseln zwischen Dateien gestopft.
-Cache-Funktion wieder implementiert.
-Bugfix: "Speicher-Schiesser" beseitigt.
-Bugfix: Wechsel zwischen HYP-Dateien und anderen Formaten klappt
wieder (=> Cache-Leerungs-Bug beseitigt)
-Popups funktionieren wieder.
-Zeichensatz-Wechsel (FONT <-> XFONT) mittels CTRL+Z klappt wieder.
-Bugfix: TOS.HYP luft nun wieder.
-Bugfix: Bestimmen der Klickposition funktioniert nun auch mit Hyper-
texten, die Bilder enthalten und mit HCP < 3 erstellt wurden.
(="Chrysalis-Bug")
24.06.2002
-Navigation mittels Links wieder implementiert
20.06.2002 bis 22.06.2002
-HYP-Format wird nun wieder geladen und angezeigt. (Nachwievor nach
der alten Methode)
-Navigation mittels Iconleiste und Tastatur wieder eingebaut.
19.06.2002
-Bugfix: Ein CTRL+ALT+HOME fhrt nicht mehr zum iconifizieren des
Fensters.
-Die Konfiguration wird nun wieder aus der Datei geladen.
Dabei habe ich einige Konfigurations-Punkte umgetauft und ein paar neue
eingefhrt (TEXT_COLOR, BIN_COLUMNS, ASCII_TAB, LINK_EFFECT).
16.06.2002
-Neu: Untersttzung fr ASCII Texte mit Atari-/PC-,Mac- und Unix-Zeilen-
enden. (Es knnen nur Dateien geladen werden, die vollkommen in den
Arbeitsspeicher passen.)
Ein Text wird als ASCII Text erkannt falls er keine Zeichen unter dem
Wert 32 enthlt (mit Ausnahme von CR, LF und TAB).
-Binrdateien haben eine fixe Zeilenlnge (zur Zeit 76, wird aber spter
konfigurierbar).
-Beschleunigtes Scrolling, durch das ich mittels zustzlichem Speicher
eine Tabelle mit allen Zeilen-Anfnge erstelle.
15.06.2002
-Komplette berarbeitung begonnen.
Das Konzept wird nun modularisiert, d.h. es werden in Zukunft mehr als
nur HYP Dateien untersttzt. (Binr, ASCII, HYP fr den Anfang)
-Laden und Darstellen von Binrendaten klappt. (0-Zeichen werden als
Leerzeichen ausgegeben)
-Untersttzung fr mehrere Fenster.
11.06.2002
-Bugfix: Beim Berechnen der maximalen Seitenhhe wurde die Hhe von
"@image" nicht korrekt bercksichtigt.
-Bugfix: @limage Tags werden nur noch interpretiert, falls der
Hypertext mit dem HCP Version 3 (=aktuellste) compiliert wurden.
Dadurch wird die Darstellung von "alten" Hypertexten verbessert.
09.06.2002 (v0.07)
-HypView bildet nun nicht mehr die Fensterbreite als Minimum von
@width und der ermittelten Kolonnenanzahl. (Anscheinend ist das
wieder einmal ein Fehler in der ST-Guide Dokumentation.)
-Bugfix: Falls WINADJUST=0 war und keine Fensterposition mittels
WINPOS definiert wurde, wurde das Fenster in maximaler grsse
geffnet, was beim Scrollen meistens zu abgeschnittenen Texten
fhrte. (Hallo Thomas! Ich habs gefunden :-))
-Bugfix: Manchmal wurden falsche Text-Attribute beim Neuzeichnen
benutzt.
-Bugfix: Bei der Suche nach der Seite wird nun Gross-/Kleinschreibung
ignoriert.
-Bugfix: Bei von Aussen bewirkten Seitenwechsel (z.B. Hilfe-Aufruf aus
einem anderen Programm) wurde immer der Cache-Speicher gelscht und
ein History-Eintrag vermerkt, auch wenn der Sprung innerhalb der
gleichen Datei war und die Zielseite schon dargestellt wurde.
05.06.2002 (v0.06)
-Falls eine Datei nicht gefunden wird, wird der Name in der Fehler-
meldung erwhnt.
-Gunnar hat die 16 Farben-Version berarbeitet.
04.06.2002
-Problem entdeckt: Bei den Konfigurationsvariablen wie z.B. PATH,
KATALOG, DEFAULT darf kein Kommentar in der gleichen Zeile stehen,
da sonst die Daten falsch interpretiert werden. Also Vorsicht!
02.06.2002
-Gunnar Grbel hat sich die Mhe gemacht die HypView-Resource einwenig
an die modernen Zeiten anzupassen und hat ein paar schne Icons in
256 Farben gestaltet. (Vielen Dank!)
-Ich habe die Icons rasch in 16 Farben konvertiert.
-Bugfix: Das Icon fr das History-Popup wurde aktiviert, obwohl diese
Funktion noch nicht verfgbar ist.
25.05.2002
-ACC Behandlung gendert:
CTRL+Q als ACC: Schliessen aller Fenster
als APP: Beenden des Programmes
AP_TERM : Beendet immer das Programm!
23.05.2002 (V0.05)
-Tastatur-Wiederholung wird nun beim Auswerten deaktiviert.
Dank Richard klappt dies sogar auf einem sauberen Weg (wenn mglich).
-Die Hintergrundfarbe wird nur noch bercksichtigt, falls mindestens
16 Farben zur verfgung stehen. (=Falls man einmal im S/W Modus startet,
kann man doch noch Hypertexte ansehen.)
-Es ist nun mglich HypView auch zu beenden falls es als ACC gestartet
wurde. --> Vorsicht unter SingleTOS!!
-Es wird nun immer die selbst ermittelte Zeilenbreite verwendet auch falls
das Header-Tag @width existiert. Der ST-Guide macht das auch so.
(=> Hypertext Dokumentation ist da fehlerhaft!)
-Bugfix bei der True-Color Anpassung von grossen Bildern beseitigt.
-Bilder werden nun wie beim ST-Guide "transparent" ausgegeben.
Falls die Darstellung mit 16 bis 256 Farben erfolgt verursacht dies
mehr Aufwand als ohne Transparenz!
Das Feature kann mit "TRANSPARENT_PICS=0" deaktiviert werden.
08.05.2002
-Minimale Verbesserung bei der True-Color Konvertierung (=nur noch 15
Mono-Bitmaps mit vrt_cpyfm())
04.05.2002
-True Color Untersttzung vollstndig umgeschrieben. Nun werden alle
einzelnen Farben extrahiert und als Monochrombitmap mit vrt_cpyfm()
in das True Color Bild geschrieben.
Dies ist zwar langsam, funktioniert jedoch auf allen Grafikkarten?!
-Bugfix bei der Parameterbergabe (Dateiname - Kapitelname).
Ausserdem wird nun auf ".HYP " (nicht nur "HYP ") getestet um den
Kapitelnamen zu finden.
01.05.2002 (V0.03)
-CTRL+I zeigt die Versionsnummer von HypView an.
-HYP-View luft nun endlich als ACC! (Das Programm verhlt sich prinzip-
iell genau gleich. D.h. ich treffe keine Sicherheitsmassnahmen um die
Lauffhigkeit unter TOS sicherzustellen!)
30.04.2002
-Wie ich vernehmen konnte, klappt's nun mit der NOVA-Kompatibilitt,
aber mit der Milan- und der Eclips-Grafikkarte luft's noch nicht :-(
-Falls kein Default-Hypertext angegeben wurde (DEFAULT=xy), dann wird
die Fileselect-Box aufgerufen.
Mittels CTRL+O kann sie jederzeit erneut aufgerufen werden.
Auch das Icon zum Laden der Datei ist jetzt aktiv.
-Bugfix: Falls eine Datei schon geffnet/geladen wurde, konnte es
vorkommen, dass bei einem erneuten Verweis auf diesen Hypertext
nicht bemerkt wurde, dass er schon im Speicher ist. (=> doppelt
geladen)
-Kommandozeile, VA_START- und Drag&Drop-Parameter:
-Falls die ersten 3 Zeichen "*:\" sind, so werden diese bersprungen.
(Nach ST-Guide-Konvention wird dieses Format verwendet, falls das
Programm den absoluten Pfad einer Datei nicht weiss.)
-Am rechten "Parameter-Rand" wird nach einem Kapitelnamen gesucht
-Der Rest wird als Pfad angesehen. Konnte die Datei nicht geffnet
werden, so wird versucht mit Hilfe der PATH Variable die Datei
zu finden.
Benennt man nun HYP_VIEW.APP in ST-GUIDE.APP um und lsst es laufen
(da es noch nicht als ACC luft), so schicken alle ST-Guide-kompatiblen
Programme ihre Hilfe-Anfragen an HYP-View!
-Aus historischen Grnden werden die Kapitelnamen mit einem ' '
(=Leerzeichen) vom Pfad/Dateinamen getrennt. Der original ST-Guide
interpretierte also ab dem ersten Leerzeichen alles als Kapitelnamen.
Dies fhrte dazu, dass der ST-Guide nicht mit Leerzeichen im Pfad
zurechtkam.
Um nun kompatibel zu bleiben und trotzdem Leerzeichen im Pfad/Dateinamen
zu erlauben sucht HYP-View nicht einfach nach einem Leerzeichen, sondern
nach der Datei Extension "HYP" gefolgt von einem Leerzeichen. Wird also
die Zeichenfolge "HYP " (Gross-/Klein-Buchstaben ist egal) im Pfad
gefunden, so wird der Rest als Kapitelnamen interpretiert.
==> Also Achtung: Keinen Pfad erstellen, der auf dieses Muster passt,
da die darin enthaltenen Hypertexte nicht gefunden werden knnen!
28.04.2002
-nderungen am True-Color Workaround.
-Externe Konfiguration ber die HYP_VIEW.CFG erweitert:
-WINPOS erlaubt nun Breite und Hhe (in Zeichen!)
-WINADJUST aktiviert/deaktiviert die autom. Fenstergrssen-Anpassung
-BACKCOL erlaubt das Einstellen der Hintergrundfarbe.
(im Gegensatz zum ST-Guide werden die Bilder nicht transparent
gezeichnet.)
-Ein paar Kommentare zu den verschiedenen Variablen eingefgt.
-Bugfix: Absturz falls kein GDOS installiert war.
-Datei-Existenz wird nun mittels Fopen/Fclose berprft anstatt mit
Fxattr. Damit luft HYP-View auch unter Single-TOS (zumindest unter
TOS 4.04 habe ich kein Problem bemerkt).
27.04.2002
-Anscheinend klappt's mit dem True-Color Workaround nicht.
-Bugfix: Da die @limage-Definition anscheinend nicht ganz rckwrts-
kompatibel ist (was sich beim NOVA-Hypertext herausstellte), werden
nun Bilder mit der Breite = 1 Zeichen als @limage Bilder interpretiert.
Dadurch sollte es keine Probleme mit Hypertexten vor dem 19.04.1995
mehr geben.
-Tests haben gezeigt, dass HYP-View die Bilder von Hypertexten, die
mit dem HCP vor dem 19.04.1995 erstellt wurden, nicht 100% an der
gleichen stelle wie beim ST-Guide anzeigt. (=HYP-View: 1 Pixel weiter
unten)
26.04.2002
-Nachdem ich auf meine "Alpha-Preview" einige Reaktionen erhalten habe,
stellte sich auch heraus, dass es Probleme mit verschiedenen Grafik-
karten gibt unteranderem: NOVA und die im Milan eingebaute.
Der Fehler liegt wahrscheinlich daran, dass diese die Little-Endian
Darstellung benutzen (=also die auf dem PC gebruchliche). Daher habe
ich einen weiteren Workaround eingebaut.
-Neues Schlsselwort in der Konfigurationsdatei: LITTLEENDIAN=1
aktiviert die Little-Endian Darstellung bei Grafikkarten. (Ich weiss,
dass das keine gute Lsung ist. Aber evtl. luft's so auf die schnelle!)
21.04.2002
-Eine "busy bee" zeigt nun, dass gerade eine Seite geladen wird.
Dies ist vorallem wichtig beim langen Laden des TOS.HYP Indexes :-)
-Wie ich bei Tests mit dem HCP erfahren musste, werden nur Bilder
mit 1 oder 4 Ebenen (=monochrom und 16 Farben) untersttzt, dadurch
verringert sich der Aufwand fr mich: Ich muss nur eine Routine
schreiben, die 4 Planes in 1 Plane konvertiert.
-Falls zuwenig Farben zur Darstellung der Bilder im Original vorhanden
sind, wird das gleiche Verfahren wie beim ST-Guide angewendet:
Alle Farben bis auf Weiss und Hellgrau werden Schwarz gefrbt.
-Falls bis zu 8 Ebenen (=256 Farben) vorhanden sind, werden die Bilder
"expandiert".
-Rudimentre (=usserst schlechte) Routine, die Bilder ins Gerte
abhngige True-Color Format konvertiert. (Bisher lediglich auf meinem
Falcon in High-Color (16Bit) getestet.)
20.04.2002
-Mit der Tastenkombination CTRL+Z kann zwischen den 2 Zeichenstzen
(FONT und XFONT) gewechselt werden.
-Bugfix: Beim Bestimmen der Fensterbreite wurden flschlicherweise
Linienbefehle als Text und als Linien interpretiert, was je nach
Anzahl Linien zu einer unntig grossen Fensterbreite fhrte.
-Die Einstellungen werden nun aus der Datei HYP_VIEW.CFG geladen.
Damit lassen sich endlich die Einstellungen "von Aussen" verndern.
18.04.2002
-Untersttzung von Popup-Texten.
Verbesserungen gegenber dem ST-Guide:
- Popup in einem eigenen Fenster (=ohne Randelemente), jedoch
Applikations-modal.
Dadurch bleibt die Menuzeile aktiv und die Ausgabe anderer
Programme wird nicht blockiert.
- Popups knnen auch Grafik-Objekte und Bilder enthalten.
(Dummerweise entfernt der HCP die Objekte aus den "pnode"s,
da der ST-Guide dies nicht verkraftet. Abhilfe: man muss ein
normaler Eintrag (="node") erstellen und nach dem compilieren
mit HCP den Header von Hand anpassen!)
- Die Grsse ist nicht beschrnkt. Es werden aber keine Slider
angezeigt, falls das Popup grsser als der ganze Bildschirm
ist. => Zu grosse Popups werden nicht ganz angezeigt.
(aber trotzdem besser als die 12 Zeilen mit 60 Zeichen, die
der original ST-Guide bietet)
13.04.2002
-Nun kann man zur Anzeige auch proportionale Zeichenstze verwenden.
Die Darstellung ist dabei (wie schon bei den quidistanten Zeichen-
stzen) 100% ST-Guide kompatibel.
-Probleme bereiten die kursiven Texte, da zur Berechnung der "Klick-
Position" die Breite jedes Zeichens genommen wird. Und nicht etwa
die Breite der einzelnen Worte. Dadurch, kann die genaue Position
der angeklickten Stelle nicht bestimmt werden!
Dieses Problem hat aber der "echte" ST-Guide auch schon!
-Falls sich an der angeklickten Position nichts befindet, wird das
darunterliegende Wort ermittelt und an eine Pseudo-Suchmaschine
bergeben.
11.04.2002
-Nach tagelanger Suche, habe ich endlich herausgefunden, warum die Titel-
Grafik des "Chips'n'Chips" Hypertextes falsch dargestellt wurde:
Grafiken drfen auch grsser als die 65 KB sein. Die wahre grsse muss
aber mit Hilfe des "Next" Wertes berechnet werden.
D.h. "Next" enthlt das High-Word der Lnge der entpackten Daten.
Etwas kompliziert formuliert. Wer also genau wissen will wie das geht,
kann bei mir nachfragen.
07.04.2002
-Bugfix: Das Anpassen der Fensterbreite und Hhe bercksichtigte
nicht die aktuelle X/Y Position.
12.03.2002
-GetLink() korrigiert. (Nach wie vor keine Untersttzung fr
proportionale Zeichenstze)
-Beim Anzeigen einer neuen Seite springt das Fenster nicht stndig
in die obere linke Ecke. D.h. es wird nur noch Breite und Hhe
angepasst.
-Die wichtigsten Tastenkrzel zum Navigieren im Hypertext implementiert.
Nachdem ich umgezogen bin, hatte ich endlich wieder Zeit um an meinem
Programm zu basteln:
11.03.2002
-Die 1. Plane aller Bilder wird nun korrekt dargestellt. Das bedeutet,
dass man mit HypView monochrome Hypertexte ansehen kann.
Bei Farbbildern kann man teilweise nur erahnen, was dargestellt wird.
-Der Index- und der Katalog-Button haben nun ihre Funktion erhalten.
(Index springt zur Seite mit dem Namen "Index" und Katalog ffnet die
Datei "KATALOG.HYP")
05.03.2002
-Externe-Referenzen funktionieren nun auch.
-History-Eintrge knnen nun auf andere Dateien zeigen.
-Falls die Datei nicht im aktuellen Verzeichnis gefunden wird, so wird
noch in den angegebenen Suchpfaden gesucht.
03.03.2002
-Nun kann man auch mit Mausklicks auf Links durch den Hypertext "browsen"
wobei das anzeigen von externen Referenzen und Popups noch nicht klappt
und einfach mit einer Meldung quittiert wird.
Das ganze muss noch etwas umstrukturiert werden!
-Probleme bei der History, falls sich der Pfad gendert hat.
02.03.2002
-Die Reihenfolge der Seiten (=interne Vernetzung) wird nun beim Blttern
bercksichtigt. Falls es in eine Richtung nicht mehr weitergeht, so
wird der entsprechende Richtungspfeil versteckt.
-Ich habe provisorisch die Icons vom ST-Guide bernommen. Schliesslich
soll spter einmal jede seiner Funktionen bernommen werden.
28.02.2002
-Die Anzeige klappt nun. Probleme bereiteten mir die "@limage" Bilder.
Die Anzeige basiert nun auf folgenden Annahmen:
Alle Grafikobjekte ("image","limage","box","line","rbox") befinden
sich am Anfang der entpackten Daten.
Danach befindet sich der eigentliche Text (inkl. Textattribute und
-Bisher funktioniert erst das vorwrts und rckwrts Blttern ohne die
Reihenfolge zu beachten, also Node 0,1,2,...
27.02.2002
-Bugfix: Bei der Verwendung von Textattributen wurde nicht beachtet, dass
je nach Effekt der Text breiter wurde (z.B. Italic).
16.02.2002 bis 23.02.2002
-berarbeitung der Anzeigeroutinen
-Es wird bei jedem Redraw der ganze Hypertext neu gezeichnet
==> nicht besonders schnell!
-Probleme mit "limage" bestehen noch.
-Bei Bildern wird bisher nur die 1. Plane dargestellt (=kein Dithern,
keine farbigen Bilder)
15.02.2002
-Arbeiten am "GEM-Gewand": Texte werden nun in einem Fenster dargestellt.
Noch keine Grafiken implementiert.
30.01.2002
-Kleine Umstrukturierung, damit die Routinen wie eine Bibliothek
zu einem anderen Programm dazugelinkt werden knnen.
==> jetzt muss das ganze in eine GEM-Applikation "gestrickt" werden.
29.11.2001
-Die HYP-Laderoutine neu geschrieben:
-HYP_DOCUMENT enthlt nun die Indextabelle sowie Zusatzinfos
(Autor, Version, ...) und natrlich der Zugriffspfad auf die Datei.
-Besteht nun aus einem einzigen Speicherblock (=nicht mehrere
"Mfree()" ntig um das Dokument zu entfernen)
-DisplayXY() Routinen angepasst.
25.11.2001
-interne Reorganisation
22.11.2001
-Verarbeitet nun die meisten getesteten Seiten. D.h. bisher werden alle
grafischen Attribute bersprungen.
-Kann auch verschlsselte Dateien lesen (wie z.B. Chips&Chips)
20.11.2001
-Einfache Textdarstellung einer Seite ohne Grafiken und Links klappt
nun einigermassen.
19.11.2001
-Nachdem ich seit geraumer Zeit mit dem Gedanken gespielt habe einen
eigenen HYPertext Viewer zu schreiben, habe ich endlich mit etwas
Code begonnen. (Ausserdem habe ich auch schon seit lngerer Zeit den
Quelltext zu WinGuide von dessen Autor Frank Rger erhalten.)
Es steht also nichts mehr im Weg um das Projekt zu realisieren.
-Die erste Version ist wie immer eine ".TOS" Version mit Textausgaben.
Zur Zeit wird lediglich der HYP-Header sowie die Index-Daten aus einer
HYP-Datei geladen und eine Indextabelle im Speicher erstellt.
Danach wird ein "Baum-Artiger" Index angezeigt.

View File

@@ -0,0 +1,295 @@
ST-Guide Hypertext Format (=HYP)
=========================
Dies ist eine Dokumentation des ST-Guide Hypertext Formats.
Sie basiert auf der Dokumentation, die man im HCP Hypertext von Holger
Weets findet. Dazu habe ich an einigen Stellen Ergaenzungen angebracht,
welche mir beim Programmieren meines Hypertext Viewers aufgefallen sind.
Meine Ergaenzungen sind mit [PhD] gekennzeichnet.
Diese Dokumentation bitte nicht weitergeben!
Philipp Donze Chavornay, 05.05.2002
================================== schnipp ================================
Header eines Hypertextes
------------------------
Der Header einer Hypertext Datei ist wie folgt aufgebaut:
4 Bytes Magic ('HDOC')
4 Bytes Laenge der Indextabelle
(Seiten, Bilder, ext. Referenzen, system, rexx)
2 Bytes Anzahl der Eintraege in dieser Tabelle
1 Byte Kennung, mit welcher Version des Compilers uebersetzt wurde
(aktuell 3)
1 Byte Kennung, unter welchem Betriebsystem uebersetzt wurde
(0: unbekannt, 1: AMIGA, 2: ATARI, 3: Macintosh)
Indexbereich eines Hypertextes
------------------------------
1 Byte Laenge dieses Eintrages
1 Byte Typ dieses Eintrages
0: interne Seite (@node)
1: Popup-Node (@pnode)
2: externe Referenz (@{... link FILE [LINE]})
3: Bild (@image)
4: SYSTEM-Argument (@{... system ARG})
5: REXX-Script (@{... rxs FILE})
6: REXX-Kommando (@{... rx ARG})
7: QUIT Dummy-Eintrag (@{... quit})
4 Bytes Seek Offset in die Datei
2 Bytes Differenz entpackte/gepackte Laenge des Objektes
2 Bytes Index des Nachfolgers
2 Bytes Index des Vorgaengers
2 Bytes Index des Inhaltsverzeichnisses fuer dieses Objekt
x Bytes Name des Objektes, nullterminiert
evtl. ein weiteres Nullbyte, damit der naechste Eintrag wieder
auf einer geraden Adresse liegt
Von diesen Strukturen finden sich so viele in der Datei, wie der
entsprechende Wert im Header angibt.
Die Laenge einer Seite berechnet sich aus der Differenz der
Seek-Offsets dieser Seite und der des Nachfolger-Objektes.
Erweiterte Header
-----------------
Erweiterte Header dienen i.w. dem Zweck, alle Daten auch bei Er-
weiterungen des Systems kompatibel zu aelteren Versionen zu halten.
Der Aufbau eines solchen Headers ist wie folgt:
2 Bytes Kennung
2 Bytes Laenge
n Bytes Daten
Aktuell existieren folgende Header:
0 Ende-Kennung, es folgen keine weiteren Header mehr
1 Database Name, es folgen Laenge und C-String
(@database)
2 Name der Default-Node, es folgen Laenge und C-String
(@default)
3 Name der Host-Applikation(en), es folgen Laenge und C-String(s)
(@hostname)
4 Optionen, die von den Default-Einstellungen abweichen, es
folgen Laenge und C-String
(@options, Kommandozeile)
5 Name des/der Autoren, es folgen Laenge und C-String
(@author)
6 Versions-Information, es folgen Laenge und C-String
(@$VER:)
7 Name der Hilfe Seite, es folgen Laenge und C-String
(@help)
8 Beschreibung der Gebiete, in die der Text einzuordnen
ist, es folgen Laenge und C-String
(@subject)
9 HypTree-Header; Aufbau:
4 Bytes Summe der Laengen aller expliziten Titel
Array von Wortbreiten Bitvektoren:
1. Wort: Bit n == 1 -> Seite n hat einen expliziten Titel
2. Wort: Bit n == 1 -> Seite 16+n hat einen expiziten Titel
usw.
10 Flags fuer den ST-Guide (2 Bytes)
Falls das Bit 10 gesetzt ist, so ist der Hypertext verschluesselt. [PhD]
11 verwendete Zeilenlaenge (@width)
Ein Lesealgorithmus fuer diese Header muss alle ihm nicht bekannten Header
ohne Warnung oder Fehlermeldung ueberlesen.
Datenbereich eines Hypertextes
------------------------------
Alle Seiten, Popup's und Bilder, die im Hypertext definiert wurden.
Meist liegen die Daten in gepackter Form vor, so dass sie nicht ohne
weiteres verwendet werden koennen. Der verwendete Pack-Algorithmus
entspricht dem LH5 Verfahren des LHarc, ist somit sehr effizient und
zumindest beim Auspacken auch schnell genug.
Die Reihenfolge der Daten-Objekte entspricht der der Indextabelle,
externe Referenzen, system- und rexx-Eintraege besitzen keine Daten
in diesem Bereich, die Daten gehoeren folglich immer zu einer
* Textseite oder zu einem
* Bild
Format einer [p]node
--------------------
Gehoeren die Daten zu einer Textseite (@node, @pnode), so haben die
(entpackten) Daten folgendes Format:
a) optionaler Grafikbereich (nur @node)
Hier werden alle grafischen Objekte dieser Seite wie
folgt beschrieben:
1 Byte Kennung (27, ESCAPE)
1 Byte Typ
50: Bild (@image)
51: Linie (@line)
52: Box (@box)
53: Box mit runden Ecken (@rbox)
2 Bytes Index, falls Bild
damit keine 0-Bytes entstehen, liegt dieser Wert zur Basis
255 vor und zu beiden Bytes wurde der Wert 1 addiert
1 Byte X-Offset in Zeichen
Bilder: falls X = 0 ==> zentriert [PhD]
2 Bytes Y-Offset in Zeichen
damit keine 0-Bytes entstehen, liegt dieser Wert zur Basis
255 vor und zu beiden Bytes wurde der Wert 1 addiert
1 Byte Breite des Objektes in Zeichen
Bilder: falls Breite = 1 ==> limage [PhD]
1 Byte Hoehe des Objektes in Zeichen
1 Byte Data, falls kein Bild
Bevor folgende Aufschluesselung angewendet werden kann muss
zuerst "Data" um eins verkleinert werden! [PhD]
Linie: Bit 0 == 1: Pfeilspitze am Anfang
Bit 1 == 1: Pfeilspitze am Ende
restliche Bits: Linienstil
Box:
RBox: Fuellmuster
Bei Bildern werden Breite und Hoehe ignoriert, bei Linien bilden
sie das umgrenzende Rechteck.
b) optional bis zu 12 Querverweis-Datenbloecke
1 Byte Kennung (27, ESCAPE)
1 Byte Typ (48)
1 Byte Laenge (ueber alles)
2 Bytes Indexnummer der Zielnode (im 255er Format [PhD])
Text fuer das Popup, Nullterminiert
c) optional weitere Datenbloecke
1 Byte Kennung (27, ESCAPE)
1 Byte Typ (40-47)
1 Byte Laenge (ueber alles)
Daten
d) optional Fenstertitel (@node, @title)
1 Byte Kennung (27, ESCAPE)
1 Byte Typ (35)
Fenstertitel, Nullterminiert
evtl. Fuellbyte, damit der Text auf einer geraden Adr.
beginnt
e) optional Tabelle mit Objekten & Seiten (@tree)
1 Byte Kennung (27, ESCAPE)
1 Byte Typ (49, ObjTable)
2 Bytes Zeilennummer in der Zielseite
2 Bytes Nummer des Baumes
2 Bytes Objekt in diesem Baum
2 Bytes Index der Seite
Damit keine 0-Bytes entstehen, liegen alle 2 Byte Werte zur
Basis 255 vor und zu beiden Bytes wurde der Wert 1 addiert;
f) optional Text mit Attributen
Die einzelnen Zeilen sind durch ein 0-Byte abgeschlossen und
koennen beliebig viele nicht auszugebende Zusatz-Information
enthalten.
Diese Informations-Sequenzen werden jeweils durch das Zeichen
ESCAPE (27) eingeleitet, ihm folgt ein weiteres ESCAPE oder
ein Typ, im ersten Fall ist das Zeichen ESCAPE auszugeben und
im zweiten Fall bestimmt der Typ das weitere Vorgehen:
36: Referenz auf andere Seite
@{... link NODE}
37: wie 36, aber mit Zeilennummer
@{... link NODE LINE}
38: wie 36 nur durch 'alink' erzeugt
@{... alink NODE}
39: wie 38, aber mit Zeilennummer
@{... alink NODE LINE}
>= 100: Vektor fuer Textattribute:
nach Abzug von 100 ergibt sich folgender
Bitvektor:
1: Fettschrift
2: helle Schrift
4: Kursivschrift
8: unterstrichen
16: 'Outlined'
32: schattierte Schrift
Bei Typ 37 und 39 folgen 2 Bytes Zeilennummer; damit keine
0-Bytes entstehen, liegt dieser Wert zur Basis 255 vor und
zu beiden Bytes wurde der Wert 1 addiert
Bei Typ 36-39 folgen nun
2 Bytes Index in die Tabelle aus dem Indexbereich;
damit keine 0-Bytes entstehen, liegt dieser Wert zur
Basis 255 vor und zu beiden Bytes wurde der Wert 1
addiert
1 Byte Laenge des betreffenden Strings + 32
ist die Laenge gleich 32, so ist hier direkt der Name
des indizierten Objektes auszugeben, ansonsten so
viele Zeichen, wie die Laenge angibt, minus 32 aus
der nachfolgenden Zeichenkette
Format eines Bildes
-------------------
Gehoeren die Daten zu einem Bild, so liegt (nach dem Entpacken)
folgendes Format vor:
a) Header
2 Bytes Breite des Bildes in Pixeln (wird ignoriert)
2 Bytes Hoehe des Bildes in Pixeln (wird ignoriert)
1 Byte Anzahl der Planes (1..8)
1 Byte 'Planepic': Bit n == 1 --> Daten fuer Plane n
vorhanden
1 Byte 'PlaneOnOff': Bit n == 1 --> Plane ganz ausgefuellt
1 Byte Filler, damit das Bild auf gerader Adr. liegt
b) 1. Plane
optional 2. Plane
...
optional 8. Plane
Format einer REF Datei
----------------------
Datei-Kennung
4 Bytes Magic ('HREF')
Modul-Header
4 Bytes Laenge des Moduls ohne Header
4 Bytes Anzahl der Eintraege im aktuellen Modul
Modul-Daten
1 Byte Kennung des Eintrages
0: Dateiname (z.B. 'ST-GUIDE')
immer ohne Pfad
(eintragen eines Pfades ist jedoch erlaubt)
und meist auch ohne Endung
(als Endung wird .HYP verwendet, falls keine angegeben)
1: Node Name
Seitenname aus dem Hypertext zum letzten Datei-Eintrag
2: Alias Name
Aliasname aus dem Hypertext zum letzten Node-Eintrag
(wird vom hcp nur optional hier eingetragen)
3: Label Name
Labelname aus dem Hypertext zum letzten Node-Eintrag
(wird vom hcp nur optional hier eingetragen)
4: database Name
Database-Argument zum letzten Dateieintrag
5: Kennung des Betriebsystemes, unter dem der Hypertext
uebersetzt wurde
('0': unbekannt, '1': AMIGA, '2': ATARI, '3': Macintosh)
1 Byte Laenge des Eintrages
n Bytes Eintrag als Nullterminierter String
bei Typ 3 folgen dem String noch 2 Bytes Zeilennummer
Beliebig viele weitere Modul-Header gefolgt von Modul-Daten.
8 Bytes Nullen als Ende-Kennung
[PhD] Diese 8 0-Bytes sind nicht in der Modul-Laenge enthalten!
====================== [PhD] ============================
Ab hier folgen meine eigenen Notizen:
-Format einer externen Referenz (=Node Typ 2 bzw. @{... link FILE [LINE]})
Es gibt keine Daten zum Laden, daher ist im Index die Laenge 0. Saemtliche
Daten befinden sich im Namen des Index-Eintrags und zwar im folgenden
Format:
<name>/<node-name>
-Groessen-Angabe bei Bildern:
Da Bilder groesser als 65KB sein koennen, die Angabe ueber die Laenge der
entkomprimierten Daten aber auf 2 Bytes (=bis zu 65536 Bytes an Daten)
beschraenkt ist, wird zur Berechnung der waren Groesse der Index-Eintrag
"next" zu hilfe gezogen:
entkomp. Groesse = komp. Groesse + (index->next<<16)+index->comp_diff

View File

@@ -0,0 +1,97 @@
HypView
=======
-Tabulatorweite fuer Text-Dateien einstellbar
* TABSIZE
enthaelt die gewuenschte Tabulatorweite. Ist diese Variable nicht
vorhanden, so wird der Wert 8 verwendet. (hcp, ST-Guide)
-Zeichensatztabellen fuer Text-Dateien unterstuetzen (ISO Latin, PC, ...)
via KeyTab oder so
-Fehlermeldung falls keine weiteren Fenster mehr vorhanden.
-ST-Guide kann bei Verwendung eines Fonts mit kleineren Ausmassen als denen
des Standard-Systemfonts, unter bestimmten Umstaenden Texte so plazieren,
da Text und Grafik sich nicht ueberschneiden. Angenommen auf einer
Hypertextseite soll zuerst ein Bild und darunter Text erscheinen.
Damit jetzt bei Verwendung von @image plus Leerzeilen - anstelle von
@limage (dieser Befehl setzt ja automatisch Text unter die Grafik) -
der Text unabhaengig von der Hoehe des Fonts immer unterhalb des Bildes
erscheint, benutzt ST-Guide an der Stelle, wo die Grafik erscheint,
Leerzeilen mit der Hoehe des Standard-Systemfonts.
-Intelligenter "Fuller" berarbeiten: die linke obere Ecke des Fensters
sollte nur wenn absolut noetig veraendert (=das Fenster verschoben) werden.
Falls das vergroesserte Fenster platz auf dem Bildschirm hat, bleibt die
Ecke unveraendert.
-Anpassen der Fensterbreite und -hoehe (=WIN_ADJUST) sollte separat
konfigurierbar sein.
-bei der Selektion sind ein paar Bugs drin. Z.B. auch bei leere Zeilen
fuehren zu Redraw-Fehlern.
-Kontext-Menue mit dem Befehl "Im Text-Editor oeffnen..." erweitern
-nach Veraenderung der ASCII-Konfigurationsdatei ueber einen Editor, d.h.
direkt nach dem Abspeichern im Editor, diese Datei einzulesen und sofort
alle aenderungen in HypView zu uebernehmen.
-Schnellerer Seitenaufbau (z.B. indem man die Text-Ausmasse nur einmal
berechnet!)
-Bug: Hintergrund Farbbilder werden falsch konvertiert mit Imagine VDI
+"Zurueck" ins Kontext-Men aufnehmen(erledigt).
(evtl. Rechtsklick fuer "Zurueck"-Funktion anstatt Kontext-Men)
-Zurueck via Rechtsklick (wie bei ST-Guide) einbauen. Konfigurierbar!
Rechte Maustaste als Alternative zum Zurueck-Icon, falls die Variable
RIGHTBACK in der ST-GUIDE.INF definiert ist und der Klick dann
geschieht, wenn der Mauszeiger sich gerade im ST-Guide-Fenster befindet.
Diese Funktion ist von einigen Betriebssystemen gewissermaen nicht voll
"abgesegnet" und daher zunchst nicht aktiviert. Mausfetischisten
moegen aber in der schnellen Ruecksprungmoeglichkeit einen Gewinn sehen.
Ihnen zuliebe wurde diese Funktion implementiert.
* RIGHTBACK
Falls diese Variable definiert ist (Wert egal), so wird das Bettigen
der rechten Maustaste wie ein Klick auf den 'zurck' Button interpre-
tiert. Defaultmig ist diese Variable nicht gesetzt, weil das a) den
Nachteil hat, da Aktionen im hintenliegenden Fenster nicht mehr
mglich sind, und b) werden Rechtsklicks von den verschiedenen TOS-
Versionen unterschiedlich behandelt (Quelle: Martin "WINX" Osieka)
- ALT-R - Remarker oeffnen, falls dieser laeuft oder die Variable REMARKER
definiert ist
- SHIFT-CTRL-O - wie CTRL-O, nur mit *.* als Pattern im erscheinenden
Fileselektor
- Ctrl-F - Pattern suchen (wie Extra -> Suchen)
Bei Auswahl dieser Funktion (auch aktivierbar durch Control - F )
erscheint ein Dialog, in dem ein Suchbegriff eingegeben werden kann.
Folgende Knoepfe stehen zur Auswahl:
Im Text Als Seite Als REFerenz Abbruch
In allen Seiten ... aller Hypertexte
- Ctrl-G Pattern erneut suchen (wie Extra -> Weitersuchen)
- BubbleGEM fuer Icon
--------------------------------
> Probably not too hard ;) Try for example to have some default hyp file,
> click on ACC, it's opened, all right. Click again and 0x00000000 memory
> violation occurs.
I'm not able to reproduce this on my Milan. However, I can make it crash
with a NULL-pointer by topping and the hiding it when it has no open
windows. This only happens when using it as an accessory, as it exits if
there are no open windows when running as an application.
Topping an already open window doesn't crash here. But attempting to top
Hypview (by sending it AC_OPEN) will crash it if it has had an open
window but no open windows now. This happens every time.
J-------------------------

BIN
tools/hyp_view/hyp_view.app Normal file

Binary file not shown.

View File

@@ -0,0 +1,4 @@
#BGH 000 000 000
BubbleGEM Help-File by RSM2OUT v1.95 f<>r ResourceMaster ab v2.06 by ARDISOFT

BIN
tools/hyp_view/hyp_view.rsc Normal file

Binary file not shown.

View File

@@ -0,0 +1,52 @@
This document describes in short how to install and use HypView.
Installation
------------
HypView can be used as normal application or as accessory.
Set your desktop to open *.HYP files using HypView. If you like you
can set HypView as default viewer.
By setting the STGUIDE and/or HELPVIEWER environment variable to
the full path to HypView, other applications have the possibility to
start HypView if necessary.
Usage
-----
HypView has been written to replace ST-Guide. Therefore it's working
like "the original". The icons in the toolbar are nearly identical.
From left to right:
-"Back": jumps back to the page which lead to the current page
-"History": displays a history popup which allows jumping back
to a specific page.
-"Bookmarks": Allows you to select and define your fovorite pages
-"Previous": Go to previous page
-"Home": Go to parent page of the current page.
-"Next": Go to next page
-"Index": Display index of all pages/nodes defined.
-"Catalog": Display the catalog hypertext (defined in the HypView
configuration file)
-"See also...": Displays a popup which suggests further readings.
-"Help": Jump to help page of the current hypertext.
-"Info": Displays some information about HypView and the current
hypertext file.
-"Load": Opens a fileselector to load a new file.
-"Save": Opens a fileselector to select a filename to which the
current selection (or the current page) is saved.
-"Extra": Displays a popup (=same as the right-click context menu)
which provides access to further operations.
Features
--------
-Display of ASCII and binary files.
-Modern look thanks to the skins made by Gunnar Gr<47>bel
-Multiple windows can be opened atonce (CTRL+click on a link to open it in a
new window)
-No problems with long filenames (even with spaces in the name).
-Support for Drag & Drop and Document History protocol
-Popup nodes don't block the system. They are displayed in their own window.
-Automatic reload of the document if an other application has modified it.
-Autolocator function available for HYP, ASCII and binary files.
-Exact block selection: you can mark a block using the mouse
and copy it, just as in any standard text editor.
-Color images are also displayed on systems with more than 256 colors.

View File

@@ -0,0 +1,13 @@
"Skins" f<>r HypView (ab V0.28)
von Gunnar Gr<47>bel (http://www.ppp-software.de)
Installation
============
Gesamtes Verzeichnis "Skins" (inkl. SKIN_xx.RSC) in das Verzeichnis von
HypView kopieren.
Mit einem Editor (qed, luna,...) in der Konfigurations-Datei HYP_VIEW.CFG
eine Zeile SKIN=... suchen bzw. einf<6E>gen. Diese Zeile w<>hlt die
entsprechende Resource-Datei aus.Z.B.
SKIN=SKIN_05.RSC
veranlasst HypView die Datei SKIN_05.RSC aus dem Verzeichnis "Skins"
zu laden.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.