package org.insightech.er.editor.controller.editpart.outline.sequence; import java.beans.PropertyChangeEvent; import java.util.Collections; import java.util.List; import org.eclipse.draw2d.ColorConstants; import org.eclipse.gef.EditPart; import org.eclipse.swt.widgets.TreeItem; import org.insightech.er.Activator; import org.insightech.er.ImageKey; import org.insightech.er.ResourceString; import org.insightech.er.db.DBManager; import org.insightech.er.db.DBManagerFactory; import org.insightech.er.editor.controller.editpart.outline.AbstractOutlineEditPart; import org.insightech.er.editor.model.diagram_contents.not_element.sequence.Sequence; import org.insightech.er.editor.model.diagram_contents.not_element.sequence.SequenceSet; public class SequenceSetOutlineEditPart extends AbstractOutlineEditPart { public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals( SequenceSet.PROPERTY_CHANGE_SEQUENCE_SET)) { refresh(); } } /** * {@inheritDoc} */ @Override protected List getModelChildren() { SequenceSet sequenceSet = (SequenceSet) this.getModel(); List<Sequence> sequenceList = sequenceSet.getSequenceList(); Collections.sort(sequenceList); return sequenceList; } /** * {@inheritDoc} */ @Override protected void refreshOutlineVisuals() { if (!DBManagerFactory.getDBManager(this.getDiagram()).isSupported( DBManager.SUPPORT_SEQUENCE)) { ((TreeItem) getWidget()).setForeground(ColorConstants.lightGray); } else { ((TreeItem) getWidget()).setForeground(ColorConstants.black); } this.setWidgetText(ResourceString.getResourceString("label.sequence") + " (" + this.getModelChildren().size() + ")"); this.setWidgetImage(Activator.getImage(ImageKey.DICTIONARY)); } /** * {@inheritDoc} */ @Override protected void refreshChildren() { super.refreshChildren(); for (Object child : this.getChildren()) { EditPart part = (EditPart) child; part.refresh(); } } }