Search in sources :

Example 1 with TransPainter

use of org.pentaho.di.trans.TransPainter in project pentaho-kettle by pentaho.

the class TransformationInformation method drawImage.

public void drawImage(final Graphics2D g2d, final Rectangle2D rectangle2d, ReportSubjectLocation location, boolean pixelateImages) throws KettleException {
    // Load the transformation
    // 
    TransMeta transMeta = loadTransformation(location);
    Point min = transMeta.getMinimum();
    Point area = transMeta.getMaximum();
    area.x -= min.x;
    area.y -= min.y;
    int iconsize = 32;
    ScrollBarInterface bar = new ScrollBarInterface() {

        public void setThumb(int thumb) {
        }

        public int getSelection() {
            return 0;
        }
    };
    // Paint the transformation...
    // 
    Rectangle rect = new java.awt.Rectangle(0, 0, area.x, area.y);
    double magnificationX = rectangle2d.getWidth() / rect.getWidth();
    double magnificationY = rectangle2d.getHeight() / rect.getHeight();
    float magnification = (float) Math.min(1, Math.min(magnificationX, magnificationY));
    SwingGC gc = new SwingGC(g2d, rect, iconsize, 0, 0);
    gc.setDrawingPixelatedImages(pixelateImages);
    TransPainter painter = new TransPainter(gc, transMeta, area, bar, bar, null, null, null, new ArrayList<AreaOwner>(), new ArrayList<StepMeta>(), iconsize, 1, 0, 0, true, "FreeSans", 10);
    painter.setMagnification(magnification);
    painter.setTranslationX((-min.x) * magnification);
    painter.setTranslationY((-min.y) * magnification);
    painter.buildTransformationImage();
}
Also used : TransMeta(org.pentaho.di.trans.TransMeta) Rectangle(java.awt.Rectangle) Point(org.pentaho.di.core.gui.Point) SwingGC(org.pentaho.di.core.gui.SwingGC) StepMeta(org.pentaho.di.trans.step.StepMeta) Point(org.pentaho.di.core.gui.Point) ScrollBarInterface(org.pentaho.di.core.gui.ScrollBarInterface) AreaOwner(org.pentaho.di.core.gui.AreaOwner) TransPainter(org.pentaho.di.trans.TransPainter)

Example 2 with TransPainter

use of org.pentaho.di.trans.TransPainter in project pentaho-kettle by pentaho.

the class GetTransImageServlet method generateTransformationImage.

private BufferedImage generateTransformationImage(TransMeta transMeta) throws Exception {
    float magnification = 1.0f;
    Point maximum = transMeta.getMaximum();
    maximum.multiply(magnification);
    SwingGC gc = new SwingGC(null, maximum, 32, 0, 0);
    TransPainter transPainter = new TransPainter(gc, transMeta, maximum, null, null, null, null, null, new ArrayList<AreaOwner>(), new ArrayList<StepMeta>(), 32, 1, 0, 0, true, "Arial", 10);
    transPainter.setMagnification(magnification);
    transPainter.buildTransformationImage();
    return (BufferedImage) gc.getImage();
}
Also used : AreaOwner(org.pentaho.di.core.gui.AreaOwner) Point(org.pentaho.di.core.gui.Point) SwingGC(org.pentaho.di.core.gui.SwingGC) TransPainter(org.pentaho.di.trans.TransPainter) StepMeta(org.pentaho.di.trans.step.StepMeta) BufferedImage(java.awt.image.BufferedImage)

Example 3 with TransPainter

use of org.pentaho.di.trans.TransPainter in project pentaho-kettle by pentaho.

the class TransGraph method getTransformationImage.

public Image getTransformationImage(Device device, int x, int y, float magnificationFactor) {
    GCInterface gc = new SWTGC(device, new Point(x, y), iconsize);
    int gridSize = PropsUI.getInstance().isShowCanvasGridEnabled() ? PropsUI.getInstance().getCanvasGridSize() : 1;
    TransPainter transPainter = new TransPainter(gc, transMeta, new Point(x, y), new SwtScrollBar(hori), new SwtScrollBar(vert), candidate, drop_candidate, selectionRegion, areaOwners, mouseOverSteps, PropsUI.getInstance().getIconSize(), PropsUI.getInstance().getLineWidth(), gridSize, PropsUI.getInstance().getShadowSize(), PropsUI.getInstance().isAntiAliasingEnabled(), PropsUI.getInstance().getNoteFont().getName(), PropsUI.getInstance().getNoteFont().getHeight(), trans, PropsUI.getInstance().isIndicateSlowTransStepsEnabled());
    transPainter.setMagnification(magnificationFactor);
    transPainter.setStepLogMap(stepLogMap);
    transPainter.setStartHopStep(startHopStep);
    transPainter.setEndHopLocation(endHopLocation);
    transPainter.setNoInputStep(noInputStep);
    transPainter.setEndHopStep(endHopStep);
    transPainter.setCandidateHopType(candidateHopType);
    transPainter.setStartErrorHopStep(startErrorHopStep);
    transPainter.setShowTargetStreamsStep(showTargetStreamsStep);
    transPainter.buildTransformationImage();
    Image img = (Image) gc.getImage();
    gc.dispose();
    return img;
}
Also used : GCInterface(org.pentaho.di.core.gui.GCInterface) SwtScrollBar(org.pentaho.di.ui.spoon.SwtScrollBar) SWTGC(org.pentaho.di.ui.spoon.SWTGC) Point(org.pentaho.di.core.gui.Point) KettleExtensionPoint(org.pentaho.di.core.extension.KettleExtensionPoint) TransPainter(org.pentaho.di.trans.TransPainter) SwtUniversalImage(org.pentaho.di.core.SwtUniversalImage) Image(org.eclipse.swt.graphics.Image) Point(org.pentaho.di.core.gui.Point) KettleExtensionPoint(org.pentaho.di.core.extension.KettleExtensionPoint)

Example 4 with TransPainter

use of org.pentaho.di.trans.TransPainter in project pentaho-kettle by pentaho.

the class TransformationInformation method loadValues.

private TransformationInformationValues loadValues(ReportSubjectLocation location) throws KettleException {
    // Load the transformation
    // 
    TransMeta transMeta = loadTransformation(location);
    Point min = transMeta.getMinimum();
    Point area = transMeta.getMaximum();
    area.x += 100;
    area.y += 100;
    int iconsize = 32;
    ScrollBarInterface bar = new ScrollBarInterface() {

        public void setThumb(int thumb) {
        }

        public int getSelection() {
            return 0;
        }
    };
    // Paint the transformation...
    // 
    GCInterface gc = new SwingGC(null, area, iconsize, 50, 20);
    List<AreaOwner> areaOwners = new ArrayList<AreaOwner>();
    TransPainter painter = new TransPainter(gc, transMeta, area, bar, bar, null, null, null, areaOwners, new ArrayList<StepMeta>(), iconsize, 1, 0, 0, true, "FreeSans", 10);
    painter.setMagnification(0.5f);
    painter.setTranslationX(min.x);
    painter.setTranslationY(min.y);
    painter.buildTransformationImage();
    BufferedImage bufferedImage = (BufferedImage) gc.getImage();
    int newWidth = bufferedImage.getWidth() - min.x;
    int newHeigth = bufferedImage.getHeight() - min.y;
    BufferedImage image = new BufferedImage(newWidth, newHeigth, bufferedImage.getType());
    image.getGraphics().drawImage(bufferedImage, 0, 0, newWidth, newHeigth, min.x, min.y, min.x + newWidth, min.y + newHeigth, null);
    TransformationInformationValues values = new TransformationInformationValues();
    values.transMeta = transMeta;
    values.image = image;
    values.areaOwners = areaOwners;
    return values;
}
Also used : TransMeta(org.pentaho.di.trans.TransMeta) ArrayList(java.util.ArrayList) Point(org.pentaho.di.core.gui.Point) SwingGC(org.pentaho.di.core.gui.SwingGC) StepMeta(org.pentaho.di.trans.step.StepMeta) Point(org.pentaho.di.core.gui.Point) ScrollBarInterface(org.pentaho.di.core.gui.ScrollBarInterface) BufferedImage(java.awt.image.BufferedImage) GCInterface(org.pentaho.di.core.gui.GCInterface) AreaOwner(org.pentaho.di.core.gui.AreaOwner) TransPainter(org.pentaho.di.trans.TransPainter)

Aggregations

Point (org.pentaho.di.core.gui.Point)4 TransPainter (org.pentaho.di.trans.TransPainter)4 AreaOwner (org.pentaho.di.core.gui.AreaOwner)3 SwingGC (org.pentaho.di.core.gui.SwingGC)3 StepMeta (org.pentaho.di.trans.step.StepMeta)3 BufferedImage (java.awt.image.BufferedImage)2 GCInterface (org.pentaho.di.core.gui.GCInterface)2 ScrollBarInterface (org.pentaho.di.core.gui.ScrollBarInterface)2 TransMeta (org.pentaho.di.trans.TransMeta)2 Rectangle (java.awt.Rectangle)1 ArrayList (java.util.ArrayList)1 Image (org.eclipse.swt.graphics.Image)1 SwtUniversalImage (org.pentaho.di.core.SwtUniversalImage)1 KettleExtensionPoint (org.pentaho.di.core.extension.KettleExtensionPoint)1 SWTGC (org.pentaho.di.ui.spoon.SWTGC)1 SwtScrollBar (org.pentaho.di.ui.spoon.SwtScrollBar)1