diff options
Diffstat (limited to 'bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/GroupEditPart.java')
-rw-r--r-- | bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/GroupEditPart.java | 479 |
1 files changed, 0 insertions, 479 deletions
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/GroupEditPart.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/GroupEditPart.java deleted file mode 100644 index 5d11eeee5..000000000 --- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/GroupEditPart.java +++ /dev/null @@ -1,479 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.wsdl.ui.internal.graph.editparts; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.draw2d.ColorConstants; -import org.eclipse.draw2d.FigureListener; -import org.eclipse.draw2d.IFigure; -import org.eclipse.draw2d.Label; -import org.eclipse.draw2d.MarginBorder; -import org.eclipse.draw2d.RectangleFigure; -import org.eclipse.draw2d.ScrollPane; -import org.eclipse.draw2d.Viewport; -import org.eclipse.draw2d.ViewportLayout; -import org.eclipse.draw2d.geometry.Dimension; -import org.eclipse.draw2d.geometry.Rectangle; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.gef.EditPart; -import org.eclipse.gef.LayerConstants; -import org.eclipse.gef.editparts.AbstractGraphicalEditPart; -import org.eclipse.gef.editparts.ScalableRootEditPart; -import org.eclipse.swt.widgets.Display; -import org.eclipse.wst.wsdl.Definition; -import org.eclipse.wst.wsdl.ui.internal.gef.util.figures.RoundedLineBorder; -import org.eclipse.wst.wsdl.ui.internal.graph.WSDLComponentViewer; -import org.eclipse.wst.wsdl.ui.internal.model.ModelAdapter; -import org.eclipse.wst.wsdl.ui.internal.model.WSDLGroupObject; -import org.eclipse.wst.xsd.ui.internal.gef.util.figures.ContainerFigure; -import org.eclipse.wst.xsd.ui.internal.gef.util.figures.ContainerLayout; -import org.eclipse.wst.xsd.ui.internal.gef.util.figures.FillLayout; - -public class GroupEditPart extends WSDLEditPart -{ - protected ScrollPane scrollpane; - protected Label label; - - protected Object emphasizedModelObject; - protected Object inputConnectionModelObject; - protected Object outputConnectionModelObject; - - public WSDLTreeNodeEditPart emphasizedEditPart; - public AbstractGraphicalEditPart inputConnection; - public AbstractGraphicalEditPart outputConnection; - - public GroupEditPart nextGroupEditPart; - public IConnectionManager connectionManager; - - protected InternalFigureListener figureListener = new InternalFigureListener(); - - class InternalFigureListener implements FigureListener - { - public void figureMoved(IFigure source) - { - ScalableRootEditPart root = (ScalableRootEditPart)getViewer().getRootEditPart(); - root.getLayer(LayerConstants.CONNECTION_LAYER).repaint(); - } - } - - public Object getEmphasizedModelObject() - { - return emphasizedModelObject; - } - - public Definition getDefinition() - { - return ((WSDLGroupObject)getModel()).getDefinition(); - } - - //protected void setEmphasizedObject(EditPart editPart) - //{ - // UnknownObjectEditPart ep = null; - // if (editPart instanceof UnknownObjectEditPart) - // { - // ep = (UnknownObjectEditPart)editPart; - // } - // - // if (emphasizedEditPart != null) - // { - // emphasizedEditPart.setEmphasized(false); - // } - // if (ep != null) - // { - // emphasizedEditPart = ep; - // emphasizedEditPart.setEmphasized(true); - // } - //} - - public void setEmphasizedModelObject(Object model) - { - emphasizedModelObject = model; - - if (emphasizedEditPart != null) - { - emphasizedEditPart.setEmphasized(false); - } - - EditPart editPart = getMatchingChildEditPart(model); - emphasizedEditPart = (editPart instanceof WSDLTreeNodeEditPart) ? (WSDLTreeNodeEditPart)editPart : null; - - if (emphasizedEditPart != null) - { - emphasizedEditPart.setEmphasized(true); - } - } - - public void scrollToRevealEditPart(EditPart editPart) - { - if (editPart instanceof AbstractGraphicalEditPart) - { - scrollToEditPart((AbstractGraphicalEditPart)editPart); - } - } - - public void scrollToRevealInputConnection() - { - if (inputConnection != null) - { - scrollToEditPart(inputConnection); - } - } - - public void scrollToRevealOutputConnection() - { - if (outputConnection != null) - { - scrollToEditPart(outputConnection); - } - } - - public void setInputConnectionModelObject(Object model) - { - inputConnection = getMatchingChildEditPart(model); - inputConnectionModelObject = model; - } - - public Object getInputConnectionModelObject() - { - return inputConnectionModelObject; - } - - public Object getOutputConnectionModelObject() - { - return outputConnectionModelObject; - } - - public void setOutputConnectionModelObject(Object model) - { - outputConnection = getMatchingChildEditPart(model); - outputConnectionModelObject = model; - } - - protected void createConnectionManager() - { - switch (getType()) - { - case WSDLGroupObject.MESSAGES_GROUP : - { - connectionManager = new MessagesGroupConnectionManager(this); - break; - } - case WSDLGroupObject.SERVICES_GROUP : - { - connectionManager = new ServicesGroupConnectionManager(this); - break; - } - case WSDLGroupObject.BINDINGS_GROUP : - { - connectionManager = new BindingsGroupConnectionManager(this); - break; - } - case WSDLGroupObject.PORT_TYPES_GROUP : - { - connectionManager = new PortTypesGroupConnectionManager(this); - break; - } - } - } - - public IConnectionManager getConnectionManager() - { - return connectionManager; - } - - public ContainerFigure outerPane; - - public IFigure createFigure() - { - createConnectionManager(); - - outerPane = new ContainerFigure(); - outerPane.setBorder(new RoundedLineBorder(1, 6)); - outerPane.setForegroundColor(groupBorderColor); - - ContainerFigure r = new ContainerFigure(); - //r.setCornerDimensions(new Dimension(4, 4)); - r.setOutline(false); - r.setMinimumSize(new Dimension(0, 0)); - - r.setFill(true); - - r.setBackgroundColor(groupHeaderColor); - outerPane.add(r); - - //ContainerFigure labelHolder = new ContainerFigure(); - //labelHolder.add(label); - label = new Label(); - label.setForegroundColor(ColorConstants.black); - label.setBorder(new MarginBorder(2, 4, 2, 4)); - r.add(label); //Holder); - - RectangleFigure line = new RectangleFigure(); - line.setPreferredSize(20, 1); - outerPane.add(line); - - int minHeight = 250; - switch (getType()) - { - case WSDLGroupObject.IMPORTS_GROUP : - case WSDLGroupObject.TYPES_GROUP : - { - minHeight = 50; - break; - } - case WSDLGroupObject.EXTENSIBILITY_ELEMENTS_GROUP : - { - minHeight = 150; - break; - } - } - - final int theMinHeight = minHeight; - FillLayout outerLayout = new FillLayout() - { - protected Dimension calculatePreferredSize(IFigure parent, int width, int height) - { - Dimension d = super.calculatePreferredSize(parent, width, height); - d.union(new Dimension(100, theMinHeight)); - return d; - } - }; - outerLayout.setHorizontal(false); - //layout.setSpacing(5); - outerPane.setLayoutManager(outerLayout); - - scrollpane = new ScrollPane(); - scrollpane.setForegroundColor(ColorConstants.black); - scrollpane.setVerticalScrollBarVisibility(ScrollPane.AUTOMATIC); //ScrollPane.ALWAYS); - outerPane.add(scrollpane); - - ContainerFigure pane = new ContainerFigure(); - pane.setBorder(new MarginBorder(5, 8, 5, 8)); - ContainerLayout layout = new ContainerLayout(); - layout.setHorizontal(false); - layout.setSpacing(0); - pane.setLayoutManager(layout); - - Viewport viewport = new Viewport(); - viewport.setContentsTracksHeight(true); - ViewportLayout viewportLayout = new ViewportLayout() - { - protected Dimension calculatePreferredSize(IFigure parent, int width, int height) - { - Dimension d = super.calculatePreferredSize(parent, width, height); - d.height = Math.min(d.height, theMinHeight - 25); //getViewer().getControl().getBounds().height); - return d; - } - }; - viewport.setLayoutManager(viewportLayout); - - scrollpane.setViewport(viewport); - scrollpane.setContents(pane); - pane.addFigureListener(figureListener); - - return outerPane; - } - - protected void refreshVisuals() - { - ModelAdapter adapter = getModelAdapter(getModel()); - if (adapter != null) - { - label.setText((String)adapter.getProperty(getModel(), ModelAdapter.LABEL_PROPERTY)); - //label.setIcon((Image)adapter.getProperty(getModel(), ModelAdapter.IMAGE_PROPERTY)); - } - super.refreshVisuals(); - } - - protected void createEditPolicies() - { - } - - public IFigure getContentPane() - { - return scrollpane.getContents(); - } - - protected void scrollToEditPart(final AbstractGraphicalEditPart targetEditPart) - { - Runnable r = new Runnable() - { - public void run() - { - scrollToEditPartHelper(targetEditPart); - } - }; - Display.getCurrent().asyncExec(r); - } - - protected void scrollToEditPartHelper(AbstractGraphicalEditPart targetEditPart) - { - if (targetEditPart != null) - { - Rectangle r1 = targetEditPart.getFigure().getBounds(); - Rectangle r2 = getContentPane().getBounds(); - scrollpane.scrollVerticalTo((r1.y - r2.y) - scrollpane.getBounds().height / 2); - } - } - - public AbstractGraphicalEditPart getMatchingChildEditPart(Object model) - { - List list = new ArrayList(); - for (Object o = model; o != null && !(o instanceof Definition); o = getParent(o)) - { - list.add(0, o); - } - return getMatchingChildEditPart(this, list, 0, true); - } - - protected Object getParent(Object model) - { - Object parent = null; - if (model instanceof EObject) - { - parent = ((EObject)model).eContainer(); - } - return parent; - } - - protected AbstractGraphicalEditPart getMatchingChildEditPart(AbstractGraphicalEditPart editPart, List list, int index, boolean getUnexpandedParent) - { - AbstractGraphicalEditPart result = (getUnexpandedParent && editPart != this) ? editPart : null; - Object model = list.size() > index ? list.get(index) : null; - if (model != null && editPart != null) - { - for (Iterator i = editPart.getChildren().iterator(); i.hasNext();) - { - AbstractGraphicalEditPart child = (AbstractGraphicalEditPart)i.next(); - if (child.getModel() == model) - { - result = child; - break; - } - } - index++; - if (index < list.size()) - { - result = getMatchingChildEditPart(result, list, index, getUnexpandedParent); - } - } - return result; - } - - public int getType() - { - return ((WSDLGroupObject)getModel()).getType(); - } - - public GroupEditPart getNext() - { - return ((DefinitionEditPart)getParent()).getNextGroupEditPart(this); - } - - public GroupEditPart getPrevious() - { - return ((DefinitionEditPart)getParent()).getPreviousGroupEditPart(this); - } - - private void _refreshChildren() - { - int i; - EditPart editPart; - Object model; - - Map modelToEditPart = new HashMap(); - List children = getChildren(); - - for (i = 0; i < children.size(); i++) - { - editPart = (EditPart)children.get(i); - modelToEditPart.put(editPart.getModel(), editPart); - } - - List modelObjects = getModelChildren(); - - for (i = 0; i < modelObjects.size(); i++) - { - model = modelObjects.get(i); - - //Do a quick check to see if editPart[i] == model[i] - if (i < children.size()) - { - editPart = (EditPart)children.get(i); - Object editPartModel = editPart.getModel(); - if (editPartModel == model) - { - continue; - } - else if (editPartModel.getClass() == model.getClass()) - { - modelToEditPart.remove(editPartModel); - - if (isActive()) - editPart.deactivate(); - - editPart.setModel(model); - - if (isActive()) - { - editPart.activate(); - editPart.refresh(); - } - continue; - } - } - - //Look to see if the EditPart is already around but in the wrong location - editPart = (EditPart)modelToEditPart.get(model); - - if (editPart != null) - reorderChild(editPart, i); - else - { - //An editpart for this model doesn't exist yet. Create and insert one. - editPart = createChild(model); - addChild(editPart, i); - } - } - List trash = new ArrayList(); - for (; i < children.size(); i++) - trash.add(children.get(i)); - for (i = 0; i < trash.size(); i++) - { - EditPart ep = (EditPart)trash.get(i); - removeChild(ep); - } - } - - public void refreshChildren() - { - boolean reuseChildren = false; - if (getViewer() instanceof WSDLComponentViewer) - { - WSDLComponentViewer wsdlComponentViewer = (WSDLComponentViewer)getViewer(); - reuseChildren = wsdlComponentViewer.isPreserveExpansionEnabled(); - } - - if (reuseChildren) - { - _refreshChildren(); - } - else - { - super.refreshChildren(); - } - } -}
\ No newline at end of file |