use of org.eclipse.draw2d.ActionEvent 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();
}
use of org.eclipse.draw2d.ActionEvent 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();
}
}
});
}
use of org.eclipse.draw2d.ActionEvent in project yamcs-studio by yamcs.
the class ScrollbarFigure method setDownClickable.
/**
* Sets the Clickable that represents the down arrow of the Scrollbar to <i>down</i>.
*
* @param down
* the down button
* @since 2.0
*/
public void setDownClickable(Clickable down) {
hookFocusListener(down);
if (buttonDown != null) {
remove(buttonDown);
}
buttonDown = down;
if (buttonDown != null) {
if (buttonDown instanceof Orientable)
((Orientable) buttonDown).setDirection(isHorizontal() ? Orientable.EAST : Orientable.SOUTH);
buttonDown.setFiringMethod(Clickable.REPEAT_FIRING);
buttonDown.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
stepDown();
}
});
add(buttonDown, ScrollBarLayout.DOWN_ARROW);
}
}
use of org.eclipse.draw2d.ActionEvent in project whole by wholeplatform.
the class AbstractContentPaneManagerPart method newLinkAction.
public ActionListener newLinkAction() {
return new ActionListener() {
public void actionPerformed(ActionEvent event) {
Clickable linkButton = (Clickable) event.getSource();
int index = (Integer) linkButton.getModel().getUserData();
getViewer().selectAndReveal(getModelEntity().wGet(index));
}
};
}
use of org.eclipse.draw2d.ActionEvent 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;
}
Aggregations