use of org.eclipse.draw2d.Figure 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());
}
use of org.eclipse.draw2d.Figure in project tdi-studio-se by Talend.
the class TalendGroupEditPart method createFigure.
@Override
public IFigure createFigure() {
Figure figure = new Figure();
figure.setOpaque(true);
// figure.setBackgroundColor(ColorConstants.blue);
figure.setBackgroundColor(PaletteColorUtil.WIDGET_LIST_BACKGROUND);
return figure;
}
use of org.eclipse.draw2d.Figure in project tdi-studio-se by Talend.
the class TableItemLayout method layout.
@Override
public void layout(IFigure parent) {
if (parent.getParent() == null || !(parent.getParent().getParent() instanceof Table)) {
throw new RuntimeException("Can't find table");
}
Table table = (Table) parent.getParent().getParent();
Rectangle clientArea = parent.getClientArea();
int X = clientArea.x;
int Y = clientArea.y;
List<TableColumn> columns = table.getColumns();
List children = parent.getChildren();
if (columns.size() != children.size()) {
throw new RuntimeException("Table items size don't match column size");
}
int rowheight = 0;
for (int i = 0; i < children.size(); i++) {
Figure figure = (Figure) children.get(i);
Dimension size = figure.getPreferredSize();
rowheight = Math.max(rowheight, size.height);
}
for (int i = 0; i < columns.size(); i++) {
TableColumn tableColumn = columns.get(i);
Figure figure = (Figure) children.get(i);
int columnWidth = table.getColumnWidth(tableColumn.getColumnKey());
Rectangle newBounds = new Rectangle(X, Y, columnWidth, rowheight);
figure.setBounds(newBounds);
X += columnWidth;
}
}
use of org.eclipse.draw2d.Figure in project tdi-studio-se by Talend.
the class ConnTextMovePolicy method getMoveCommand.
/*
* (non-Javadoc)
*
* @see
* org.eclipse.gef.editpolicies.NonResizableEditPolicy#getMoveCommand(org.eclipse.gef.requests.ChangeBoundsRequest)
*/
public Command getMoveCommand(ChangeBoundsRequest request) {
if (((Connection) getHost().getParent().getModel()).isReadOnly()) {
return null;
}
if (getHost().getModel() instanceof ConnectionTrace) {
ConnectionTrace model = (ConnectionTrace) getHost().getModel();
Point delta = request.getMoveDelta();
ConnectionPart edge = (ConnectionPart) getHost().getParent();
MoveConnTraceCommand command = new MoveConnTraceCommand(model, (Figure) edge.getFigure(), delta);
return command;
} else if (getHost().getModel() instanceof ConnectionLabel) {
ConnectionLabel model = (ConnectionLabel) getHost().getModel();
Point delta = request.getMoveDelta();
ConnectionPart edge = (ConnectionPart) getHost().getParent();
List<Element> elements = edge.getModelChildren();
for (Element e : elements) {
if (e instanceof ConnectionResuming) {
MoveConnTextCommand command = new MoveConnTextCommand(model, (ConnectionResuming) e, (Figure) edge.getFigure(), delta);
return command;
}
}
MoveConnTextCommand command = new MoveConnTextCommand(model, null, (Figure) edge.getFigure(), delta);
return command;
}
return null;
}
use of org.eclipse.draw2d.Figure in project tdi-studio-se by Talend.
the class SubjobContainerPart method createFigure.
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
*/
@Override
protected IFigure createFigure() {
SubjobContainer container = (SubjobContainer) this.getModel();
Boolean isDisplaySubjobs = (container).isDisplayed();
if (!isDisplaySubjobs) {
Figure figure = new FreeformLayer();
figure.setLayoutManager(new FreeformLayout());
return figure;
}
IProcess2 process = container.getProcess();
//$NON-NLS-1$
Object obj = process.getAdditionalProperties().get("FRAMEWORK");
SubjobContainerFigure subjobContainer = null;
if ("Spark Streaming".equals(obj) && !(process.getProperty().getItem() instanceof JobletProcessItem)) {
//$NON-NLS-1$
subjobContainer = new SparkStreamingSubjobContainerFigure(container);
} else {
subjobContainer = new SubjobContainerFigure(container);
}
return subjobContainer;
}
Aggregations