public void setCopy(String val) {
   copyCalc.viewStr = val;
   copyCalc.tokens = new ArrayList<CalcItem>();
   copyCalc.tokenLens = new ArrayList<Integer>();
   for (int i = 0; i < val.length(); i += 1) {
     copyCalc.tokens.add(new ComplexNumberStr(val.substring(i, i + 1)));
     copyCalc.tokenLens.add(1);
   }
   copyCalc.viewIndex = val.length();
 }
 public void setCopy(Calculator calc) {
   copyCalc.viewStr = calc.viewStr;
   copyCalc.tokens = new ArrayList<CalcItem>(calc.tokens);
   copyCalc.tokenLens = new ArrayList<Integer>(calc.tokenLens);
   copyCalc.viewIndex = calc.viewIndex;
 }