edu.buffalo.fs7.qsymbol2
Class QBrick

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--edu.buffalo.fs7.qsymbol2.QBrick
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
TexQBrick

public class QBrick
extends javax.swing.JPanel

this class is used by the GateTable to render one cell. The standard renderer had to be overwritten in order to represent a quantum circuit. The GateTable has one object for each column - a GateContainer. In case of a redraw it calls its CellRenderer, in case of the GateTable the QubitRenderer class. The renderer is responsible for drawing a certain cell. In case of the QubitRenderer, this task is delegated to the QBrick because cells with multiple gates can occur. It is the task of the QBrick class to determine how to draw itself. This is done by the constructor which needs information provided by the JTable class.

See Also:
QubitRenderer, GateTable, TexQBrick, 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
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
static int BOTH
          state constant
static int CONTROL
          state constant
static int CONTROLLED
          state constant
protected  int currentStep
          allowed values -1 (draw step on the left), 0 (draw no step), 1 (draw step on the right)
static int DOWN
          state constant
protected  Gate gate
          stores the gate
static int MEASUREMENT
          state constant
static int NOTHING
          state constant
protected  boolean selected
          true if the cell is selected
protected  int state
          the integer state of this QBrick
protected  javax.swing.JTable table
          the drawing table (needs to be GateTable)
static int UP
          state constant
static int XCHANGE
          state constant
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
QBrick()
          creates a brick with a line in the middle
QBrick(int state)
          creates a brick with a given state (see the constants of this class)
QBrick(javax.swing.JTable table, Gate g, int qubit, boolean selected, int currentStep)
          identifies the brick from the information provided.
 
Method Summary
 java.awt.Dimension getMinimumSize()
           
 java.awt.Dimension getPreferredSize()
           
 void paint(java.awt.Graphics g)
          responsible to draw the state specified by this class
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
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, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, 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, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, 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
 

Field Detail

NOTHING

public static final int NOTHING
state constant

UP

public static final int UP
state constant

DOWN

public static final int DOWN
state constant

BOTH

public static final int BOTH
state constant

CONTROL

public static final int CONTROL
state constant

CONTROLLED

public static final int CONTROLLED
state constant

MEASUREMENT

public static final int MEASUREMENT
state constant

XCHANGE

public static final int XCHANGE
state constant

table

protected javax.swing.JTable table
the drawing table (needs to be GateTable)

state

protected int state
the integer state of this QBrick

selected

protected boolean selected
true if the cell is selected

currentStep

protected int currentStep
allowed values -1 (draw step on the left), 0 (draw no step), 1 (draw step on the right)

gate

protected Gate gate
stores the gate
Constructor Detail

QBrick

public QBrick()
creates a brick with a line in the middle

QBrick

public QBrick(int state)
creates a brick with a given state (see the constants of this class)

QBrick

public QBrick(javax.swing.JTable table,
              Gate g,
              int qubit,
              boolean selected,
              int currentStep)
identifies the brick from the information provided. This information is usually provided by the JTable to a CellRenderer.
Parameters:
table - the drawing table (needs to be GateTable)
g - the gate to draw a cell of
qubit - the qubit to draw
selected - cell is selected
currentStep - information about the step
See Also:
currentStep
Method Detail

getMinimumSize

public java.awt.Dimension getMinimumSize()
Overrides:
getMinimumSize in class javax.swing.JComponent

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

paint

public void paint(java.awt.Graphics g)
responsible to draw the state specified by this class
Overrides:
paint in class javax.swing.JComponent