JVPC Programming Guide

This guide gives a short overview of my thinking behind the code. It sort of explains why I did what I did. It might help you explain how you should use it.

Design Philosophies

The packages have the following meaning:
PackageMeaning
kero.utilVery useful, miscellaneous stuff (LGPL),
kero.awtAdditions to the java.awt package (LGPL),
jvpc.vgaReads, maintains and writes all data (GPL),
jvpc.jvpcA (GUI) client for editing by hand (GPL),
jvpc.vpcheckA (text) client for checks and automatic editing (GPL).

vga

External Usage

This section describes how to use jvpc.vga as a library, for example, to make a client.

Internal Hacking

This section describes the internal mechanisms used in jvpc.vga.

jvpc

The UI. Each Frame extends kero.awt.MyFrame and handles loads of awt events. The class JVPC controls the set of frames.

The MapFrame implements the scrollbars itself (no ScrollPane). The code is somewhat complex (read: somewhat bad). Besides, scrollbars are lousily implemented in most JVMs (worse, constructor changed subtly from Java 1.1 to 1.2).

vpcheck

There are a couple of main programmes (like VPCheck), which run a whole range of Checks and/or Actions. Each of these have a separate class. If you make a new check or action, design a new Class and hook it in VPCheckConfig in the proper modes of the program.

House Style

Coding Style is shifting to the default Java coding guidelines. Some files adhere to it, some don't. Some adhere partially :-(

Future Extensions

See the ToDo-list.
Or add whatever feature you think is needed.

I'd like you not to touch the jvpc.vga package. Though it is GPL, it is dangerous to mess with Tims data structures. If you find bugs or have suggestions for improvement, just report them to me.


Kero,
29 XII 2000