Exemple #1
0
  @Override
  public void update(Delta<VisualItem> delta, LightweightCollection<Slot> updatedSlots) {

    // TODO pull up
    if (!timelineWidget.isAttached()) {
      return;
    }

    LightweightCollection<VisualItem> addedVisualItems = delta.getAddedElements();
    if (!addedVisualItems.isEmpty()) {
      createTimeLineItems(addedVisualItems);
      addEventsToTimeline(addedVisualItems);
      updateStatusStyling(addedVisualItems);
    }

    LightweightCollection<VisualItem> updatedVisualItems = delta.getUpdatedElements();
    if (!updatedVisualItems.isEmpty()) {
      updateStatusStyling(updatedVisualItems);
    }

    LightweightCollection<VisualItem> removedVisualItems = delta.getRemovedElements();
    if (!removedVisualItems.isEmpty()) {
      removeEventsFromTimeline(removedVisualItems);
    }

    // TODO refactor
    if (!updatedSlots.isEmpty()) {
      for (VisualItem visualItem : getVisualItems()) {
        TimeLineItem timelineItem = (TimeLineItem) visualItem.getDisplayObject();
        for (Slot slot : updatedSlots) {
          if (slot.equals(BORDER_COLOR)) {
            timelineItem.updateBorderColor();
          } else if (slot.equals(COLOR)) {
            timelineItem.updateColor();
          }
        }
      }
    }
  }