verinec.gui.core
Class NwInterface

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLabel
                  extended by verinec.gui.core.NwComponent
                      extended by verinec.gui.core.NwInterface
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants
Direct Known Subclasses:
MultiInterface, SingleInterface

public abstract class NwInterface
extends NwComponent

This class offers standard implementations of methods that every interface must contain. An interface must know its node and its bindings. It also computes positions for new bindings for that interface.

Author:
Renato Loeffel
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class verinec.gui.core.NwComponent
NwComponent.Mouse
 
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  PCNode owner
          The node this interface belongs to.
protected  int side
          The side of the node this interface is on.
 
Fields inherited from class verinec.gui.core.NwComponent
componentIcon, componentIconNeg, config, drawPanel, gui, pos, selection, type
 
Fields inherited from class javax.swing.JLabel
labelFor
 
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
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected NwInterface(Element config, Point pos, PCNode owner, VerinecStudio gui)
          Initializes the interface.
 
Method Summary
abstract  void addBinding(NwBinding nwBinding)
          Adds a binding to the interface.
protected static Element createElement(int type, int side)
          Get a minimal configuration of an interface, including one binding.
protected static Element createInterfaceInfo(Element config, int side)
          Create the interface layout information and add it to the config.
 void delete()
          Delete the interface: Remove it from owner and let super class handle the rest.
abstract  Vector getBindings()
          Get all bindings owned by this interface.
protected  Element getLayoutChild(Element config)
          Extract the node gui information child from the configuration, add a default if necessary.
 PCNode getOwner()
          Get the owner of this interface.
 int getSide()
          Find out on which side of the node this interface is situated.
abstract  void removeBinding(NwBinding nwBinding)
          Removes a binding from the interface.
 void setSide(int side)
          Set the side of the node this interface is on.
 
Methods inherited from class verinec.gui.core.NwComponent
addContextMenu, addContextMenuSeparator, changeIcon, getAbsX, getAbsY, getConfig, getDefaultSize, getRandomId, getType, initialize, isSelected, moveComponent, resizeComponent, resizeDefaultSize, setBounds, setBounds, setLocation, setLocation, setSelected, showIcon
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

owner

protected PCNode owner
The node this interface belongs to.


side

protected int side
The side of the node this interface is on.

Constructor Detail

NwInterface

protected NwInterface(Element config,
                      Point pos,
                      PCNode owner,
                      VerinecStudio gui)
Initializes the interface.

Parameters:
config - The config element of the component.
pos - The position of the interface.
owner - The node which this interface is part of.
gui - The main application.
Method Detail

delete

public void delete()
Delete the interface: Remove it from owner and let super class handle the rest.

Overrides:
delete in class NwComponent

setSide

public void setSide(int side)
Set the side of the node this interface is on. If you change this, you should set the new interface position afterwards to have the bindings positions updated too.

Parameters:
side - The new side of the interface, one of PCNode.IF_RIGHT/LEFT/ABOVE/BELOW.

getSide

public int getSide()
Find out on which side of the node this interface is situated.

Returns:
Side indicator, one of PCNode.IF_RIGHT/LEFT/ABOVE/BELOW.

getOwner

public PCNode getOwner()
Get the owner of this interface.

Returns:
The owning PCNode instance.

getBindings

public abstract Vector getBindings()
Get all bindings owned by this interface.

Returns:
All bindings in a Vector of NwBindings.

removeBinding

public abstract void removeBinding(NwBinding nwBinding)
Removes a binding from the interface.

Parameters:
nwBinding - The binding to remove.

addBinding

public abstract void addBinding(NwBinding nwBinding)
Adds a binding to the interface. If this is a SingleInterface, the old binding is deleted first. Of course, the type of the binding must match type of interface.

Parameters:
nwBinding - The new binding.

getLayoutChild

protected Element getLayoutChild(Element config)
Extract the node gui information child from the configuration, add a default if necessary.

Specified by:
getLayoutChild in class NwComponent
Parameters:
config - The network xml object.
Returns:
A gui element from configuration namespace.

createInterfaceInfo

protected static Element createInterfaceInfo(Element config,
                                             int side)
Create the interface layout information and add it to the config.

Parameters:
config - The interface configuration the info will be attached to.
side - Side of the node.
Returns:
The generated interface information element.

createElement

protected static Element createElement(int type,
                                       int side)
Get a minimal configuration of an interface, including one binding.

Parameters:
type - Network type of the element.
side - The side of the node this interface is on.
Returns:
return the element of the interface.

Copyright © 2005 Verinec, DIUF