Search in sources :

Example 1 with ActionListener

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

the class SubjobContainerFigure method initFigure.

/**
     * DOC rdubois Comment method "initFigure".
     */
protected void initFigure() {
    outlineFigure = new RoundedRectangle();
    rectFig = new RoundedRectangle();
    titleFigure = new SimpleHtmlFigure();
    titleFigure.setOpaque(true);
    collapseFigure = new SubjobCollapseFigure();
    collapseFigure.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent event) {
            IProcess2 process = subjobContainer.getProcess();
            if (!process.isReadOnly()) {
                PropertyChangeCommand ppc = new PropertyChangeCommand(subjobContainer, EParameterName.COLLAPSED.getName(), !subjobContainer.isCollapsed());
                boolean executed = false;
                if (process instanceof IGEFProcess) {
                    IDesignerCoreUIService designerCoreUIService = CoreUIPlugin.getDefault().getDesignerCoreUIService();
                    if (designerCoreUIService != null) {
                        executed = designerCoreUIService.executeCommand((IGEFProcess) process, ppc);
                    }
                }
                if (!executed) {
                    ppc.execute();
                }
                reSelection();
            }
        }
    });
}
Also used : PropertyChangeCommand(org.talend.designer.core.ui.editor.cmd.PropertyChangeCommand) ActionListener(org.eclipse.draw2d.ActionListener) ActionEvent(org.eclipse.draw2d.ActionEvent) IProcess2(org.talend.core.model.process.IProcess2) IDesignerCoreUIService(org.talend.core.ui.services.IDesignerCoreUIService) RoundedRectangle(org.eclipse.draw2d.RoundedRectangle) SimpleHtmlFigure(org.talend.commons.ui.utils.workbench.gef.SimpleHtmlFigure) IGEFProcess(org.talend.core.ui.process.IGEFProcess)

Example 2 with ActionListener

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

the class ConnectionTraceFigure method setTraceData.

public void setTraceData(TraceData data, boolean flag, boolean traceFlag) {
    if (data != null) {
        List childrens = this.getChildren();
        childrens.clear();
        boolean noVarNameDefined = false;
        Figure outlineFigure = new Figure();
        outlineFigure.setLayoutManager(new ToolbarLayout(true));
        int title1With = 0;
        int title2With = 0;
        if (tooltip != null) {
            collapseButton = new CollapseFigure();
            collapseButton.setCollapsed(connection.getConnectionTrace().isCollapse());
            collapseButton.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent event) {
                    connection.getConnectionTrace().setCollapse(!connection.getConnectionTrace().isCollapse());
                    collapseButton.setCollapsed(connection.getConnectionTrace().isCollapse());
                    refreshCollapseStatus();
                }
            });
            if (flag == true) {
                outlineFigure.add(collapseButton);
            }
        }
        // int sepIndex = data.indexOf(FIELD_SEP); // index separator for row name
        //
        // String dataWithoutRowName = data.substring(sepIndex + 1);
        // sepIndex = dataWithoutRowName.indexOf(FIELD_SEP);
        int lineNumber = data.getNbLine();
        SimpleHtmlFigure titleFigure = new SimpleHtmlFigure();
        //$NON-NLS-1$
        titleFigure.setText("");
        titleFigure.setText(//$NON-NLS-1$
        "<font color='#0000FF'> <b> " + connection.getConnectionLabel().getLabelText() + //$NON-NLS-1$ 
        "</b></font>");
        if (tooltip != null) {
            titleFigure.setBackgroundColor(ColorConstants.white);
            titleFigure.setOpaque(false);
        }
        titleFigure.getPreferredSize().expand(20, 2);
        title1With = titleFigure.getPreferredSize().width;
        SimpleHtmlFigure titleFigureSe = new SimpleHtmlFigure();
        //$NON-NLS-1$ //$NON-NLS-2$
        titleFigureSe.setText(" <font color='#808080'>Current row : " + lineNumber + "</font>");
        if (tooltip != null) {
            titleFigureSe.setBackgroundColor(ColorConstants.white);
            titleFigureSe.setOpaque(false);
        }
        titleFigureSe.getPreferredSize().expand(20, 2);
        title2With = titleFigureSe.getPreferredSize().width;
        if (flag == true) {
            outlineFigure.add(titleFigure);
        }
        ImageFigure figure = new ImageFigure(getTraceConnectionImage(flag));
        outlineFigure.add(figure);
        if (flag == true) {
            outlineFigure.add(titleFigureSe);
        }
        outlineFigure.setBorder(new LineBorder(ColorConstants.darkGray, SWT.LEFT | SWT.RIGHT | SWT.TOP | SWT.BOTTOM));
        outlineFigure.setOpaque(true);
        add(outlineFigure);
        Dimension size = titleFigure.getPreferredSize().getCopy();
        int variableWidth = 0;
        int valueWidth = 0;
        // String lineInfo = dataWithoutRowName.substring(sepIndex + 1);
        // ArrayList columnValueList = new ArrayList();
        // int lastLocation = 0;
        // int endLocation = lineInfo.indexOf(FIELD_SEP, lastLocation);
        // while (endLocation != -1) {
        // columnValueList.add(lineInfo.substring(lastLocation, endLocation + 1));
        // lastLocation = endLocation + 2;
        // endLocation = lineInfo.indexOf(FIELD_SEP, lastLocation);
        // }
        // if (columnValueList.size() > 0 && connection.traceColumn.size() == 0
        // && connection.getPropertyValue(EParameterName.TRACES_CONNECTION_FILTER.getName()) != null) {
        // Object value = connection.getPropertyValue(EParameterName.TRACES_CONNECTION_FILTER.getName());
        // lineInfo = "";
        // for (Object o : columnValueList) {
        // for (Object o1 : (ArrayList) value) {
        // if (o1 instanceof HashMap) {
        // String columnValue = o.toString();
        // if (columnValue.indexOf("=") > 0) {
        // if (((HashMap) o1).get(IConnection.TRACE_SCHEMA_COLUMN).toString()
        // .equals(columnValue.substring(0, columnValue.indexOf("=")).trim())
        // && Boolean.TRUE.toString().equals(
        // ((HashMap) o1).get(IConnection.TRACE_SCHEMA_COLUMN_CHECKED).toString())) {
        // lineInfo += columnValue;
        // break;
        // }
        // }
        // }
        // }
        // }
        // }
        // if (columnValueList.size() > 0 && (connection.traceColumn.size() > 0 || connection.setNullColumn ==
        // true)) {
        // lineInfo = "";
        // Object value = connection.getPropertyValue(EParameterName.TRACES_CONNECTION_FILTER.getName());
        // int columnNum = 0;
        // for (Object o : columnValueList) {
        // if (connection.traceColumn != null && connection.traceColumn.contains(columnNum)) {
        // lineInfo += o.toString();
        // } else {
        // for (Object o1 : (ArrayList) value) {
        // if (((HashMap) o1).get(IConnection.TRACE_SCHEMA_COLUMN).toString()
        // .equals(o.toString().substring(0, o.toString().indexOf("=")).trim())
        // && Boolean.TRUE.toString().equals(
        // ((HashMap) o1).get(IConnection.TRACE_SCHEMA_COLUMN_CHECKED).toString())) {
        // lineInfo += o.toString();
        // break;
        // }
        // }
        // }
        // columnNum++;
        // }
        // }
        // StringTokenizer st = new StringTokenizer(lineInfo, FIELD_SEP);
        List<Map<String, Object>> columnsCheckInfo = null;
        if (data.getData() != null) {
            columnsCheckInfo = TracesConnectionUtils.getTraceConnectionFilterValues(connection);
            Iterator<String> iterator = data.getData().keySet().iterator();
            while (iterator.hasNext()) {
                String columnLabel = iterator.next();
                if (columnsCheckInfo != null && !isColumnChecked(columnsCheckInfo, columnLabel)) {
                    continue;
                }
                // String str = st.nextToken();
                // int valueStart = str.indexOf(FIELD_EQUAL);
                // if (valueStart != -1) {
                String formatedVariable = //$NON-NLS-1$
                "<font color='#000000'>  <b>" + columnLabel + //$NON-NLS-1$
                "</b></font>";
                //$NON-NLS-1$ //$NON-NLS-2$
                String formatedValue = "<font color='#FF8040'> <b>" + data.getData().get(columnLabel) + "</b></font>";
                SimpleHtmlFigure var = new SimpleHtmlFigure();
                var.setText(formatedVariable);
                SimpleHtmlFigure value = new SimpleHtmlFigure();
                value.setText(formatedValue);
                Dimension varSize = var.getPreferredSize();
                varSize.expand(0, 3);
                var.setPreferredSize(varSize);
                if (varSize.width > variableWidth) {
                    variableWidth = varSize.width;
                }
                Dimension valueSize = value.getPreferredSize();
                valueSize.expand(0, 3);
                value.setPreferredSize(valueSize);
                if (valueSize.width > valueWidth) {
                    valueWidth = valueSize.width;
                }
                size.expand(0, varSize.height);
            // } else {
            // noVarNameDefined = true;
            //                    String formatedValue = "<font color='#FF8040'> <b>" + str + "</b></font>"; //$NON-NLS-1$ //$NON-NLS-2$
            // SimpleHtmlFigure value = new SimpleHtmlFigure();
            // value.setText(formatedValue);
            // Dimension valueSize = value.getPreferredSize();
            // if (valueSize.width > valueWidth) {
            // valueWidth = valueSize.width;
            // }
            // size.expand(0, valueSize.height);
            // }
            }
        }
        variableWidth += 10;
        valueWidth += 10;
        if (variableWidth < title1With) {
            variableWidth = title1With;
        }
        if (valueWidth < title2With) {
            valueWidth = title2With;
        }
        // if (maximized) {
        if (variableWidth < MAX_VARIABLE_WIDTH) {
            variableWidth = MAX_VARIABLE_WIDTH;
        }
        if (valueWidth < MAX_VALUE_WIDTH) {
            valueWidth = MAX_VALUE_WIDTH;
        }
        if ((variableWidth + valueWidth) < titleFigure.getPreferredSize().width) {
            valueWidth = titleFigure.getPreferredSize().width - variableWidth;
        }
        if (noVarNameDefined) {
            if (titleFigure.getPreferredSize().width > valueWidth) {
                valueWidth = titleFigure.getPreferredSize().width;
            }
        }
        // st = new StringTokenizer(lineInfo, FIELD_SEP);
        int nbVar = 0;
        if (data.getData() != null) {
            Iterator<String> iterator = data.getData().keySet().iterator();
            while (iterator.hasNext()) {
                String columnLabel = iterator.next();
                if (columnsCheckInfo != null && !isColumnChecked(columnsCheckInfo, columnLabel)) {
                    continue;
                }
                // int valueStart = str.indexOf(FIELD_EQUAL);
                // if (valueStart != -1) {
                String formatedVariable = //$NON-NLS-1$
                "<font color='#000000'>  <b>" + columnLabel + //$NON-NLS-1$
                "</b></font>";
                //$NON-NLS-1$ //$NON-NLS-2$
                String formatedValue = "<font color='#FF8040'> <b>" + data.getData().get(columnLabel) + "</b></font>";
                SimpleHtmlFigure var = new SimpleHtmlFigure();
                var.setText(formatedVariable);
                SimpleHtmlFigure value = new SimpleHtmlFigure();
                value.setText(formatedValue);
                Dimension valueSize = value.getPreferredSize();
                valueSize.expand(0, 3);
                value.setPreferredSize(valueSize);
                value.setPreferredSize(valueWidth, valueSize.height);
                var.setBorder(new LineBorder(ColorConstants.darkGray, SWT.RIGHT));
                Dimension varSize = var.getPreferredSize();
                varSize.expand(0, 3);
                var.setPreferredSize(varSize);
                var.setPreferredSize(variableWidth, varSize.height);
                ToolbarLayout variableLayout = new ToolbarLayout(true);
                variableFigure = new Figure();
                variableFigure.setLayoutManager(variableLayout);
                variableFigure.add(var);
                variableFigure.add(value);
                if (flag == true) {
                    add(variableFigure);
                }
            // } else {
            //                    String formatedValue = "<font color='#FF8040'> <b> " + str + "</b></font>"; //$NON-NLS-1$ //$NON-NLS-2$
            // SimpleHtmlFigure value = new SimpleHtmlFigure();
            // value.setText(formatedValue);
            //
            // Dimension valueSize = value.getPreferredSize();
            // valueSize.expand(0, 3);
            // value.setPreferredSize(valueSize);
            // value.setPreferredSize(valueWidth, valueSize.height);
            //
            // ToolbarLayout variableLayout = new ToolbarLayout(true);
            // variableFigure = new Figure();
            // variableFigure.setLayoutManager(variableLayout);
            // variableFigure.add(value);
            // if (flag == true) {
            // add(variableFigure);
            // }
            // }
            }
            if (tooltip != null) {
                if (variableFigure != null) {
                    variableFigure.setBorder(new LineBorder(ColorConstants.darkGray, SWT.LEFT | SWT.RIGHT));
                }
            }
            if (variableFigure != null) {
                variableFigure.setOpaque(true);
            }
            if ((nbVar % 2) != 0) {
                if (tooltip != null) {
                    if (variableFigure != null) {
                        variableFigure.setBackgroundColor(ColorConstants.white);
                    }
                }
            } else {
                if (variableFigure != null) {
                    variableFigure.setBackgroundColor(BACKGROUND);
                }
            }
            nbVar++;
        }
        if (tooltip != null) {
            if (variableFigure != null) {
                variableFigure.setBorder(new LineBorder(ColorConstants.darkGray, SWT.LEFT | SWT.BOTTOM | SWT.RIGHT));
            }
        }
        if (maximized) {
            this.setVariableFigureBorder();
        }
        if (noVarNameDefined) {
            size.width = valueWidth;
        } else {
            size.width = variableWidth + valueWidth;
        }
        if (size.width < titleFigure.getPreferredSize().width) {
            size.width = titleFigure.getPreferredSize().width;
        }
        // size.width = size.width * 2;
        size.expand(5, 3);
        setPreferredSize(size);
        setVisible(true);
        if (!flag) {
            this.remove(outlineFigure);
            add(figure);
        }
    } else {
        if (traceFlag) {
            Image enableImage = getTraceConnectionImage(flag);
            setPreferredSize(enableImage.getImageData().width, enableImage.getImageData().height);
            this.getChildren().clear();
            ImageFigure figure = new ImageFigure(enableImage);
            add(figure);
            setVisible(true);
        } else {
            setPreferredSize(0, 0);
            setVisible(false);
        }
    }
    if (tooltip != null) {
        if (flag) {
            tooltip.setTraceData(data, flag, traceFlag);
        } else {
            tooltip.setTraceData(data, flag, false);
        }
    }
    contents = new ArrayList(getChildren());
    refreshCollapseStatus();
}
Also used : ActionEvent(org.eclipse.draw2d.ActionEvent) ArrayList(java.util.ArrayList) Dimension(org.eclipse.draw2d.geometry.Dimension) Image(org.eclipse.swt.graphics.Image) EImage(org.talend.commons.ui.runtime.image.EImage) ECoreImage(org.talend.commons.ui.runtime.image.ECoreImage) IFigure(org.eclipse.draw2d.IFigure) ImageFigure(org.eclipse.draw2d.ImageFigure) SimpleHtmlFigure(org.talend.commons.ui.utils.workbench.gef.SimpleHtmlFigure) Figure(org.eclipse.draw2d.Figure) SimpleHtmlFigure(org.talend.commons.ui.utils.workbench.gef.SimpleHtmlFigure) ToolbarLayout(org.eclipse.draw2d.ToolbarLayout) ActionListener(org.eclipse.draw2d.ActionListener) ArrayList(java.util.ArrayList) List(java.util.List) ImageFigure(org.eclipse.draw2d.ImageFigure) Map(java.util.Map)

Example 3 with ActionListener

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

the class TalendEntryEditPart method createFigure.

@Override
public IFigure createFigure() {
    Field customLabelField;
    try {
        talendCustomLabel = new DetailedLabelFigure();
        //$NON-NLS-1$
        customLabelField = ToolEntryEditPart.class.getDeclaredField("customLabel");
        customLabelField.setAccessible(true);
        customLabelField.set(this, talendCustomLabel);
    } catch (Exception e) {
        CommonExceptionHandler.process(e);
    }
    Clickable button = new ToolEntryToggle(talendCustomLabel);
    button.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent event) {
            getPaletteViewer().setActiveTool(getToolEntry());
        }
    });
    return button;
}
Also used : Field(java.lang.reflect.Field) ActionListener(org.eclipse.draw2d.ActionListener) Clickable(org.eclipse.draw2d.Clickable) ActionEvent(org.eclipse.draw2d.ActionEvent) DetailedLabelFigure(org.eclipse.gef.internal.ui.palette.editparts.DetailedLabelFigure) ToolEntryEditPart(org.eclipse.gef.internal.ui.palette.editparts.ToolEntryEditPart)

Aggregations

ActionEvent (org.eclipse.draw2d.ActionEvent)3 ActionListener (org.eclipse.draw2d.ActionListener)3 SimpleHtmlFigure (org.talend.commons.ui.utils.workbench.gef.SimpleHtmlFigure)2 Field (java.lang.reflect.Field)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Map (java.util.Map)1 Clickable (org.eclipse.draw2d.Clickable)1 Figure (org.eclipse.draw2d.Figure)1 IFigure (org.eclipse.draw2d.IFigure)1 ImageFigure (org.eclipse.draw2d.ImageFigure)1 RoundedRectangle (org.eclipse.draw2d.RoundedRectangle)1 ToolbarLayout (org.eclipse.draw2d.ToolbarLayout)1 Dimension (org.eclipse.draw2d.geometry.Dimension)1 DetailedLabelFigure (org.eclipse.gef.internal.ui.palette.editparts.DetailedLabelFigure)1 ToolEntryEditPart (org.eclipse.gef.internal.ui.palette.editparts.ToolEntryEditPart)1 Image (org.eclipse.swt.graphics.Image)1 ECoreImage (org.talend.commons.ui.runtime.image.ECoreImage)1 EImage (org.talend.commons.ui.runtime.image.EImage)1 IProcess2 (org.talend.core.model.process.IProcess2)1