[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] alph/doc alph.rst
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] alph/doc alph.rst |
Date: |
Mon, 26 May 2003 04:40:58 -0400 |
CVSROOT: /cvsroot/alph
Module name: alph
Changes by: Tuomas J. Lukka <address@hidden> 03/05/26 04:40:58
Modified files:
doc : alph.rst
Log message:
More text
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/alph/alph/doc/alph.rst.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: alph/doc/alph.rst
diff -u alph/doc/alph.rst:1.2 alph/doc/alph.rst:1.3
--- alph/doc/alph.rst:1.2 Mon May 26 04:26:52 2003
+++ alph/doc/alph.rst Mon May 26 04:40:57 2003
@@ -1,6 +1,6 @@
-===========
-Alph design
-===========
+=============================
+Alph design -- the interfaces
+=============================
Alph is an implementation of xanalogical hypertext (see e.g. Nelson's
writings). The fundamental point in xanalogical hypertext is that
@@ -44,24 +44,23 @@
intersects(Span s)
getScrollId()
- class Span1D "interface"
+ class SpanID "interface"
inherit Span
methods
int offset()
int length()
- Span1D subSpan(..)
- Span1D append(Span1D s)
+ SpanID subSpan(..)
+ SpanID append(SpanID s)
class TextSpan "interface"
- inherit Span1D
+ inherit SpanID
methods
String getText()
class PageSpan "interface"
- inherit Span1D
+ inherit SpanID
methods
PageImageSpan getPage(int ind)
- dep "create" PageImageSpan
class ImageSpan "interface"
inherit Span
@@ -75,17 +74,22 @@
methods
int getPageIndex()
+ dep "create" PageSpan PageImageSpan
+
---
Span.c = (0,0);
- horizontally(20, vs,
+ horizontally(50, vs,
TextSpan, PageSpan, PageImageSpan, ImageSpan);
- vs.c = Span.c + (0, -500);
- Span1D.c = .5[Span.c, TextSpan.c];
+ vs.c = Span.c + (0, -250);
+ SpanID.c = .5[Span.c, TextSpan.c];
+(In the diagram above, SpanID should read Span1D!!!)
+The interfaces in the lowest row are those that are actually
+implemented by some classes.
Note: Spans are immutable objects - the ``append()`` method returns
a new span, if the the object and the parameter were consecutive
@@ -94,6 +98,7 @@
Manipulating text: Enfilades, Span makers
=========================================
+The
Scrollblocks
============
@@ -117,7 +122,8 @@
String getID()
Object getBlockId()
-
+ ---
+ ScrollBlock.c = Span.c + (-200,0);
The scrollblock model assumes that given a span it is possible
@@ -138,8 +144,32 @@
would make things inefficient for the OpenGL system.
Because of this, Alph provides direct access to the underlying
-block:
+data block by allowing the access through the ``BlockFile`` class.
+
+.. UML:: alph_blockfile
+
+ class ScrollBlock
+ assoc multi(1) - multi(0..1) BlockFile
+ methods
+ BlockFile getBlockFile()
+
+ class BlockFile
+ methods
+ java.io.File getFile()
+ String getFilename()
+ void close()
+
+ ---
+ ScrollBlock.c = BlockFile.c + (-200,0);
+
+The blockfile is created by calling ``ScrollBlock.getBlockFile()``,
+and can then be used to obtain access to the file.
+The file may be temporary, which is why it is important to
+explicitly ``close()`` the ``BlockFile`` after use.
+The central media repository class: ``Alph``
+============================================
+b