Ejemplo n.º 1
0
 public boolean step() throws SyntaxError {
   Note note = diagram.getDataProvider().getNote();
   if (note != null) {
     freeNoteNumber = Math.max(freeNoteNumber, note.getNumber() + 1);
     diagram.getPaintDevice().addSequenceElement(note);
     notes.add(note);
     closeNote(note.getLocation().getName());
     diagram.getFragmentManager().openFragments();
     diagram.getPaintDevice().announce(note.getHeight());
     note.setTop(diagram.getVerticalPosition());
     if (note.isConsuming()) {
       diagram.extendLifelines(note.getHeight());
     } else {
       pendingNotes.put(note.getLocation().getName(), note);
     }
     if (diagram.getDataProvider().getState() != null) {
       diagram.addToStateMap(note, diagram.getDataProvider().getState());
     }
     diagram.getFragmentManager().clearLabels();
     return true;
   }
   Pair<Lifeline, Integer> eventAssoc = diagram.getDataProvider().getEventAssociation();
   if (eventAssoc != null) {
     associateEvent(eventAssoc.getFirst(), eventAssoc.getSecond());
     return true;
   }
   return false;
 }