package org.insightech.er.editor.controller.editpart.outline.view; import java.beans.PropertyChangeEvent; import java.util.Collections; import java.util.List; import org.eclipse.gef.EditPart; 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.table.TableView; import org.insightech.er.editor.model.diagram_contents.element.node.view.View; import org.insightech.er.editor.model.diagram_contents.element.node.view.ViewSet; import org.insightech.er.editor.model.settings.Settings; public class ViewSetOutlineEditPart extends AbstractOutlineEditPart { public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals(ViewSet.PROPERTY_CHANGE_VIEW_SET)) { refresh(); } } /** * {@inheritDoc} */ @Override protected List getModelChildren() { ViewSet viewSet = (ViewSet) this.getModel(); List<View> list = viewSet.getList(); 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; } /** * {@inheritDoc} */ @Override protected void refreshOutlineVisuals() { this.setWidgetText(ResourceString.getResourceString("label.view") + " (" + 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(); } } }