xmltool.gui
Class NetCanvas

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--xmltool.gui.NetCanvas

public class NetCanvas
extends javax.swing.JPanel
implements java.awt.event.MouseListener

The NetCanvas class allows canvases to be created for designing queries.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Constructor Summary
NetCanvas(javax.swing.JFrame inFrame)
          Constructs a design network canvas.
 
Method Summary
 void addEdge(java.awt.geom.Point2D.Float location)
          Add an edge.
 void addNode(java.awt.geom.Point2D.Float location)
          Add a new node to graph.
 Node adjust(java.awt.geom.Point2D.Float p)
          Adjust point p's location to correspond to the closest distinguished point in the containing polygon (node).
 void adjustParameters(java.awt.geom.Point2D.Float location)
          Pop up a dialog box allowing the designer to adjust a node's parameters.
 void createClasses()
          Create classes for the dtd so that can be used to store objects in the database
 void deleteEdge(double x0, double y0, double x1, double y1)
          Delete node n's incoming edges.
 void deleteInEdge(QCurve p)
          Delete node n's incoming edges.
 void deleteInEdges(Node n)
          Delete node n's incoming edges.
 void deleteLink(java.awt.geom.Point2D.Float p)
          Delete the link at location p.
 void deleteNode(java.awt.geom.Point2D.Float p)
          Delete the node at location p.
 void generateCode()
          Generate the code, when the generate button is pressed
 void load(java.lang.String loadFile)
          Load all the nodes.
 void mouseClicked(java.awt.event.MouseEvent evt)
          Handle mouse clicked event.
 void mouseEntered(java.awt.event.MouseEvent evt)
          The final 2 MouseListener event handlers are not implemented.
 void mouseExited(java.awt.event.MouseEvent evt)
           
 void mousePressed(java.awt.event.MouseEvent evt)
          Handle mouse pressed event.
 void mouseReleased(java.awt.event.MouseEvent evt)
          Handle mouse released event.
 void moveNodeAndParts(java.awt.geom.Point2D.Float delta)
          Move node "moveNode" and its parts (tokens and incident edges).
 void paint(java.awt.Graphics gg)
          Paint the screen.
 void reset()
          Reset the model state.
 void save(java.lang.String saveFile)
          Save all the nodes.
 void setActionType(int actionType)
          Set the action type.
 void setModelName(java.lang.String modelName)
          Set the model name.
 void update(java.awt.Graphics gg)
          Don't erase the screen.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NetCanvas

public NetCanvas(javax.swing.JFrame inFrame)
Constructs a design network canvas.
Parameters:
inFrame - containing frame
Method Detail

setModelName

public void setModelName(java.lang.String modelName)
Set the model name.
Parameters:
modelName - name of model

reset

public void reset()
Reset the model state.

save

public void save(java.lang.String saveFile)
Save all the nodes.
Parameters:
saveFile - name of file the model is stored in

load

public void load(java.lang.String loadFile)
Load all the nodes.
Parameters:
loadFile - name of file the model is stored in

update

public void update(java.awt.Graphics gg)
Don't erase the screen.
Parameters:
gg - graphics buffer
Overrides:
update in class javax.swing.JComponent

paint

public void paint(java.awt.Graphics gg)
Paint the screen.
Parameters:
gg - graphics buffer
Overrides:
paint in class javax.swing.JComponent

setActionType

public void setActionType(int actionType)
Set the action type.
Parameters:
actionType - type of design action

addNode

public void addNode(java.awt.geom.Point2D.Float location)
Add a new node to graph.
Parameters:
location - location of node

adjust

public Node adjust(java.awt.geom.Point2D.Float p)
Adjust point p's location to correspond to the closest distinguished point in the containing polygon (node).
Parameters:
p - point to be adjusted
Returns:
Node containing node

deleteInEdges

public void deleteInEdges(Node n)
Delete node n's incoming edges.
Parameters:
n - reference node

deleteInEdge

public void deleteInEdge(QCurve p)
Delete node n's incoming edges.
Parameters:
p - reference curve

deleteEdge

public void deleteEdge(double x0,
                       double y0,
                       double x1,
                       double y1)
Delete node n's incoming edges.
Parameters:
p - reference curve

deleteLink

public void deleteLink(java.awt.geom.Point2D.Float p)
Delete the link at location p.
Parameters:
p - reference point

deleteNode

public void deleteNode(java.awt.geom.Point2D.Float p)
Delete the node at location p.
Parameters:
p - reference point

moveNodeAndParts

public void moveNodeAndParts(java.awt.geom.Point2D.Float delta)
Move node "moveNode" and its parts (tokens and incident edges).
Parameters:
delta - movement vector

adjustParameters

public void adjustParameters(java.awt.geom.Point2D.Float location)
Pop up a dialog box allowing the designer to adjust a node's parameters.
Parameters:
location - location of reference node

addEdge

public void addEdge(java.awt.geom.Point2D.Float location)
Add an edge. This requires three points: start, control and end.
Parameters:
location - location of reference node

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent evt)
Handle mouse clicked event.
Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
evt - mouse clicked event

mousePressed

public void mousePressed(java.awt.event.MouseEvent evt)
Handle mouse pressed event.
Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
evt - mouse pressed event

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent evt)
Handle mouse released event.
Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
evt - mouse released event

createClasses

public void createClasses()
                   throws java.io.IOException
Create classes for the dtd so that can be used to store objects in the database
Throws:
java.io.IOException - can't write to file

generateCode

public void generateCode()
                  throws java.io.IOException
Generate the code, when the generate button is pressed
Throws:
java.io.IOException - can't write to file

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent evt)
The final 2 MouseListener event handlers are not implemented.
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent evt)
Specified by:
mouseExited in interface java.awt.event.MouseListener