package org.insightech.er.editor.controller.editpart.outline.ermodel; import java.beans.PropertyChangeEvent; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import org.insightech.er.Activator; import org.insightech.er.ImageKey; import org.insightech.er.ResourceString; import org.insightech.er.editor.controller.editpart.outline.AbstractOutlineEditPart; import org.insightech.er.editor.model.diagram_contents.element.node.ermodel.ERModel; import org.insightech.er.editor.model.diagram_contents.element.node.ermodel.ERModelSet; public class ERModelSetOutlineEditPart extends AbstractOutlineEditPart { @Override protected List getModelChildren() { ERModelSet modelSet = (ERModelSet) this.getModel(); List<ERModel> list = new ArrayList<ERModel>(); for (ERModel table : modelSet) { list.add(table); } Collections.sort(list, new Comparator<ERModel>() { @Override public int compare(ERModel o1, ERModel o2) { return o1.getName().compareTo(o2.getName()); } }); // if (this.getDiagram().getDiagramContents().getSettings() // .getViewOrderBy() == Settings.VIEW_MODE_LOGICAL) { // Collections.sort(list, TableView.LOGICAL_NAME_COMPARATOR); // // } else { // Collections.sort(list, TableView.PHYSICAL_NAME_COMPARATOR); // // } return list; } public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals(ERModelSet.PROPERTY_CHANGE_MODEL_SET)) { refresh(); } } @Override protected void refreshOutlineVisuals() { this.setWidgetText(ResourceString.getResourceString("label.ermodel") + " (" + this.getModelChildren().size() + ")"); this.setWidgetImage(Activator.getImage(ImageKey.DICTIONARY)); } }