예제 #1
0
 public static void showRuntimeComplaint(RenderableBlock rb, String complaint) {
   Complaint balloon = rb.getComplaint();
   balloon.getBlockNoteLabel().setActive(true);
   if (!rb.isVisible()) {
     rb.getTopmost().setCollapsed(false);
   }
   balloon.setText("Error: " + complaint + "\n");
   balloon.getBlockNoteLabel().setActive(true);
   balloon.getBlockNoteLabel().setBackground(ERROR_COLOR);
   complaintRect = rb.getBounds().union(balloon.getBounds());
   balloon.reformBlockNote();
   // TODO(user) scrollToShowRectangle doesn't seem to work properly at the Swing level
   Workspace.getInstance().getBlockCanvas().scrollToShowRectangle(complaintRect);
 }
예제 #2
0
 /**
  * Called from various places that find fault with a block during yail production. It puts a
  * message in the block's Complaint balloon.
  *
  * @param complaint
  * @param severe true means fatal error
  */
 public void complain(String complaint, boolean severe) {
   if (severe) {
     compileErrors.add(complaint);
   }
   RenderableBlock rb = RenderableBlock.getRenderableBlock(blockID);
   String message = (severe ? "Error" : "Warning") + ": " + complaint + "\n";
   Complaint balloon = rb.getComplaint();
   if (!balloon.getText().contains(message)) {
     balloon.setText(message + balloon.getText());
   }
   balloon.getBlockNoteLabel().setActive(severe);
   balloon.getBlockNoteLabel().setBackground(severe ? ERROR_COLOR : WARNING_COLOR);
   if (!rb.isVisible()) {
     // The only way this block is not visible is if it belongs to a collapsed
     // clump. Expand the whole clump so user can see the complaint.
     rb.getTopmost().setCollapsed(false);
   }
   complaintRect = complaintRect.union(rb.getBounds().union(balloon.getBounds()));
   balloon.reformBlockNote();
 }