void save(PrintWriter out) { out.println("<division>"); out.println("<loperand>"); WorkspaceObject c = leftSink.getContainedPart(); if (c != null) c.save(out); out.println("</loperand>"); out.println("<roperand>"); c = rightSink.getContainedPart(); if (c != null) c.save(out); out.println("</roperand>"); out.println("</division>"); }
public WorkspaceObject getWorkspaceObjectForPart(Object part) // EEH { if (part == op) return this; WorkspaceObject wo = null; wo = leftSink.getContainedPart().getWorkspaceObjectForPart(part); if (wo != null) return wo; wo = rightSink.getContainedPart().getWorkspaceObjectForPart(part); if (wo != null) return wo; return null; }
JPanel createCustomPanel() { Box p = new Box(BoxLayout.PAGE_AXIS); // left operand sink leftSink = new PartSink(PartType.EXPRESSION_PART); leftSink.addCombineListener( new CombineListener() { public void combined() { WorkspaceObject c = leftSink.getContainedPart(); Object o = c.getPart(); Expression exp = (Expression) o; op.setLeftOperand(exp); } public void split() { op.setLeftOperand(null); } }); p.add(leftSink); JLabel eqLab = new JLabel("<html><b>÷</b></html>"); p.add(eqLab); // right operand sink rightSink = new PartSink(PartType.EXPRESSION_PART); rightSink.addCombineListener( new CombineListener() { public void combined() { WorkspaceObject c = rightSink.getContainedPart(); Object o = c.getPart(); Expression exp = (Expression) o; op.setRightOperand(exp); } public void split() { op.setRightOperand(null); } }); p.add(rightSink); JPanel retPanel = new JPanel(); retPanel.setLayout(new BorderLayout()); retPanel.add(p, BorderLayout.CENTER); return retPanel; }
public WorkspaceObject getWorkspaceObjectForPart(Object part) // EEH { if (part == randInt) return this; WorkspaceObject wo = null; wo = sink.getContainedPart().getWorkspaceObjectForPart(part); if (wo != null) return wo; return null; }
JPanel createCustomPanel() { JPanel p = new JPanel(); p.setLayout(new GridLayout(1, 1)); sink = new PartSink(PartType.EXPRESSION_PART); sink.addCombineListener( new CombineListener() { public void combined() { WorkspaceObject c = sink.getContainedPart(); Object o = c.getPart(); // we know this is an expression because of our sink restriction Expression exp = (Expression) o; randInt.setMax(exp); } public void split() { randInt.setMax(null); } }); sink.setToolTipText("Maximum possible value of the random number"); p.add(sink); return p; }
void save(PrintWriter out) { out.println("<randint>"); WorkspaceObject c = sink.getContainedPart(); if (c != null) c.save(out); out.println("</randint>"); }