Revision: 5576 http://sourceforge.net/p/jump-pilot/code/5576 Author: ma15569 Date: 2017-11-22 19:16:22 +0000 (Wed, 22 Nov 2017) Log Message: ----------- Added plugin resources from CadPlan (http://www.cadplan.com.au/)
Added Paths: ----------- plug-ins/CadPlan_JumpChart/ plug-ins/CadPlan_JumpChart/dist/ plug-ins/CadPlan_JumpChart/dist/JumpChart.jar plug-ins/CadPlan_JumpChart/doc/ plug-ins/CadPlan_JumpChart/doc/JumpChartUserGuide.pdf plug-ins/CadPlan_JumpChart/trunk/ plug-ins/CadPlan_JumpChart/trunk/Resources/ plug-ins/CadPlan_JumpChart/trunk/Resources/charticon.gif plug-ins/CadPlan_JumpChart/trunk/language/ plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin.properties plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_de.properties plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_en.properties plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_fr.properties plug-ins/CadPlan_JumpChart/trunk/src/ plug-ins/CadPlan_JumpChart/trunk/src/com/ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/designer/ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/designer/GridBagDesigner.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/FileChooser.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/IconLoader.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/TextFile.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/AttributeOrder.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/BarChart.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartAttribute.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartData.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartDialog.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartParams.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartValues.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ColumnChart.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/I18NPlug.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/IText.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/JumpChartExtension.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/JumpChartPlugIn.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/LabelsChart.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/NumberFormatter.java plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/PieChart.java plug-ins/CadPlan_JumpFillPattern/ plug-ins/CadPlan_JumpFillPattern/dist/ plug-ins/CadPlan_JumpFillPattern/dist/JumpFillPattern.jar plug-ins/CadPlan_JumpFillPattern/doc/ plug-ins/CadPlan_JumpFillPattern/doc/JumpFillPatternUserGuide.pdf plug-ins/CadPlan_JumpFillPattern/trunk/ plug-ins/CadPlan_JumpFillPattern/trunk/src/ plug-ins/CadPlan_JumpFillPattern/trunk/src/com/ plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/ plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/fileio/ plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/fileio/FileChooser.java plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/fileio/IconLoader.java plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/fileio/TextFile.java plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/jump/ plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/jump/FillPatternExtension.java plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/jump/FillPatternParams.java plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/jump/FillPatternPlugIn.java plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/jump/LoadFillPatterns.java plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/jump/MyImageFillPattern.java plug-ins/CadPlan_JumpFillPattern/trunk/src/com/cadplan/jump/SVGRasterizer.java plug-ins/CadPlan_JumpPrinter/ plug-ins/CadPlan_JumpPrinter/dist/ plug-ins/CadPlan_JumpPrinter/dist/JumpPrinter.jar plug-ins/CadPlan_JumpPrinter/dist/iText-2.0.7.jar plug-ins/CadPlan_JumpPrinter/doc/ plug-ins/CadPlan_JumpPrinter/doc/OpenJUMP_Printer_Guide.pdf plug-ins/CadPlan_JumpPrinter/trunk/ plug-ins/CadPlan_JumpPrinter/trunk/Resources/ plug-ins/CadPlan_JumpPrinter/trunk/Resources/jprinter.gif plug-ins/CadPlan_JumpPrinter/trunk/Resources/printer.png plug-ins/CadPlan_JumpPrinter/trunk/language/ plug-ins/CadPlan_JumpPrinter/trunk/language/JumpPrinterPlugin.properties plug-ins/CadPlan_JumpPrinter/trunk/language/JumpPrinterPlugin_de.properties plug-ins/CadPlan_JumpPrinter/trunk/language/JumpPrinterPlugin_en.properties plug-ins/CadPlan_JumpPrinter/trunk/language/JumpPrinterPlugin_es.properties plug-ins/CadPlan_JumpPrinter/trunk/language/JumpPrinterPlugin_fi.properties plug-ins/CadPlan_JumpPrinter/trunk/language/JumpPrinterPlugin_fr.properties plug-ins/CadPlan_JumpPrinter/trunk/language/JumpPrinterPlugin_it.properties plug-ins/CadPlan_JumpPrinter/trunk/src/ plug-ins/CadPlan_JumpPrinter/trunk/src/com/ plug-ins/CadPlan_JumpPrinter/trunk/src/com/ashs/ plug-ins/CadPlan_JumpPrinter/trunk/src/com/ashs/jump/ plug-ins/CadPlan_JumpPrinter/trunk/src/com/ashs/jump/plugin/ plug-ins/CadPlan_JumpPrinter/trunk/src/com/ashs/jump/plugin/LayerPrinter2.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/ plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/designer/ plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/designer/GridBagDesigner.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/fileioA/ plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/fileioA/FileChooser.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/fileioA/IconLoader.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/fileioA/TextFile.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/ plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/ActivatedHyperlinkListener.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/ColorButton.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/ColorButtonB.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/Furniture.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureBorder.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureBorderPanel.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureDialog.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureImage.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureImagePanel.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureLegend.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureLegendPanel.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureNorth.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureNorthPanel.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureNote.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureNotePanel.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureScale.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureScalePanel.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureTitle.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/FurnitureTitlePanel.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/HelpDialog.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/I18NPlug.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/I18NPlugOLD.javaOLD plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/IText.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/ImageLoader.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/ImageSelectorDialog.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/LayerLegend.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/LayerLegendPanel.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/LegendElement.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/MapImagePrinter.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/NorthPanel.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/OnLineHelp.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/PrinterExtension.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/PrinterPanel.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/PrinterPlugIn.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/PrinterPreview.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/PrinterSetup.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/RendererData.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/SkyPrinterDriver.java plug-ins/CadPlan_JumpPrinter/trunk/src/com/cadplan/jump/XMLconverter.java plug-ins/CadPlan_UpdateProject/ plug-ins/CadPlan_UpdateProject/dist/ plug-ins/CadPlan_UpdateProject/dist/UpdateProject.jar plug-ins/CadPlan_UpdateProject/trunk/ plug-ins/CadPlan_UpdateProject/trunk/src/ plug-ins/CadPlan_UpdateProject/trunk/src/com/ plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/ plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/designer/ plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/designer/GridBagDesigner.java plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/fileio/ plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/fileio/FileChooser.java plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/fileio/IconLoader.java plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/fileio/TextFile.java plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/jump/ plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/jump/LayerInfo.java plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/jump/UpdateExtension.java plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/jump/UpdatePlugIn.java plug-ins/CadPlan_UpdateProject/trunk/src/com/cadplan/jump/UpdateProject.java plug-ins/CadPlan_VertexSymbols/ plug-ins/CadPlan_VertexSymbols/dist/ plug-ins/CadPlan_VertexSymbols/dist/VertexSymbols.jar plug-ins/CadPlan_VertexSymbols/doc/ plug-ins/CadPlan_VertexSymbols/doc/VertexSymbolUserGuide.pdf plug-ins/CadPlan_VertexSymbols/trunk/ plug-ins/CadPlan_VertexSymbols/trunk/Resources/ plug-ins/CadPlan_VertexSymbols/trunk/Resources/noteicon.gif plug-ins/CadPlan_VertexSymbols/trunk/Resources/vsicon.gif plug-ins/CadPlan_VertexSymbols/trunk/language/ plug-ins/CadPlan_VertexSymbols/trunk/language/VertexSymbolsPlugin.properties plug-ins/CadPlan_VertexSymbols/trunk/language/VertexSymbolsPlugin_de.properties plug-ins/CadPlan_VertexSymbols/trunk/language/VertexSymbolsPlugin_en.properties plug-ins/CadPlan_VertexSymbols/trunk/language/VertexSymbolsPlugin_fi.properties plug-ins/CadPlan_VertexSymbols/trunk/language/VertexSymbolsPlugin_fr.properties plug-ins/CadPlan_VertexSymbols/trunk/language/VertexSymbolsPlugin_it.properties plug-ins/CadPlan_VertexSymbols/trunk/src/ plug-ins/CadPlan_VertexSymbols/trunk/src/com/ plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/ plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/designer/ plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/designer/GridBagDesigner.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/fileio/ plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/fileio/FileChooser.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/fileio/IconLoader.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/fileio/TextFile.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/ plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/AnyShapeVertexStyle.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/AnyShapeVertexStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/ExternalSymbolsImplType.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/ExternalSymbolsImplType.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/ExternalSymbolsRenderer.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/ExternalSymbolsType.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/HTMLTextComponent.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/HTMLTextSegment.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/I18NPlug.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/ImagePanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/ImageVertexPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/ImageVertexStyle.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/ImageVertexStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/LabelCallout.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/LoadImages.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/PolygonVertexStyle.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/PolygonVertexStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/SVGRasterizer.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/StarVertexStyle.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/StarVertexStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/SymbolPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/TextLabelPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/TransparencyFilter.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VectorPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VertexColorButton.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VertexDialog.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VertexNote.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VertexNoteExtension.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VertexNotePlugin.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VertexPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VertexParams.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VertexSymbols.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VertexSymbolsExtension.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/VertexSymbolsPlugIn.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/WKTPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/WKTVertexPanel.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/WKTVertexStyle.java plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/WKTVertexStyle.java2xml plug-ins/CadPlan_VertexSymbols/trunk/src/com/cadplan/jump/WKTshape.java Added: plug-ins/CadPlan_JumpChart/dist/JumpChart.jar =================================================================== (Binary files differ) Index: plug-ins/CadPlan_JumpChart/dist/JumpChart.jar =================================================================== --- plug-ins/CadPlan_JumpChart/dist/JumpChart.jar 2017-11-19 16:59:59 UTC (rev 5575) +++ plug-ins/CadPlan_JumpChart/dist/JumpChart.jar 2017-11-22 19:16:22 UTC (rev 5576) Property changes on: plug-ins/CadPlan_JumpChart/dist/JumpChart.jar ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/doc/JumpChartUserGuide.pdf =================================================================== (Binary files differ) Index: plug-ins/CadPlan_JumpChart/doc/JumpChartUserGuide.pdf =================================================================== --- plug-ins/CadPlan_JumpChart/doc/JumpChartUserGuide.pdf 2017-11-19 16:59:59 UTC (rev 5575) +++ plug-ins/CadPlan_JumpChart/doc/JumpChartUserGuide.pdf 2017-11-22 19:16:22 UTC (rev 5576) Property changes on: plug-ins/CadPlan_JumpChart/doc/JumpChartUserGuide.pdf ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/Resources/charticon.gif =================================================================== (Binary files differ) Index: plug-ins/CadPlan_JumpChart/trunk/Resources/charticon.gif =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/Resources/charticon.gif 2017-11-19 16:59:59 UTC (rev 5575) +++ plug-ins/CadPlan_JumpChart/trunk/Resources/charticon.gif 2017-11-22 19:16:22 UTC (rev 5576) Property changes on: plug-ins/CadPlan_JumpChart/trunk/Resources/charticon.gif ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin.properties =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin.properties (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin.properties 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,45 @@ +# Properties file for the JumpChart Plugins - default language if none specified +JumpChart.MenuName=Extension +JumpChart.MenuItem=Jump Chart +JumpChart.Dialog.SelectedLayer=Selected Layer +JumpChart.Dialog.Attributes=Attributes +JumpChart.Dialog.ChartType=Chart Type +JumpChart.Dialog.Size=Size +JumpChart.Dialog.Scale=Scale +JumpChart.Dialog.Width=Bar Width +JumpChart.Dialog.Uniform=Uniform +JumpChart.Dialog.Variable=Variable +JumpChart.Dialog.Auto=Auto +JumpChart.Dialog.Fixed=Fixed +JumpChart.Dialog.Cancel=Cancel +JumpChart.Dialog.About=About +JumpChart.Dialog.Accept=Accept +JumpChart.Dialog.Pie=Pie +JumpChart.Dialog.PieEast=Pie-East +JumpChart.Dialog.PieNorth=Pie-North +JumpChart.Dialog.Bar=Bar +JumpChart.Dialog.Column=Column +JumpChart.Dialog.Labels=Labels +JumpChart.Dialog.Clockwise=Clockwise +JumpChart.Dialog.Legend=Legend +JumpChart.Dialog.SelectAll= Select All +JumpChart.Dialog.ClearAll=Clear All +JumpChart.Dialog.Order=Order +JumpChart.Dialog.ShowScale=Layer Scale +JumpChart.Dialog.LocalScale=Local Scale +JumpChart.Dialog.ShowLabels=Show Labels +JumpChart.Dialog.Linear=Linear +JumpChart.Dialog.UnderLabels=Show Under Labels +JumpChart.Order.Order=Order Attributes +JumpChart.Order.MoveUp=Move Up +JumpChart.Order.MoveDown=Move Down +JumpChart.Order.Accept=Accept +JumpChart.Order.Cancel=Cancel +JumpChart.message1=You must have a layer selected +JumpChart.message2=Error in scale or width value fields +JumpChart.message3=You must choose at least one attribute +JumpChart.message4=Offset values must be integers +JumpChart.message5=Select attribute for 'Name' +JumpChart.message6=Attribute 'Name' not found +JumpChart.Legend.ChartType=Variable Chart +JumpChart.Dialog.Offsets=Origin offsets Property changes on: plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin.properties ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_de.properties =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_de.properties (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_de.properties 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,45 @@ +# Properties file for the JumpChart Plugins - default language if none specified +JumpChart.MenuName=Extension +JumpChart.MenuItem=Jump Diagramme +JumpChart.Dialog.SelectedLayer=Ebene W\u00E4hlen +JumpChart.Dialog.Attributes=Attribute +JumpChart.Dialog.ChartType=Diagramm-Typ +JumpChart.Dialog.Size=Gr\u00F6sse +JumpChart.Dialog.Scale=Massstab +JumpChart.Dialog.Width=Stab-Breite +JumpChart.Dialog.Uniform=einheitlich +JumpChart.Dialog.Variable=ver\u00E4nderlich +JumpChart.Dialog.Auto=automatisch +JumpChart.Dialog.Fixed=fest +JumpChart.Dialog.Cancel=Abbruch +JumpChart.Dialog.About=\u00DCber.. +JumpChart.Dialog.Accept=\u00DCbernehmen +JumpChart.Dialog.Pie=Tortendiagramm +JumpChart.Dialog.PieEast=Tortendiagramm-Ost +JumpChart.Dialog.PieNorth=Tortendiagramm-Nord +JumpChart.Dialog.Bar=Stabdiagramm +JumpChart.Dialog.Column=S\u00E4ulendiagramm +umpChart.Dialog.Labels=Aufkleber +JumpChart.Dialog.Clockwise=Rechts herum +JumpChart.Dialog.Legend=Legende +JumpChart.Dialog.SelectAll=Alles w\u00E4hlen +JumpChart.Dialog.ClearAll=Alles l\u00F6schen +JumpChart.Dialog.Order=Reihenfolge +JumPChart.Dialog.ShowScale=Schicht-Skala +JumpChart.Dialog.LocalScale=Lokale Skala +JumpChart.Dialog.ShowLabels=Zeigen Sie Aufkleber +JumpChart.Dialog.Linear=Lineare +JumpChart.Order.Order=Reihenfolge f\u00FCr Attribute +JumpChart.Order.MoveUp=Nach oben bewegen +JumpChart.Order.MoveDown=Nach unten bewegen +JumpChart.Order.Accept=\u00DCbernehmen +JumpChart.Order.Cancel=Abbruch +JumpChart.Dialog.UnderLabels=Anzeigen unter Etiketten +JumpChart.message1=Eine Ebene muss ausgew\u00E4hlt sein. +JumpChart.message2=Fehler im Massstabs oder Breiten-eingabe +JumpChart.message3=Es muss mindestens ein Attribut ausgew\u00E4hlt werden +JumpChart.message4=Offsetwerte m\xFCssen ganze Zahlen sein +JumpChart.message5=W\xE4hlen Sie Attribut f\xFCr 'Name' +JumpChart.message6=Attribut 'Name' nicht gefunden +JumpChart.Legend.ChartType=Ver\u00E4nderlich Diagramm +umpChart.Dialog.Offsets=Ursprungsversatz \ No newline at end of file Property changes on: plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_de.properties ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_en.properties =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_en.properties (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_en.properties 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,45 @@ +# Properties file for the JumpChart Plugins - default language if none specified +JumpChart.MenuName=Extension +JumpChart.MenuItem=Jump Chart +JumpChart.Dialog.SelectedLayer=Selected Layer +JumpChart.Dialog.Attributes=Attributes +JumpChart.Dialog.ChartType=Chart Type +JumpChart.Dialog.Size=Size +JumpChart.Dialog.Scale=Scale +JumpChart.Dialog.Width=Bar Width +JumpChart.Dialog.Uniform=Uniform +JumpChart.Dialog.Variable=Variable +JumpChart.Dialog.Auto=Auto +JumpChart.Dialog.Fixed=Fixed +JumpChart.Dialog.Cancel=Cancel +JumpChart.Dialog.About=About +JumpChart.Dialog.Accept=Accept +JumpChart.Dialog.Pie=Pie +JumpChart.Dialog.PieEast=Pie-East +JumpChart.Dialog.PieNorth=Pie-North +JumpChart.Dialog.Bar=Bar +JumpChart.Dialog.Column=Column +umpChart.Dialog.Labels=Labels +JumpChart.Dialog.Clockwise=Clockwise +JumpChart.Dialog.Legend=Legend +JumpChart.Dialog.SelectAll= Select All +JumpChart.Dialog.ClearAll=Clear All +JumpChart.Dialog.Order=Order +JumPChart.Dialog.ShowScale=Layer Scale +JumpChart.Dialog.LocalScale=Local Scale +JumpChart.Dialog.ShowLabels=Show Labels +JumpChart.Dialog.Linear=Linear +JumpChart.Dialog.UnderLabels=Show Under Labels +JumpChart.Order.Order=Order Attributes +JumpChart.Order.MoveUp=Move Up +JumpChart.Order.MoveDown=Move Down +JumpChart.Order.Accept=Accept +JumpChart.Order.Cancel=Cancel +JumpChart.message1=You must have a layer selected +JumpChart.message2=Error in scale or width value fields +JumpChart.message3=You must choose at least one attribute +JumpChart.message4=Offset values must be integers +JumpChart.message5=Select attribute for 'Name' +JumpChart.message6=Attribute 'Name' not found +JumpChart.Legend.ChartType=Variable Chart +umpChart.Dialog.Offsets=Origin offsets Property changes on: plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_en.properties ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_fr.properties =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_fr.properties (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_fr.properties 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,44 @@ +# Properties file for the JumpChart Plugins - default language if none specified +JumpChart.MenuName=Extensions +JumpChart.MenuItem=Diagrammes +JumpChart.Dialog.SelectedLayer=Couche s\u00E9lectionn\u00E9e +JumpChart.Dialog.Attributes=Attributs +JumpChart.Dialog.ChartType=Type de graphique +JumpChart.Dialog.Size=Taille +JumpChart.Dialog.Scale=Echelle +JumpChart.Dialog.Width=Largeur des barres +JumpChart.Dialog.Uniform=Uniforme +JumpChart.Dialog.Variable=Variable +JumpChart.Dialog.Auto=Automatique +JumpChart.Dialog.Fixed=Fixe +JumpChart.Dialog.Cancel=Annuler +JumpChart.Dialog.About=A propos +JumpChart.Dialog.Accept=Valider +JumpChart.Dialog.Pie=Camembert +JumpChart.Dialog.PieEast=Camembert (Est) +JumpChart.Dialog.PieNorth=Camembert (Nord) +JumpChart.Dialog.Bar=Barres +JumpChart.Dialog.Column=Colonnes +JumpChart.Dialog.Labels=Etiquettes +JumpChart.Dialog.Clockwise=Sens horaire +JumpChart.Dialog.Legend=L\xE9gende +JumpChart.Dialog.SelectAll=Tout s\u00E9lectionner +JumpChart.Dialog.ClearAll=Tout d\u00E9s\u00E9lectionner +JumpChart.Dialog.Order=Ordre +JumpChart.Dialog.ShowScale=Afficher l'\u00E9chelle +JumpChart.Dialog.LocalScale=Echelle locale +JumpChart.Dialog.ShowLabels=Afficher les \u00E9tiquettes +JumpChart.Order.Order=Ordre des attributs +JumpChart.Order.MoveUp=Monter +JumpChart.Order.MoveDown=Descendre +JumpChart.Order.Accept=Valider +JumpChart.Order.Cancel=Annuler +JumpChart.Dialog.UnderLabels=Montrer sous \xE9tiquettes +JumpChart.message1=Vous devez s\u00E9lectionner une couche +JumpChart.message2=Erreur dans le champ \u00E9chelle ou largeur +JumpChart.message3=Vous devez choisir au moins un attribut +JumpChart.message4=Les valeurs de d\u00E9calages doivent \u00EAtre des entiers +JumpChart.message5=S\u00E9lectionner un attribut pour 'Name' +JumpChart.message6=Attribut 'Name' non trouv\u00E9 +JumpChart.Legend.ChartType=Taille variable +JumpChart.Dialog.Offsets=D\u00E9calage par rapport \xE0 l'origine Property changes on: plug-ins/CadPlan_JumpChart/trunk/language/JumpChartPlugin_fr.properties ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/designer/GridBagDesigner.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/designer/GridBagDesigner.java (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/designer/GridBagDesigner.java 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,223 @@ +/* + * The Unified Mapping Platform (JUMP) is an extensible, interactive GUI + * for visualizing and manipulating spatial features with geometry and attributes. + * + * Copyright (C) 2006 Cadplan + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ +package com.cadplan.designer; +//=================================================== +// GridBagDesigner +//=================================================== + + + + +import java.awt.*; +import javax.swing.*; + +/** + * @author Geoffrey G. Roy + * @version 1.0 + */ + + +public class GridBagDesigner +{ + + + + +private GridBagLayout layout; +private GridBagConstraints constraints; +private Container container; + + + + /** + * Constructor for GridBagDesgner + * + * @param container + */ +public GridBagDesigner(Container container) +{ + layout = new GridBagLayout(); + constraints = new GridBagConstraints(); + container.setLayout(layout); + this.container = container; + setDefaults(); +} + + + + /** + * Adds a component using currrent settings + * + * @param component + */ + +public void addComponent(Component component) +{ + layout.setConstraints(component, constraints); + container.add(component); + setDefaults(); +} + public void addComponentRetain(Component component) +{ + layout.setConstraints(component, constraints); + container.add(component); +} + + /** + * Adds a JComponent using current settings and fixes + * size to xSize * ySize + * + * @param component + * @param xSize + * @param ySize + */ +public void addComponent(JComponent component, int xSize, int ySize) +{ + Dimension size = new Dimension(xSize, ySize); + component.setMinimumSize(size); + component.setMaximumSize(size); + component.setPreferredSize(size); + layout.setConstraints(component, constraints); + container.add(component); + setDefaults(); +} + +public void addComponentRetain(JComponent component, int xSize, int ySize) +{ + Dimension size = new Dimension(xSize, ySize); + component.setMinimumSize(size); + component.setMaximumSize(size); + component.setPreferredSize(size); + layout.setConstraints(component, constraints); + container.add(component); +} + +public void resetLayout() +{ + setDefaults(); +} + + + /** + * Sets gid position + * Default is (0,0); + * + * @param gridx + * @param gridy + */ +public void setPosition(int gridx, int gridy) +{ + constraints.gridx = gridx; + constraints.gridy = gridy; +} + + + /** + * Sets grid span + * Defaults are (1,1) + * + * @param gridwidth + * @param gridheight + */ +public void setSpan(int gridwidth, int gridheight) +{ + constraints.gridwidth = gridwidth; + constraints.gridheight = gridheight; +} + + + /** + * Sets cell weights + * Defaults are (0.0,0.0) + * + * @param weightx + * @param weighty + */ +public void setWeight(double weightx, double weighty) +{ + constraints.weightx = weightx; + constraints.weighty = weighty; +} + + + /** + * Sets cell fill type as one of: + * GridBagConstraints.{NONE, VERTICAL, HORIZONTAL, BOTH} + * Default is NONE + * + * @param fill + */ +public void setFill(int fill) +{ + constraints.fill = fill; +} + + + /** + * Sets cell anchor type as one of: + * GridBagConstraints.{NORTH, NORTHEAST, EAST, SOUTHEAST, SOUTH, SOUTHWEST, WEST, NORTHWEST, CENTER} + * Default is CENTER + * + * @param anchor + */ +public void setAnchor(int anchor) +{ + constraints.anchor = anchor; +} + + + + /** + * Sets cell insets + * Defaults are (0,0,0,0) + * + * @param top + * @param left + * @param bottom + * @param right + */ +public void setInsets(int top, int left, int bottom, int right) +{ + constraints.insets = new Insets(top, left, bottom, right); +} + + + /** + * Sets cell defaults + * + */ +private void setDefaults() +{ + constraints.gridx = 0; + constraints.gridy = 0; + constraints.gridwidth = 1; + constraints.gridheight = 1; + constraints.fill = GridBagConstraints.NONE; + constraints.anchor = GridBagConstraints.CENTER; + constraints.weightx = 0.0; + constraints.weighty = 0.0; + constraints.insets = new Insets(0,0,0,0); + +} + + +} Property changes on: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/designer/GridBagDesigner.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/FileChooser.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/FileChooser.java (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/FileChooser.java 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,138 @@ +package com.cadplan.fileio; + + + +import javax.swing.*; +import javax.swing.filechooser.FileFilter; +import java.io.File; +import java.awt.*; +import java.util.Properties; + +/** + * User: geoff + * Date: 5/04/2006 + * Time: 12:54:42 + * Copyright 2005 Geoffrey G Roy. + */ +public class FileChooser +{ + JFileChooser chooser; + public String fileName; + public String dirName; + + public FileChooser(Component parent, String defaultDirName, String defaultFileName, + String [] filterText, String info, int type) + { + int returnVal; + File dir; + Properties props = System.getProperties(); + if(defaultDirName == null) dir = new File(props.getProperty("user.dir")); + else dir = new File(defaultDirName+File.separator); + chooser = new JFileChooser(); + chooser.setDialogType(type); + + + MyFileFilter filter = new MyFileFilter(info, filterText); + + chooser.setFileFilter(filter); + chooser.setCurrentDirectory(dir); + if(defaultFileName != null) chooser.setSelectedFile(new File(defaultFileName)); + + if(type == JFileChooser.OPEN_DIALOG) + { + returnVal= chooser.showOpenDialog(parent); + } + else + { + returnVal= chooser.showSaveDialog(parent); + } + + if(returnVal == JFileChooser.APPROVE_OPTION) + { + fileName = chooser.getSelectedFile().getName(); + if(type == JFileChooser.SAVE_DIALOG) fileName = addExtension(fileName,filterText); + dirName = chooser.getCurrentDirectory().getPath(); + } + else + { + fileName = null; + } + } + public String getFile() + { + return fileName; + } + public String getDir() + { + return dirName; + } + + private String addExtension(String name, String [] filterText) + { + boolean OK = false; + for (int i=0; i < filterText.length; i++) + { + String ext = filterText[i]; + if(name.toLowerCase().endsWith("."+ext)) OK = true; + } + if(!OK) name = name + "." + filterText[0]; + return name; + } +} + +class MyFileFilter extends FileFilter +{ + String description; + String [] extensions; + boolean acceptAll = false; + + public MyFileFilter(String description, String extension) + { + this(description, new String [] {extension}); + } + + public MyFileFilter(String description, String [] extensions) + { + if(description == null) this.description = "Files like: "+extensions[0]; + else this.description = description; + this.extensions = (String []) extensions.clone(); + toLower(this.extensions); + for(int i=0; i < this.extensions.length; i++) + { + if(this.extensions[i].equals("*")) acceptAll = true; + } + } + + private void toLower(String [] sa) + { + for (int i=0, n = sa.length; i < n; i++) + { + sa[i] = sa[i].toLowerCase(); + } + } + + public String getDescription() + { + return description; + } + + public boolean accept(File file) + { + if(file.isDirectory()) return true; + if(acceptAll) return true; + else + { + String path = file.getAbsolutePath().toLowerCase(); + for (int i=0; i < extensions.length; i++) + { + + String extension = extensions[i]; + if(path.endsWith(extension) && (path.charAt(path.length() - extension.length()-1) == '.')) + { + return true; + } + } + } + return false; + } +} Property changes on: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/FileChooser.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/IconLoader.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/IconLoader.java (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/IconLoader.java 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,129 @@ +package com.cadplan.fileio; + +//================================================================== +// +// IconLoader +// +//================================================================== +// +// This module is a part of the P-Coder package +// \xA92002, Geoffrey G. Roy, School of Engineering, Murdoch University +//================================================================== + + +import java.awt.*; +import java.awt.event.*; +import java.applet.*; +import java.net.*; +import java.util.*; +import java.io.*; +import java.util.jar.*; +import java.lang.*; +import javax.swing.*; + + + + +public class IconLoader extends Component +{ + boolean debug = false; + Image image = null; + Properties prop = null; + MediaTracker tracker; + URL url, jarurl; + String appName; + String wd = ""; + + + public IconLoader(String wd, String appName) + { + this.wd = wd; + this.appName = appName; + } + + public IconLoader(String appName) + { + + prop = System.getProperties(); + wd = prop.getProperty("user.dir"); + this.appName = appName; + } + + public void setWD(String dirName) + { + wd = dirName; + } + + public Image loadImage(String name) + { + tracker = new MediaTracker(this); + Image image = load(name); + return(image); + + } + + + public Image load(String name) + { + + + if(debug) System.out.println("User WD = "+ wd); + String filename; + filename = "jar:file:"+wd+"/"+appName+".jar!/"+"Resources/"+name; + if(debug) System.out.println("Loading from jar: "+filename); + try + { + jarurl = new URL(filename); + // System.out.println("URL= "+jarurl); + JarURLConnection jarConnection = (JarURLConnection) jarurl.openConnection(); + Manifest manifest = jarConnection.getManifest(); + // System.out.println("Loading splash from JAR"); + + } + catch (MalformedURLException e) + { + if(debug) System.out.println("Jar file not found at "+wd); + } + catch (IOException e) + { + + + if(debug) System.out.println("Error opening Jar file at: "+wd); + if(debug) System.out.println("Jar file not found "+e); + if(debug) System.out.println("Error opening Jar file from URL, trying local file: "+e); + try + { + String fname = ""; + fname = "file:///"+wd+"/Classes/Resources/"+name; + if(debug) System.out.println("Loading from: "+fname); + jarurl = new URL(fname ); + if(debug) System.out.println("Loading icon from GIF"); + } + catch (MalformedURLException e1) + { + System.out.println("ERROR - "+e1); + } + + } + if(debug) System.out.println("URL= "+jarurl); + image = Toolkit.getDefaultToolkit().getImage(jarurl); + try + { + tracker.addImage(image, 1); + tracker.waitForID(1); + } + catch (InterruptedException e) + { + } + + if(debug) System.out.println("Image size: "+image.getWidth(this)+", "+image.getHeight(this)); + if(image.getWidth(this) < 0) image = null; +// Icon icon = new ImageIcon(image); + return(image); + + } + + + + +} Property changes on: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/IconLoader.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/TextFile.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/TextFile.java (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/TextFile.java 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,123 @@ +package com.cadplan.fileio; + +import java.io.*; +import java.util.Properties; + +/** + * User: geoff + * Date: 18/10/2006 + * Time: 09:49:10 + * Copyright 2005 Geoffrey G Roy. + */ +public class TextFile +{ + String fileName; + String dirName; + BufferedReader reader = null; + FileWriter writer = null; + + public TextFile(String dirName, String fileName) + { + this.dirName = dirName; + Properties props = System.getProperties(); + if(dirName == null) this.dirName = props.getProperty("user.dir"); + this.fileName = fileName; + } + + public boolean exists() + { + File file = new File(dirName+File.separator+fileName); + return file.exists(); + } + + public boolean openRead() + { + File file = new File(dirName+File.separator+fileName); + + try + { + reader = new BufferedReader(new FileReader(file)); + return true; + } + catch (FileNotFoundException ex) + { + return false; + } + + } + + public boolean openWrite() + { + File file = new File(dirName+File.separator+fileName); + + try + { + writer = new FileWriter(file); + return true; + } + catch (IOException ex) + { + return false; + } + } + + public String readLine() + { + try + { + return reader.readLine(); + } + catch (IOException ex) + { + return null; + } + } + + public String readAll() + { + String line = ""; + StringBuffer sb = new StringBuffer(); + try + { + while (line != null) + { + line = reader.readLine(); + if(line != null) sb.append(line+"\n"); + } + } + catch (IOException ex) + { + return sb.toString(); + } + return sb.toString(); + } + + public boolean write(String s) + { + try + { + writer.write(s); + return true; + } + catch (IOException ex) + { + return false; + } + } + + public void close() + { try + { + if(reader != null) reader.close(); + else if(writer != null) + { + writer.flush(); + writer.close(); + } + } + catch (IOException ex) + { + + } + } +} Property changes on: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/fileio/TextFile.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/AttributeOrder.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/AttributeOrder.java (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/AttributeOrder.java 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,169 @@ +/* + * The Unified Mapping Platform (JUMP) is an extensible, interactive GUI + * for visualizing and manipulating spatial features with geometry and attributes. + * + * Copyright (C) 2006 Cadplan + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +package com.cadplan.jump; + +import com.cadplan.designer.GridBagDesigner; + +import javax.swing.*; +import javax.swing.border.Border; +import javax.swing.border.EtchedBorder; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import java.awt.*; + +/** + * User: geoff + * Date: 10/05/2007 + * Time: 10:03:35 + * Copyright 2005 Geoffrey G Roy. + */ +public class AttributeOrder extends JDialog implements ActionListener { + + JList attributeList; + JButton upButton, downButton, acceptButton, cancelButton; + String [] localList; + int numItems; + ChartDialog parent; + I18NPlug iPlug; + + public AttributeOrder(ChartDialog parent, I18NPlug iPlug) + { + super(parent, iPlug.get("JumpChart.Order.Order"), true); + this.parent = parent; + this.iPlug = iPlug; + numItems = 0; + for (int i=0; i < ChartParams.attributes.length; i++) + { + if(ChartParams.includeAttribute[i]) numItems++; + } + //System.out.println("number of selected items = "+numItems); + + localList = new String[numItems]; + int k = 0; + for (int i=0; i < ChartParams.attributes.length; i++) + { + if(ChartParams.includeAttribute[i]) + { + String item = ChartParams.attributes[i].name; + int order = ChartParams.attributeOrder[i]; + if(order >= 0) localList[order] = ChartParams.attributes[i].name; + else localList[k] = ChartParams.attributes[i].name; + k++; + } + } + init(); + } + + public void init() + { + GridBagDesigner gb = new GridBagDesigner(this); + + JPanel panel = new JPanel(); + gb.setPosition(0,0); + gb.setInsets(10,10,10,10); + gb.setSpan(1,4); + attributeList = new JList(localList); + Border border = new EtchedBorder(EtchedBorder.LOWERED); + panel.setBorder(border); + panel.setBackground(Color.WHITE); + panel.add(attributeList); + gb.addComponent(panel); + + upButton = new JButton(iPlug.get("JumpChart.Order.MoveUp")); + gb.setPosition(1,0); + gb.setInsets(10,0,0,10); + gb.setFill(GridBagConstraints.HORIZONTAL); + gb.addComponent(upButton); + + downButton = new JButton(iPlug.get("JumpChart.Order.MoveDown")); + gb.setPosition(1,1); + gb.setInsets(10,0,0,10); + gb.setFill(GridBagConstraints.HORIZONTAL); + gb.addComponent(downButton); + + acceptButton = new JButton(iPlug.get("JumpChart.Order.Accept")); + gb.setPosition(1,2); + gb.setInsets(10,0,0,10); + gb.setFill(GridBagConstraints.HORIZONTAL); + gb.addComponent(acceptButton); + + cancelButton = new JButton(iPlug.get("JumpChart.Order.Cancel")); + gb.setPosition(1,3); + gb.setInsets(10,0,10,10); + gb.setFill(GridBagConstraints.HORIZONTAL); + gb.setAnchor(GridBagConstraints.SOUTH); + gb.addComponent(cancelButton); + + upButton.addActionListener(this); + downButton.addActionListener(this); + acceptButton.addActionListener(this); + cancelButton.addActionListener(this); + + pack(); + setLocation(parent.getLocation()); + setVisible(true); + + } + public void actionPerformed(ActionEvent ev) + { + if(ev.getSource() == upButton) + { + int selectedIndex = attributeList.getSelectedIndex(); + if(selectedIndex < 1) return; + String temp = localList[selectedIndex-1]; + localList[selectedIndex-1] = localList[selectedIndex]; + localList[selectedIndex] = temp; + attributeList.setListData(localList); + attributeList.setSelectedIndex(selectedIndex-1); + + + } + if(ev.getSource() == downButton) + { + int selectedIndex = attributeList.getSelectedIndex(); + if(selectedIndex < 0 || selectedIndex > (localList.length-2)) return; + String temp = localList[selectedIndex+1]; + localList[selectedIndex+1] = localList[selectedIndex]; + localList[selectedIndex] = temp; + attributeList.setListData(localList); + attributeList.setSelectedIndex(selectedIndex+1); + } + if(ev.getSource() == acceptButton) + { + for (int i=0; i < numItems; i++) + { + String item = localList[i]; + for (int j=0; j < ChartParams.attributes.length; j++) + { + if(ChartParams.attributes[j].name.equals(item)) ChartParams.attributeOrder[j] = i; + } + } + dispose(); + } + if(ev.getSource() == cancelButton) + { + dispose(); + } + } + +} Property changes on: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/AttributeOrder.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/BarChart.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/BarChart.java (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/BarChart.java 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,335 @@ +/* + * The Unified Mapping Platform (JUMP) is an extensible, interactive GUI + * for visualizing and manipulating spatial features with geometry and attributes. + * + * Copyright (C) 2006 Cadplan + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + + +package com.cadplan.jump; + +import com.vividsolutions.jump.feature.*; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.LinearRing; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.Geometry; + +import java.util.Vector; + +/** + * User: geoff + * Date: 28/04/2007 + * Time: 16:50:31 + * Copyright 2007 Geoffrey G Roy. + */ +public class BarChart +{ + boolean debug = false; + ChartAttribute [] attributes; + ChartValues [] values; + double screenScale; + double maxValue; + double maxSize; + double xoffs, yoffs; + double originX, originY; + + public BarChart(ChartAttribute [] attributes, ChartValues [] values, double screenScale) + { + this.attributes = attributes; + this.values = values; + this.screenScale = screenScale; + xoffs = ChartParams.originX*screenScale; + yoffs = ChartParams.originY*screenScale; + } + + public double getMaxValue() + { + return maxValue; + } + public double getMaxSize() + { + return maxSize; + } + public void addFeatures(FeatureCollection dataset) + { + + double barHeight; + double barWidth = 5*screenScale; + double height = 60; + double dataMax = Double.MIN_VALUE; + double x, y; + double barHeightRatio; + double maxHeight; + double dx = 0.0; + + double [] itemMax = new double[values.length]; + + for (int i=0; i < values.length; i++) + { + + double [] data = values[i].values; + itemMax[i] = Double.MIN_VALUE; + + for (int j=0; j < data.length; j++) + { + if(data[j] > dataMax) dataMax = data[j]; + if(data[j] > itemMax[i]) itemMax[i] = data[j]; + } + } + maxValue = dataMax; + + + for(int i=0; i < values.length; i++) + { + double [] data = values[i].values; + String [] ctypes = values[i].types; + String nameValue = values[i].name; + x = values[i].x; + y = values[i].y; + originY = y; + + if(ChartParams.autoScale) + { + maxHeight = height*screenScale; + barWidth = 7*screenScale; + } + else + { + maxHeight = ChartParams.scaleValue*screenScale; + barWidth = ChartParams.barWidth*screenScale; + } + maxSize = maxHeight; + if(ChartParams.uniformSize) + { + if(itemMax[i] != 0.0) barHeightRatio = maxHeight/itemMax[i]; + else barHeightRatio = 1.0; + } + else + { + if(dataMax != 0.0) barHeightRatio = maxHeight/dataMax; + else barHeightRatio = 1.0; + } + if(Double.isInfinite(barHeightRatio)) barHeightRatio = 1.0; + //System.out.println("barHeightRatio="+barHeightRatio); + dx = x - data.length*barWidth/2; + for (int j=0; j < data.length; j++) + { + String name = attributes[j].name; + Feature feature = buildFeature(j, dx, y, barWidth, data[j]*barHeightRatio, data[j], name, ctypes[j]); + dataset.add(feature); + dx = dx + barWidth; + } + + // ------------------------------------------- + // build underlabel feature if required + //-------------------------------------------- + //String nameValue = "Missing"; + if(ChartParams.showUnderLabels) + { + + //System.out.println("Adding feature value namevalue="+nameValue); + Feature feature = buildLabelFeature(x, y, nameValue); + dataset.add(feature); + } + + } + + + + + if(ChartParams.localScale && !ChartParams.uniformSize) + { + for(int i=0; i < values.length; i++) + { + double [] data = values[i].values; + + x = values[i].x; + y = values[i].y; + originX = x + data.length*barWidth/2 + barWidth/2 + xoffs; + originY = y + yoffs; + + double interval = ChartParams.scaleInterval(maxValue); + double scale = maxSize/maxValue; + if(ChartParams.localScale) createLocalScale(dataset,originX, originY, interval, scale, itemMax[i]); + + } + } + + } + + private Feature buildLabelFeature(double x, double y, String name) + { + double xpos, ypos; + double fontHeight = 10.0 * screenScale; + //System.out.println("fontHeight = " + fontHeight); + xpos = x; + ypos = y - fontHeight; + + FeatureSchema featureSchema = new FeatureSchema(); + + featureSchema.addAttribute("Geometry",AttributeType.GEOMETRY); + featureSchema.addAttribute("Index", AttributeType.INTEGER); + featureSchema.addAttribute("dValue", AttributeType.DOUBLE); + featureSchema.addAttribute("iValue", AttributeType.INTEGER); + featureSchema.addAttribute(ChartParams.underLabelName, AttributeType.STRING); + + //System.out.println("Label Feature at:"+x+","+y+" name="+name+ " for attribute: " + ChartParams.underLabelName); + Feature feature = new BasicFeature(featureSchema); + + + Geometry geometry = new GeometryFactory().createPoint(new Coordinate(xpos,ypos)); + feature.setGeometry(geometry); + feature.setAttribute("iValue",-1); + feature.setAttribute("dValue",-1.0); + feature.setAttribute(ChartParams.underLabelName,name); + + + + return feature; + } + + + private Feature buildFeature(int index, double x, double y, double width, double height, double value, String name, String ctype) + { + FeatureSchema featureSchema = new FeatureSchema(); + + featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY); + featureSchema.addAttribute("iValue", AttributeType.INTEGER); + featureSchema.addAttribute("dValue", AttributeType.DOUBLE); + featureSchema.addAttribute("Index", AttributeType.INTEGER); + featureSchema.addAttribute("Name", AttributeType.STRING); + + + if(debug) System.out.println("Feature at:"+x+","+y+" value="+value); + Coordinate p = new Coordinate(x+xoffs,y+yoffs); + Coordinate [] pointArray = new Coordinate[5]; + pointArray[0] = new Coordinate(x+xoffs,y+yoffs); + pointArray[1]= new Coordinate(x+xoffs+width,y+yoffs); + pointArray[2] = new Coordinate(x+xoffs+width,y+yoffs+height); + pointArray[3] = new Coordinate(x+xoffs,y+yoffs+height); + pointArray[4] = new Coordinate(x+xoffs,y+yoffs); + for (int i=0; i < pointArray.length; i++) + { + if(debug) System.out.println("Point "+i+":"+pointArray[i]); + } + + LinearRing lr = new GeometryFactory().createLinearRing(pointArray); + Geometry geometry = new GeometryFactory().createPolygon(lr, null); + + Feature feature = new BasicFeature(featureSchema); + + if(debug) System.out.println("Geometry: "+geometry); + feature.setGeometry(geometry); + + feature.setAttribute("iValue", (int) value); + feature.setAttribute("dValue", value); + feature.setAttribute("Index", index); + + + if(ChartParams.showLabels) feature.setAttribute("Name",name); + else feature.setAttribute("Name",""); + return feature; + } + + private void createLocalScale(FeatureCollection dataset, double x, double y, double interval, double scale, double maxValue) + { + //boolean debug = true; + FeatureSchema featureSchema = new FeatureSchema(); + featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY); + featureSchema.addAttribute("dValue", AttributeType.DOUBLE); + featureSchema.addAttribute("iValue", AttributeType.INTEGER); + featureSchema.addAttribute("Index", AttributeType.INTEGER); + featureSchema.addAttribute("Name", AttributeType.STRING); + + double width = 3*screenScale; + double yp = y+ 5*interval*scale; + + //Coordinate [] points = new Coordinate[2]; + //points[0] = new Coordinate(x,y); + //points[1] = new Coordinate(x,y+ 5*interval*scale); + + //Geometry geometry = new GeometryFactory().createLineString(points); + + //if(debug) System.out.println("Line Geometry: "+geometry); + //Feature feature = new BasicFeature(featureSchema); + + + //feature.setGeometry(geometry); + //feature.setAttribute("iValue",-1); + //feature.setAttribute("dValue",-1.0); + //feature.setAttribute("Name",""); + //dataset.add(feature); + for(int i=1; i <=5 ; i++) + { + Coordinate [] linePoints = new Coordinate[2]; + linePoints[0] = new Coordinate(x,y+interval*scale*i); + linePoints[1] = new Coordinate(x-width, y+interval*scale*i); + + Geometry linegeometry = new GeometryFactory().createLineString(linePoints); + + Feature linefeature = new BasicFeature(featureSchema); + + if(debug) System.out.println("i="+i+" Bar Geometry: "+linegeometry); + linefeature.setGeometry(linegeometry); + linefeature.setAttribute("dValue",-1.0); + linefeature.setAttribute("iValue",-1); + linefeature.setAttribute("Index",-1); + + if(interval*i < maxValue && i < 5) + { + linefeature.setAttribute("Name",""); + dataset.add(linefeature); + } + else + { + linefeature.setAttribute("Name",formatValue(interval,i)); + dataset.add(linefeature); + + Coordinate [] points = new Coordinate[2]; + points[0] = new Coordinate(x,y); + points[1] = new Coordinate(x,y+ i*interval*scale); + Geometry geometry = new GeometryFactory().createLineString(points); + if(debug) System.out.println("Line Geometry: "+geometry); + Feature feature = new BasicFeature(featureSchema); + feature.setGeometry(geometry); + feature.setAttribute("iValue",-1); + feature.setAttribute("dValue",-1.0); + feature.setAttribute("Name",""); + dataset.add(feature); + break; + } + + //if(i < 5) linefeature.setAttribute("Name",""); + //else linefeature.setAttribute("Name",formatValue(interval,i)); + //dataset.add(linefeature); + + + } + + + + } + + private String formatValue(double interval, int step) + { + return NumberFormatter.format(interval*step); + //if(interval < 1.0) return String.valueOf(interval*step); + //return String.valueOf((int)(interval*step)); + } + +} Property changes on: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/BarChart.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,512 @@ +/* + * The Unified Mapping Platform (JUMP) is an extensible, interactive GUI + * for visualizing and manipulating spatial features with geometry and attributes. + * + * Copyright (C) 2006 Cadplan + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +package com.cadplan.jump; + +import com.vividsolutions.jump.workbench.plugin.PlugInContext; +import com.vividsolutions.jump.workbench.model.Category; +import com.vividsolutions.jump.workbench.model.Layer; +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. + */ +public class Chart +{ + boolean debug = false; + PlugInContext context; + String categoryName = "Jump Charts"; + ChartData chartData; + ChartValues [] chartValues; + ChartAttribute [] chartAttributes; + FeatureDataset dataset; + double screenScale; + 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) + { + + getData(); + + for(int i=0; i < chartValues.length; i++) + { + //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(); + layerStyle.setAlpha(255); + + + + 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); + 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; + + 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); + style.setFillColor(color); + //themeMap.put(i,style); + //labelMap.put(i,String.valueOf(i)); + themeMap.put(i,style); + labelMap.put(i,String.valueOf(i)); + + } + layer.removeStyle((ColorThemingStyle)layer.getStyle(ColorThemingStyle.class)); + 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); + + + } + } + + + private void createContext() + { + + 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); + } + } + 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); + } + + private void getData() + { + chartValues = chartData.getValues(); + chartAttributes = chartData.getAttributes(); + } + + 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); + } + } + + + + private void createScale(int type, FeatureCollection dataset, double interval, double scale) + { + FeatureSchema featureSchema = new FeatureSchema(); + featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY); + featureSchema.addAttribute("dValue", AttributeType.DOUBLE); + featureSchema.addAttribute("iValue", AttributeType.INTEGER); + featureSchema.addAttribute("Index", AttributeType.INTEGER); + featureSchema.addAttribute("Name", AttributeType.STRING); + + double x0 = context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinX(); + 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; + + 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); + + 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); + + 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); + + 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); + + Geometry linegeometry = new GeometryFactory().createLineString(linePoints); + + + if(debug) System.out.println("Geometry: "+geometry); + 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); + + //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); + + 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); + + rad = rad - interval*scale; + } + + 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: "+geometry); + Feature feature = 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); + + 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); + + Geometry linegeometry = new GeometryFactory().createLineString(linePoints); + if(debug) System.out.println("Geometry: "+geometry); + 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); + + //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); + + 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(); + featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY); + featureSchema.addAttribute("dValue", AttributeType.DOUBLE); + featureSchema.addAttribute("iValue", AttributeType.INTEGER); + featureSchema.addAttribute("Index", AttributeType.INTEGER); + featureSchema.addAttribute("Name", AttributeType.STRING); + + double x0 = context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinX(); + double y0 = context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinY(); + + double w = 100*screenScale; + double h = 15*screenScale; + 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]); + } + + LinearRing lr = new GeometryFactory().createLinearRing(pointArray); + Geometry geometry = new GeometryFactory().createPolygon(lr, null); + + 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; + + } + 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++) + { + 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); + + Geometry geometry = new GeometryFactory().createLineString(borderArray); + Feature feature = new BasicFeature(featureSchema); + feature.setGeometry(geometry); + + feature.setAttribute("Name",""); + feature.setAttribute("dValue",0.0); + feature.setAttribute("iValue",0); + feature.setAttribute("Index", 0); + 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); + + LinearRing lr = new GeometryFactory().createLinearRing(labelArray); + Geometry labelGeometry = new GeometryFactory().createPolygon(lr, null); + + //Geometry labelGeometry = new GeometryFactory().createLineString(labelArray); + //System.out.println("labelGeom: "+labelGeometry.toString()); + 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("Index", -1); + dataset.add(labelFeature); + } + + + } + + + + + private String format(double val) + { + return NumberFormatter.format(val); + + } + + +} Property changes on: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartAttribute.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartAttribute.java (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartAttribute.java 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,49 @@ +/* + * The Unified Mapping Platform (JUMP) is an extensible, interactive GUI + * for visualizing and manipulating spatial features with geometry and attributes. + * + * Copyright (C) 2006 Cadplan + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +package com.cadplan.jump; + +/** + * User: geoff + * Date: 28/04/2007 + * Time: 10:53:49 + * Copyright 2007 Geoffrey G Roy. + */ +public class ChartAttribute +{ + public int index; + public String name; + + + public ChartAttribute(int index, String name) + { + this.index = index; + this.name = name; + + } + + + public String toString() + { + return "["+index+"]"+name; + } +} Property changes on: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartAttribute.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartData.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartData.java (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartData.java 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,253 @@ +/* + * The Unified Mapping Platform (JUMP) is an extensible, interactive GUI + * for visualizing and manipulating spatial features with geometry and attributes. + * + * Copyright (C) 2006 Cadplan + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +package com.cadplan.jump; + +import com.vividsolutions.jump.workbench.plugin.PlugInContext; +import com.vividsolutions.jump.workbench.model.Layer; +import com.vividsolutions.jump.feature.FeatureSchema; +import com.vividsolutions.jump.feature.AttributeType; +import com.vividsolutions.jump.feature.Feature; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.Point; + +import javax.swing.*; +import java.util.Vector; +import java.util.List; +import java.util.Iterator; +import java.text.*; + +/** + * User: geoff + * Date: 28/04/2007 + * Time: 10:27:06 + * Copyright 2007 Geoffrey G Roy. + */ +public class ChartData +{ + boolean debug = false; + Layer selectedLayer; + FeatureSchema featureSchema; + Vector<ChartAttribute> attributes; + ChartValues [] chartData; + + + Vector<String> possibleNames = new Vector<String>(); + I18NPlug iPlug; + String chosenName = ""; + DecimalFormat iformat = new DecimalFormat("#####"); + + + public ChartData(PlugInContext context, I18NPlug iPlug) + { + this.iPlug = iPlug; + ChartDialog chartDialog; + selectedLayer = context.getSelectedLayer(0); + if(selectedLayer != null) + { + featureSchema = selectedLayer.getFeatureCollectionWrapper().getFeatureSchema(); + + + + do + { + //System.out.println("Preparing data - ChartType = "+ ChartParams.chartType); + attributes = new Vector<ChartAttribute>(10,2); + for (int i=0; i < featureSchema.getAttributeCount(); i++) + { + AttributeType type = featureSchema.getAttributeType(i); + if( type == AttributeType.DOUBLE || type == AttributeType.INTEGER || // type == AttributeType.STRING || + ((ChartParams.chartType == ChartParams.LABELS) && type == AttributeType.STRING) ) + { + String name = featureSchema.getAttributeName(i); + + ChartAttribute att = new ChartAttribute(i, name); + attributes.addElement(att); + //System.out.println("Attribute added: "+name); + } + } + + + chartDialog = new ChartDialog(selectedLayer.getName(),attributes, iPlug); + //System.out.println("Reload = "+ ChartParams.reloadDialog); + if(ChartParams.reloadDialog) chartDialog = null; + + } while (ChartParams.reloadDialog); + + if(!ChartParams.cancelled) + { + attributes = chartDialog.getSelections(); + if(debug) System.out.println("Number of selected att: "+attributes.size()); + + // if attribute "Name" is not present choose required name label. + if(ChartParams.chartType == ChartParams.LABELS || ChartParams.showUnderLabels) + { + boolean nameFound = false; + for (int i=0; i < featureSchema.getAttributeCount(); i++) + { + AttributeType type = featureSchema.getAttributeType(i); + if( type == AttributeType.STRING ) + { + String name = featureSchema.getAttributeName(i); + possibleNames.addElement(name); + //System.out.println("Possible Name added: "+name); + if (name.equals("Name")) nameFound = true; + } + } + String [] pNames = new String[possibleNames.size()]; + + for (int i=0; i < possibleNames.size(); i++) + { + pNames[i] = possibleNames.elementAt(i); + } + + if(!nameFound && pNames.length > 0) + { + String result = (String) JOptionPane.showInputDialog(null,iPlug.get("JumpChart.message5"),iPlug.get("JumpChart.message6"), + JOptionPane.QUESTION_MESSAGE, null, pNames, pNames[0]); + + if(result != null) chosenName = result; + else chosenName = null; + + } + else + { + chosenName = "Missing"; + } + } + + List featureList = selectedLayer.getFeatureCollectionWrapper().getFeatures(); + + + int numFeatures = featureList.size(); + chartData = new ChartValues[numFeatures]; + + Iterator j = featureList.iterator(); + int count = 0; + while (j.hasNext()) + { + Feature feature = (Feature) j.next(); + int ID = feature.getID(); + String name; + String underName = "Missing"; + String ctype = "INT"; + + try + { + name= (String) feature.getAttribute("Name"); + + } catch (Exception ex) + { + if(ChartParams.chartType == ChartParams.LABELS && chosenName != null )name = (String) feature.getAttribute(chosenName); + else name = ""; + + if(ChartParams.showUnderLabels && chosenName != null) name = (String) feature.getAttribute(chosenName); + //System.out.println("ERROR: Attribute Name not found - inserted: "+name); + } + + + + + Geometry geometry = feature.getGeometry(); + Point centroid = geometry.getInteriorPoint(); + double [] values = new double[attributes.size()]; + String [] nameValues = new String[attributes.size()]; + String [] chartTypes = new String[numFeatures]; + for (int k=0; k < attributes.size(); k++) + { + int index = attributes.elementAt(k).index; + double value = -1.0; + String vtype = "UND"; + String nameValue = String.valueOf(value); + try + { + value = feature.getDouble(index); + nameValue = String.valueOf(value); + //System.out.println("Decoding Double: "+value+ " to "+nameValue); + vtype = "DBL"; + } + catch (ClassCastException ex) + { + try + { + value = (double) feature.getInteger(index); + nameValue = String.valueOf(iformat.format(value)); + vtype = "INT"; + + //System.out.println("Decoding Integer: "+value+ " to "+nameValue); + } + catch (ClassCastException ex2) + { + value = -1.0; + nameValue = (String) feature.getString(index); + vtype = "STR"; + //System.out.println("Decoding String: "+value+ " to "+nameValue); + } + + } + catch (Exception ex) + { + + value = -1.0; + nameValue = String.valueOf(value); + vtype = "UND"; + //System.out.println("Fail: decode as string: "+nameValue+" value:"+value); + } + values[k] = value; + nameValues[k] = nameValue; + chartTypes[k] = vtype; + + } + + + ChartValues chartValues = new ChartValues(ID, name, centroid.getX(),centroid.getY(),values, nameValues, chartTypes); + chartData[count] = chartValues; + //System.out.println("Values: "+chartData[count].toString()); + count++; + } + } + + + + } + else + { + ChartParams.cancelled = true; + JOptionPane.showMessageDialog(null, iPlug.get("JumpChart.message1"),"Warning...",JOptionPane.WARNING_MESSAGE); + } + } + + public ChartValues [] getValues() + { + return chartData; + } + + public ChartAttribute[] getAttributes() + { + ChartAttribute [] attributeData = new ChartAttribute[attributes.size()]; + for (int i=0; i < attributes.size(); i++) + { + attributeData[i] = attributes.elementAt(i); + } + return attributeData; + } +} Property changes on: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartData.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartDialog.java =================================================================== --- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartDialog.java (rev 0) +++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/ChartDialog.java 2017-11-22 19:16:22 UTC (rev 5576) @@ -0,0 +1,549 @@ +/* + * The Unified Mapping Platform (JUMP) is an extensible, interactive GUI + * for visualizing and manipulating spatial features with geometry and attributes. + * + * Copyright (C) 2006 Cadplan + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +package com.cadplan.jump; + +import com.cadplan.designer.GridBagDesigner; + +import javax.swing.*; +import java.util.Vector; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import java.awt.event.ItemListener; +import java.awt.event.ItemEvent; +import java.awt.*; + +/** + * User: geoff + * Date: 29/04/2007 + * Time: 08:26:10 + * Copyright 2007 Geoffrey G Roy. + */ +public class ChartDialog extends JDialog implements ActionListener, ItemListener { + boolean debug = false; + JLabel nameLabel, attributeLabel, typeLabel, sizeLabel, scaleLabel, widthLabel, originLabel, underLabel; + JTextField nameField, scaleField, widthField, xorigField, yorigField; + JComboBox typeCombo, underLabelCombo; + JCheckBox legendCB, orderCB, clockwiseCB, showScaleCB, showLabelsCB, showLocalScaleCB, linearCB, underLabelCB; + JRadioButton uniformRB, variableRB, autoRB, fixedRB; + JButton cancelButton, aboutButton, acceptButton, setAllButton, clearAllButton, orderButton; + String [] typeNames = ChartParams.typeNames; + JPanel attributePanel; + JCheckBox [] selectAttribute; + Vector<ChartAttribute> orderedAttributes; + ButtonGroup sizeGroup, scaleGroup; + Vector<ChartAttribute> attributes; + GridBagDesigner gb; + I18NPlug iPlug; + int currentType = ChartParams.chartType; + String [] underLabelOptions; + + + public ChartDialog(String layerName, Vector<ChartAttribute> attributes, I18NPlug iPlug) + { + super(new JFrame(),"Chart Dialog", true); + this.attributes = attributes; + this.iPlug = iPlug; + ChartParams.reloadDialog = false; + + // System.out.println("Creating ChartDialog" + " Attributes size=" + attributes.size()); + + ChartParams.attributes = new ChartAttribute[attributes.size()]; + boolean [] oldInclude = ChartParams.includeAttribute; + ChartParams.includeAttribute = new boolean[attributes.size()]; + for (int i=0; i < attributes.size(); i++) ChartParams.includeAttribute[i] = false; + int [] oldAttributeOrder = ChartParams.attributeOrder; + ChartParams.attributeOrder = new int[attributes.size()]; + underLabelOptions = new String[attributes.size()]; + for (int i=0; i < attributes.size(); i++) + { + + ChartParams.attributes[i] = attributes.elementAt(i); + ChartParams.attributeOrder[i] = -1; + underLabelOptions[i] = ChartParams.attributes[i].name; + // System.out.println("layerName="+layerName+" from Params: :"+ChartParams.layerName); + if(ChartParams.layerName != null && layerName.equals(ChartParams.layerName)) + { + try + { + ChartParams.includeAttribute[i] = oldInclude[i]; + ChartParams.attributeOrder[i] = oldAttributeOrder[i]; + } + catch (Exception ex) + { + + } + } + else ChartParams.includeAttribute[i] = false; + } + ChartParams.layerName = layerName; + //System.out.println("Setting layer name: "+layerName+" No of attr.="+ChartParams.attributes.length); + + init(); + } + + public void init() + { + gb = new GridBagDesigner(this); + nameLabel = new JLabel(iPlug.get("JumpChart.Dialog.SelectedLayer")); + gb.setPosition(0,0); + gb.setInsets(10,10,0,5); + gb.addComponent(nameLabel); + + nameField = new JTextField(ChartParams.layerName); + nameField.setEditable(false); + gb.setPosition(1,0); + gb.setInsets(10,0,0,10); + gb.setSpan(3,1); + gb.setFill(GridBagConstraints.HORIZONTAL); + gb.addComponent(nameField); + + attributeLabel = new JLabel(iPlug.get("JumpChart.Dialog.Attributes")); + gb.setPosition(0,1); + gb.setInsets(5,10,0,5); + gb.addComponent(attributeLabel); + + setAllButton = new JButton(iPlug.get("JumpChart.Dialog.SelectAll")); + gb.setPosition(0,2); + gb.setInsets(5,10,0,5); + gb.setFill(GridBagConstraints.HORIZONTAL); + gb.addComponent(setAllButton); + setAllButton.addActionListener(this); + + clearAllButton = new JButton(iPlug.get("JumpChart.Dialog.ClearAll")); + gb.setPosition(0,3); + gb.setInsets(5,10,0,5); + gb.setFill(GridBagConstraints.HORIZONTAL); + gb.addComponent(clearAllButton); + clearAllButton.addActionListener(this); + + orderButton = new JButton(iPlug.get("JumpChart.Dialog.Order")); + gb.setPosition(0,4); + gb.setInsets(5,10,0,5); + gb.setFill(GridBagConstraints.HORIZONTAL); + gb.addComponent(orderButton); + orderButton.addActionListener(this); + + + + createSelectPanel(); + addAttributePanel(); + + + typeLabel = new JLabel(iPlug.get("JumpChart.Dialog.ChartType")); + gb.setPosition(0,6); + gb.setInsets(5,10,0,5); + gb.addComponent(typeLabel); + + typeCombo = new JComboBox(typeNames); + gb.setPosition(1,6); + gb.setInsets(5,0,0,10); + gb.addComponent(typeCombo); + typeCombo.setSelectedIndex(ChartParams.chartType); + typeCombo.addActionListener(this); + + clockwiseCB = new JCheckBox(iPlug.get("JumpChart.Dialog.Clockwise")); + gb.setPosition(2,6); + gb.setInsets(5,0,0,5); + gb.addComponent(clockwiseCB); + clockwiseCB.setSelected(ChartParams.clockwise); + + legendCB = new JCheckBox(iPlug.get("JumpChart.Dialog.Legend")); + gb.setPosition(3,6); + gb.setInsets(5,0,0,5); + gb.setAnchor(GridBagConstraints.WEST); + gb.addComponent(legendCB); + legendCB.setSelected(ChartParams.includeLegend); + +// orderCB = new JCheckBox("Order"); +// gb.setPosition(3,6); +// gb.setInsets(5,0,0,10); +// gb.addComponent(orderCB); +// orderCB.setSelected(ChartParams.ordered); + + sizeLabel = new JLabel(iPlug.get("JumpChart.Dialog.Size")); + gb.setPosition(0,7); + gb.setInsets(5,10,0,5); + gb.addComponent(sizeLabel); + + uniformRB = new JRadioButton(iPlug.get("JumpChart.Dialog.Uniform")); + gb.setPosition(1,7); + gb.setInsets(5,0,0,0); + gb.setAnchor(GridBagConstraints.WEST); + gb.addComponent(uniformRB); + + variableRB = new JRadioButton(iPlug.get("JumpChart.Dialog.Variable")); + gb.setPosition(2,7); + gb.setInsets(5,0,0,0); + gb.setAnchor(GridBagConstraints.WEST); + gb.addComponent(variableRB); + + linearCB = new JCheckBox(iPlug.get("JumpChart.Dialog.Linear")); + gb.setPosition(3,7); + gb.setInsets(5,0,0,10); + gb.setAnchor(GridBagConstraints.WEST); + gb.addComponent(linearCB); + linearCB.setSelected(ChartParams.linearScale); + + sizeGroup = new ButtonGroup(); + sizeGroup.add(uniformRB); + sizeGroup.add(variableRB); + uniformRB.setSelected(ChartParams.uniformSize); + variableRB.setSelected(!ChartParams.uniformSize); + + scaleLabel = new JLabel(iPlug.get("JumpChart.Dialog.Scale")); + gb.setPosition(0,8); + gb.setInsets(5,10,0,5); + gb.addComponent(scaleLabel); + + autoRB = new JRadioButton(iPlug.get("JumpChart.Dialog.Auto")); + gb.setPosition(1,8); + gb.setInsets(5,0,0,0); + gb.setAnchor(GridBagConstraints.WEST); + gb.addComponent(autoRB); + + fixedRB = new JRadioButton(iPlug.get("JumpChart.Dialog.Fixed")); + gb.setPosition(2,8); + gb.setInsets(5,0,0,0); + gb.setAnchor(GridBagConstraints.WEST); + gb.addComponent(fixedRB); + + scaleGroup = new ButtonGroup(); + scaleGroup.add(fixedRB); + scaleGroup.add(autoRB); + autoRB.setSelected(ChartParams.autoScale); + fixedRB.setSelected(!ChartParams.autoScale); + + scaleField = new JTextField(8); + scaleField.setText(String.valueOf(ChartParams.scaleValue)); + gb.setPosition(3,8); + gb.setInsets(5,10,0,10); + gb.addComponent(scaleField); + + showScaleCB = new JCheckBox(iPlug.get("JumpChart.Dialog.ShowScale")); + gb.setPosition(1,9); + gb.setInsets(5,0,0,0); + gb.setAnchor(GridBagConstraints.WEST); + gb.addComponent(showScaleCB); + showScaleCB.setSelected(ChartParams.showScale); + + showLocalScaleCB = new JCheckBox(iPlug.get("JumpChart.Dialog.LocalScale")); + gb.setPosition(2,9); + gb.setInsets(5,0,0,0); + gb.setAnchor(GridBagConstraints.WEST); + gb.addComponent(showLocalScaleCB); + showLocalScaleCB.setSelected(ChartParams.localScale); + + + + showLabelsCB = new JCheckBox(iPlug.get("JumpChart.Dialog.ShowLabels")); + gb.setPosition(1, 10); + gb.setInsets(5,0,0,10); + gb.addComponent(showLabelsCB); + showLabelsCB.setSelected(ChartParams.showLabels); + + + widthLabel = new JLabel(iPlug.get("JumpChart.Dialog.Width")); + gb.setPosition(2,10); + gb.setInsets(5,10,0,5); + gb.setAnchor(GridBagConstraints.EAST); + gb.addComponent(widthLabel); + + widthField = new JTextField(8); + widthField.setText(String.valueOf(ChartParams.barWidth)); + gb.setPosition(3,10); + gb.setInsets(5,10,0,10); + gb.addComponent(widthField); + + originLabel = new JLabel(iPlug.get("JumpChart.Dialog.Offsets")); + gb.setPosition(0,11); + gb.setInsets(5,10,0,5); + gb.setSpan(3,1); + gb.setAnchor(GridBagConstraints.WEST); + gb.addComponent(originLabel); + + JLabel xLabel = new JLabel("X"); + gb.setPosition(0,12); + gb.setInsets(5,10,0,5); + gb.setAnchor(GridBagConstraints.EAST); + gb.addComponent(xLabel); + + xorigField = new JTextField(8); + gb.setPosition(1,12); + gb.addComponent(xorigField); + xorigField.setText(String.valueOf(ChartParams.originX)); + + JLabel yLabel = new JLabel("Y"); + gb.setPosition(2,12); + gb.setInsets(5,10,0,5); + gb.setAnchor(GridBagConstraints.EAST); + gb.addComponent(yLabel); + + yorigField = new JTextField(8); + gb.setPosition(3,12); + gb.addComponent(yorigField); + yorigField.setText(String.valueOf(ChartParams.originY)); + + underLabel = new JLabel(iPlug.get("JumpChart.Dialog.UnderLabels")); + gb.setPosition(0,13); + gb.setInsets(5, 10, 0, 5); + //gb.setAnchor(GridBagConstraints.EAST); + gb.addComponent(underLabel); + + underLabelCB = new JCheckBox(""); + gb.setPosition(1,13); + gb.setInsets(5, 10, 0, 5); + gb.setAnchor(GridBagConstraints.WEST); + gb.addComponent(underLabelCB); + underLabelCB.setSelected(ChartParams.showUnderLabels); + + // underLabelCombo= new JComboBox(underLabelOptions); + // gb.setPosition(2,13); + // gb.setInsets(5, 10, 0, 5); + // gb.setFill(GridBagConstraints.HORIZONTAL); + // gb.setSpan(2,1); + // gb.addComponent(underLabelCombo); + // underLabelCombo.setSelectedIndex(ChartParams.underLabelIndex); + + cancelButton = new JButton(iPlug.get("JumpChart.Dialog.Cancel")); + gb.setPosition(0,14); + gb.setInsets(20,10,10,0); + gb.addComponent(cancelButton); + cancelButton.addActionListener(this); + + aboutButton = new JButton(iPlug.get("JumpChart.Dialog.About")); + gb.setPosition(1,14); + gb.setInsets(20,10,10,0); + gb.addComponent(aboutButton); + aboutButton.addActionListener(this); + + acceptButton = new JButton(iPlug.get("JumpChart.Dialog.Accept")); + gb.setPosition(3,14); + gb.setInsets(20,10,10,10); + gb.addComponent(acceptButton); + acceptButton.addActionListener(this); + + pack(); + setLocation(100,100); + setVisible(true); + + } + + private void createSelectPanel() + { + attributePanel = new JPanel(); + GridBagDesigner gba = new GridBagDesigner(attributePanel); + selectAttribute = new JCheckBox[ChartParams.attributes.length]; + for (int i=0; i < ChartParams.attributes.length; i++) + { + if(debug) System.out.println("Adding Attr: "+ChartParams.attributes[i]); + selectAttribute[i] = new JCheckBox(ChartParams.attributes[i].name); + gba.setPosition(0,i); + gba.setInsets(0,10,0,10); + gba.setFill(GridBagConstraints.HORIZONTAL); + gba.setAnchor(GridBagConstraints.WEST); + gba.setWeight(1.0,0.0); + gba.addComponent(selectAttribute[i]); + selectAttribute[i].setSelected(ChartParams.includeAttribute[i]); + selectAttribute[i].addItemListener(this); + + } + } + + + + private void addAttributePanel() + { + JScrollPane scrollPane = new JScrollPane(attributePanel); + scrollPane.setPreferredSize(new Dimension(0,120)); + gb.setPosition(1,1); + gb.setInsets(5,0,0,10); + gb.setSpan(3,5); + gb.setWeight(1.0,1.0); + gb.setFill(GridBagConstraints.BOTH); + gb.addComponent(scrollPane); + JScrollBar vsb = scrollPane.getVerticalScrollBar(); + vsb.setUnitIncrement(20); + } + public Vector<ChartAttribute> getSelections() + { + return attributes; + } + + private void clearOrder() + { + for(int i=0; i < ChartParams.attributeOrder.length; i++) + { + ChartParams.attributeOrder[i] = -1; + } + } + + public void itemStateChanged(ItemEvent ev) + { + for (int i=0; i < ChartParams.attributes.length; i++) + { + if(ev.getSource() == selectAttribute[i]) + { + ChartParams.includeAttribute[i] = selectAttribute[i].isSelected(); + } + //System.out.println("i="+i+" selected:"+ChartParams.includeAttribute[i]); + + } + clearOrder(); + } + + public void actionPerformed(ActionEvent ev) + { + if(ev.getSource() == typeCombo) + { + + if(typeCombo.getSelectedIndex() == ChartParams.LABELS) + { + if(currentType != ChartParams.LABELS) + { + ChartParams.chartType = ChartParams.LABELS; + ChartParams.cancelled = true; + ChartParams.reloadDialog = true; + dispose(); + } + } + else + { + if(currentType == ChartParams.LABELS) + { + ChartParams.chartType = typeCombo.getSelectedIndex(); + ChartParams.cancelled = true; + ChartParams.reloadDialog = true; + dispose(); + } + } + //System.out.println("Type Item selected"); + } + if(ev.getSource() == cancelButton) + { + ChartParams.cancelled = true; + ChartParams.chartType = typeCombo.getSelectedIndex(); + dispose(); + } + + if(ev.getSource() == acceptButton) + { + attributes = new Vector<ChartAttribute>(10,2); + int numSelected = 0; + for(int i=0; i < selectAttribute.length; i++) + { + if(ChartParams.includeAttribute[i]) numSelected++; + } + ChartAttribute [] tempAttributes = new ChartAttribute[numSelected]; + int k = 0; + for (int i=0; i < selectAttribute.length; i++) + { + ChartParams.includeAttribute[i] = selectAttribute[i].isSelected(); + //if(ChartParams.includeAttribute[i]) attributes.addElement(ChartParams.attributes[i]); + int order = ChartParams.attributeOrder[i]; + if(ChartParams.includeAttribute[i]) + { + if(order >= 0) tempAttributes[order] = ChartParams.attributes[i]; + else tempAttributes[k++] = ChartParams.attributes[i]; + } + } + for (int i=0; i < numSelected; i++) + { + attributes.addElement(tempAttributes[i]); + } + if(attributes.size() <= 0) + { + JOptionPane.showMessageDialog(this,iPlug.get("JumpChart.message3"),"Error...",JOptionPane.ERROR_MESSAGE); + return; + } + + ChartParams.autoScale = autoRB.isSelected(); + ChartParams.uniformSize = uniformRB.isSelected(); + try + { + ChartParams.scaleValue = Double.parseDouble(scaleField.getText()); @@ Diff output truncated at 100000 characters. @@ ------------------------------------------------------------------------------ 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