/* intitially no attached component and no graph */
setTextComponent( null );
graph = null;
/* set initial value */
setValue( new Complex() );
/* set initial sizes */
setSizes();
/* set initial state */
parser = new Parser();
shift = false;
angleType = AngleType.DEGREES;
mode = 0;
stat = false;
notation = new Notation(); // set default of standard, rectangular, non-complex
memory = new Complex();
statMemory = new java.util.Vector<Complex>();
statMemoryNeg = new java.util.Vector<Complex>();
//listen for key presses
addKeyListener( this );
setFocusable( true );
getContentPane().removeAll();
/* set up initial objects */
displayPanel = new DisplayPanel( this );
displayPanel
.setBorder( new javax.swing.border
.BevelBorder( javax.swing.border.BevelBorder.LOWERED ) );
setPanels();
/* create a DataTransfer so we can copy to system clipboard */
/* this code does not actually work -- I don't know why */
dataTransfer = new DataTransfer( this );
calculatorPanel.getInputMap()
.put( javax.swing.KeyStroke
.getKeyStroke( java.awt.event.KeyEvent.VK_COPY, 0), "copy" );
calculatorPanel.getInputMap()
.put( javax.swing.KeyStroke
.getKeyStroke( java.awt.event.KeyEvent.VK_C,
java.awt.event.ActionEvent.CTRL_MASK |
java.awt.event.ActionEvent.SHIFT_MASK, false ),
"copy" );
calculatorPanel.getActionMap().put( "copy", dataTransfer );
dataTransfer.setEnabled( true );
//set up history
setBase( Base.DECIMAL );
history = new java.util.Vector<HistoryItem>();
tempParserList
= new HistoryItem( null, getAngleType(), getBase(), getNotation() );
historyPosition = -1;
shiftDown = false;
setOn( true );
setValue( new Complex( 0 ) );
updateDisplay( true, true );
requestFocusInWindow();
}