Search in sources :

Example 11 with GenericGroupFigure

use of org.eclipse.wst.xsd.ui.internal.design.figures.GenericGroupFigure in project webtools.sourceediting by eclipse.

the class XSDAttributeDragAndDropCommand method setup.

protected void setup() {
    canExecute = false;
    // Drop target is attribute group ref
    if (target instanceof AttributeGroupDefinitionEditPart) {
        parentEditPart = (AttributeGroupDefinitionEditPart) target;
        if (((GenericGroupFigure) parentEditPart.getFigure()).getIconFigure().getBounds().contains(location)) {
            xsdComponentToDrag = (XSDConcreteComponent) ((XSDAttributeDeclarationAdapter) itemToDrag.getModel()).getTarget();
            action = new MoveXSDAttributeAction(((AttributeGroupDefinitionEditPart) parentEditPart).getXSDAttributeGroupDefinition(), xsdComponentToDrag, null, null);
            canExecute = action.canMove();
        }
    } else if (target instanceof BaseFieldEditPart) {
        targetSpacesList = new ArrayList();
        // Calculate the list of all sibling field edit parts;
        List targetEditPartSiblings = calculateFieldEditParts();
        calculateAttributeGroupList();
        // Get 'left' and 'right' siblings
        doDrop(targetEditPartSiblings, itemToDrag);
    }
}
Also used : MoveXSDAttributeAction(org.eclipse.wst.xsd.ui.internal.actions.MoveXSDAttributeAction) GenericGroupFigure(org.eclipse.wst.xsd.ui.internal.design.figures.GenericGroupFigure) XSDAttributeDeclarationAdapter(org.eclipse.wst.xsd.ui.internal.adapters.XSDAttributeDeclarationAdapter) AttributeGroupDefinitionEditPart(org.eclipse.wst.xsd.ui.internal.design.editparts.AttributeGroupDefinitionEditPart) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) XSDBaseFieldEditPart(org.eclipse.wst.xsd.ui.internal.design.editparts.XSDBaseFieldEditPart) BaseFieldEditPart(org.eclipse.wst.xsd.ui.internal.adt.design.editparts.BaseFieldEditPart)

Example 12 with GenericGroupFigure

use of org.eclipse.wst.xsd.ui.internal.design.figures.GenericGroupFigure in project webtools.sourceediting by eclipse.

the class AttributeGroupDefinitionEditPart method createFigure.

protected IFigure createFigure() {
    groupFigure = new GenericGroupFigure();
    XSDAttributeGroupDefinitionAdapter adapter = (XSDAttributeGroupDefinitionAdapter) getModel();
    groupFigure.getIconFigure().image = adapter.getImage();
    Label toolTipsLabel = new Label();
    toolTipsLabel.setText(XSDEditorPlugin.getXSDString("_UI_PAGE_HEADING_ATTRIBUTEGROUP_REF"));
    groupFigure.setToolTip(toolTipsLabel);
    return groupFigure;
}
Also used : GenericGroupFigure(org.eclipse.wst.xsd.ui.internal.design.figures.GenericGroupFigure) XSDAttributeGroupDefinitionAdapter(org.eclipse.wst.xsd.ui.internal.adapters.XSDAttributeGroupDefinitionAdapter) Label(org.eclipse.draw2d.Label)

Example 13 with GenericGroupFigure

use of org.eclipse.wst.xsd.ui.internal.design.figures.GenericGroupFigure in project webtools.sourceediting by eclipse.

the class ModelGroupEditPart method createConnectionFigure.

public ReferenceConnection createConnectionFigure(BaseEditPart child) {
    ReferenceConnection connectionFigure = new ReferenceConnection();
    GenericGroupFigure modelGroupFigure = (GenericGroupFigure) getFigure();
    connectionFigure.setSourceAnchor(new CenteredConnectionAnchor(modelGroupFigure.getIconFigure(), CenteredConnectionAnchor.RIGHT, 0, 0));
    if (child instanceof ModelGroupEditPart) {
        connectionFigure.setTargetAnchor(new CenteredConnectionAnchor(((ModelGroupEditPart) child).getTargetFigure(), CenteredConnectionAnchor.LEFT, 0, 0));
    } else if (child instanceof TargetConnectionSpacingFigureEditPart) {
        TargetConnectionSpacingFigureEditPart elem = (TargetConnectionSpacingFigureEditPart) child;
        connectionFigure.setTargetAnchor(new CenteredConnectionAnchor(elem.getFigure(), CenteredConnectionAnchor.LEFT, 0, 1));
    } else if (child instanceof ModelGroupDefinitionReferenceEditPart) {
        ModelGroupDefinitionReferenceEditPart elem = (ModelGroupDefinitionReferenceEditPart) child;
        connectionFigure.setTargetAnchor(new CenteredConnectionAnchor(elem.getFigure(), CenteredConnectionAnchor.LEFT, 0, 1));
    }
    connectionFigure.setHighlight(false);
    return connectionFigure;
}
Also used : GenericGroupFigure(org.eclipse.wst.xsd.ui.internal.design.figures.GenericGroupFigure) CenteredConnectionAnchor(org.eclipse.wst.xsd.ui.internal.adt.design.editparts.CenteredConnectionAnchor)

Example 14 with GenericGroupFigure

use of org.eclipse.wst.xsd.ui.internal.design.figures.GenericGroupFigure in project webtools.sourceediting by eclipse.

the class BaseDragAndDropCommand method getFeedbackFigure.

public IFigure getFeedbackFigure() {
    Figure panel = new Figure();
    panel.setLayoutManager(new FreeformLayout());
    panel.setOpaque(false);
    Polyline feedbackFigure = new Polyline();
    feedbackFigure.setLineWidth(2);
    drawLines(feedbackFigure);
    originalLocation = new Rectangle(feedbackFigure.getBounds());
    panel.add(feedbackFigure);
    polyLine = new Polyline();
    polyLine.setLineStyle(Graphics.LINE_DASHDOT);
    polyLine.setLineWidth(1);
    panel.add(polyLine);
    panel.setBounds(originalLocation);
    addConnectorToParent(panel);
    if (parentEditPart != null && parentEditPart.getFigure() instanceof GenericGroupFigure) {
        GenericGroupFigure fig = (GenericGroupFigure) parentEditPart.getFigure();
        Rectangle iconBounds = getZoomedBounds(fig.getIconFigure().getBounds());
        RoundedRectangle roundedRectangle = new RoundedRectangle();
        roundedRectangle.setFill(false);
        roundedRectangle.setOpaque(true);
        // roundedRectangle.setBounds(new Rectangle(iconBounds.x, iconBounds.y, iconBounds.width - 1, iconBounds.height - 1));
        roundedRectangle.setBounds(iconBounds);
        panel.add(roundedRectangle);
    }
    return panel;
}
Also used : FreeformLayout(org.eclipse.draw2d.FreeformLayout) GenericGroupFigure(org.eclipse.wst.xsd.ui.internal.design.figures.GenericGroupFigure) Polyline(org.eclipse.draw2d.Polyline) Rectangle(org.eclipse.draw2d.geometry.Rectangle) RoundedRectangle(org.eclipse.draw2d.RoundedRectangle) IFigure(org.eclipse.draw2d.IFigure) GenericGroupFigure(org.eclipse.wst.xsd.ui.internal.design.figures.GenericGroupFigure) Figure(org.eclipse.draw2d.Figure) RoundedRectangle(org.eclipse.draw2d.RoundedRectangle)

Aggregations

GenericGroupFigure (org.eclipse.wst.xsd.ui.internal.design.figures.GenericGroupFigure)14 ArrayList (java.util.ArrayList)3 List (java.util.List)3 RoundedRectangle (org.eclipse.draw2d.RoundedRectangle)3 Rectangle (org.eclipse.draw2d.geometry.Rectangle)3 CenteredConnectionAnchor (org.eclipse.wst.xsd.ui.internal.adt.design.editparts.CenteredConnectionAnchor)3 Iterator (java.util.Iterator)2 Point (org.eclipse.draw2d.geometry.Point)2 PointList (org.eclipse.draw2d.geometry.PointList)2 BaseFieldEditPart (org.eclipse.wst.xsd.ui.internal.adt.design.editparts.BaseFieldEditPart)2 XSDBaseFieldEditPart (org.eclipse.wst.xsd.ui.internal.design.editparts.XSDBaseFieldEditPart)2 Figure (org.eclipse.draw2d.Figure)1 FreeformLayout (org.eclipse.draw2d.FreeformLayout)1 IFigure (org.eclipse.draw2d.IFigure)1 Label (org.eclipse.draw2d.Label)1 Polyline (org.eclipse.draw2d.Polyline)1 Image (org.eclipse.swt.graphics.Image)1 MoveXSDAttributeAction (org.eclipse.wst.xsd.ui.internal.actions.MoveXSDAttributeAction)1 MoveXSDElementAction (org.eclipse.wst.xsd.ui.internal.actions.MoveXSDElementAction)1 XSDAttributeDeclarationAdapter (org.eclipse.wst.xsd.ui.internal.adapters.XSDAttributeDeclarationAdapter)1