edu.buffalo.fs7.qsymbol2
Class QubitPanel

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

public class QubitPanel
extends javax.swing.JPanel

class providing a panel with CheckBoxes to set the initial value of a braket. This class is used by the GatePanel class in order to initialize the qubits. The class can provide an extended and simple version of the panel (extended text + icon, simple just icon). The class provides methods to retrieve a Braket from the settings done by the user as well as to initialize the panel. The panel can grow (checkboxes added) and shrink (checkboxes removed).

See Also:
GatePanel, Braket, 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
protected  boolean extended
          mode
static int EXTENDED
          mode constant
protected  java.util.Vector labels
          vector holding the name of the qubit for each checkbox
protected  java.awt.event.ItemListener parent
          refernence to the parent who needs to be an ItemListener
protected  java.util.Vector qubitBoxes
          vector holding the checkbox for each qubit
protected  int qubits
          number of qubits = number of checkboxes
static int SIMPLE
          mode 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
QubitPanel(java.awt.event.ItemListener parent, int qubits)
          creates a qubit panel in extended mode
QubitPanel(java.awt.event.ItemListener parent, int qubits, int complexityMode)
          creates a qubit panel in the specified mode
 
Method Summary
 void addQubit(java.lang.String labelText)
          add a checkbox with a label specified by labelText
 java.lang.String getQubitName(int number)
          returns the name of a qubit in the panel
 int getQubitNumber()
          returns the number of checkboxes in the panel
 Braket getQubitValue()
          retrieves the braket from the positions of the qubit checkboxes
 void insertQubit(java.lang.String labelName, int row)
          inserts a checkbox with a label specified by labelName at position row.
 void moveQubit(int fromRow, int toRow)
          moves a checkbox with its label to a given position
 void removeQubit(int number)
          removes a given checkbox with label
 void reset()
          does nothing right now
 void setQubitName(int number, java.lang.String name)
          sets the name of a qubit in the panel
 void setQubitNumber(int qubits)
          sets the qubit number to a given value.
 void setQubitValue(java.util.BitSet bits)
          initializes the checkboxes to the pattern given by the BitSet.
 
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, getMinimumSize, getNextFocusableComponent, getPreferredSize, 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, paint, 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

EXTENDED

public static final int EXTENDED
mode constant

SIMPLE

public static final int SIMPLE
mode constant

qubits

protected int qubits
number of qubits = number of checkboxes

labels

protected java.util.Vector labels
vector holding the name of the qubit for each checkbox

qubitBoxes

protected java.util.Vector qubitBoxes
vector holding the checkbox for each qubit

parent

protected java.awt.event.ItemListener parent
refernence to the parent who needs to be an ItemListener

extended

protected boolean extended
mode
Constructor Detail

QubitPanel

public QubitPanel(java.awt.event.ItemListener parent,
                  int qubits)
creates a qubit panel in extended mode

QubitPanel

public QubitPanel(java.awt.event.ItemListener parent,
                  int qubits,
                  int complexityMode)
creates a qubit panel in the specified mode
Method Detail

setQubitName

public void setQubitName(int number,
                         java.lang.String name)
sets the name of a qubit in the panel

getQubitName

public java.lang.String getQubitName(int number)
returns the name of a qubit in the panel

setQubitNumber

public void setQubitNumber(int qubits)
sets the qubit number to a given value. If the given number is larger, more checkboxes are added, if the given number is smaller, checkboxes are removed.

getQubitNumber

public int getQubitNumber()
returns the number of checkboxes in the panel

moveQubit

public void moveQubit(int fromRow,
                      int toRow)
moves a checkbox with its label to a given position

removeQubit

public void removeQubit(int number)
removes a given checkbox with label

addQubit

public void addQubit(java.lang.String labelText)
add a checkbox with a label specified by labelText

insertQubit

public void insertQubit(java.lang.String labelName,
                        int row)
inserts a checkbox with a label specified by labelName at position row.

getQubitValue

public Braket getQubitValue()
retrieves the braket from the positions of the qubit checkboxes

reset

public void reset()
does nothing right now

setQubitValue

public void setQubitValue(java.util.BitSet bits)
initializes the checkboxes to the pattern given by the BitSet. If a bit in the BitSet is set (==1) than the corresponding checkbox is set to |1>. The lowest order bit in the BitSet sets the lowest order qubit.