Search in sources :

Example 1 with Figure

use of org.eclipse.draw2d.Figure in project dbeaver by serge-rider.

the class NodePart method modifyBounds.

/**
     * If modified, sets bounds and fires off event notification
     *
     * @param bounds The bounds to set.
     */
public void modifyBounds(Rectangle bounds) {
    Rectangle oldBounds = this.bounds;
    if (!bounds.equals(oldBounds)) {
        this.bounds = bounds;
        Figure entityFigure = (Figure) getFigure();
        DiagramPart parent = (DiagramPart) getParent();
        parent.setLayoutConstraint(this, entityFigure, bounds);
    }
}
Also used : Rectangle(org.eclipse.draw2d.geometry.Rectangle) Figure(org.eclipse.draw2d.Figure)

Example 2 with Figure

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

the class SearchZoneMapper method search.

public void search(Map<Integer, Map<Integer, Figure>> searchMaps, String searchValue) {
    if (searchValue.equals("") || searchValue == null) {
        return;
    }
    List<InputXmlTree> inputTrees = mapperManager.getExternalData().getInputTrees();
    List<VarTable> varTables = mapperManager.getExternalData().getVarTables();
    List<OutputXmlTree> outputTrees = mapperManager.getExternalData().getOutputTrees();
    matcher.setPattern("*" + searchValue.trim() + "*");
    int index = -1;
    // for the InputTables
    for (InputXmlTree inputXmlTree : inputTrees) {
        // ExpressionFilter
        if (inputXmlTree.getExpressionFilter() != null && matcher.matches(inputXmlTree.getExpressionFilter())) {
            EList<Adapter> adapter = inputXmlTree.eAdapters();
            if (adapter.size() > 0) {
                if (adapter.get(0) instanceof InputXmlTreeEditPart) {
                    InputXmlTreeEditPart inputXmlTreeEditPart = (InputXmlTreeEditPart) adapter.get(0);
                    if (inputXmlTreeEditPart != null && inputXmlTreeEditPart.getFigure() != null && inputXmlTreeEditPart.getFigure() instanceof InputXmlTreeFigure) {
                        InputXmlTreeFigure inputXmlTreeFigure = (InputXmlTreeFigure) inputXmlTreeEditPart.getFigure();
                        Map<Integer, Figure> map = new HashMap<Integer, Figure>();
                        map.put(0, inputXmlTreeFigure.getFilterContainer());
                        index++;
                        searchMaps.put(index, map);
                    }
                }
            }
        }
        // TreeNode
        for (TreeNode node : inputXmlTree.getNodes()) {
            // id_Document type
            if (XmlMapUtil.DOCUMENT.equals(node.getType())) {
                for (TreeNode nodeTemp : XmlMapUtil.getFlatChildrenList(node)) {
                    if (getMatcherNodeFigure(nodeTemp).size() > 0) {
                        index++;
                        searchMaps.put(index, getMatcherNodeFigure(nodeTemp));
                    }
                }
            }
            if (getMatcherNodeFigure(node).size() > 0) {
                index++;
                searchMaps.put(index, getMatcherNodeFigure(node));
            }
        }
    }
    // for the VarsTables
    for (VarTable varTable : varTables) {
        for (VarNode node : varTable.getNodes()) {
            if (getMatcherNodeFigure(node).size() > 0) {
                index++;
                searchMaps.put(index, getMatcherNodeFigure(node));
            }
        }
    }
    // for the OutputTables
    for (OutputXmlTree outputXmlTree : outputTrees) {
        // ExpressionFilter
        if (outputXmlTree.getExpressionFilter() != null && matcher.matches(outputXmlTree.getExpressionFilter())) {
            EList<Adapter> adapter = outputXmlTree.eAdapters();
            if (adapter.size() > 0) {
                if (adapter.get(0) instanceof OutputXmlTreeEditPart) {
                    OutputXmlTreeEditPart outputXmlTreeEditPart = (OutputXmlTreeEditPart) adapter.get(0);
                    if (outputXmlTreeEditPart != null && outputXmlTreeEditPart.getFigure() != null && outputXmlTreeEditPart.getFigure() instanceof OutputXmlTreeFigure) {
                        OutputXmlTreeFigure outputXmlTreeFigure = (OutputXmlTreeFigure) outputXmlTreeEditPart.getFigure();
                        Map<Integer, Figure> map = new HashMap<Integer, Figure>();
                        map.put(0, outputXmlTreeFigure.getFilterContainer());
                        index++;
                        searchMaps.put(index, map);
                    }
                }
            }
        }
        // OutputTreeNode
        for (OutputTreeNode node : outputXmlTree.getNodes()) {
            // id_Document type
            if (XmlMapUtil.DOCUMENT.equals(node.getType())) {
                for (TreeNode nodeTemp : XmlMapUtil.getFlatChildrenList(node)) {
                    if (getMatcherNodeFigure(nodeTemp).size() > 0) {
                        index++;
                        searchMaps.put(index, getMatcherNodeFigure(nodeTemp));
                    }
                }
            } else {
                if (getMatcherNodeFigure(node).size() > 0) {
                    index++;
                    searchMaps.put(index, getMatcherNodeFigure(node));
                }
            }
        }
    }
}
Also used : VarNode(org.talend.designer.xmlmap.model.emf.xmlmap.VarNode) HashMap(java.util.HashMap) Adapter(org.eclipse.emf.common.notify.Adapter) OutputTreeNode(org.talend.designer.xmlmap.model.emf.xmlmap.OutputTreeNode) InputXmlTreeFigure(org.talend.designer.xmlmap.figures.InputXmlTreeFigure) OutputXmlTreeEditPart(org.talend.designer.xmlmap.parts.OutputXmlTreeEditPart) 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) InputXmlTree(org.talend.designer.xmlmap.model.emf.xmlmap.InputXmlTree) VarTable(org.talend.designer.xmlmap.model.emf.xmlmap.VarTable) InputXmlTreeEditPart(org.talend.designer.xmlmap.parts.InputXmlTreeEditPart) OutputTreeNode(org.talend.designer.xmlmap.model.emf.xmlmap.OutputTreeNode) TreeNode(org.talend.designer.xmlmap.model.emf.xmlmap.TreeNode) OutputXmlTree(org.talend.designer.xmlmap.model.emf.xmlmap.OutputXmlTree) OutputXmlTreeFigure(org.talend.designer.xmlmap.figures.OutputXmlTreeFigure)

Example 3 with Figure

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

the class SearchZoneMapper method hightlightAll.

public void hightlightAll(Map<Integer, Map<Integer, Figure>> searchMaps, boolean isHightlight) {
    Iterator iter = searchMaps.entrySet().iterator();
    while (iter.hasNext()) {
        Map.Entry entry = (Map.Entry) iter.next();
        Map<Integer, Figure> map = (Map<Integer, Figure>) entry.getValue();
        Iterator it = map.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry e = (Map.Entry) it.next();
            if (isHightlight) {
                setEntryState(mapperManager, EntryState.HIGHLIGHTALL, (Figure) e.getValue());
            } else {
                setEntryState(mapperManager, EntryState.NONE, (Figure) e.getValue());
            }
        }
    }
}
Also used : Iterator(java.util.Iterator) HashMap(java.util.HashMap) Map(java.util.Map) 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)

Example 4 with Figure

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

the class SearchZoneMapper method getMatcherNodeFigure.

private Map<Integer, Figure> getMatcherNodeFigure(AbstractNode node) {
    Map<Integer, Figure> map = new HashMap<Integer, Figure>();
    int i = -1;
    TableEntityFigure figure = null;
    if (node != null) {
        EList<Adapter> adapter = node.eAdapters();
        if (adapter.size() > 0) {
            if (adapter.get(0) instanceof TableEntityPart) {
                TableEntityPart tableEntityPart = (TableEntityPart) adapter.get(0);
                if (tableEntityPart != null && tableEntityPart.getFigure() != null && tableEntityPart.getFigure() instanceof TableEntityFigure) {
                    figure = (TableEntityFigure) tableEntityPart.getFigure();
                }
            }
        }
        if (node.getExpression() != null && matcher.matches(node.getExpression())) {
            i++;
            map.put(i, figure);
        } else if (node.getName() != null && matcher.matches(node.getName())) {
            i++;
            map.put(i, figure);
        }
    }
    return map;
}
Also used : TableEntityPart(org.talend.designer.gefabstractmap.part.TableEntityPart) HashMap(java.util.HashMap) Adapter(org.eclipse.emf.common.notify.Adapter) TableEntityFigure(org.talend.designer.gefabstractmap.figures.table.entity.TableEntityFigure) 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)

Example 5 with Figure

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

the class OutputTreeSettingTable 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);
    settingsContainer = getTableItemContainer();
    rejectRow = new Figure();
    rejectRow.setLayoutManager(new RowLayout());
    Label label = new Label();
    label.setText("Catch Output Reject");
    label.setLabelAlignment(PositionConstants.LEFT);
    CompoundBorder compoundBorder = new CompoundBorder(new ColumnBorder(), new RowBorder(2, 5, 2, -1));
    label.setBorder(compoundBorder);
    rejectRow.add(label);
    reject = new ComboCellLabel();
    reject.setDirectEditType(DirectEditType.OUTPUT_REJECT);
    reject.setText(String.valueOf(outputxmlTree.isReject()));
    reject.setLabelAlignment(PositionConstants.LEFT);
    reject.setBorder(new RowBorder(2, 5, 2, -1));
    rejectRow.add(reject);
    settingsContainer.add(rejectRow);
    innerJoinRejectRow = new Figure();
    innerJoinRejectRow.setLayoutManager(new RowLayout());
    label = new Label();
    label.setText("Catch Lookup Inner Join Reject");
    label.setLabelAlignment(PositionConstants.LEFT);
    compoundBorder = new CompoundBorder(new ColumnBorder(), new RowBorder(2, 5, 2, -1));
    label.setBorder(compoundBorder);
    innerJoinRejectRow.add(label);
    innerJoinReject = new ComboCellLabel();
    innerJoinReject.setDirectEditType(DirectEditType.LOOK_UP_INNER_JOIN_REJECT);
    innerJoinReject.setText(String.valueOf(outputxmlTree.isRejectInnerJoin()));
    innerJoinReject.setLabelAlignment(PositionConstants.LEFT);
    innerJoinReject.setBorder(new RowBorder(2, 5, 2, -1));
    innerJoinRejectRow.add(innerJoinReject);
    settingsContainer.add(innerJoinRejectRow);
    allInOneRow = new Figure();
    allInOneRow.setLayoutManager(new RowLayout());
    label = new Label();
    label.setText("All in one");
    label.setLabelAlignment(PositionConstants.LEFT);
    compoundBorder = new CompoundBorder(new ColumnBorder(), new RowBorder(2, 5, 2, -1));
    label.setBorder(compoundBorder);
    allInOneRow.add(label);
    allInOne = new ComboCellLabel();
    allInOne.setDirectEditType(DirectEditType.ALL_IN_ONE);
    allInOne.setText(String.valueOf(outputxmlTree.isAllInOne()));
    allInOne.setLabelAlignment(PositionConstants.LEFT);
    allInOne.setBorder(new RowBorder(2, 5, 2, -1));
    allInOneRow.add(allInOne);
    // container.add(allInOneRow);
    enableEmptyElementRow = new Figure();
    enableEmptyElementRow.setLayoutManager(new RowLayout());
    label = new Label();
    label.setText("Create empty element");
    label.setLabelAlignment(PositionConstants.LEFT);
    compoundBorder = new CompoundBorder(new ColumnBorder(), new RowBorder(2, 5, 2, -1));
    label.setBorder(compoundBorder);
    enableEmptyElementRow.add(label);
    enableEmptyElement = new ComboCellLabel();
    enableEmptyElement.setDirectEditType(DirectEditType.ENABLE_EMPTY_ELEMENT);
    enableEmptyElement.setText(String.valueOf(outputxmlTree.isEnableEmptyElement()));
    enableEmptyElement.setLabelAlignment(PositionConstants.LEFT);
    enableEmptyElement.setBorder(new RowBorder(2, 5, 2, -1));
    enableEmptyElementRow.add(enableEmptyElement);
    // container.add(enableEmptyElementRow);
    showOrHideDocumentSetting();
    settingsContainer.setOpaque(true);
    settingsContainer.setBackgroundColor(ColorConstants.white);
    // show selection
    settingsContainer.addMouseListener(new MouseListener() {

        Figure selectedFigure = null;

        @Override
        public void mousePressed(MouseEvent me) {
            boolean joinModel = rejectRow.containsPoint(me.x, me.y);
            if (joinModel) {
                if (selectedFigure != rejectRow) {
                    rejectRow.setBackgroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_COLUMN_TREE_SETTING));
                    rejectRow.setOpaque(true);
                    innerJoinRejectRow.setOpaque(false);
                    allInOneRow.setOpaque(false);
                    enableEmptyElementRow.setOpaque(false);
                }
                return;
            }
            boolean persistentModel = innerJoinRejectRow.containsPoint(me.x, me.y);
            if (persistentModel) {
                if (selectedFigure != innerJoinRejectRow) {
                    innerJoinRejectRow.setBackgroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_COLUMN_TREE_SETTING));
                    innerJoinRejectRow.setOpaque(true);
                    rejectRow.setOpaque(false);
                    allInOneRow.setOpaque(false);
                    enableEmptyElementRow.setOpaque(false);
                }
                return;
            }
            boolean allInOne = allInOneRow.containsPoint(me.x, me.y);
            if (allInOne) {
                if (selectedFigure != allInOneRow) {
                    allInOneRow.setBackgroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_COLUMN_TREE_SETTING));
                    allInOneRow.setOpaque(true);
                    rejectRow.setOpaque(false);
                    innerJoinRejectRow.setOpaque(false);
                    enableEmptyElementRow.setOpaque(false);
                }
                return;
            }
            boolean emptyElement = enableEmptyElementRow.containsPoint(me.x, me.y);
            if (emptyElement) {
                if (selectedFigure != enableEmptyElementRow) {
                    enableEmptyElementRow.setBackgroundColor(ColorProviderMapper.getColor(ColorInfo.COLOR_COLUMN_TREE_SETTING));
                    enableEmptyElementRow.setOpaque(true);
                    rejectRow.setOpaque(false);
                    innerJoinRejectRow.setOpaque(false);
                    allInOneRow.setOpaque(false);
                }
            }
        }

        @Override
        public void mouseReleased(MouseEvent me) {
        }

        @Override
        public void mouseDoubleClicked(MouseEvent me) {
        }
    });
}
Also used : RowBorder(org.talend.designer.gefabstractmap.figures.borders.RowBorder) MouseListener(org.eclipse.draw2d.MouseListener) MouseEvent(org.eclipse.draw2d.MouseEvent) RowLayout(org.talend.designer.gefabstractmap.figures.layout.RowLayout) ComboCellLabel(org.talend.designer.gefabstractmap.figures.ComboCellLabel) Label(org.eclipse.draw2d.Label) ComboCellLabel(org.talend.designer.gefabstractmap.figures.ComboCellLabel) CompoundBorder(org.eclipse.draw2d.CompoundBorder) 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)

Aggregations

Figure (org.eclipse.draw2d.Figure)33 IFigure (org.eclipse.draw2d.IFigure)25 List (java.util.List)6 ImageFigure (org.eclipse.draw2d.ImageFigure)6 Point (org.eclipse.draw2d.geometry.Point)6 Rectangle (org.eclipse.draw2d.geometry.Rectangle)6 TableEntityFigure (org.talend.designer.gefabstractmap.figures.table.entity.TableEntityFigure)6 VarEntityFigure (org.talend.designer.gefabstractmap.figures.var.VarEntityFigure)6 FreeformLayer (org.eclipse.draw2d.FreeformLayer)5 FreeformLayout (org.eclipse.draw2d.FreeformLayout)5 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