From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 27 五月 2020 09:59:29 +0800 Subject: [PATCH] merage --- src/main/java/com/highdatas/mdm/process/canvas/ProcessDiagramCanvas.java | 258 +++++++++++++++++++++++++------------------------- 1 files changed, 129 insertions(+), 129 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/process/canvas/ProcessDiagramCanvas.java b/src/main/java/com/highdatas/mdm/process/canvas/ProcessDiagramCanvas.java index fbde283..24e588a 100644 --- a/src/main/java/com/highdatas/mdm/process/canvas/ProcessDiagramCanvas.java +++ b/src/main/java/com/highdatas/mdm/process/canvas/ProcessDiagramCanvas.java @@ -1,129 +1,129 @@ -package com.highdatas.mdm.process.canvas; - -import org.activiti.bpmn.model.AssociationDirection; -import org.activiti.bpmn.model.GraphicInfo; -import org.activiti.image.impl.DefaultProcessDiagramCanvas; - -import java.awt.*; -import java.awt.geom.Line2D.Double; -import java.awt.geom.RoundRectangle2D; - - -public class ProcessDiagramCanvas extends DefaultProcessDiagramCanvas { - - protected static Color HIGHLIGHT_COLOR = new Color(62,173,252); - private static Color RUNNING_COLOR = Color.RED; - private static Color HISTORY_COLOR = Color.GREEN; - protected static int ICON_PADDING = 3; - private String annotationFontName; - - public ProcessDiagramCanvas(int width, int height, int minX, int minY, - String imageType) { - - super(width, height, minX, minY, imageType); - this.activityFontName = "瀹嬩綋"; - this.labelFontName = "瀹嬩綋"; - this.annotationFontName = "瀹嬩綋"; - initialize(imageType); - } - @Override - public void drawHighLight(int x, int y, int width, int height) { - Paint originalPaint = g.getPaint(); - Stroke originalStroke = g.getStroke(); - g.setPaint(HIGHLIGHT_COLOR); - g.setStroke(THICK_TASK_BORDER_STROKE); - RoundRectangle2D rect = new RoundRectangle2D.Double(x, y, width, height, 20, 20); - g.draw(rect); - g.setPaint(originalPaint); - g.setStroke(originalStroke); - } - - @Override - public void drawConnection(int[] xPoints, int[] yPoints, boolean conditional, boolean isDefault, String connectionType, AssociationDirection associationDirection, boolean highLighted, double scaleFactor) - { - Paint originalPaint = this.g.getPaint(); - Stroke originalStroke = this.g.getStroke(); - - this.g.setPaint(CONNECTION_COLOR); - if (connectionType.equals("association")) { - this.g.setStroke(ASSOCIATION_STROKE); - } else if (highLighted) { - this.g.setPaint(HIGHLIGHT_COLOR); - this.g.setStroke(HIGHLIGHT_FLOW_STROKE); - } - - for (int i = 1; i < xPoints.length; ++i) { - Integer sourceX = Integer.valueOf(xPoints[(i - 1)]); - Integer sourceY = Integer.valueOf(yPoints[(i - 1)]); - Integer targetX = Integer.valueOf(xPoints[i]); - Integer targetY = Integer.valueOf(yPoints[i]); - // e.g.(0,0) ---> (10,20) (0,20) (10,20) - Double line1 = new Double(sourceX.intValue(), sourceY.intValue(), sourceX.intValue(), targetY.intValue()); - Double line2 = new Double(sourceX.intValue(), targetY.intValue(), targetX.intValue(), targetY.intValue()); - //Line2D.Double line = new Line2D.Double(sourceX.intValue(), sourceY.intValue(), targetX.intValue(), targetY.intValue()); - this.g.draw(line1); - this.g.draw(line2); - } - Double line; - if (isDefault) { - line = new Double(xPoints[0], yPoints[0], xPoints[1], yPoints[1]); - drawDefaultSequenceFlowIndicator(line, scaleFactor); - } - - if (conditional) { - line = new Double(xPoints[0], yPoints[0], xPoints[1], yPoints[1]); - drawConditionalSequenceFlowIndicator(line, scaleFactor); - } - - if ((associationDirection.equals(AssociationDirection.ONE)) || (associationDirection.equals(AssociationDirection.BOTH))) { - line = new Double(xPoints[(xPoints.length - 2)], yPoints[(xPoints.length - 2)], xPoints[(xPoints.length - 1)], yPoints[(xPoints.length - 1)]); - drawArrowHead(line, scaleFactor); - } - if (associationDirection.equals(AssociationDirection.BOTH)) { - line = new Double(xPoints[1], yPoints[1], xPoints[0], yPoints[0]); - drawArrowHead(line, scaleFactor); - } - this.g.setPaint(originalPaint); - this.g.setStroke(originalStroke); - } - - @Override - protected void drawTask(String name, GraphicInfo graphicInfo, boolean thickBorder){ - Paint originalPaint = this.g.getPaint(); - int x = (int)graphicInfo.getX(); - int y = (int)graphicInfo.getY(); - int width = (int)graphicInfo.getWidth(); - int height = (int)graphicInfo.getHeight(); - - this.g.setPaint(TASK_BOX_COLOR); - - int arcR = 6; - if (thickBorder) { - arcR = 3; - } - - RoundRectangle2D rect = new RoundRectangle2D.Double(x, y, width, height, 10, 10); - this.g.fill(rect); - this.g.setPaint(TASK_BORDER_COLOR); - - if (thickBorder) { - Stroke originalStroke = this.g.getStroke(); - this.g.setStroke(THICK_TASK_BORDER_STROKE); - this.g.draw(rect); - this.g.setStroke(originalStroke); - } else { - this.g.draw(rect); - } - - this.g.setPaint(originalPaint); - - if ((name != null) && (name.length() > 0)) { - int boxWidth = width - 6; - int boxHeight = height - 16 - ICON_PADDING - ICON_PADDING - 12 - 2 - 2; - int boxX = x + width / 2 - (boxWidth / 2); - int boxY = y + height / 2 - (boxHeight / 2) + ICON_PADDING + ICON_PADDING - 2 - 2; - - drawMultilineCentredText(name, boxX, boxY, boxWidth, boxHeight); - } - } -} +package com.highdatas.mdm.process.canvas; + +import org.activiti.bpmn.model.AssociationDirection; +import org.activiti.bpmn.model.GraphicInfo; +import org.activiti.image.impl.DefaultProcessDiagramCanvas; + +import java.awt.*; +import java.awt.geom.Line2D.Double; +import java.awt.geom.RoundRectangle2D; + + +public class ProcessDiagramCanvas extends DefaultProcessDiagramCanvas { + + protected static Color HIGHLIGHT_COLOR = new Color(62,173,252); + private static Color RUNNING_COLOR = Color.RED; + private static Color HISTORY_COLOR = Color.GREEN; + protected static int ICON_PADDING = 3; + private String annotationFontName; + + public ProcessDiagramCanvas(int width, int height, int minX, int minY, + String imageType) { + + super(width, height, minX, minY, imageType); + this.activityFontName = "瀹嬩綋"; + this.labelFontName = "瀹嬩綋"; + this.annotationFontName = "瀹嬩綋"; + initialize(imageType); + } + @Override + public void drawHighLight(int x, int y, int width, int height) { + Paint originalPaint = g.getPaint(); + Stroke originalStroke = g.getStroke(); + g.setPaint(HIGHLIGHT_COLOR); + g.setStroke(THICK_TASK_BORDER_STROKE); + RoundRectangle2D rect = new RoundRectangle2D.Double(x, y, width, height, 20, 20); + g.draw(rect); + g.setPaint(originalPaint); + g.setStroke(originalStroke); + } + + @Override + public void drawConnection(int[] xPoints, int[] yPoints, boolean conditional, boolean isDefault, String connectionType, AssociationDirection associationDirection, boolean highLighted, double scaleFactor) + { + Paint originalPaint = this.g.getPaint(); + Stroke originalStroke = this.g.getStroke(); + + this.g.setPaint(CONNECTION_COLOR); + if (connectionType.equals("association")) { + this.g.setStroke(ASSOCIATION_STROKE); + } else if (highLighted) { + this.g.setPaint(HIGHLIGHT_COLOR); + this.g.setStroke(HIGHLIGHT_FLOW_STROKE); + } + + for (int i = 1; i < xPoints.length; ++i) { + Integer sourceX = Integer.valueOf(xPoints[(i - 1)]); + Integer sourceY = Integer.valueOf(yPoints[(i - 1)]); + Integer targetX = Integer.valueOf(xPoints[i]); + Integer targetY = Integer.valueOf(yPoints[i]); + // e.g.(0,0) ---> (10,20) (0,20) (10,20) + Double line1 = new Double(sourceX.intValue(), sourceY.intValue(), sourceX.intValue(), targetY.intValue()); + Double line2 = new Double(sourceX.intValue(), targetY.intValue(), targetX.intValue(), targetY.intValue()); + //Line2D.Double line = new Line2D.Double(sourceX.intValue(), sourceY.intValue(), targetX.intValue(), targetY.intValue()); + this.g.draw(line1); + this.g.draw(line2); + } + Double line; + if (isDefault) { + line = new Double(xPoints[0], yPoints[0], xPoints[1], yPoints[1]); + drawDefaultSequenceFlowIndicator(line, scaleFactor); + } + + if (conditional) { + line = new Double(xPoints[0], yPoints[0], xPoints[1], yPoints[1]); + drawConditionalSequenceFlowIndicator(line, scaleFactor); + } + + if ((associationDirection.equals(AssociationDirection.ONE)) || (associationDirection.equals(AssociationDirection.BOTH))) { + line = new Double(xPoints[(xPoints.length - 2)], yPoints[(xPoints.length - 2)], xPoints[(xPoints.length - 1)], yPoints[(xPoints.length - 1)]); + drawArrowHead(line, scaleFactor); + } + if (associationDirection.equals(AssociationDirection.BOTH)) { + line = new Double(xPoints[1], yPoints[1], xPoints[0], yPoints[0]); + drawArrowHead(line, scaleFactor); + } + this.g.setPaint(originalPaint); + this.g.setStroke(originalStroke); + } + + @Override + protected void drawTask(String name, GraphicInfo graphicInfo, boolean thickBorder){ + Paint originalPaint = this.g.getPaint(); + int x = (int)graphicInfo.getX(); + int y = (int)graphicInfo.getY(); + int width = (int)graphicInfo.getWidth(); + int height = (int)graphicInfo.getHeight(); + + this.g.setPaint(TASK_BOX_COLOR); + + int arcR = 6; + if (thickBorder) { + arcR = 3; + } + + RoundRectangle2D rect = new RoundRectangle2D.Double(x, y, width, height, 10, 10); + this.g.fill(rect); + this.g.setPaint(TASK_BORDER_COLOR); + + if (thickBorder) { + Stroke originalStroke = this.g.getStroke(); + this.g.setStroke(THICK_TASK_BORDER_STROKE); + this.g.draw(rect); + this.g.setStroke(originalStroke); + } else { + this.g.draw(rect); + } + + this.g.setPaint(originalPaint); + + if ((name != null) && (name.length() > 0)) { + int boxWidth = width - 6; + int boxHeight = height - 16 - ICON_PADDING - ICON_PADDING - 12 - 2 - 2; + int boxX = x + width / 2 - (boxWidth / 2); + int boxY = y + height / 2 - (boxHeight / 2) + ICON_PADDING + ICON_PADDING - 2 - 2; + + drawMultilineCentredText(name, boxX, boxY, boxWidth, boxHeight); + } + } +} -- Gitblit v1.8.0