Revision: 5727 http://sourceforge.net/p/jump-pilot/code/5727 Author: ma15569 Date: 2018-04-04 11:52:58 +0000 (Wed, 04 Apr 2018) Log Message: ----------- Upgraded Style framework. Execute() according to actual implementation in OpenJUMP
Modified Paths: -------------- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/JumpChartPlugIn.java Added Paths: ----------- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif Modified: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java 2018-04-03 11:36:21 UTC (rev 5726) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java 2018-04-04 11:52:58 UTC (rev 5727) @@ -22,207 +22,215 @@ package com.cadplan.jump; -import com.vividsolutions.jump.workbench.plugin.PlugInContext; +import java.awt.Color; +import java.util.HashMap; +import java.util.Map; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.LinearRing; +import com.vividsolutions.jump.feature.AttributeType; +import com.vividsolutions.jump.feature.BasicFeature; +import com.vividsolutions.jump.feature.Feature; +import com.vividsolutions.jump.feature.FeatureCollection; +import com.vividsolutions.jump.feature.FeatureDataset; +import com.vividsolutions.jump.feature.FeatureSchema; import com.vividsolutions.jump.workbench.model.Category; import com.vividsolutions.jump.workbench.model.Layer; +import com.vividsolutions.jump.workbench.plugin.PlugInContext; +import com.vividsolutions.jump.workbench.ui.renderer.style.BasicStyle; +import com.vividsolutions.jump.workbench.ui.renderer.style.ColorThemingStyle; import com.vividsolutions.jump.workbench.ui.renderer.style.LabelStyle; -import com.vividsolutions.jump.workbench.ui.renderer.style.ColorThemingStyle; -import com.vividsolutions.jump.workbench.ui.renderer.style.BasicStyle; -import com.vividsolutions.jump.workbench.ui.renderer.style.ColorScheme; -import com.vividsolutions.jump.feature.*; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.LinearRing; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.util.Assert; -import java.util.*; -import java.util.List; -import java.awt.*; -import java.text.DecimalFormat; - /** - * User: geoff - * Date: 28/04/2007 - * Time: 10:04:38 - * Copyright 2007 Geoffrey G Roy. + * User: geoff Date: 28/04/2007 Time: 10:04:38 Copyright 2007 Geoffrey G Roy. */ -public class Chart -{ +public class Chart { boolean debug = false; PlugInContext context; String categoryName = "Jump Charts"; ChartData chartData; - ChartValues [] chartValues; - ChartAttribute [] chartAttributes; + ChartValues[] chartValues; + ChartAttribute[] chartAttributes; FeatureDataset dataset; double screenScale; I18NPlug iPlug; - public Chart(PlugInContext context, I18NPlug iPlug) - { + public Chart(PlugInContext context, I18NPlug iPlug) { this.context = context; this.iPlug = iPlug; ChartParams.cancelled = false; chartData = new ChartData(context, iPlug); - if(!ChartParams.cancelled) - { - + if (!ChartParams.cancelled) { + getData(); - - for(int i=0; i < chartValues.length; i++) - { - //System.out.println("Att i="+i+ " value="+ chartValues[i].toString()); - + + for (final ChartValues chartValue : chartValues) { + // System.out.println("Att i="+i+ " value="+ + // chartValues[i].toString()); + } - + createContext(); createFeatures(); - Layer layer = context.addLayer(categoryName, "Chart", dataset); - String actualName = layer.getName(); - BasicStyle layerStyle = layer.getBasicStyle(); + final Layer layer = context + .addLayer(categoryName, "Chart", dataset); + final ColorThemingStyle colorThemingStyle = ColorThemingStyle + .get(layer); + final String actualName = layer.getName(); + final BasicStyle layerStyle = layer.getBasicStyle(); layerStyle.setAlpha(255); - - - - LabelStyle newLabelStyle =layer.getLabelStyle(); + + final LabelStyle newLabelStyle = layer.getLabelStyle(); newLabelStyle.setEnabled(true); newLabelStyle.setAttribute("Name"); newLabelStyle.setEnabled(true); // to show labels in legends - + newLabelStyle.setVerticalAlignment(LabelStyle.ON_LINE); - - //System.out.println("Vert Align:"+newLabelStyle.verticalAlignment); + + // System.out.println("Vert Align:"+newLabelStyle.verticalAlignment); layer.removeStyle(layer.getLabelStyle()); layer.addStyle(newLabelStyle); - Map<Integer,BasicStyle> themeMap = new HashMap<Integer,BasicStyle>(); ; - Map<Integer,String> labelMap = new HashMap<Integer,String>(); - - - int numElements = chartAttributes.length; + final Map<Object, BasicStyle> themeMap = new HashMap<Object, BasicStyle>(); + ; + final Map<Object, String> labelMap = new HashMap<Object, String>(); - for(int i=0; i < numElements; i++) - { - BasicStyle style = new BasicStyle(); - int alpha = 128; - Color color = new Color(Color.HSBtoRGB((float)i/(float)numElements, 1.0f,1.0f), true); + final int numElements = chartAttributes.length; + + for (int i = 0; i < numElements; i++) { + final BasicStyle style = new BasicStyle(); + final int alpha = 128; + final Color color = new Color(Color.HSBtoRGB((float) i + / (float) numElements, 1.0f, 1.0f), true); style.setFillColor(color); - //themeMap.put(i,style); - //labelMap.put(i,String.valueOf(i)); - themeMap.put(i,style); - labelMap.put(i,String.valueOf(i)); - + // themeMap.put(i,style); + // labelMap.put(i,String.valueOf(i)); + themeMap.put(i, style); + // [Giuseppe Aruta 2018-04-04] Added Attribute names to layer + // legend + labelMap.put(i, chartAttributes[i].name); + } - layer.removeStyle((ColorThemingStyle)layer.getStyle(ColorThemingStyle.class)); - BasicStyle basicStyle = new BasicStyle(); - basicStyle.setFillColor(new Color(230,230,230)); + layer.removeStyle(layer.getStyle(ColorThemingStyle.class)); + final BasicStyle basicStyle = new BasicStyle(); + basicStyle.setFillColor(new Color(230, 230, 230)); basicStyle.setLineColor(Color.BLACK); - ColorThemingStyle themingStyle = new ColorThemingStyle("Index", themeMap, labelMap, basicStyle); - themingStyle.setEnabled(true); - layer.addStyle(themingStyle); + colorThemingStyle.setAttributeName("Index"); + colorThemingStyle.setAttributeValueToBasicStyleMap(themeMap); + colorThemingStyle.setAttributeValueToLabelMap(labelMap); + // [Giuseppe Aruta 2018-04-04] Uncomment as it does not work since + // OpenJUMP 1.6 + // ColorThemingStyle themingStyle = new ColorThemingStyle("Index", + // themeMap, labelMap, basicStyle); + colorThemingStyle.setEnabled(true); + layer.addStyle(colorThemingStyle); - } } + private void createContext() { - private void createContext() - { + if (debug) { + System.out.println("Creating new catagory"); + } + final Category category = new Category(); + category.setName(categoryName); + final FeatureSchema featureSchema = new FeatureSchema(); + if (ChartParams.chartType == ChartParams.LABELS) { + // featureSchema.addAttribute("$FID", AttributeType.INTEGER); + featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY); + // featureSchema.addAttribute("Index", AttributeType.INTEGER); - if(debug) System.out.println("Creating new catagory"); - Category category = new Category(); - category.setName(categoryName); - FeatureSchema featureSchema = new FeatureSchema(); - if(ChartParams.chartType == ChartParams.LABELS) - { - //featureSchema.addAttribute("$FID", AttributeType.INTEGER); - featureSchema.addAttribute("Geometry",AttributeType.GEOMETRY); - //featureSchema.addAttribute("Index", AttributeType.INTEGER); - - featureSchema.addAttribute("Name",AttributeType.STRING); - for (int i=0; i < chartAttributes.length; i++) - { - featureSchema.addAttribute(chartAttributes[i].toString(), AttributeType.STRING); - } + featureSchema.addAttribute("Name", AttributeType.STRING); + for (final ChartAttribute chartAttribute : chartAttributes) { + featureSchema.addAttribute(chartAttribute.toString(), + AttributeType.STRING); + } + } else { + featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY); + featureSchema.addAttribute("Index", AttributeType.INTEGER); + featureSchema.addAttribute("iValue", AttributeType.INTEGER); + featureSchema.addAttribute("dValue", AttributeType.DOUBLE); + featureSchema.addAttribute("Name", AttributeType.STRING); + } - else - { - featureSchema.addAttribute("Geometry",AttributeType.GEOMETRY); - featureSchema.addAttribute("Index", AttributeType.INTEGER); - featureSchema.addAttribute("iValue", AttributeType.INTEGER); - featureSchema.addAttribute("dValue", AttributeType.DOUBLE); - featureSchema.addAttribute("Name",AttributeType.STRING); - - } - + dataset = new FeatureDataset(featureSchema); - - screenScale = 1.0/context.getLayerViewPanel().getViewport().getScale(); - if(debug) System.out.println("Screen scale= "+screenScale); + screenScale = 1.0 / context.getLayerViewPanel().getViewport() + .getScale(); + if (debug) { + System.out.println("Screen scale= " + screenScale); + } } - private void getData() - { + private void getData() { chartValues = chartData.getValues(); chartAttributes = chartData.getAttributes(); } - private void createFeatures() - { + private void createFeatures() { double maxValue = 0.0; double maxSize = 0.0; - switch (ChartParams.chartType) - { - case ChartParams.PIE_EAST: - PieChart pieChart = new PieChart(chartAttributes, chartValues, screenScale, 0.0); - pieChart.addFeatures(dataset); - maxValue = pieChart.getMaxValue(); - maxSize = pieChart.getMaxSize(); - break; - case ChartParams.PIE_NORTH: - pieChart = new PieChart(chartAttributes, chartValues, screenScale, Math.PI/2.0); - pieChart.addFeatures(dataset); - maxValue = pieChart.getMaxValue(); - maxSize = pieChart.getMaxSize(); - break; - case ChartParams.BAR: - BarChart barChart = new BarChart(chartAttributes, chartValues, screenScale); - barChart.addFeatures(dataset); - maxValue = barChart.getMaxValue(); - maxSize = barChart.getMaxSize(); - - break; - case ChartParams.COLUMN: - ColumnChart columnChart = new ColumnChart(chartAttributes, chartValues, screenScale); - columnChart.addFeatures(dataset); - maxValue = columnChart.getMaxValue(); - maxSize = columnChart.getMaxSize(); - break; - case ChartParams.LABELS: - LabelsChart labelsChart = new LabelsChart(chartAttributes, chartValues, screenScale); - labelsChart.addFeatures(dataset); - - break; - } - if(ChartParams.includeLegend && ChartParams.chartType != ChartParams.LABELS) createLegend(dataset); - if(ChartParams.showScale && !ChartParams.uniformSize) - { - double interval = ChartParams.scaleInterval(maxValue); - double scale = maxSize/maxValue; - if(debug) System.out.println("maxValue="+maxValue+" maxSize="+maxSize+" scale="+scale); - createScale(ChartParams.chartType, dataset, interval, scale); - } + switch (ChartParams.chartType) { + case ChartParams.PIE_EAST: + PieChart pieChart = new PieChart(chartAttributes, chartValues, + screenScale, 0.0); + pieChart.addFeatures(dataset); + maxValue = pieChart.getMaxValue(); + maxSize = pieChart.getMaxSize(); + break; + case ChartParams.PIE_NORTH: + pieChart = new PieChart(chartAttributes, chartValues, screenScale, + Math.PI / 2.0); + pieChart.addFeatures(dataset); + maxValue = pieChart.getMaxValue(); + maxSize = pieChart.getMaxSize(); + break; + case ChartParams.BAR: + final BarChart barChart = new BarChart(chartAttributes, + chartValues, screenScale); + barChart.addFeatures(dataset); + maxValue = barChart.getMaxValue(); + maxSize = barChart.getMaxSize(); + + break; + case ChartParams.COLUMN: + final ColumnChart columnChart = new ColumnChart(chartAttributes, + chartValues, screenScale); + columnChart.addFeatures(dataset); + maxValue = columnChart.getMaxValue(); + maxSize = columnChart.getMaxSize(); + break; + case ChartParams.LABELS: + final LabelsChart labelsChart = new LabelsChart(chartAttributes, + chartValues, screenScale); + labelsChart.addFeatures(dataset); + + break; + } + if (ChartParams.includeLegend + && ChartParams.chartType != ChartParams.LABELS) { + createLegend(dataset); + } + if (ChartParams.showScale && !ChartParams.uniformSize) { + final double interval = ChartParams.scaleInterval(maxValue); + final double scale = maxSize / maxValue; + if (debug) { + System.out.println("maxValue=" + maxValue + " maxSize=" + + maxSize + " scale=" + scale); + } + createScale(ChartParams.chartType, dataset, interval, scale); + } } - - - private void createScale(int type, FeatureCollection dataset, double interval, double scale) - { - FeatureSchema featureSchema = new FeatureSchema(); + private void createScale(int type, FeatureCollection dataset, + double interval, double scale) { + final FeatureSchema featureSchema = new FeatureSchema(); featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY); featureSchema.addAttribute("dValue", AttributeType.DOUBLE); featureSchema.addAttribute("iValue", AttributeType.INTEGER); @@ -229,178 +237,219 @@ featureSchema.addAttribute("Index", AttributeType.INTEGER); featureSchema.addAttribute("Name", AttributeType.STRING); - double x0 = context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinX(); - double y0 = context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinY(); + final double x0 = context.getLayerViewPanel().getViewport() + .getEnvelopeInModelCoordinates().getMinX(); + final double y0 = context.getLayerViewPanel().getViewport() + .getEnvelopeInModelCoordinates().getMinY(); - double w = 100*screenScale; - double h = 15*screenScale; - double s = 5*screenScale; - double x = x0 + 100*screenScale*2; - double y = y0; + final double w = 100 * screenScale; + final double h = 15 * screenScale; + final double s = 5 * screenScale; + final double x = x0 + 100 * screenScale * 2; + final double y = y0; - switch (type) - { - case ChartParams.PIE_EAST: - case ChartParams.PIE_NORTH: - double rad = 5*scale*interval; - double radMax = ChartParams.maxValue*scale; - //System.out.println("Chart: maxValue="+ChartParams.maxValue+" radMax="+radMax+" rad="+rad); - double rada = rad; - - int nsides = 32; - for(int i=4; i >= 0; i--) - { - rada = rad; - if(!ChartParams.linearScale) - { - rada = radMax*Math.sqrt(rad/radMax); - } - if(debug) System.out.println("rada="+rada); - Coordinate [] circlePoints = new Coordinate[nsides+1]; - for(int k=0; k < 32; k++) - { - double xp = x + rada*Math.cos((double)k*2.0*Math.PI/(double)nsides); - double yp = y + rada + rada*Math.sin((double)k*2.0*Math.PI/(double)nsides); + switch (type) { + case ChartParams.PIE_EAST: + case ChartParams.PIE_NORTH: + double rad = 5 * scale * interval; + final double radMax = ChartParams.maxValue * scale; + // System.out.println("Chart: maxValue="+ChartParams.maxValue+" radMax="+radMax+" rad="+rad); + double rada = rad; - circlePoints[k] = new Coordinate(xp,yp); - } - circlePoints[nsides] = circlePoints[0]; - //Geometry geometry = new GeometryFactory().createLineString(circlePoints); - LinearRing lr = new GeometryFactory().createLinearRing(circlePoints); - Geometry geometry = new GeometryFactory().createPolygon(lr, null); - if(debug) System.out.println("Geometry: "+geometry); - Feature feature = new BasicFeature(featureSchema); + final int nsides = 32; + for (int i = 4; i >= 0; i--) { + rada = rad; + if (!ChartParams.linearScale) { + rada = radMax * Math.sqrt(rad / radMax); + } + if (debug) { + System.out.println("rada=" + rada); + } + final Coordinate[] circlePoints = new Coordinate[nsides + 1]; + for (int k = 0; k < 32; k++) { + final double xp = x + rada + * Math.cos(k * 2.0 * Math.PI / nsides); + final double yp = y + rada + rada + * Math.sin(k * 2.0 * Math.PI / nsides); - if(debug) System.out.println("Geometry: "+geometry); - feature.setGeometry(geometry); - feature.setAttribute("dValue",0.0); - feature.setAttribute("iValue",0); - feature.setAttribute("Index",-1); - feature.setAttribute("Name",""); - dataset.add(feature); + circlePoints[k] = new Coordinate(xp, yp); + } + circlePoints[nsides] = circlePoints[0]; + // Geometry geometry = new + // GeometryFactory().createLineString(circlePoints); + final LinearRing lr = new GeometryFactory() + .createLinearRing(circlePoints); + final Geometry geometry = new GeometryFactory().createPolygon( + lr, null); + if (debug) { + System.out.println("Geometry: " + geometry); + } + final Feature feature = new BasicFeature(featureSchema); - Coordinate [] linePoints = new Coordinate[2]; - linePoints[0] = new Coordinate(x,y+rada*2.0); - linePoints[1] = new Coordinate(x+scale*5.2*interval, y+rada*2.0); + if (debug) { + System.out.println("Geometry: " + geometry); + } + feature.setGeometry(geometry); + feature.setAttribute("dValue", 0.0); + feature.setAttribute("iValue", 0); + feature.setAttribute("Index", -1); + feature.setAttribute("Name", ""); + dataset.add(feature); - Geometry linegeometry = new GeometryFactory().createLineString(linePoints); + final Coordinate[] linePoints = new Coordinate[2]; + linePoints[0] = new Coordinate(x, y + rada * 2.0); + linePoints[1] = new Coordinate(x + scale * 5.2 * interval, y + + rada * 2.0); + final Geometry linegeometry = new GeometryFactory() + .createLineString(linePoints); - if(debug) System.out.println("Geometry: "+geometry); - Feature linefeature = new BasicFeature(featureSchema); + if (debug) { + System.out.println("Geometry: " + geometry); + } + final Feature linefeature = new BasicFeature(featureSchema); - if(debug) System.out.println("Geometry: "+linegeometry); - linefeature.setGeometry(linegeometry); - linefeature.setAttribute("dValue",-1.0); - linefeature.setAttribute("iValue",-1); - linefeature.setAttribute("Index", -1); - linefeature.setAttribute("Name",""); - dataset.add(linefeature); + if (debug) { + System.out.println("Geometry: " + linegeometry); + } + linefeature.setGeometry(linegeometry); + linefeature.setAttribute("dValue", -1.0); + linefeature.setAttribute("iValue", -1); + linefeature.setAttribute("Index", -1); + linefeature.setAttribute("Name", ""); + dataset.add(linefeature); - //Coordinate [] pointPoints = new Coordinate[1]; - //pointPoints[0] = new Coordinate(x+scale*8.0*interval, y+rad*2.0); - //Geometry pointgeometry = new GeometryFactory().createMultiPoint(pointPoints); - - Coordinate [] pointPoints = new Coordinate[2]; - pointPoints[0] = new Coordinate(x+scale*5.2*interval,y+rada*2.0); - pointPoints[1] = new Coordinate(x+scale*8.0*interval, y+rada*2.0); - //Geometry pointgeometry = new GeometryFactory().createLineString(pointPoints); - Coordinate position = new Coordinate(x+scale*6.2*interval,y+rada*2.0); - Geometry pointgeometry = new GeometryFactory().createPoint(position); - - if(debug) System.out.println("Geometry: "+geometry); - Feature pointfeature = new BasicFeature(featureSchema); + // Coordinate [] pointPoints = new Coordinate[1]; + // pointPoints[0] = new Coordinate(x+scale*8.0*interval, + // y+rad*2.0); + // Geometry pointgeometry = new + // GeometryFactory().createMultiPoint(pointPoints); - if(debug) System.out.println("Geometry: "+pointgeometry); - pointfeature.setGeometry(pointgeometry); - pointfeature.setAttribute("dValue",-1.0); - pointfeature.setAttribute("iValue",-1); - pointfeature.setAttribute("Index", -1); - pointfeature.setAttribute("Name",format(interval*(i+1))); - dataset.add(pointfeature); + final Coordinate[] pointPoints = new Coordinate[2]; + pointPoints[0] = new Coordinate(x + scale * 5.2 * interval, y + + rada * 2.0); + pointPoints[1] = new Coordinate(x + scale * 8.0 * interval, y + + rada * 2.0); + // Geometry pointgeometry = new + // GeometryFactory().createLineString(pointPoints); + final Coordinate position = new Coordinate(x + scale * 6.2 + * interval, y + rada * 2.0); + final Geometry pointgeometry = new GeometryFactory() + .createPoint(position); - rad = rad - interval*scale; - } + if (debug) { + System.out.println("Geometry: " + geometry); + } + final Feature pointfeature = new BasicFeature(featureSchema); - break; - case ChartParams.BAR: - case ChartParams.COLUMN: - double width = 10*screenScale; - double yp = y+ 5*interval*scale; - for(int i=4; i >= 0; i--) - { - Coordinate [] points = new Coordinate[5]; - points[0] = new Coordinate(x,yp); - points[1] = new Coordinate(x+width,yp); - points[2] = new Coordinate(x+width,yp+interval*scale); - points[3] = new Coordinate(x,yp+interval*scale); - points[4] = points[0]; - //Geometry geometry = new GeometryFactory().createLineString(points); - LinearRing lr = new GeometryFactory().createLinearRing(points); - Geometry geometry = new GeometryFactory().createPolygon(lr, null); + if (debug) { + System.out.println("Geometry: " + pointgeometry); + } + pointfeature.setGeometry(pointgeometry); + pointfeature.setAttribute("dValue", -1.0); + pointfeature.setAttribute("iValue", -1); + pointfeature.setAttribute("Index", -1); + pointfeature.setAttribute("Name", format(interval * (i + 1))); + dataset.add(pointfeature); - if(debug) System.out.println("Geometry: "+geometry); - Feature feature = new BasicFeature(featureSchema); + rad = rad - interval * scale; + } - if(debug) System.out.println("Geometry: "+geometry); - feature.setGeometry(geometry); - feature.setAttribute("iValue",-1); - feature.setAttribute("dValue",-1.0); - feature.setAttribute("Name",""); - dataset.add(feature); + break; + case ChartParams.BAR: + case ChartParams.COLUMN: + final double width = 10 * screenScale; + double yp = y + 5 * interval * scale; + for (int i = 4; i >= 0; i--) { + final Coordinate[] points = new Coordinate[5]; + points[0] = new Coordinate(x, yp); + points[1] = new Coordinate(x + width, yp); + points[2] = new Coordinate(x + width, yp + interval * scale); + points[3] = new Coordinate(x, yp + interval * scale); + points[4] = points[0]; + // Geometry geometry = new + // GeometryFactory().createLineString(points); + final LinearRing lr = new GeometryFactory() + .createLinearRing(points); + final Geometry geometry = new GeometryFactory().createPolygon( + lr, null); - Coordinate [] linePoints = new Coordinate[2]; - linePoints[0] = new Coordinate(x+width,yp+interval*scale); - linePoints[1] = new Coordinate(x+2.0*width, yp+interval*scale); + if (debug) { + System.out.println("Geometry: " + geometry); + } + final Feature feature = new BasicFeature(featureSchema); - Geometry linegeometry = new GeometryFactory().createLineString(linePoints); - if(debug) System.out.println("Geometry: "+geometry); - Feature linefeature = new BasicFeature(featureSchema); + if (debug) { + System.out.println("Geometry: " + geometry); + } + feature.setGeometry(geometry); + feature.setAttribute("iValue", -1); + feature.setAttribute("dValue", -1.0); + feature.setAttribute("Name", ""); + dataset.add(feature); - if(debug) System.out.println("Geometry: "+linegeometry); - linefeature.setGeometry(linegeometry); - linefeature.setAttribute("dValue",-1.0); - linefeature.setAttribute("iValue",-1); - linefeature.setAttribute("Index",-1); - linefeature.setAttribute("Name",""); - dataset.add(linefeature); + final Coordinate[] linePoints = new Coordinate[2]; + linePoints[0] = new Coordinate(x + width, yp + interval * scale); + linePoints[1] = new Coordinate(x + 2.0 * width, yp + interval + * scale); - //Coordinate [] pointPoints = new Coordinate[1]; - //pointPoints[0] = new Coordinate(x+4*width, yp+interval*scale); - //Geometry pointgeometry = new GeometryFactory().createMultiPoint(pointPoints); - - Coordinate [] pointPoints = new Coordinate[2]; - pointPoints[0] = new Coordinate(x+2.0*width,yp+interval*scale); - pointPoints[1] = new Coordinate(x+6.0*width, yp+interval*scale); - Geometry pointgeometry = new GeometryFactory().createLineString(pointPoints); - - if(debug) System.out.println("Geometry: "+geometry); - Feature pointfeature = new BasicFeature(featureSchema); + final Geometry linegeometry = new GeometryFactory() + .createLineString(linePoints); + if (debug) { + System.out.println("Geometry: " + geometry); + } + final Feature linefeature = new BasicFeature(featureSchema); - if(debug) System.out.println("Geometry: "+pointgeometry); - pointfeature.setGeometry(pointgeometry); - pointfeature.setAttribute("dValue",-1.0); - pointfeature.setAttribute("iValue",-1); - pointfeature.setAttribute("Index",1); - pointfeature.setAttribute("Name",format(interval*(i+1))); - - - - dataset.add(pointfeature); + if (debug) { + System.out.println("Geometry: " + linegeometry); + } + linefeature.setGeometry(linegeometry); + linefeature.setAttribute("dValue", -1.0); + linefeature.setAttribute("iValue", -1); + linefeature.setAttribute("Index", -1); + linefeature.setAttribute("Name", ""); + dataset.add(linefeature); - yp = yp - interval*scale; - } + // Coordinate [] pointPoints = new Coordinate[1]; + // pointPoints[0] = new Coordinate(x+4*width, + // yp+interval*scale); + // Geometry pointgeometry = new + // GeometryFactory().createMultiPoint(pointPoints); - - break; + final Coordinate[] pointPoints = new Coordinate[2]; + pointPoints[0] = new Coordinate(x + 2.0 * width, yp + interval + * scale); + pointPoints[1] = new Coordinate(x + 6.0 * width, yp + interval + * scale); + final Geometry pointgeometry = new GeometryFactory() + .createLineString(pointPoints); + + if (debug) { + System.out.println("Geometry: " + geometry); + } + final Feature pointfeature = new BasicFeature(featureSchema); + + if (debug) { + System.out.println("Geometry: " + pointgeometry); + } + pointfeature.setGeometry(pointgeometry); + pointfeature.setAttribute("dValue", -1.0); + pointfeature.setAttribute("iValue", -1); + pointfeature.setAttribute("Index", 1); + pointfeature.setAttribute("Name", format(interval * (i + 1))); + + dataset.add(pointfeature); + + yp = yp - interval * scale; + } + + break; } - } - private void createLegend(FeatureCollection dataset) - { - FeatureSchema featureSchema = new FeatureSchema(); + private void createLegend(FeatureCollection dataset) { + final FeatureSchema featureSchema = new FeatureSchema(); featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY); featureSchema.addAttribute("dValue", AttributeType.DOUBLE); featureSchema.addAttribute("iValue", AttributeType.INTEGER); @@ -407,106 +456,105 @@ featureSchema.addAttribute("Index", AttributeType.INTEGER); featureSchema.addAttribute("Name", AttributeType.STRING); - double x0 = context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinX(); - double y0 = context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinY(); + final double x0 = context.getLayerViewPanel().getViewport() + .getEnvelopeInModelCoordinates().getMinX(); + final double y0 = context.getLayerViewPanel().getViewport() + .getEnvelopeInModelCoordinates().getMinY(); - double w = 100*screenScale; - double h = 15*screenScale; - double s = 5*screenScale; + double w = 100 * screenScale; + final double h = 15 * screenScale; + final double s = 5 * screenScale; double x = x0 + h; double y = y0 + h; - for (int i = chartAttributes.length-1; i >= 0; i--) - { - Coordinate[] pointArray = new Coordinate[5]; - pointArray[0] = new Coordinate(x,y); - pointArray[1]= new Coordinate(x+w,y); - pointArray[2] = new Coordinate(x+w,y+h); - pointArray[3] = new Coordinate(x,y+h); - pointArray[4] = new Coordinate(x,y); - for (int j=0; j < pointArray.length; j++) - { - //System.out.println("Point "+j+":"+pointArray[j]); - } + for (int i = chartAttributes.length - 1; i >= 0; i--) { + final Coordinate[] pointArray = new Coordinate[5]; + pointArray[0] = new Coordinate(x, y); + pointArray[1] = new Coordinate(x + w, y); + pointArray[2] = new Coordinate(x + w, y + h); + pointArray[3] = new Coordinate(x, y + h); + pointArray[4] = new Coordinate(x, y); + for (final Coordinate element : pointArray) { + // System.out.println("Point "+j+":"+pointArray[j]); + } - LinearRing lr = new GeometryFactory().createLinearRing(pointArray); - Geometry geometry = new GeometryFactory().createPolygon(lr, null); + final LinearRing lr = new GeometryFactory() + .createLinearRing(pointArray); + final Geometry geometry = new GeometryFactory().createPolygon(lr, + null); - Feature feature = new BasicFeature(featureSchema); + final Feature feature = new BasicFeature(featureSchema); - if(debug) System.out.println("Geometry: "+geometry); - feature.setGeometry(geometry); - feature.setAttribute("dValue", -1.0); - feature.setAttribute("iValue", -1); - feature.setAttribute("Index", i); - feature.setAttribute("Name",chartAttributes[i].name); - dataset.add(feature); - y = y + h + s; + if (debug) { + System.out.println("Geometry: " + geometry); + } + feature.setGeometry(geometry); + feature.setAttribute("dValue", -1.0); + feature.setAttribute("iValue", -1); + feature.setAttribute("Index", i); + feature.setAttribute("Name", chartAttributes[i].name); + dataset.add(feature); + y = y + h + s; } - x = x0 - 5*screenScale + h; - y = y0 - 5*screenScale + h; - w = w + 10*screenScale; + x = x0 - 5 * screenScale + h; + y = y0 - 5 * screenScale + h; + w = w + 10 * screenScale; double th = 0; - for (int i=0; i < chartAttributes.length; i++) - { + for (final ChartAttribute chartAttribute : chartAttributes) { th = th + h + s; } - th = th - s + 10*screenScale; - Coordinate[] borderArray = new Coordinate[5]; - borderArray[0] = new Coordinate(x,y); - borderArray[1]= new Coordinate(x+w,y); - borderArray[2] = new Coordinate(x+w,y+th); - borderArray[3] = new Coordinate(x,y+th); - borderArray[4] = new Coordinate(x,y); + th = th - s + 10 * screenScale; + final Coordinate[] borderArray = new Coordinate[5]; + borderArray[0] = new Coordinate(x, y); + borderArray[1] = new Coordinate(x + w, y); + borderArray[2] = new Coordinate(x + w, y + th); + borderArray[3] = new Coordinate(x, y + th); + borderArray[4] = new Coordinate(x, y); - Geometry geometry = new GeometryFactory().createLineString(borderArray); - Feature feature = new BasicFeature(featureSchema); + final Geometry geometry = new GeometryFactory() + .createLineString(borderArray); + final Feature feature = new BasicFeature(featureSchema); feature.setGeometry(geometry); - - feature.setAttribute("Name",""); - feature.setAttribute("dValue",0.0); - feature.setAttribute("iValue",0); + + feature.setAttribute("Name", ""); + feature.setAttribute("dValue", 0.0); + feature.setAttribute("iValue", 0); feature.setAttribute("Index", 0); - LabelStyle labelStyle = new LabelStyle(); - - - + final LabelStyle labelStyle = new LabelStyle(); + dataset.add(feature); - if(!ChartParams.uniformSize) - { - Coordinate[] labelArray = new Coordinate[5]; - labelArray[0] = new Coordinate(x,y+th); - labelArray[1] = new Coordinate(x+w,y+th); - labelArray[2] = new Coordinate(x+w,y+th+h); - labelArray[3] = new Coordinate(x,y+th+h); - labelArray[4] = new Coordinate(x,y+th); + if (!ChartParams.uniformSize) { + final Coordinate[] labelArray = new Coordinate[5]; + labelArray[0] = new Coordinate(x, y + th); + labelArray[1] = new Coordinate(x + w, y + th); + labelArray[2] = new Coordinate(x + w, y + th + h); + labelArray[3] = new Coordinate(x, y + th + h); + labelArray[4] = new Coordinate(x, y + th); - LinearRing lr = new GeometryFactory().createLinearRing(labelArray); - Geometry labelGeometry = new GeometryFactory().createPolygon(lr, null); + final LinearRing lr = new GeometryFactory() + .createLinearRing(labelArray); + final Geometry labelGeometry = new GeometryFactory().createPolygon( + lr, null); - //Geometry labelGeometry = new GeometryFactory().createLineString(labelArray); - //System.out.println("labelGeom: "+labelGeometry.toString()); - Feature labelFeature = new BasicFeature(featureSchema); + // Geometry labelGeometry = new + // GeometryFactory().createLineString(labelArray); + // System.out.println("labelGeom: "+labelGeometry.toString()); + final Feature labelFeature = new BasicFeature(featureSchema); labelFeature.setGeometry(labelGeometry); - labelFeature.setAttribute("Name", iPlug.get("JumpChart.Legend.ChartType")); - labelFeature.setAttribute("dValue",-1.0); - labelFeature.setAttribute("iValue",-1); + labelFeature.setAttribute("Name", + iPlug.get("JumpChart.Legend.ChartType")); + labelFeature.setAttribute("dValue", -1.0); + labelFeature.setAttribute("iValue", -1); labelFeature.setAttribute("Index", -1); dataset.add(labelFeature); } - } + private String format(double val) { + return NumberFormatter.format(val); - + } - private String format(double val) - { - return NumberFormatter.format(val); - - } - - } Modified: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/JumpChartPlugIn.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/JumpChartPlugIn.java 2018-04-03 11:36:21 UTC (rev 5726) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/JumpChartPlugIn.java 2018-04-04 11:52:58 UTC (rev 5727) @@ -22,46 +22,50 @@ package com.cadplan.jump; +import javax.swing.Icon; +import javax.swing.ImageIcon; + import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn; import com.vividsolutions.jump.workbench.plugin.PlugInContext; import com.vividsolutions.jump.workbench.ui.MenuNames; -import com.vividsolutions.jump.workbench.ui.WorkbenchToolBar; -import com.cadplan.fileio.IconLoader; -import javax.swing.*; -import java.awt.*; - /** - * User: geoff - * Date: 28/04/2007 - * Time: 09:40:22 - * Copyright 2007 Geoffrey G Roy. + * User: geoff Date: 28/04/2007 Time: 09:40:22 Copyright 2007 Geoffrey G Roy. */ -public class JumpChartPlugIn extends AbstractPlugIn -{ +public class JumpChartPlugIn extends AbstractPlugIn { private I18NPlug iPlug; - public void initialize(PlugInContext context) throws Exception - { - iPlug = new I18NPlug("JumpChart","language.JumpChartPlugin"); + @Override + public void initialize(PlugInContext context) throws Exception { + iPlug = new I18NPlug("JumpChart", "language.JumpChartPlugin"); ChartParams.setNames(iPlug); - String menuName = MenuNames.PLUGINS; //iPlug.get("JumpChart.MenuName"); - String menuItem = iPlug.get("JumpChart.MenuItem"); - context.getFeatureInstaller().addMainMenuItem(this, new String[] {menuName}, - menuItem, false, null, null); - String dirName = context.getWorkbenchContext().getWorkbench().getPlugInManager().getPlugInDirectory().getAbsolutePath(); - IconLoader loader = new IconLoader(dirName,"JumpChart"); - Image image = loader.loadImage("charticon.gif"); - WorkbenchToolBar toolBar = context.getWorkbenchFrame().getToolBar(); - + final String menuName = MenuNames.PLUGINS; // iPlug.get("JumpChart.MenuName"); + final String menuItem = iPlug.get("JumpChart.MenuItem"); + context.getFeatureInstaller().addMainMenuPlugin(this, + new String[] { menuName }, menuItem, false, getIcon(), null); + context.getWorkbenchFrame() + .getToolBar() + .addPlugIn(getIcon(), this, null, context.getWorkbenchContext()); - JButton button = toolBar.addPlugIn(new ImageIcon(image),this,null,context.getWorkbenchContext()); } - public boolean execute(PlugInContext context) throws Exception - { - Chart chart = new Chart(context, iPlug); + public Icon getIcon() { + return new ImageIcon(getClass().getResource("charticon.gif")); + } + + @Override + public String getName() { + iPlug = new I18NPlug("JumpChart", "language.JumpChartPlugin"); + return iPlug.get("JumpChart.MenuItem"); + } + + @Override + public boolean execute(PlugInContext context) throws Exception { + final Chart chart = new Chart(context, iPlug); + return true; + } + } Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif =================================================================== (Binary files differ) Index: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif 2018-04-03 11:36:21 UTC (rev 5726) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif 2018-04-04 11:52:58 UTC (rev 5727) Property changes on: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel