Search in sources :

Example 26 with Figure

use of org.eclipse.draw2d.Figure in project tdi-studio-se by Talend.

the class ProcessPart method createFigure.

/*
     * (non-Javadoc)
     * 
     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
     */
@Override
protected IFigure createFigure() {
    Figure figure = new FreeformLayer();
    figure.setLayoutManager(new FreeformLayout());
    fig2 = new FreeformLayer();
    getLayer(TalendScalableFreeformRootEditPart.PROCESS_BACKGROUND_LAYER).add(fig2);
    ajustReadOnly();
    // connLayer.setConnectionRouter(new NullRouter());
    return figure;
}
Also used : FreeformLayout(org.eclipse.draw2d.FreeformLayout) FreeformLayer(org.eclipse.draw2d.FreeformLayer) IFigure(org.eclipse.draw2d.IFigure) SubjobContainerFigure(org.talend.designer.core.ui.editor.subjobcontainer.SubjobContainerFigure) Figure(org.eclipse.draw2d.Figure)

Example 27 with Figure

use of org.eclipse.draw2d.Figure in project tdi-studio-se by Talend.

the class NodeContainerResizableEditPolicy method getCustomFeedbackFigure.

/**
     * This will take the figure of the node and set it as feedback figure.
     * 
     * @param modelPart
     * @return
     */
protected IFigure getCustomFeedbackFigure(Object modelPart) {
    IFigure figure;
    if (modelPart instanceof Node) {
        Node node = (Node) modelPart;
        figure = new Figure();
        figure.setOpaque(false);
        NodeFigure nodeFigure = new NodeFigure(node);
        figure.add(nodeFigure);
        nodeFigure.setLocation(new Point(32, 32));
        if (node.isStart()) {
            nodeFigure.setBackgroundColor(NodeFigure.START_COLOR);
        } else {
            nodeFigure.setOpaque(false);
        }
    } else {
        figure = new RectangleFigure();
        ((RectangleFigure) figure).setXOR(true);
        ((RectangleFigure) figure).setFill(true);
        figure.setBackgroundColor(ColorConstants.darkGreen);
        figure.setForegroundColor(ColorConstants.white);
    }
    return figure;
}
Also used : RectangleFigure(org.eclipse.draw2d.RectangleFigure) NodeFigure(org.talend.designer.core.ui.editor.nodes.NodeFigure) Node(org.talend.designer.core.ui.editor.nodes.Node) Point(org.eclipse.draw2d.geometry.Point) IFigure(org.eclipse.draw2d.IFigure) IFigure(org.eclipse.draw2d.IFigure) Figure(org.eclipse.draw2d.Figure) RectangleFigure(org.eclipse.draw2d.RectangleFigure) NodeFigure(org.talend.designer.core.ui.editor.nodes.NodeFigure)

Example 28 with Figure

use of org.eclipse.draw2d.Figure in project tdi-studio-se by Talend.

the class XmlMapNodeDirectEditManager method createCellEditorOn.

@Override
protected CellEditor createCellEditorOn(Composite composite) {
    Composite parent = (Composite) source.getViewer().getControl();
    CellEditor cellEditor = null;
    Figure figure = null;
    if (this.locator instanceof XmlMapNodeCellEditorLocator) {
        XmlMapNodeCellEditorLocator lo = (XmlMapNodeCellEditorLocator) locator;
        figure = lo.getFigure();
    }
    if (figure instanceof IComboCell) {
        try {
            // tree setting can be edit or not
            if (source instanceof InputXmlTreeEditPart) {
                InputXmlTree inputTree = (InputXmlTree) ((InputXmlTreeEditPart) source).getModel();
                if (DirectEditType.JOIN_MODEL.equals(((IComboCell) figure).getDirectEditType())) {
                    if (!XmlMapUtil.hasAtLeastOneHashKey(inputTree)) {
                        return null;
                    }
                }
                if (DirectEditType.PERSISTENT_MODEL.equals(((IComboCell) figure).getDirectEditType())) {
                    if (LOOKUP_MODE.CACHE_OR_RELOAD.toString().equals(inputTree.getLookupMode())) {
                        return null;
                    }
                }
            }
            if (source instanceof OutputXmlTreeEditPart) {
                OutputXmlTree outputTree = (OutputXmlTree) ((OutputXmlTreeEditPart) source).getModel();
                if (DirectEditType.ALL_IN_ONE.equals(((IComboCell) figure).getDirectEditType())) {
                    if (!XmlMapUtil.hasDocument(outputTree)) {
                        return null;
                    }
                    boolean hasAggregate = false;
                    for (int i = 0; i < outputTree.getNodes().size(); i++) {
                        OutputTreeNode outputTreeNode = outputTree.getNodes().get(i);
                        hasAggregate = hasAggreage(outputTreeNode);
                        if (hasAggregate) {
                            break;
                        }
                    }
                    if (hasAggregate) {
                        return null;
                    }
                } else if (DirectEditType.ENABLE_EMPTY_ELEMENT.equals(((IComboCell) figure).getDirectEditType())) {
                    if (!XmlMapUtil.hasDocument(outputTree)) {
                        return null;
                    }
                }
            }
            cellEditor = new XmlComboCellEditor();
            cellEditor.create(composite);
            ((XmlComboCellEditor) cellEditor).setItems(getComboItemsByType(((IComboCell) figure).getDirectEditType()));
            cellAndType.put(cellEditor, ((IComboCell) figure).getDirectEditType());
        } catch (Exception e) {
            return null;
        }
    } else if (figure instanceof ITextCell) {
        // this one is created for direct doc child name , no use anymore...
        cellEditor = new TextCellEditor(composite);
        cellAndType.put(cellEditor, ((ITextCell) figure).getDirectEditType());
        // for the search
        XmlMapNodeCellEditorLocator lo = (XmlMapNodeCellEditorLocator) locator;
        if (lo.getFigure() != null && lo.getFigure() instanceof VarNodeTextLabel) {
            figure = (VarNodeTextLabel) lo.getFigure();
            if (figure.getParent() != null && figure.getParent() instanceof XmlMapSearchZoneToolBar) {
                XmlMapSearchZoneToolBar searchZone = (XmlMapSearchZoneToolBar) figure.getParent();
                if (searchZone.getSearchMaps().size() > 0) {
                    searchZone.getSearchZoneMapper().hightlightAll(searchZone.getSearchMaps(), false);
                    searchZone.getSearchZoneMapper().setHightlightAll(false);
                    searchZone.getSearchMaps().clear();
                    searchZone.hightLightAll.setSelected(false);
                }
            }
        }
    } else if (figure instanceof IExpressionBuilderCell && model instanceof AbstractNode) {
        IService expressionBuilderDialogService = GlobalServiceRegister.getDefault().getService(IExpressionBuilderDialogService.class);
        CellEditorDialogBehavior behavior = new CellEditorDialogBehavior();
        cellEditor = new ExpressionCellEditor(composite, behavior, source, DirectEditType.EXPRESSION);
        ((ExpressionCellEditor) cellEditor).setOwnerId(((AbstractNode) model).getExpression());
        IExpressionBuilderDialogController dialog = ((IExpressionBuilderDialogService) expressionBuilderDialogService).getExpressionBuilderInstance(parent, (ExpressionCellEditor) cellEditor, null);
        cellAndType.put(cellEditor, DirectEditType.EXPRESSION);
        behavior.setCellEditorDialog(dialog);
    } else if (figure instanceof ITextAreaCell) {
        TextAreaBehavior behavior = new TextAreaBehavior();
        cellEditor = new ExpressionCellEditor(composite, behavior, source, DirectEditType.EXPRESSION_FILTER);
        cellAndType.put(cellEditor, DirectEditType.EXPRESSION_FILTER);
    } else if (figure instanceof IExpressionBuilderCell && model instanceof InputXmlTree) {
        IService expressionBuilderDialogService = GlobalServiceRegister.getDefault().getService(IExpressionBuilderDialogService.class);
        CellEditorDialogBehavior behavior = new CellEditorDialogBehavior();
        cellEditor = new ExpressionCellEditor(composite, behavior, source, DirectEditType.EXPRESSION);
        ((ExpressionCellEditor) cellEditor).setOwnerId(((InputXmlTree) model).getLookupMode());
        IExpressionBuilderDialogController dialog = ((IExpressionBuilderDialogService) expressionBuilderDialogService).getExpressionBuilderInstance(parent, (ExpressionCellEditor) cellEditor, null);
        cellAndType.put(cellEditor, DirectEditType.EXPRESSION);
        behavior.setCellEditorDialog(dialog);
    }
    // }
    return cellEditor;
}
Also used : IExpressionBuilderDialogService(org.talend.core.runtime.services.IExpressionBuilderDialogService) AbstractNode(org.talend.designer.xmlmap.model.emf.xmlmap.AbstractNode) CellEditor(org.eclipse.jface.viewers.CellEditor) ExtendedTextCellEditor(org.talend.commons.ui.runtime.swt.tableviewer.celleditor.ExtendedTextCellEditor) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) ComboBoxCellEditor(org.eclipse.jface.viewers.ComboBoxCellEditor) IExpressionBuilderDialogController(org.talend.commons.ui.runtime.expressionbuilder.IExpressionBuilderDialogController) OutputXmlTreeEditPart(org.talend.designer.xmlmap.parts.OutputXmlTreeEditPart) InputXmlTree(org.talend.designer.xmlmap.model.emf.xmlmap.InputXmlTree) XmlMapSearchZoneToolBar(org.talend.designer.xmlmap.figures.treetools.zone.XmlMapSearchZoneToolBar) ITextAreaCell(org.talend.designer.gefabstractmap.figures.cells.ITextAreaCell) XmlMapNodeCellEditorLocator(org.talend.designer.gefabstractmap.part.directedit.XmlMapNodeCellEditorLocator) OutputXmlTree(org.talend.designer.xmlmap.model.emf.xmlmap.OutputXmlTree) ITextCell(org.talend.designer.gefabstractmap.figures.cells.ITextCell) IService(org.talend.core.IService) Composite(org.eclipse.swt.widgets.Composite) IExpressionBuilderCell(org.talend.designer.gefabstractmap.figures.cells.IExpressionBuilderCell) OutputTreeNode(org.talend.designer.xmlmap.model.emf.xmlmap.OutputTreeNode) Figure(org.eclipse.draw2d.Figure) VarNodeTextLabel(org.talend.designer.gefabstractmap.figures.VarNodeTextLabel) CellEditorDialogBehavior(org.talend.commons.ui.runtime.swt.tableviewer.celleditor.CellEditorDialogBehavior) InputXmlTreeEditPart(org.talend.designer.xmlmap.parts.InputXmlTreeEditPart) ExtendedTextCellEditor(org.talend.commons.ui.runtime.swt.tableviewer.celleditor.ExtendedTextCellEditor) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) IComboCell(org.talend.designer.gefabstractmap.figures.cells.IComboCell)

Example 29 with Figure

use of org.eclipse.draw2d.Figure in project tdi-studio-se by Talend.

the class InputTreeSettingTable method createColumns.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.designer.newabstractmap.figures.table.AbstractTable#createColumns()
     */
@Override
protected void createColumns() {
    TableColumn column = new TableColumn(ColumnKeyConstant.TREE_SETTING_PROPERTY);
    column.setText("Property");
    addColumn(column);
    ColumnSash sash = new ColumnSash(this);
    sash.setLeftColumn(column);
    addSeparator(sash);
    column = new TableColumn(ColumnKeyConstant.TREE_SETTING_VALUE);
    column.setText("Value");
    sash.setRightColumn(column);
    addColumn(column);
    Figure container = getTableItemContainer();
    lookupModelRow = new Figure();
    lookupModelRow.setLayoutManager(new RowLayout());
    Label label = new Label();
    label.setText("Lookup Model");
    label.setLabelAlignment(PositionConstants.LEFT);
    CompoundBorder compoundBorder = new CompoundBorder(new ColumnBorder(), new RowBorder(2, 5, 2, -1));
    label.setBorder(compoundBorder);
    lookupModelRow.add(label);
    lookupModel = new ComboCellLabel();
    lookupModel.setDirectEditType(DirectEditType.LOOKUP_MODEL);
    lookupModel.setText(getLookupDisplayName(inputxmlTree.getLookupMode()));
    lookupModel.setLabelAlignment(PositionConstants.LEFT);
    lookupModel.setBorder(new RowBorder(2, 5, 2, -1));
    lookupModelRow.add(lookupModel);
    container.add(lookupModelRow);
    matchModelRow = new Figure();
    matchModelRow.setLayoutManager(new RowLayout());
    label = new Label();
    label.setText("Match Model");
    label.setLabelAlignment(PositionConstants.LEFT);
    compoundBorder = new CompoundBorder(new ColumnBorder(), new RowBorder(2, 5, 2, -1));
    label.setBorder(compoundBorder);
    matchModelRow.add(label);
    matchModel = new ComboCellLabel();
    matchModel.setDirectEditType(DirectEditType.MATCH_MODEL);
    matchModel.setText(getMatchModelDisplayName(inputxmlTree.getMatchingMode()));
    matchModel.setLabelAlignment(PositionConstants.LEFT);
    matchModel.setBorder(new RowBorder(2, 5, 2, -1));
    matchModelRow.add(matchModel);
    container.add(matchModelRow);
    joinModelRow = new Figure();
    joinModelRow.setLayoutManager(new RowLayout());
    label = new Label();
    label.setText("Join Model");
    label.setLabelAlignment(PositionConstants.LEFT);
    compoundBorder = new CompoundBorder(new ColumnBorder(), new RowBorder(2, 5, 2, -1));
    label.setBorder(compoundBorder);
    joinModelRow.add(label);
    joinModel = new ComboCellLabel();
    joinModel.setDirectEditType(DirectEditType.JOIN_MODEL);
    String join = "";
    if (inputxmlTree.isInnerJoin()) {
        join = TreeSettingsConstant.INNER_JOIN;
    } else {
        join = TreeSettingsConstant.LEFT_OUTER_JOIN;
    }
    joinModel.setText(join);
    joinModel.setLabelAlignment(PositionConstants.LEFT);
    joinModel.setBorder(new RowBorder(2, 5, 2, -1));
    joinModelRow.add(joinModel);
    container.add(joinModelRow);
    // TDI-17714:remove the true option in the Store temp data lookup property.
    // persistentModelRow = new Figure();
    // persistentModelRow.setLayoutManager(new TableItemLayout());
    // label = new Label();
    // label.setText("Store Temp Data");
    // label.setLabelAlignment(PositionConstants.LEFT);
    // compoundBorder = new CompoundBorder(new RowBorder(), new ColumnBorder());
    // label.setBorder(compoundBorder);
    // persistentModelRow.add(label);
    // persistentModel = new ComboCellLabel();
    // persistentModel.setDirectEditType(DirectEditType.PERSISTENT_MODEL);
    // persistentModel.setText(String.valueOf(inputxmlTree.isPersistent()));
    // persistentModel.setLabelAlignment(PositionConstants.LEFT);
    // persistentModel.setBorder(new RowBorder(2, 5, 2, -1));
    // persistentModelRow.add(persistentModel);
    // container.add(persistentModelRow);
    container.setOpaque(true);
    container.setBackgroundColor(ColorConstants.white);
    container.addMouseListener(new MouseListener() {

        Figure selectedFigure = null;

        @Override
        public void mousePressed(MouseEvent me) {
            boolean lookup = lookupModelRow.containsPoint(me.x, me.y);
            if (lookup) {
                if (selectedFigure != lookupModelRow) {
                    lookupModelRow.setOpaque(true);
                    lookupModelRow.setBackgroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_COLUMN_TREE_SETTING));
                    matchModelRow.setOpaque(false);
                    joinModelRow.setOpaque(false);
                // persistentModelRow.setOpaque(false);
                }
                return;
            }
            boolean matchModel = matchModelRow.containsPoint(me.x, me.y);
            if (matchModel) {
                if (selectedFigure != matchModelRow) {
                    matchModelRow.setOpaque(true);
                    matchModelRow.setBackgroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_COLUMN_TREE_SETTING));
                    lookupModelRow.setOpaque(false);
                    joinModelRow.setOpaque(false);
                // persistentModelRow.setOpaque(false);
                }
                return;
            }
            boolean joinModel = joinModelRow.containsPoint(me.x, me.y);
            if (joinModel) {
                if (selectedFigure != joinModelRow) {
                    joinModelRow.setOpaque(true);
                    joinModelRow.setBackgroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_COLUMN_TREE_SETTING));
                    lookupModelRow.setOpaque(false);
                    matchModelRow.setOpaque(false);
                // persistentModelRow.setOpaque(false);
                }
                return;
            }
        // boolean persistentModel = persistentModelRow.containsPoint(me.x, me.y);
        // if (persistentModel) {
        // if (selectedFigure != persistentModelRow) {
        // persistentModelRow.setOpaque(true);
        // persistentModelRow.setBackgroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_SELECTION));
        // lookupModelRow.setOpaque(false);
        // matchModelRow.setOpaque(false);
        // joinModelRow.setOpaque(false);
        // }
        // }
        }

        @Override
        public void mouseReleased(MouseEvent me) {
        }

        @Override
        public void mouseDoubleClicked(MouseEvent me) {
        }
    });
}
Also used : RowBorder(org.talend.designer.gefabstractmap.figures.borders.RowBorder) MouseEvent(org.eclipse.draw2d.MouseEvent) ComboCellLabel(org.talend.designer.gefabstractmap.figures.ComboCellLabel) Label(org.eclipse.draw2d.Label) ComboCellLabel(org.talend.designer.gefabstractmap.figures.ComboCellLabel) ColumnSash(org.talend.designer.gefabstractmap.figures.table.ColumnSash) ColumnBorder(org.talend.designer.gefabstractmap.figures.borders.ColumnBorder) TableColumn(org.talend.designer.gefabstractmap.figures.table.TableColumn) Figure(org.eclipse.draw2d.Figure) MouseListener(org.eclipse.draw2d.MouseListener) RowLayout(org.talend.designer.gefabstractmap.figures.layout.RowLayout) CompoundBorder(org.eclipse.draw2d.CompoundBorder)

Example 30 with Figure

use of org.eclipse.draw2d.Figure in project tdi-studio-se by Talend.

the class SearchZoneMapper method getSelectedKeyAtSelectedTableItem.

public Integer getSelectedKeyAtSelectedTableItem(Map<Integer, Map<Integer, Figure>> searchMaps) {
    Integer selectKey = 0;
    IFigure figure = mapperManager.getSelectedFigure();
    if (figure != null) {
        Iterator iter = searchMaps.entrySet().iterator();
        while (iter.hasNext()) {
            Map.Entry entry = (Map.Entry) iter.next();
            Map<Integer, Figure> map = (Map<Integer, Figure>) entry.getValue();
            if (map.containsValue(figure)) {
                Iterator it = map.entrySet().iterator();
                while (it.hasNext()) {
                    Map.Entry e = (Map.Entry) it.next();
                    if (e.getValue() != null && e.getValue() instanceof IFigure) {
                        IFigure figureTemp = (IFigure) e.getValue();
                        if (figure.equals(figureTemp)) {
                            mapperManager.setSelectedFigure(null);
                            return (Integer) entry.getKey();
                        }
                    }
                }
            }
        }
    }
    return selectKey;
}
Also used : Iterator(java.util.Iterator) HashMap(java.util.HashMap) Map(java.util.Map) IFigure(org.eclipse.draw2d.IFigure) IFigure(org.eclipse.draw2d.IFigure) OutputXmlTreeFigure(org.talend.designer.xmlmap.figures.OutputXmlTreeFigure) TableEntityFigure(org.talend.designer.gefabstractmap.figures.table.entity.TableEntityFigure) XmlmapTreeNodeFigure(org.talend.designer.xmlmap.figures.treeNode.XmlmapTreeNodeFigure) VarNodeFigure(org.talend.designer.xmlmap.figures.varnode.VarNodeFigure) InputXmlTreeFigure(org.talend.designer.xmlmap.figures.InputXmlTreeFigure) VarEntityFigure(org.talend.designer.gefabstractmap.figures.var.VarEntityFigure) Figure(org.eclipse.draw2d.Figure)

Aggregations

Figure (org.eclipse.draw2d.Figure)35 IFigure (org.eclipse.draw2d.IFigure)26 Rectangle (org.eclipse.draw2d.geometry.Rectangle)8 Point (org.eclipse.draw2d.geometry.Point)7 List (java.util.List)6 FreeformLayer (org.eclipse.draw2d.FreeformLayer)6 FreeformLayout (org.eclipse.draw2d.FreeformLayout)6 ImageFigure (org.eclipse.draw2d.ImageFigure)6 TableEntityFigure (org.talend.designer.gefabstractmap.figures.table.entity.TableEntityFigure)6 VarEntityFigure (org.talend.designer.gefabstractmap.figures.var.VarEntityFigure)6 ToolbarLayout (org.eclipse.draw2d.ToolbarLayout)5 VarNodeFigure (org.talend.designer.xmlmap.figures.varnode.VarNodeFigure)5 HashMap (java.util.HashMap)4 Label (org.eclipse.draw2d.Label)4 SimpleHtmlFigure (org.talend.commons.ui.utils.workbench.gef.SimpleHtmlFigure)4 XmlmapTreeNodeFigure (org.talend.designer.xmlmap.figures.treeNode.XmlmapTreeNodeFigure)4 Iterator (java.util.Iterator)3 Map (java.util.Map)3 LineBorder (org.eclipse.draw2d.LineBorder)3 MarginBorder (org.eclipse.draw2d.MarginBorder)3