package com.baselet.element.old.custom;
import java.util.List;
import com.baselet.control.HandlerElementMap;
import com.baselet.control.enums.AlignHorizontal;
import com.baselet.custom.CompileError;
import com.baselet.diagram.draw.helper.ColorOwn;
import com.baselet.diagram.draw.swing.DrawHandlerSwing;
import com.baselet.element.interfaces.GridElement;
public class CustomElementWithErrors extends CustomElement {
private static final long serialVersionUID = 1L;
private List<CompileError> errors;
public CustomElementWithErrors() {
super();
}
public CustomElementWithErrors(List<CompileError> errors) {
super();
this.errors = errors;
}
@Override
public void paint() {
DrawHandlerSwing drawer = new DrawHandlerSwing(this);
drawer.setGraphics(g2);
drawer.setHandler(HandlerElementMap.getHandlerForElement(this));
drawer.setForegroundColor(ColorOwn.RED);
drawer.drawRectangle(0, 0, getRealSize().width, getRealSize().height);
if (errors != null) {
double y = textHeight();
double x = HandlerElementMap.getHandlerForElement(this).getFontHandler().getDistanceBetweenTexts(false);
drawer.print("Custom Element With Errors:", x, (int) y, AlignHorizontal.LEFT);
y += textHeight();
for (CompileError error : errors) {
drawer.print(error.getLineNr() + ": " + error.getError(), x, (int) y, AlignHorizontal.LEFT);
y += textHeight();
}
}
drawer.drawAll(HandlerElementMap.getHandlerForElement(this).getDrawPanel().getSelector().isSelected(this));
}
@Override
public final GridElement cloneFromMe() {
CustomElementWithErrors e = (CustomElementWithErrors) super.cloneFromMe();
e.setCode(getCode());
e.errors = errors;
return e;
}
}