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

Reply via email to