use of org.eclipse.draw2d.ToolbarLayout 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.ToolbarLayout in project tdi-studio-se by Talend.
the class TalendSliderPaletteEditPart method registerVisuals.
/**
* @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#registerVisuals()
*/
@Override
protected void registerVisuals() {
super.registerVisuals();
controller = new PaletteAnimator(((PaletteViewer) getViewer()).getPaletteViewerPreferences());
getViewer().getEditPartRegistry().put(PaletteAnimator.class, controller);
ToolbarLayout layout = new PaletteToolbarLayout();
getFigure().setLayoutManager(layout);
getFigure().addLayoutListener(controller);
}
use of org.eclipse.draw2d.ToolbarLayout in project tdi-studio-se by Talend.
the class AbstractTable method createTableContainer.
protected void createTableContainer() {
// table column container
tableItemContainer = new Figure();
tableItemContainer.setLayoutManager(new ToolbarLayout());
tableItemContainer.setBackgroundColor(ColorConstants.white);
tableItemContainer.setOpaque(true);
add(tableItemContainer);
}
use of org.eclipse.draw2d.ToolbarLayout in project tdi-studio-se by Talend.
the class TableTreeEntityFigure method getContents.
@Override
public TreeAnimatingLayer getContents() {
if (this.contentPane == null) {
contentPane = new TreeAnimatingLayer() {
public void setBounds(Rectangle rect) {
int x = bounds.x, y = bounds.y;
boolean resize = (rect.width != bounds.width) || (rect.height != bounds.height), translate = (rect.x != x) || (rect.y != y);
if (isVisible() && (resize || translate))
erase();
if (translate) {
int dx = rect.x - x;
int dy = rect.y - y;
primTranslate(dx, dy);
}
bounds.width = rect.width;
bounds.height = rect.height;
if (resize)
invalidate();
if (resize || translate) {
fireFigureMoved();
fireCoordinateSystemChanged();
repaint();
}
}
};
ToolbarLayout layout = new ToolbarLayout() {
@Override
public void layout(IFigure parent) {
TreeAnimation.recordInitialState(parent);
if (TreeAnimation.playbackState(parent)) {
return;
}
super.layout(parent);
}
@Override
protected Dimension calculatePreferredSize(IFigure container, int wHint, int hHint) {
return super.calculatePreferredSize(container, wHint, hHint);
}
};
layout.setMinorAlignment(ToolbarLayout.ALIGN_TOPLEFT);
contentPane.setLayoutManager(layout);
this.add(contentPane);
// ///////test
// contentPane.setOpaque(true);
// contentPane.setBackgroundColor(ColorConstants.yellow);
}
return contentPane;
}
use of org.eclipse.draw2d.ToolbarLayout in project tdi-studio-se by Talend.
the class NodeProgressBarFigure method setProgressData.
public void setProgressData(Double extent) {
List childs = this.getChildren();
childs.clear();
if (extent == 0) {
return;
}
Figure baseFigure = new Figure();
baseFigure.setLayoutManager(new ToolbarLayout(true));
baseFigure.setVisible(true);
Double extentString = Math.floor(extent / 10);
Double extentFlag = Math.floor(extent);
Figure progressBarFigure = new Figure();
progressBarFigure.setBorder(new LineBorder(ColorConstants.black, 1));
progressBarFigure.setLayoutManager(new ToolbarLayout(true));
progressBarFigure.setSize(60, 10);
progressBarFigure.setPreferredSize(60, 10);
progressBarFigure.setVisible(true);
SimpleHtmlFigure dataFigure = new SimpleHtmlFigure();
dataFigure.setVisible(true);
// Font font = new Font(Display.getDefault(), "Arial", 9, SWT.ITALIC);
// dataFigure.setFont(font);
//
// dataFigure.setText(extentFlag.intValue() + "%");//$NON-NLS-1$
dataFigure.setText(//$NON-NLS-1$
"<font color='#000000'> <b> " + extentFlag.intValue() + "%" + //$NON-NLS-1$ //$NON-NLS-2$
"</b></font>");
// dataFigure.setSize(27, 12);
// dataFigure.setPreferredSize(27, 12);
int nodeX = progressBarFigure.getLocation().x;
int nodeY = progressBarFigure.getLocation().y;
if (extentString == 0) {
if (extent > 0 && extent < 1) {
ImageFigure progressDataFigure = new ImageFigure();
Image image = ImageProvider.getImage(ECoreImage.PROGRESSGRAYBAR);
progressDataFigure.setImage(image);
progressDataFigure.setVisible(true);
progressBarFigure.add(progressDataFigure);
} else if (extent >= 1 && extent < 10) {
ImageFigure progressDataFigure = new ImageFigure();
Image image = ImageProvider.getImage(ECoreImage.PROGRESSGRAYGEBAR);
progressDataFigure.setImage(image);
progressDataFigure.setVisible(true);
progressBarFigure.add(progressDataFigure);
}
} else if (extentString == 10) {
ImageFigure progressDataFigure = new ImageFigure();
Image image = ImageProvider.getImage(ECoreImage.PROGRESSGREEBAR);
progressDataFigure.setImage(image);
progressDataFigure.setVisible(true);
progressBarFigure.add(progressDataFigure);
} else if (extentString > 0 && extentString < 10) {
for (int i = 0; i < extentString; i++) {
ImageFigure progressDataFigure = new ImageFigure();
Image image = ImageProvider.getImage(ECoreImage.PROGRESSBAR);
progressDataFigure.setImage(image);
progressDataFigure.setVisible(true);
progressBarFigure.add(progressDataFigure);
int imageWith = image.getImageData().width;
if (i != 0) {
Point point = new Point(nodeX + i * imageWith, nodeY);
progressDataFigure.setLocation(point);
}
}
for (int j = 0; j < (10 - extentString); j++) {
ImageFigure progressDataFigure = new ImageFigure();
Image image = ImageProvider.getImage(ECoreImage.PROGRESSBARBlACK);
progressDataFigure.setImage(image);
progressDataFigure.setVisible(true);
progressBarFigure.add(progressDataFigure);
int imageWith = image.getImageData().width;
if (j != 0) {
Point point = new Point(nodeX + extentString * imageWith + j * imageWith, nodeY);
progressDataFigure.setLocation(point);
}
}
}
baseFigure.setSize(dataFigure.getPreferredSize().width + progressBarFigure.getPreferredSize().width, dataFigure.getPreferredSize().height);
baseFigure.setPreferredSize(dataFigure.getPreferredSize().width + progressBarFigure.getPreferredSize().width, dataFigure.getPreferredSize().height);
baseFigure.add(progressBarFigure);
baseFigure.add(dataFigure);
this.add(baseFigure);
this.setSize(baseFigure.getSize());
}
Aggregations