|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Panel
cox.jmatt.java.MathTools.demo.gpgdemo.GraphPanel
cox.jmatt.java.MathTools.demo.gpgdemo.LetteringPanel
public class LetteringPanel
This class is designed to create lettering guides like the ones used by children when learning to write. It was inspired by MusicPanel
. Since
lettering guides need lines this class offers six different types of lines, all configurable. It also offers more in the way of spacing options: more options
and more flexibility.
The line options are solid major, solid minor, broken major, broken minor, double and inverted double. The 'major' and 'minor' versions are labels meant to suggest usage. In reality any of these can be configured with any pen with one exception. The double line consists of two lines drawn with the major pen above and the minor pen below. The inverted double reverses these: minor over major. The line spacing is also given in 'major' and 'minor' versions. The difference between these is that the minor space is used to separate the double lines and the 'S' shortcut (see below) automatically generates one major space.
As with MusicPanel
this class uses a String pattern to lay out the lines. All lines are horizontal and all stretch from margin to margin. The
available options are:
The layout process will try to put as many patterns on the page as it can and it ignores trailing space. In order to enforce a minimum trailing space use the 'I' character. In order to prevent infinite loops the solid and broken lines do count as 0.001 major line space. The double lines automatically count as a minor space.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.awt.Panel |
---|
java.awt.Panel.AccessibleAWTPanel |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary |
---|
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
LetteringPanel()
Standard constructor. |
Method Summary | |
---|---|
void |
drawGraph(int pTop,
int pBot,
int pLeft,
int pRight,
SVGTag pPaper)
Lay out the paper. |
void |
eatPizza(java.util.Properties pPizza,
java.lang.String pPrefix)
This method accepts a Properties object and an optional String prefix and attempts to extract configuration data from it. |
void |
reset()
Restore factory defaults. |
void |
setBroken(int pMajor,
int pMinor)
Set the major and minor broken (dashed) line pens. |
void |
setDouble(int pMajor,
int pMinor)
Set the major and minor double line pens. |
void |
setPattern(java.lang.String pPattern)
Set the line layout pattern. |
void |
setSolid(int pMajor,
int pMinor)
Set the major and minor solid line pens. |
void |
setSpace(double pMajor,
double pMinor)
Set the major and minor (vertical) line spacing. |
java.lang.String |
toPizza(java.lang.String pPrefix)
This method extracts the configuration and state information from a generator and produces java.util.Properties -style output. |
Methods inherited from class cox.jmatt.java.MathTools.demo.gpgdemo.GraphPanel |
---|
asDouble, asInt, eatGlobalPizza, getKey, getKey, getPen, getPen, GP_DEBUG, loadPizza, setGPDebug, setGPDebugMode, setKey, setKey |
Methods inherited from class java.awt.Panel |
---|
addNotify, getAccessibleContext |
Methods inherited from class java.awt.Container |
---|
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree |
Methods inherited from class java.awt.Component |
---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public LetteringPanel()
Method Detail |
---|
public void drawGraph(int pTop, int pBot, int pLeft, int pRight, SVGTag pPaper)
drawGraph
in class GraphPanel
pTop
- The top margin of the drawable area.pBot
- The bottom margin of the drawable area.pLeft
- The left margin.pRight
- The right margin.pPaper
- The SVGTag
on which the drawing is to occur.public void reset()
reset
in class GraphPanel
public void setPattern(java.lang.String pPattern)
pPattern
- The new layout pattern.public void setSpace(double pMajor, double pMinor)
public void setSolid(int pMajor, int pMinor)
public void setBroken(int pMajor, int pMinor)
public void setDouble(int pMajor, int pMinor)
public java.lang.String toPizza(java.lang.String pPrefix)
GraphPanel
This method extracts the configuration and state information from a generator and produces java.util.Properties
-style output. A String
prefix can be prepended to each key. If 'pPrefix' is not null or blank it will be attached to the front of the key String, separated by a single dot. If
the prefix does not end with a dot one will be supplied automatically.
Use of the prefix allows multiple configurations to be stored in a single file. Also, since each generator has its own unique prefix (separate from the one supplied) multiple generator configs can be stored in a single file.
This is primarily a scripting method. It was developed in order to allow the perfect settings to be saved in a (scripting-) language-agnostic way that was also human-readable. The individual property names are typically Java-fied versions of their GUI labels. If MathTools is run from its JAR and the standard GUI is present the instances exposed to scripts are the ones in the GUI, so setting values in the GUI will affect script output and settings made by the script are reflected in the GUI.
toPizza
in class GraphPanel
pPrefix
- The prefix to prepend to each key. Ignored if null or blank.public void eatPizza(java.util.Properties pPizza, java.lang.String pPrefix)
GraphPanel
This method accepts a Properties
object and an optional String prefix and attempts to extract configuration data from it. It complements
toPizza()
. If 'pPizza' is null or empty nothing happens: the method returns silently. If 'pPrefix' is not null or blank it is used as a prefix
to each key. If the String sent in does not end with a dot one will be supplied automatically. All of the keys requested have default valus that match the
ones on the GUI.
Under normal cirucmstances the generator instances exposed to scripts are the ones in the GUI so changes using one are reflected in the other.
eatPizza
in class GraphPanel
pPizza
- A java.util.Properties
object containing configuration data.pPrefix
- An optional prefix to include with each key. Ignored if null or blank.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |