Multivalent API

Uses of Class
multivalent.VObject

Packages that use VObject
multivalent Core system classes. 
multivalent.devel Developer tools, templates, and examples: MyBehavior template, document tree viewer, DebugMode, .... 
multivalent.devel.lens Document inspection lenses: bbox bounds, character numbers, ruler for layout measuring. 
multivalent.gui Graphical user interface widgets, natively implemented as Nodes. 
multivalent.net Network-related behaviors: cookies, referer, return code, server. 
multivalent.node Many types of tree nodes: scrolled panel, fixed format document nodes, media leaves. 
multivalent.std Standard system functionality that is guaranteed to be available locally during runtime. 
multivalent.std.adaptor Media adaptors guaranteed to be available locally: HTML, UNIX manual page, directory, FTP directory, ... 
multivalent.std.adaptor.pdf PDF manipulation: read, render, modify, write.
multivalent.std.lens Lens superclass and standard lenses, such as Magnify and Rot-13. 
multivalent.std.span A collection of general-use spans: hyperlink, highlight, font, color. 
multivalent.std.ui Standard user interface controls, such as forward/back buttons and bookmarks. 
 

Uses of VObject in multivalent
 

Subclasses of VObject in multivalent
 class Behavior
          The Behavior is the primary way to extend the system.
 class CursorMark
          Blinking cursor.
 class Document
          An independent document, generally with content subtree, stylesheet, URI (not URL), Layers of behaviors that implementing genre- or document-specific functionality, and document-wide variables.
 class INode
          Internal nodes have children.
 class IScrollPane
          An internal node that scrolls its content as necessary.
 class Layer
          Special behavior type that groups (1) behaviors (which can be nested Layer's) and (2) data trees of ESISNodes, and dispatches (round robin) protocol events over its collection.
 class Leaf
          Leaf nodes are words of text, XDOC words, images, and so on.
 class MediaAdaptor
          Superclass for media adaptors: behaviors that parse some concrete document format and build a document tree.
 class Node
          Base class for nodes of the document tree (both user interface and content), providing common tree manipulation methods as well as implementing before and after phases of tree walk protocols, calling another method that can be easily overridden.
 class Span
          A Span (aka Range aka Tk tag), such as a hyperlink or executable copy editor mark, is a linear range of content that can control appearance and receives events.
 class SystemEvents
          Default implentation of standard set of system events: open document, load layer, and more.
 

Methods in multivalent with parameters of type VObject
 void StyleSheet.activesAdd(java.util.List<ContextListener> actives, VObject o, Node parent)
          Add all relevant ContextListeners to Context.
 void StyleSheet.activesRemove(java.util.List<ContextListener> actives, VObject o, Node parent)
           
 

Uses of VObject in multivalent.devel
 

Subclasses of VObject in multivalent.devel
 class Debug
          Runtime behavior that can generate various dumps.
 class DebugMode
          Set flag that controls availability/visibility of debugging behaviors (those in Debug layer and those in Debug menu).
 class NodeActivity
          Attach to node to report protocol activity on that node, filterable by protocol.
 class ShowDocTree
          Replace view current document with infomration on data structure: indented to show nesting, with name/GI, bbox, attributes, stickies, ....
 class Stats
          General statistics: memory use, ...
 

Uses of VObject in multivalent.devel.lens
 

Subclasses of VObject in multivalent.devel.lens
 class Bounds
          Show bounds of tree nodes.
 class CharNum
          CharNum lens (RFC ref).
 class Ruler
          Screen ruler, used to measure layouts.
 

Uses of VObject in multivalent.gui
 

Subclasses of VObject in multivalent.gui
 class VAlert
          Automatically sizes to include content as given by a URL, and horizontally centers in window, and has no window controls.
 class VButton
          Button widget: click to invoke the associated script (as given by SCRIPT attribute).
 class VCheckbox
          Checkbox widget: toggle ON and OFF.
 class VDialog
          A VFrame that returns an event to its parent Document.
 class VEntry
          Single-line editable text field.
 class VFrame
          Movable, resizable internal window, with title bar.
 class VMenu
          Pure Multivalent menu widget.
 class VMenuButton
          Menu button widget that pops up associated VMenu when mouse pressed.
 class VRadiobox
          Radiobox widget: only on in associated Radiogroup can be selected at the same time.
 class VScrollbar
          Scrollbars, both vertical and horizontal.
 class VSeparator
          Menu separator widget, whose name is used to identify menu categories.
 class VTextArea
          Editable area (not necessarily all text).
 

Uses of VObject in multivalent.net
 

Subclasses of VObject in multivalent.net
 class About
          Intercepts Document.MSG_OPEN events with "about" protocol and remaps to document as given in attributes.
 class Cookies
          Implements both Netscape spec and W3C spec
 class HttpHeaders
          Set HTTP headers: User-Agent, Accept, Accept-Encoding, Keep-Alive, Referer [sic], and so on.
 class RemoteControl
          Accept semantic events via socket listening on port.
 class Robust
          Standard fix ups to DocInfo: URL When SystemEvents get Document.MSG_OPEN with a String URL, it passes it around for people to fix up.
 

Uses of VObject in multivalent.node
 

Subclasses of VObject in multivalent.node
 class FixedI
          Internal node for use with formats that are already layed out, such as scanned page images, PostScript, PDF, TeX DVI.
 class FixedIClip
          Clips children to be within its bbox, WxH of which are given in constructor and are independent of size and position of children.
 class FixedIHBox
          Fixed-format INode that adjusts to changes in size of children by moving them horizontally.
 class FixedIVBox
          FixedIVBox
 class FixedLeafBlock
           
 class FixedLeafImage
          Holds an Image.
 class FixedLeafOCR
          Draw by reaching clipping out from who page image that portion corresponding to word.
 class FixedLeafShape
          Holds a Shape.
 class FixedLeafUnicode
          Leaf subclass for fixed-formatted ASCII.
 class FixedLeafUnicodeKern
          Leaf subclass for fixed-formatted Unicode with kerning.
 class IClip
          Clips children to be within its bbox, WxH of which are given in constructor and are independent of size and position of children.
 class IGroup
          Logical grouping, like IParaBox except doesn't cause linebreaks.
 class IHBox
          Place children in horizontal line, no line breaking.
 class INodeZero
          Internal node that has zero effect on layout and display.
 class IOutline
          Not used -- done with spans instead, as in Outliner.
 class IParaBox
          Like a paragraph, layout children in a row, wrapping lines as necessary.
 class IRootAbs
          Visual layer containing elements absolutely positioned within current document-- that is, relative to the current document's virtual canvas including scrolling, but independent of content.
 class IRootScreen
          Visual layer containing elements absolutely positioned in document window.
 class IVBox
          Lays out children vertically, top to bottom.
 class IZoom
          Broken Insert node into tree and set zoom factor to implement zooming on subtree.
 class LeafBlock
          Block empty rectangular placeholder, for replacing advertisements, say.
 class LeafImage
          Medium-specific leaf node.
 class LeafShadow
          Leaf to shadow structural node in absolute visual space.
 class LeafShape
          Holds a Shape, which is painted stroked or filled or both.
 class LeafText
          Superclass for text leaf nodes.
 class LeafUnicode
          Leaf subclass for Unicode.
 class LeafZero
          Leaf node that has zero effect on layout and display.
 class Root
          Documents can contain other documents, and this is the topmost instance.
 

Uses of VObject in multivalent.std
 

Subclasses of VObject in multivalent.std
 class Autosearch
          Find words in tree, highlight matches.
 class BrowseScrollViz
          Record last scroll positions on document and mark on scrollbar.
 class ClipMarkup
          Generate XML-format tagged text for clipboard based on structure tree, instead of usual text.
 class ClipProvenance
          Augment selection for clipboard with source URL.
 class DeleteBehavior
          User hubs are loaded after built-in hubs, so need way to delete unwanted built-in behaviors.
 class DisableTree
          Set as observer on tree node to disable action in that subtree: shortcircuits events, visually grays out content.
 class Executive
          Collapse document, showing just Notemarks and structure.
 class LinkMarkup
          For plain Jane document formats without hyperlinks, scan text looking for patterns to make into links, such as "protocol://host.domain", "www.host.domain", "ftp.host.domain", "user@host.domain".
 class MediaLoader
          Load documents in a new thread so GUI and other documents are still live.
 class Note
          Show a PostIt-like note in a VFrame.
 class OcrView
          Base class for OCR media adaptors.
 class Outliner
          Take basic Manual Page tree, add outliner spans (which in turn add controls open/close arrow, click on title to toggle).
 class PauseNGo
          Wait for mouse click for DELAY ms, then execute CMD with argument ARG.
 class PerPage
          Wraps other behaviors in hub and enables them only when page URI matches passed pattern.
 class Print
          STATUS: just defines PRINT semantic event -- no implementation yet.
 class ReportBug
          Stuff debugging information into clipboard, for pasting into email or message board post.
 class RestoreReport
          BROKEN.
 class ReverseLink
          Reverse links: throw page URI to search engine.
 class ScrollbarViz
          Visualization of search results on scrollbar.
 class Search
          Find words in tree, highlight matches within document.
 class SearchHit
          Record for search hits, to be passed around in the semantic event "searchHits".
 class ShowHeaders
          Show various metadata: HTTP headers, HTML META tags
 class SimpleAnchorScrollTo
          Scroll to simple anchor, both HTML NAME/ID attr and AnchorSpan annotations.
 class SlideShow
          Full screen slide show for multipage documents.
 class SlideShowLinks
          Collect links in current document, march through in other window.
 class SpeedRead
          Starting at cursor/selection, flash words up at some rate, after and superior to Vortex.
 class TableSort
          Sort structural table at given column, heuristically determining data type.
 

Uses of VObject in multivalent.std.adaptor
 

Subclasses of VObject in multivalent.std.adaptor
 class AppleWorksWP
          Media adaptor for Apple II AppleWorks 3.0 Word Processor (AWP) Throws out pagination, tabstops, spacing, margins.
 class ASCII
          Media adaptor for plain old ASCII files (.txt => doc tree) groups lines into heuristically determined paragraphs (two styles of paragraph: blank line between and indended) MUST RETAIN SPACES, WHICH THIS PRESENTLY DOESN'T.
 class DirectoryFTP
          Media adaptor that displays contents of a FTP directory with links to files and other directories.
 class DirectoryLocal
          MediaAdaptor that displays contents of a local directory.
 class FontSampler
          Show sampler of characters in font file.
 class HexDump
          Like od and strings, simple hex/ASCII dump catch all for general binary data that the user nevertheless wants to view.
 class HTML
          Media adaptor for HTML (.html => document tree).
 class JavaClass
          Media adaptor for displaying information about Java .class files.
 class ManualPage
          Media adaptor for UNIX manual pages (directly from roff -man source).
 class ManualPageVolume
          Collect all man pages in user's MANPATH environment variable.
 class ML
          Abstract superclass for XML and HTML.
 class MultivalentAdaptor
          Multivalent hub document adaptor.
 class PerlPOD
          Media adaptor for Perl "Plain Old Documentation" (POD).
 class PersonalAnnos
          Automatically save and restore annotations from Personal layer.
 class RawImage
          MediaAdaptor that builds tree to show raw image, PNG/JPEG/GIF/XBM.
 class RPM
          Media adaptor for RPM files.
 class StyleSheetSetter
          Cascades style sheets for a document:
  • (Primordial settings in multivalent.Context) User pan-document in user's stylesheet/EVERYWHERE.css
  •  class Tar
              Show contents of UNIX tape archive (Tar) files, with links so can click and view internal file.
     class Texinfo
              Media adaptor for GNU's Texinfo format.
     class Unsupported
              For unsupported document types, say so, and tell user how to see ASCII version.
     class XML
              An ever-closer approximation to the XML specification, which itself is a moving target.
     class Zip
              Show contents of Zip files, with links so can click and view internal file.
     

    Methods in multivalent.std.adaptor with parameters of type VObject
     void CSS.activesAdd(java.util.List<ContextListener> actives, VObject o, Node parent)
               
     void CSS.activesRemove(java.util.List<ContextListener> actives, VObject o, Node parent)
               
     

    Uses of VObject in multivalent.std.adaptor.pdf
     

    Subclasses of VObject in multivalent.std.adaptor.pdf
     class Action
              Default implementations of PDF actions: GoTo, GoToR, Launch, Thread, URI, Sound, Movie, Hide, Named, SubmitForm, ResetForm, ImportData, JavaScript.
     class Anno
              Superclass for PDF annotations.
     class AnnoLink
              Converts PDF annotation dictionary /Subtype /Link to native hyperlink
     class ContractualObligation
              Enforce permissions (don't print, don't copy and paste, ...), which is hard and unnatural in Multivalent, but required by Adobe.
     class FixedLeafShade
              INCOMPLETE.
     class PDF
              Parse a page of PDF and display with Java 2's 2D API.
     class SpanPDF
              A span that can set any PDF graphic state attribute: stroke color, fill color, font, Tr.
     

    Uses of VObject in multivalent.std.lens
     

    Subclasses of VObject in multivalent.std.lens
     class BitMagnify
              Enlarge contexts by doubling pixel width and height as opposed to drawing at larger size (scaling with ATM).
     class Blur
              Image blur lens, as in "Programmer’s Guide to the Java 2D™ API".
     class Brighten
              Edge detection lens, as in "Programmer’s Guide to the Java 2D™ API".
     class Cypher
              (De)Greek/Cyrillic lens: translate Greek characters to Latin equivalents.
     class Darken
              Edge detection lens, as in "Programmer’s Guide to the Java 2D™ API".
     class EdgeDetect
              Edge detection lens, as in "Programmer’s Guide to the Java 2D™ API".
     class Lens
              VWindows that transform their content and compose with one another.
     class LensMan
              Manager to coordinate lens painting
     class LensOp
              Superclass for lenses that set operation for Graphics2D.drawImage(BufferedImage, BufferedImageOp, int, int).
     class Magnify
              Enlarge content by scaling Graphics2D.
     class Mirror
              Like Cypher could be useful for reading coded messages, I guess, but mostly just a demonstration.
     class PlainView
              Try to make things as readable as possible: undo affine transformations, no signals, black text on white background, non-bold non-italic 12-point Times Roman font, no blink, ....
     class Rescale
              Rescale lens.
     class Rotate
              Doesn't work Rotate landscape into portrait, say.
     class Sharpen
              Image sharpen lens, as in "Programmer’s Guide to the Java 2D™ API".
     class SignalLens
              Scriptable lens for effects that just need a signal set.
     

    Uses of VObject in multivalent.std.span
     

    Subclasses of VObject in multivalent.std.span
     class ActionSpan
              When click on span, execute ActionSpan.action().
     class AnchorSpan
              Intra-document destination of a hyperlink: a named, robustly located point in document.
     class AwkSpan
              Underline a span and show a message at the start.
     class BackgroundSpan
              Background span with editable color.
     class BIUSpan
              A copy editor mark: bold/italics/under suggestion.
     class BlinkSpan
              Because you asked for it!
     class BoldSpan
              Convenience span for setting boldface.
     class BoxSpan
              Box the word covered by the span (later, intelligently box arbitrarily long spans).
     class CapSpan
              Change case of region by clicking anywhere in span.
     class DeleteSpan
              Executable copy editor mark to suggest span should be deleted.
     class ElideSpan
              Convenience span for setting elided (aka hidden) spans.
     class FamilySpan
              Convenience span for setting font family.
     class FontSpan
              Convenience span for setting font properties: family, size, style.
     class ForegroundSpan
              Convenience span for setting foreground color.
     class HyperlinkSpan
              This is the familiar point-to-point link.
     class InsertSpan
              Copy editor markup: insert text at point.
     class InvisibleSpan
              Span for setting invisible text (foreground==background).
     class ItalicSpan
              Convenience span for setting italics.
     class LabelSpan
              Helper span for copy editor marks that draws message above content text.
     class MonospacedSpan
              Same as FamilySpan(..., "Monospaced").
     class MoveTextSpan
              Executable copy editor markup that will move marked text to another point in the document.
     class Notemark
              out of date Many functions taken over by elide attribute in style sheet.
     class OutlineSpan
              Assumes LeafImage as first node, which shows open or closed arrow.
     class OverstrikeSpan
              Convenience span for setting overstrike.
     class PlainSpan
              Convenience span for setting plain text.
     class PointSpan
              Point size span editable by user.
     class RelPointSpan
              Common convenience span for changing the font size relative to the current size by n steps.
     class ReplaceWithSpan
              A combination of InsertSpan and DeleteSpan.
     class ScriptSpan
              When click on span, execute script in VScript.
     class SelectionSpan
              Default selection behavior.
     class SidebarSpan
              UNDER DEVELOPMENT.
     class SignalSpan
              Convenience span for setting some signal, as given by SIGNAL and VALUE attributes.
     class StrokeSpan
              Set attributes of line: width, cap style, join style, miter limit, dash.
     class SubSupSpan
              Convenience span for subscripts and superscripts.
     class UnderlineSpan
              Convenience span for setting underline.
     

    Uses of VObject in multivalent.std.ui
     

    Subclasses of VObject in multivalent.std.ui
     class Annos
              General annotation functionality: wipe annos from document, ...
     class AttrUI
              For now, toggles preference.
     class BindingsDefault
              Event bindings that are the same across platforms, such as right arrow key moving the cursor right.
     class BindingsEmacs
              Pluggable events binding behavior duplicating some Emacs key bindings.
     class BindingsMacintosh
              Pluggable events duplicating some Macintosh key bindings.
     class BindingsTk
              Bindings after Tk.
     class BindingsWindoze
              Pluggable events duplicating some Windoze key bindings.
     class Bookmark
              List of URIs to remember.
     class CacheControl
              Cache control: validate cache vis-a-vis network, or browse offline.
     class DnD
              Drag and drop URLs into Browser window to open page on that URL.
     class DocumentPopup
              Initiates document popup menu (semantic event createWidget/DOCPOPUP, with VMenu in out field).
     class FontFaceMenu
              Set selected text to given font face.
     class FontRender
              Font rendering control: fractional metrics.
     class ForwardBack
              Move forward and backward through documents browsed, via toolbar buttons, menubar items, document popup.
     class History
              Saves last 1000 pages seen.
     class LayerMan
              Placeholder for future work Manage Layers: create new, remove, save, toggle active, ....
     class LinkMe
              For some text that's implicitly a link, dynamically treat it as one if text matches some pattern: URL, manual page, email, ....
     class Menubar
              Populates menubar (but not constituant menus)
     class Multipage
              Interface for paginated document types to choose page number (next, previous, first, last, enter number).
     class NotemarkUI
              Broken AttrUI + style sheet hacking to make Notemarks
     class OpenFile
              Browse a file on the local file system, as chosen by a FileDialog.
     class OutlineUI
              Outline UI controls: smart scrolling, "Fully Open", excerpts on "executiveSummary".
     class PhoneMe
              Play selected text as if on telephone touchtone.
     class PublishAnno
              Write annotations to server.
     class RobustReport
              NOT IMPEMENTED.
     class SaveAnnoAs
              Save annotations in a file chosen with a file chooser.
     class SaveAs
              Save current document to path chosen with a file chooser
     class SeeMono
              Usually better to see ASCII in proportionally spaced fonts, but sometimes have ASCII art -- though some media adaptors don't preserve spaces.
     class SelectionUI
              Lookup selection or current URI at scripted destination
     class SemanticUI
              Generates from a hub description UI elements that trigger a semantic event when activated.
     class SpanUI
              Create a instance of Span describe by hub attributes and move to extent of current selection.
     class StandardEdit
              Standard Edit operations: Undo, Redo, Cut, Copy, Paste, Clear, Select All.
     class StandardFile
              Standard File operations: Undo, Redo, Cut, Copy, Paste, Clear, Select All.
     class Stop
              Stop button and popup item -- just sends stop event, but enable logic presently out of capabilities of scripting language.
     class Toolbar
              Populates toolbars
     class ViewSource
              Opens new window and displays current document as ASCII.
     class WindowUI
              Creates new window or lens.
     class Zoom
              Zoom controls.
     


    Multivalent API