[Schmitzm-commits] r127 - in trunk: . src/org/geotools/coverage src/org/geotools/feature/collection src/org/geotools/gui/swing src/org/geotools/renderer/lite/gridcoverage2d src/schmitzm/data src/schmitzm/data/property src/schmitzm/geotools src/schmitzm/geotools/feature src/schmitzm/geotools/grid src/schmitzm/geotools/gui src/schmitzm/geotools/io src/schmitzm/geotools/map/event src/schmitzm/geotools/styling src/schmitzm/io src/schmitzm/io/dyntxt src/schmitzm/jfree src/schmitzm/jfree/chart src/schmitzm/jfree/chart/renderer src/schmitzm/jfree/chart/selection src/schmitzm/lang src/schmitzm/lang/tree src/schmitzm/swing src/schmitzm/swing/event src/schmitzm/swing/log4j src/schmitzm/swing/menu src/schmitzm/swing/table src/schmitzm/swing/tree src/schmitzm/xml src/skrueger/geotools src/skrueger/geotools/selection src/skrueger/swing

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Sat May 30 16:30:03 CEST 2009


Author: mojays
Date: 2009-05-30 16:29:58 +0200 (Sat, 30 May 2009)
New Revision: 127

Added:
   trunk/src/schmitzm/geotools/gui/MouseSelectionTracker.java
   trunk/src/schmitzm/jfree/chart/
   trunk/src/schmitzm/jfree/chart/ChartMouseSelectionTracker.java
   trunk/src/schmitzm/jfree/chart/SelectableChartPanel.java
   trunk/src/schmitzm/jfree/chart/renderer/
   trunk/src/schmitzm/jfree/chart/renderer/SelectionRenderer.java
   trunk/src/schmitzm/jfree/chart/renderer/SelectionXYLineAndShapeRenderer.java
   trunk/src/schmitzm/jfree/chart/selection/
   trunk/src/schmitzm/jfree/chart/selection/DatasetSelectionModel.java
   trunk/src/schmitzm/jfree/chart/selection/DatasetSelectionModelProvider.java
   trunk/src/schmitzm/jfree/chart/selection/SeriesDatasetSelectionModel.java
Modified:
   trunk/readme.txt
   trunk/src/org/geotools/coverage/CoverageUtil.java
   trunk/src/org/geotools/feature/collection/SubFeatureCollection.java
   trunk/src/org/geotools/gui/swing/JMapPane.java
   trunk/src/org/geotools/gui/swing/MouseSelectionTracker_Public.java
   trunk/src/org/geotools/renderer/lite/gridcoverage2d/RasterSymbolizerSupport.java
   trunk/src/schmitzm/data/AbstractReadableGrid.java
   trunk/src/schmitzm/data/AbstractWritableGrid.java
   trunk/src/schmitzm/data/DataUtil.java
   trunk/src/schmitzm/data/ObjectStructure.java
   trunk/src/schmitzm/data/ObjectStructureUtil.java
   trunk/src/schmitzm/data/RasterOperationTree.java
   trunk/src/schmitzm/data/RasterOperationTreeParser.java
   trunk/src/schmitzm/data/ReadableGrid.java
   trunk/src/schmitzm/data/WritableGridArray.java
   trunk/src/schmitzm/data/WritableGridRaster.java
   trunk/src/schmitzm/data/property/DynamicProperties.java
   trunk/src/schmitzm/data/property/ListProperty.java
   trunk/src/schmitzm/data/property/ListPropertyWriteAccess.java
   trunk/src/schmitzm/data/property/MatrixProperty.java
   trunk/src/schmitzm/data/property/Properties.java
   trunk/src/schmitzm/data/property/Property.java
   trunk/src/schmitzm/data/property/PropertySet.java
   trunk/src/schmitzm/data/property/PropertyType.java
   trunk/src/schmitzm/data/property/PropertyUtil.java
   trunk/src/schmitzm/data/property/ScalarProperty.java
   trunk/src/schmitzm/data/property/ValueProperty.java
   trunk/src/schmitzm/data/property/ValuePropertyType.java
   trunk/src/schmitzm/geotools/GTUtil.java
   trunk/src/schmitzm/geotools/JTSUtil.java
   trunk/src/schmitzm/geotools/feature/AttributeFilter.java
   trunk/src/schmitzm/geotools/feature/AttributeTypeFilter.java
   trunk/src/schmitzm/geotools/feature/FeatureCollectionReader.java
   trunk/src/schmitzm/geotools/feature/FeatureOperationTree.java
   trunk/src/schmitzm/geotools/feature/FeatureOperationTreeFilter.java
   trunk/src/schmitzm/geotools/feature/FeatureOperationTreeParser.java
   trunk/src/schmitzm/geotools/feature/FeatureTypeBuilderTableModel.java
   trunk/src/schmitzm/geotools/feature/FeatureTypeTableModel.java
   trunk/src/schmitzm/geotools/feature/FeatureUtil.java
   trunk/src/schmitzm/geotools/grid/GridStatistic.java
   trunk/src/schmitzm/geotools/grid/GridUtil.java
   trunk/src/schmitzm/geotools/grid/GridZoneStatistic.java
   trunk/src/schmitzm/geotools/grid/ReadableGridCoverage.java
   trunk/src/schmitzm/geotools/gui/FeatureCollectionFilterPanel.java
   trunk/src/schmitzm/geotools/gui/FeatureCollectionFrame.java
   trunk/src/schmitzm/geotools/gui/FeatureCollectionTableModel.java
   trunk/src/schmitzm/geotools/gui/FeatureFilterPanel.java
   trunk/src/schmitzm/geotools/gui/FeatureInputOption.java
   trunk/src/schmitzm/geotools/gui/FeatureLayerFilterDialog.java
   trunk/src/schmitzm/geotools/gui/FeatureTablePane.java
   trunk/src/schmitzm/geotools/gui/FeatureTypeInputOption.java
   trunk/src/schmitzm/geotools/gui/GeoMapPane.java
   trunk/src/schmitzm/geotools/gui/GeoPositionLabel.java
   trunk/src/schmitzm/geotools/gui/GridPanel.java
   trunk/src/schmitzm/geotools/gui/JEditorToolBar.java
   trunk/src/schmitzm/geotools/gui/JMapPane.java
   trunk/src/schmitzm/geotools/gui/LayeredEditorFrame.java
   trunk/src/schmitzm/geotools/gui/LayeredMapFrame.java
   trunk/src/schmitzm/geotools/gui/LayeredMapPane.java
   trunk/src/schmitzm/geotools/gui/MapActionControlPane.java
   trunk/src/schmitzm/geotools/gui/MapContextControlPane.java
   trunk/src/schmitzm/geotools/gui/MapPaneStatusBar.java
   trunk/src/schmitzm/geotools/gui/RasterPositionLabel.java
   trunk/src/schmitzm/geotools/gui/ScalePane.java
   trunk/src/schmitzm/geotools/gui/ScalePanel.java
   trunk/src/schmitzm/geotools/gui/SelectableFeatureTablePane.java
   trunk/src/schmitzm/geotools/gui/StyleToolBar.java
   trunk/src/schmitzm/geotools/io/GeoExportUtil.java
   trunk/src/schmitzm/geotools/io/GeoImportUtil.java
   trunk/src/schmitzm/geotools/map/event/FeatureModifiedEvent.java
   trunk/src/schmitzm/geotools/map/event/FeatureSelectedEvent.java
   trunk/src/schmitzm/geotools/map/event/GeneralSelectionEvent.java
   trunk/src/schmitzm/geotools/map/event/GridCoverageSelectedEvent.java
   trunk/src/schmitzm/geotools/map/event/GridCoverageValueSelectedEvent.java
   trunk/src/schmitzm/geotools/map/event/JEditorPaneEvent.java
   trunk/src/schmitzm/geotools/map/event/JMapPaneListener.java
   trunk/src/schmitzm/geotools/map/event/LayerEditCanceledEvent.java
   trunk/src/schmitzm/geotools/map/event/LayerEditFinishedEvent.java
   trunk/src/schmitzm/geotools/map/event/LayerEditStartedEvent.java
   trunk/src/schmitzm/geotools/map/event/MapAreaChangedEvent.java
   trunk/src/schmitzm/geotools/map/event/MapContextSynchronizer.java
   trunk/src/schmitzm/geotools/map/event/MapLayerAdapter.java
   trunk/src/schmitzm/geotools/map/event/MapLayerListAdapter.java
   trunk/src/schmitzm/geotools/map/event/ObjectSelectionEvent.java
   trunk/src/schmitzm/geotools/map/event/ScaleChangedEvent.java
   trunk/src/schmitzm/geotools/styling/ColorMapManager.java
   trunk/src/schmitzm/geotools/styling/StylingUtil.java
   trunk/src/schmitzm/io/BinaryInputStream.java
   trunk/src/schmitzm/io/BinaryUtil.java
   trunk/src/schmitzm/io/CombinedInputStream.java
   trunk/src/schmitzm/io/FileInputStream.java
   trunk/src/schmitzm/io/FileOutputStream.java
   trunk/src/schmitzm/io/IOUtil.java
   trunk/src/schmitzm/io/InputBuffer.java
   trunk/src/schmitzm/io/LimitedInputStream.java
   trunk/src/schmitzm/io/TokenInputStream.java
   trunk/src/schmitzm/io/dyntxt/DynamicBlock.java
   trunk/src/schmitzm/io/dyntxt/DynamicElement.java
   trunk/src/schmitzm/io/dyntxt/DynamicField.java
   trunk/src/schmitzm/io/dyntxt/DynamicLoop.java
   trunk/src/schmitzm/io/dyntxt/DynamicTextGenerator.java
   trunk/src/schmitzm/io/dyntxt/StaticText.java
   trunk/src/schmitzm/jfree/JFreeChartUtil.java
   trunk/src/schmitzm/lang/HashtableResourceBundle.java
   trunk/src/schmitzm/lang/HashtableWithCollisionList.java
   trunk/src/schmitzm/lang/LangUtil.java
   trunk/src/schmitzm/lang/LimitedVector.java
   trunk/src/schmitzm/lang/PushbackStringTokenizer.java
   trunk/src/schmitzm/lang/ResourceProvider.java
   trunk/src/schmitzm/lang/SortableVector.java
   trunk/src/schmitzm/lang/StepThread.java
   trunk/src/schmitzm/lang/WorkingThread.java
   trunk/src/schmitzm/lang/WorkingThreadAdapter.java
   trunk/src/schmitzm/lang/WorkingThreadListener.java
   trunk/src/schmitzm/lang/tree/OperationTree.java
   trunk/src/schmitzm/lang/tree/OperationTreeParser.java
   trunk/src/schmitzm/swing/BooleanInputOption.java
   trunk/src/schmitzm/swing/BrowseInputOption.java
   trunk/src/schmitzm/swing/ButtonGroup.java
   trunk/src/schmitzm/swing/CaptionsChangeable.java
   trunk/src/schmitzm/swing/CaptionsChangeablePanel.java
   trunk/src/schmitzm/swing/CircleIcon.java
   trunk/src/schmitzm/swing/ColorInputOption.java
   trunk/src/schmitzm/swing/Compass.java
   trunk/src/schmitzm/swing/ExceptionDialog.java
   trunk/src/schmitzm/swing/ExpansionBar.java
   trunk/src/schmitzm/swing/FileInputOption.java
   trunk/src/schmitzm/swing/InputCompass.java
   trunk/src/schmitzm/swing/InputOption.java
   trunk/src/schmitzm/swing/JPanel.java
   trunk/src/schmitzm/swing/ManualInputOption.java
   trunk/src/schmitzm/swing/MultiSplitPane.java
   trunk/src/schmitzm/swing/MultipleOptionPane.java
   trunk/src/schmitzm/swing/ObjectDisplayContainer.java
   trunk/src/schmitzm/swing/OperationTreePanel.java
   trunk/src/schmitzm/swing/RotationSpinnerNumberModel.java
   trunk/src/schmitzm/swing/SelectionInputOption.java
   trunk/src/schmitzm/swing/SelectionPreservingCaret.java
   trunk/src/schmitzm/swing/SliderSpinnerPanel.java
   trunk/src/schmitzm/swing/SortableJTable.java
   trunk/src/schmitzm/swing/SpringUtilities.java
   trunk/src/schmitzm/swing/StatusDialog.java
   trunk/src/schmitzm/swing/StoplightContainer.java
   trunk/src/schmitzm/swing/SwingUtil.java
   trunk/src/schmitzm/swing/SwingWorker.java
   trunk/src/schmitzm/swing/TextAreaPrintStream.java
   trunk/src/schmitzm/swing/TreeSelectionDialog.java
   trunk/src/schmitzm/swing/event/MouseAdapter.java
   trunk/src/schmitzm/swing/event/PopupMenuListener.java
   trunk/src/schmitzm/swing/event/PropertyChangeEmitter.java
   trunk/src/schmitzm/swing/event/WindowEventConnector.java
   trunk/src/schmitzm/swing/log4j/LoggerConfigurationTableModel.java
   trunk/src/schmitzm/swing/log4j/LoggerFrame.java
   trunk/src/schmitzm/swing/menu/ConnectedPopupMenu.java
   trunk/src/schmitzm/swing/menu/ObjectMenuItem.java
   trunk/src/schmitzm/swing/menu/ObjectSubMenu.java
   trunk/src/schmitzm/swing/table/AbstractMutableTableModel.java
   trunk/src/schmitzm/swing/table/ColorEditor.java
   trunk/src/schmitzm/swing/table/ColorRenderer.java
   trunk/src/schmitzm/swing/table/ColorsRenderer.java
   trunk/src/schmitzm/swing/table/ComponentRenderer.java
   trunk/src/schmitzm/swing/table/MutableTable.java
   trunk/src/schmitzm/swing/table/MutableTableModel.java
   trunk/src/schmitzm/swing/table/SelectionTableModel.java
   trunk/src/schmitzm/swing/table/TableComponentMouseListener.java
   trunk/src/schmitzm/swing/tree/EditableNode.java
   trunk/src/schmitzm/swing/tree/EmptyInnerNode.java
   trunk/src/schmitzm/xml/XMLUtil.java
   trunk/src/skrueger/geotools/MapContextManagerInterface.java
   trunk/src/skrueger/geotools/MapPaneToolBar.java
   trunk/src/skrueger/geotools/StyledFeatureCollection.java
   trunk/src/skrueger/geotools/StyledFeatureCollectionTableModel.java
   trunk/src/skrueger/geotools/StyledGridCoverage.java
   trunk/src/skrueger/geotools/StyledGridCoverageReader.java
   trunk/src/skrueger/geotools/StyledMapInterface.java
   trunk/src/skrueger/geotools/StyledMapUtil.java
   trunk/src/skrueger/geotools/selection/FeatureMapLayerSelectionSynchronizer.java
   trunk/src/skrueger/geotools/selection/StyledFeatureLayerSelectionModel.java
   trunk/src/skrueger/geotools/selection/StyledLayerSelectionModel.java
   trunk/src/skrueger/geotools/selection/StyledLayerSelectionModelSynchronizer.java
   trunk/src/skrueger/geotools/selection/TableSelectionSynchronizer.java
   trunk/src/skrueger/swing/TranslationEditJPanel.java
Log:
Many many many new JFreeChart stuff (selection panel and renderer, etc.)
- schmitzm.jfree.chart.SelectableChartPanel
- schmitzm.jfree.chart.ChartMouseSelectionTracker
- schmitzm.jfree.chart.selection.*
- schmitzm.jfree.chart.renderer.*
Plus: Imports organized!

Modified: trunk/readme.txt
===================================================================
--- trunk/readme.txt	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/readme.txt	2009-05-30 14:29:58 UTC (rev 127)
@@ -25,7 +25,7 @@
      - Geotools 2.4.5
        + gt2-arcgrid-2.3.0-M0.jar
        + junit-4.4.jar
-     - jFreeChart 1.0.6
+     - jFreeChart 1.0.13
      - Log4j 1.2.14
      - JINI
 

Modified: trunk/src/org/geotools/coverage/CoverageUtil.java
===================================================================
--- trunk/src/org/geotools/coverage/CoverageUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/org/geotools/coverage/CoverageUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,7 +1,5 @@
 package org.geotools.coverage;
 
-import org.geotools.coverage.Category;
-import org.geotools.coverage.GeophysicsCategory;
 import org.opengis.referencing.operation.TransformException;
 
 /**

Modified: trunk/src/org/geotools/feature/collection/SubFeatureCollection.java
===================================================================
--- trunk/src/org/geotools/feature/collection/SubFeatureCollection.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/org/geotools/feature/collection/SubFeatureCollection.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -30,12 +30,11 @@
 import org.geotools.feature.IllegalAttributeException;
 import org.geotools.feature.visitor.FeatureVisitor;
 import org.geotools.geometry.jts.ReferencedEnvelope;
+import org.geotools.util.ProgressListener;
 import org.opengis.filter.Filter;
 import org.opengis.filter.FilterFactory;
 import org.opengis.filter.sort.SortBy;
-import org.geotools.util.ProgressListener;
 
-import com.vividsolutions.jts.geom.Envelope;
 import com.vividsolutions.jts.geom.Geometry;
 
 /**

Modified: trunk/src/org/geotools/gui/swing/JMapPane.java
===================================================================
--- trunk/src/org/geotools/gui/swing/JMapPane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/org/geotools/gui/swing/JMapPane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -58,11 +58,8 @@
 import javax.swing.JPanel;
 
 import org.apache.log4j.Logger;
-import org.geotools.data.memory.MemoryFeatureCollection;
-import org.geotools.feature.Feature;
 import org.geotools.feature.FeatureCollection;
 import org.geotools.filter.IllegalFilterException;
-import org.geotools.geometry.jts.ReferencedEnvelope;
 import org.geotools.gui.swing.event.HighlightChangeListener;
 import org.geotools.gui.swing.event.HighlightChangedEvent;
 import org.geotools.gui.swing.event.SelectionChangeListener;
@@ -91,7 +88,6 @@
 
 import schmitzm.swing.SwingUtil;
 
-import com.sun.corba.se.spi.legacy.connection.GetEndPointInfoAgainException;
 import com.vividsolutions.jts.geom.Coordinate;
 import com.vividsolutions.jts.geom.Envelope;
 import com.vividsolutions.jts.geom.Geometry;

Modified: trunk/src/org/geotools/gui/swing/MouseSelectionTracker_Public.java
===================================================================
--- trunk/src/org/geotools/gui/swing/MouseSelectionTracker_Public.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/org/geotools/gui/swing/MouseSelectionTracker_Public.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,6 +1,5 @@
 package org.geotools.gui.swing;
 
-import org.geotools.gui.swing.MouseSelectionTracker;
 
 /**
  * Diese Klasse stellt lediglich eine Dummy-Klasse dar, um die Geotools-Klasse

Modified: trunk/src/org/geotools/renderer/lite/gridcoverage2d/RasterSymbolizerSupport.java
===================================================================
--- trunk/src/org/geotools/renderer/lite/gridcoverage2d/RasterSymbolizerSupport.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/org/geotools/renderer/lite/gridcoverage2d/RasterSymbolizerSupport.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -20,8 +20,6 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Random;
-import java.util.Vector;
 
 import javax.media.jai.util.Range;
 
@@ -31,8 +29,6 @@
 import org.geotools.coverage.GridSampleDimension;
 import org.geotools.coverage.grid.GridCoverage2D;
 import org.geotools.coverage.grid.GridGeometry2D;
-import org.geotools.resources.i18n.Vocabulary;
-import org.geotools.resources.i18n.VocabularyKeys;
 import org.geotools.styling.ColorMap;
 import org.geotools.styling.ColorMapEntry;
 import org.geotools.styling.RasterSymbolizer;
@@ -41,10 +37,8 @@
 import org.opengis.coverage.grid.GridCoverage;
 import org.opengis.filter.expression.Expression;
 
-//ms-01.sn (only if the whole SCHMITZ library is available
 import schmitzm.geotools.styling.StylingUtil;
 import schmitzm.lang.LangUtil;
-//ms-01.en
 
 /**
  * A helper class for {@link GridCoverage} objects rendering SLD stylers

Modified: trunk/src/schmitzm/data/AbstractReadableGrid.java
===================================================================
--- trunk/src/schmitzm/data/AbstractReadableGrid.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/AbstractReadableGrid.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,8 @@
 
 package schmitzm.data;
 
+import org.geotools.referencing.crs.DefaultGeographicCRS;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
-import org.geotools.referencing.crs.DefaultGeographicCRS;
 
 import schmitzm.geotools.grid.GridUtil;
 import appl.data.LoadingException;

Modified: trunk/src/schmitzm/data/AbstractWritableGrid.java
===================================================================
--- trunk/src/schmitzm/data/AbstractWritableGrid.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/AbstractWritableGrid.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,9 +12,6 @@
 package schmitzm.data;
 
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
-import org.geotools.referencing.crs.DefaultGeographicCRS;
-import appl.data.LoadingException;
-import schmitzm.data.WritableGrid;
 
 /**
  * Diese Klasse bildet eine Basis-Implementierung von {@link WritableGrid}.

Modified: trunk/src/schmitzm/data/DataUtil.java
===================================================================
--- trunk/src/schmitzm/data/DataUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/DataUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,8 +1,9 @@
 package schmitzm.data;
 
+import java.util.Locale;
+
 import schmitzm.lang.LangUtil;
 import schmitzm.lang.ResourceProvider;
-import java.util.Locale;
 
 /**
  * Diese Klasse enthaelt statische Hilfs-Methoden fuer das Package

Modified: trunk/src/schmitzm/data/ObjectStructure.java
===================================================================
--- trunk/src/schmitzm/data/ObjectStructure.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/ObjectStructure.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,13 +11,13 @@
 
 package schmitzm.data;
 
-import java.util.Enumeration;
-// nur fuer Doku
-import schmitzm.data.property.Property;
-import schmitzm.data.property.ScalarProperty;
-import schmitzm.data.property.ListProperty;
-import schmitzm.data.property.Properties;
-import schmitzm.data.property.PropertySet;
+import java.util.Enumeration;
+
+import schmitzm.data.property.ListProperty;
+import schmitzm.data.property.Properties;
+import schmitzm.data.property.Property;
+import schmitzm.data.property.PropertySet;
+import schmitzm.data.property.ScalarProperty;
 
 /**
  * Diese Klasse stellt die Struktur (nicht den Inhalt) eines "komplexen" Objekts

Modified: trunk/src/schmitzm/data/ObjectStructureUtil.java
===================================================================
--- trunk/src/schmitzm/data/ObjectStructureUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/ObjectStructureUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,7 @@
 
 package schmitzm.data;
 
-import java.util.Enumeration;
+import java.util.Enumeration;
 
 /**
  * Diese Klasse stellt statische Methoden fuer die Arbeit mit

Modified: trunk/src/schmitzm/data/RasterOperationTree.java
===================================================================
--- trunk/src/schmitzm/data/RasterOperationTree.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/RasterOperationTree.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,8 @@
 
 package schmitzm.data;
 
+import schmitzm.lang.tree.BinaryTreeNode;
 import schmitzm.lang.tree.OperationTree;
-import schmitzm.lang.tree.BinaryTreeNode;
 import schmitzm.lang.tree.TreeNode;
 
 /**

Modified: trunk/src/schmitzm/data/RasterOperationTreeParser.java
===================================================================
--- trunk/src/schmitzm/data/RasterOperationTreeParser.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/RasterOperationTreeParser.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,11 @@
 
 package schmitzm.data;
 
+import schmitzm.data.RasterOperationTree.FilterReferenceNode;
+import schmitzm.data.RasterOperationTree.RasterReferenceNode;
 import schmitzm.lang.tree.BinaryTreeNode;
 import schmitzm.lang.tree.OperationTree;
 import schmitzm.lang.tree.OperationTreeParser;
-import schmitzm.data.RasterOperationTree.*;
 
 /**
  * Diese Klasse stellt einen Parser fuer einen {@linkplain RasterOperationTree Raster-Operatorbaum}

Modified: trunk/src/schmitzm/data/ReadableGrid.java
===================================================================
--- trunk/src/schmitzm/data/ReadableGrid.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/ReadableGrid.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,10 @@
 
 package schmitzm.data;
 
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import org.opengis.referencing.crs.CoordinateReferenceSystem;
+
+import appl.data.LateLoadable;
 
-import appl.data.LateLoadable;
-
 /**
  * Dieses Interface stellt die Basis fuer ein georeferenziertes
  * Raster dar.

Modified: trunk/src/schmitzm/data/WritableGridArray.java
===================================================================
--- trunk/src/schmitzm/data/WritableGridArray.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/WritableGridArray.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,20 +11,18 @@
 
 package schmitzm.data;
 
+import java.awt.geom.Rectangle2D;
 import java.awt.image.DataBuffer;
-import java.awt.image.DataBufferInt;
-import java.awt.image.DataBufferFloat;
 import java.awt.image.DataBufferDouble;
-import java.awt.image.RenderedImage;
+import java.awt.image.DataBufferFloat;
+import java.awt.image.DataBufferInt;
 import java.awt.image.Raster;
-import java.awt.geom.Rectangle2D;
+import java.awt.image.RenderedImage;
 import java.io.IOException;
 import java.io.Serializable;
 
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
 
-import schmitzm.data.WritableGrid;
-
 import appl.util.RasterMetaData;
 
 /**

Modified: trunk/src/schmitzm/data/WritableGridRaster.java
===================================================================
--- trunk/src/schmitzm/data/WritableGridRaster.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/WritableGridRaster.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,20 +11,17 @@
 
 package schmitzm.data;
 
+import java.awt.Point;
+import java.awt.geom.Rectangle2D;
 import java.awt.image.ComponentSampleModel;
-import java.awt.image.WritableRaster;
 import java.awt.image.DataBuffer;
+import java.awt.image.WritableRaster;
 
-import java.awt.Point;
-import java.awt.geom.Rectangle2D;
-
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
 
+import schmitzm.geotools.GTUtil;
 import appl.data.LoadingException;
 
-import schmitzm.data.WritableGrid;
-import schmitzm.geotools.GTUtil;
-
 /**
  * Diese Klasse stellt eine Implementierung von {@link WritableGrid} dar und
  * basiert auf der Standard-Java Raster-Implementierung {@link WritableRaster}.

Modified: trunk/src/schmitzm/data/property/DynamicProperties.java
===================================================================
--- trunk/src/schmitzm/data/property/DynamicProperties.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/DynamicProperties.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,7 @@
 
 package schmitzm.data.property;
 
-import schmitzm.data.event.ObjectTraceable;
+import schmitzm.data.event.ObjectTraceable;
 
 /**
  * Diese Interface sollten alle Objekte implementieren, die sich <b>dynamisch</b>

Modified: trunk/src/schmitzm/data/property/ListProperty.java
===================================================================
--- trunk/src/schmitzm/data/property/ListProperty.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/ListProperty.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,6 +12,7 @@
 package schmitzm.data.property;
 
 import java.util.Vector;
+
 import schmitzm.data.ObjectStructure;
 import schmitzm.data.event.Invoker;
 import schmitzm.data.event.ObjectChangeEvent;

Modified: trunk/src/schmitzm/data/property/ListPropertyWriteAccess.java
===================================================================
--- trunk/src/schmitzm/data/property/ListPropertyWriteAccess.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/ListPropertyWriteAccess.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,6 @@
 
 package schmitzm.data.property;
 
-import schmitzm.data.event.Invoker;
-import schmitzm.data.event.ObjectChangeEvent;
 
 /**
  * Diese Klasse stellt ein Recht auf Schreibzugriff fuer eine

Modified: trunk/src/schmitzm/data/property/MatrixProperty.java
===================================================================
--- trunk/src/schmitzm/data/property/MatrixProperty.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/MatrixProperty.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,10 @@
 
 package schmitzm.data.property;
 
-import schmitzm.lang.MultiDimArray;
-import schmitzm.data.event.Invoker;
-import schmitzm.data.event.ObjectChangeEvent;
-import schmitzm.data.ObjectStructure;
+import schmitzm.data.ObjectStructure;
+import schmitzm.data.event.Invoker;
+import schmitzm.data.event.ObjectChangeEvent;
+import schmitzm.lang.MultiDimArray;
 
 /**
  * Diese Klasse stellt eine Matrix-Eigenschaft dar, die Objekte eines bestimmten

Modified: trunk/src/schmitzm/data/property/Properties.java
===================================================================
--- trunk/src/schmitzm/data/property/Properties.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/Properties.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,7 @@
 
 package schmitzm.data.property;
 
-import schmitzm.data.ObjectStructure;
+import schmitzm.data.ObjectStructure;
 
 /**
  * Diese Interface sollten alle Objekte implementieren, die sich (fest) aus

Modified: trunk/src/schmitzm/data/property/Property.java
===================================================================
--- trunk/src/schmitzm/data/property/Property.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/Property.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,9 @@
 
 package schmitzm.data.property;
 
-import schmitzm.data.ObjectStructure;
 import schmitzm.data.event.AbstractObjectTraceable;
-import schmitzm.data.event.ObjectCloseEvent;
 import schmitzm.data.event.Invoker;
+import schmitzm.data.event.ObjectCloseEvent;
 
 /**
  * Diese Klasse stellt den Obertyp fuer eine Eigenschaft dar. Eine Eigenschaft

Modified: trunk/src/schmitzm/data/property/PropertySet.java
===================================================================
--- trunk/src/schmitzm/data/property/PropertySet.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/PropertySet.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,18 +11,17 @@
 
 package schmitzm.data.property;
 
-import java.util.Hashtable;
-import java.util.Vector;
-import java.util.Enumeration;
-import java.util.NoSuchElementException;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
+
+import schmitzm.data.ObjectStructure;
+import schmitzm.data.ObjectStructureUtil;
+import schmitzm.data.event.AbstractObjectTraceable;
+import schmitzm.data.event.Invoker;
+import schmitzm.data.event.ObjectChangeEvent;
+import schmitzm.data.event.ObjectTraceable;
 
-import schmitzm.data.ObjectStructure;
-import schmitzm.data.ObjectStructureUtil;
-import schmitzm.data.event.Invoker;
-import schmitzm.data.event.ObjectTraceable;
-import schmitzm.data.event.AbstractObjectTraceable;
-import schmitzm.data.event.ObjectChangeEvent;
-
 /**
  * Diese Klasse stellt eine Menge an Eigenschaften dar. Die einzelnen Properties
  * werden parallel in einer {@link java.util.Hashtable} und einem

Modified: trunk/src/schmitzm/data/property/PropertyType.java
===================================================================
--- trunk/src/schmitzm/data/property/PropertyType.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/PropertyType.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,7 @@
 
 package schmitzm.data.property;
 
-import schmitzm.temp.BaseTypeUtil;
+import schmitzm.temp.BaseTypeUtil;
 
 /**
  * Diese Klasse stellt allgemein den (strukturellen) Typ einer Eigenschaft dar.

Modified: trunk/src/schmitzm/data/property/PropertyUtil.java
===================================================================
--- trunk/src/schmitzm/data/property/PropertyUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/PropertyUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,6 +12,7 @@
 package schmitzm.data.property;
 
 import java.util.Vector;
+
 import schmitzm.lang.LangUtil;
 import schmitzm.temp.BaseTypeUtil;
 

Modified: trunk/src/schmitzm/data/property/ScalarProperty.java
===================================================================
--- trunk/src/schmitzm/data/property/ScalarProperty.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/ScalarProperty.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,8 @@
 
 package schmitzm.data.property;
 
+import schmitzm.data.event.Invoker;
 import schmitzm.data.event.ObjectChangeEvent;
-import schmitzm.data.event.Invoker;
 
 /**
  * Diese Klasse stellt eine Eigenschaft dar, welche genau einen Wert

Modified: trunk/src/schmitzm/data/property/ValueProperty.java
===================================================================
--- trunk/src/schmitzm/data/property/ValueProperty.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/ValueProperty.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,9 +11,9 @@
 
 package schmitzm.data.property;
 
-import java.util.Vector;
 import java.util.Enumeration;
 import java.util.NoSuchElementException;
+import java.util.Vector;
 
 import schmitzm.data.ObjectStructure;
 

Modified: trunk/src/schmitzm/data/property/ValuePropertyType.java
===================================================================
--- trunk/src/schmitzm/data/property/ValuePropertyType.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/data/property/ValuePropertyType.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,9 +11,9 @@
 
 package schmitzm.data.property;
 
-import schmitzm.data.ObjectStructure;
-import schmitzm.data.ObjectStructureUtil;
-import schmitzm.temp.BaseTypeUtil;
+import schmitzm.data.ObjectStructure;
+import schmitzm.data.ObjectStructureUtil;
+import schmitzm.temp.BaseTypeUtil;
 
 /**
  * Diese Klasse repraesentiert den Datentyp einer {@linkplain ValueProperty Wert-Eigenschaft}.

Modified: trunk/src/schmitzm/geotools/GTUtil.java
===================================================================
--- trunk/src/schmitzm/geotools/GTUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/GTUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -17,26 +17,13 @@
 import java.util.SortedMap;
 import java.util.TreeMap;
 
-import org.geotools.data.FeatureSource;
-import org.geotools.feature.FeatureCollection;
-import org.geotools.feature.GeometryAttributeType;
-import org.geotools.geometry.jts.JTS;
+import org.apache.log4j.Logger;
 import org.geotools.geometry.Envelope2D;
+import org.geotools.geometry.jts.JTS;
 import org.geotools.referencing.CRS;
-
+import org.opengis.geometry.Envelope;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
-import org.opengis.geometry.Envelope; // gt2-2.4.2
-//import org.opengis.spatialschema.geometry.Envelope; // gt2-2.3.4
 
-import org.apache.log4j.Logger;
-
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
-
 /**
  * Diese Klasse enthaelt allgemeine Funktionen fuer die Arbeit mit Geotools.
  * @author <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)

Modified: trunk/src/schmitzm/geotools/JTSUtil.java
===================================================================
--- trunk/src/schmitzm/geotools/JTSUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/JTSUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,19 +11,15 @@
 
 package schmitzm.geotools;
 
+import org.apache.log4j.Logger;
 import org.geotools.geometry.jts.JTS;
 import org.geotools.referencing.CRS;
-
-import com.vividsolutions.jts.geom.Envelope;
-
 import org.opengis.referencing.FactoryException;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
 import org.opengis.referencing.operation.MathTransform;
 import org.opengis.referencing.operation.TransformException;
 
-import org.apache.log4j.Logger;
-import org.opengis.geometry.DirectPosition; // gt2-2.4.2
-//import org.opengis.spatialschema.geometry.DirectPosition; // gt2-2.3.1
+import com.vividsolutions.jts.geom.Envelope;
 
 /**
  * Diese Klasse enthaelt allgemeine Funktionen fuer die Arbeit mit den

Modified: trunk/src/schmitzm/geotools/feature/AttributeFilter.java
===================================================================
--- trunk/src/schmitzm/geotools/feature/AttributeFilter.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/feature/AttributeFilter.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,10 +1,9 @@
 package schmitzm.geotools.feature;
 
-import org.geotools.filter.FilterFactoryImpl;
-import org.geotools.filter.AbstractFilterImpl;
 import org.geotools.feature.Feature;
-// fuer Doku
+import org.geotools.filter.AbstractFilterImpl;
 import org.geotools.filter.Filter;
+import org.geotools.filter.FilterFactoryImpl;
 
 /**
  * Diese Klasse stellt einen {@link Filter} dar, der einen Attributwert mit einem

Modified: trunk/src/schmitzm/geotools/feature/AttributeTypeFilter.java
===================================================================
--- trunk/src/schmitzm/geotools/feature/AttributeTypeFilter.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/feature/AttributeTypeFilter.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -3,6 +3,8 @@
 import org.geotools.feature.AttributeType;
 import org.geotools.feature.type.GeometricAttributeType;
 
+import schmitzm.geotools.gui.FeatureFilterPanel;
+
 // fuer Doku
 
 /**

Modified: trunk/src/schmitzm/geotools/feature/FeatureCollectionReader.java
===================================================================
--- trunk/src/schmitzm/geotools/feature/FeatureCollectionReader.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/feature/FeatureCollectionReader.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,16 +11,15 @@
 
 package schmitzm.geotools.feature;
 
-import java.io.IOException;
+import java.io.IOException;
+
+import org.geotools.data.FeatureReader;
+import org.geotools.feature.Feature;
+import org.geotools.feature.FeatureCollection;
+import org.geotools.feature.FeatureIterator;
+import org.geotools.feature.FeatureType;
+import org.geotools.feature.collection.FeatureIteratorImpl;
 
-import org.geotools.data.FeatureReader;
-import org.geotools.feature.Feature;
-import org.geotools.feature.FeatureType;
-import org.geotools.feature.FeatureIterator;
-import org.geotools.feature.FeatureCollection;
-
-import org.geotools.feature.collection.FeatureIteratorImpl;
-
 /**
  * Diese Klasse implementiert einen {@link FeatureReader} ueber den
  * {@link FeatureIterator} einer {@link FeatureCollection}.<br>

Modified: trunk/src/schmitzm/geotools/feature/FeatureOperationTree.java
===================================================================
--- trunk/src/schmitzm/geotools/feature/FeatureOperationTree.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/feature/FeatureOperationTree.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -13,9 +13,8 @@
 
 import org.geotools.feature.Feature;
 
-import schmitzm.lang.LangUtil;
-import schmitzm.lang.tree.OperationTree;
 import schmitzm.lang.tree.BinaryTreeNode;
+import schmitzm.lang.tree.OperationTree;
 import schmitzm.lang.tree.TreeNode;
 
 /**

Modified: trunk/src/schmitzm/geotools/feature/FeatureOperationTreeFilter.java
===================================================================
--- trunk/src/schmitzm/geotools/feature/FeatureOperationTreeFilter.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/feature/FeatureOperationTreeFilter.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,9 +10,9 @@
  **/
 package schmitzm.geotools.feature;
 
+import org.geotools.feature.Feature;
 import org.geotools.filter.AbstractFilterImpl;
 import org.geotools.filter.FilterFactoryImpl;
-import org.geotools.feature.Feature;
 
 /**
  * Dieser Filter nutzt einen {@link FeatureOperationTree}, um die

Modified: trunk/src/schmitzm/geotools/feature/FeatureOperationTreeParser.java
===================================================================
--- trunk/src/schmitzm/geotools/feature/FeatureOperationTreeParser.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/feature/FeatureOperationTreeParser.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,9 +12,7 @@
 package schmitzm.geotools.feature;
 
 import schmitzm.lang.tree.BinaryTreeNode;
-import schmitzm.lang.tree.OperationTree;
 import schmitzm.lang.tree.OperationTreeParser;
-import schmitzm.data.RasterOperationTree.*;
 
 /**
  * Diese Klasse stellt einen Parser fuer einen {@linkplain FeatureOperationTree Feature-Operatorbaum}

Modified: trunk/src/schmitzm/geotools/feature/FeatureTypeBuilderTableModel.java
===================================================================
--- trunk/src/schmitzm/geotools/feature/FeatureTypeBuilderTableModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/feature/FeatureTypeBuilderTableModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,21 +10,23 @@
  **/
 package schmitzm.geotools.feature;
 
-import javax.smartcardio.ATR;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Vector;
+
 import javax.swing.CellEditor;
 import javax.swing.DefaultCellEditor;
 import javax.swing.JCheckBox;
 import javax.swing.JComboBox;
 import javax.swing.JTable;
 import javax.swing.JTextField;
-import javax.swing.table.AbstractTableModel;
+import javax.swing.table.TableModel;
 
+import org.geotools.feature.AttributeType;
 import org.geotools.feature.AttributeTypeFactory;
 import org.geotools.feature.DefaultAttributeType;
 import org.geotools.feature.FeatureType;
-import org.geotools.feature.AttributeType;
 import org.geotools.feature.FeatureTypeBuilder;
-import org.geotools.feature.GeometryAttributeType;
 import org.geotools.feature.SchemaException;
 import org.geotools.feature.type.GeometricAttributeType;
 import org.geotools.gui.swing.referencing.CoordinateTableModel.CellRenderer;
@@ -35,21 +37,12 @@
 import schmitzm.swing.SelectionInputOption;
 import schmitzm.swing.table.AbstractMutableTableModel;
 import schmitzm.swing.table.ComponentRenderer;
-import schmitzm.swing.table.MutableTableModel;
 import schmitzm.temp.BaseTypeUtil;
 
-import com.vividsolutions.jts.geom.Geometry;
 import com.vividsolutions.jts.geom.LineString;
 import com.vividsolutions.jts.geom.Point;
 import com.vividsolutions.jts.geom.Polygon;
 
-// fuer Doku
-import javax.swing.table.TableModel;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Vector;
-
 /**
  * Diese Klasse stellt ein {@link TableModel} auf einem "unfertigen" {@link FeatureType}
  * dar. Dieses definiert vier Spalten:

Modified: trunk/src/schmitzm/geotools/feature/FeatureTypeTableModel.java
===================================================================
--- trunk/src/schmitzm/geotools/feature/FeatureTypeTableModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/feature/FeatureTypeTableModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,6 +12,8 @@
 
 import java.util.Vector;
 
+import javax.swing.table.TableModel;
+
 import org.geotools.feature.AttributeType;
 import org.geotools.feature.FeatureType;
 

Modified: trunk/src/schmitzm/geotools/feature/FeatureUtil.java
===================================================================
--- trunk/src/schmitzm/geotools/feature/FeatureUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/feature/FeatureUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -41,6 +41,7 @@
 import org.geotools.feature.IllegalAttributeException;
 import org.geotools.feature.SchemaException;
 import org.geotools.feature.type.GeometricAttributeType;
+import org.geotools.filter.FilterFactory;
 import org.geotools.filter.FilterFactoryImpl;
 import org.geotools.map.MapLayer;
 import org.geotools.styling.Graphic;
@@ -48,7 +49,6 @@
 import org.geotools.styling.Style;
 import org.geotools.styling.StyleBuilder;
 import org.geotools.styling.Symbolizer;
-import org.geotools.filter.FilterFactory;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
 
 import schmitzm.lang.LangUtil;

Modified: trunk/src/schmitzm/geotools/grid/GridStatistic.java
===================================================================
--- trunk/src/schmitzm/geotools/grid/GridStatistic.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/grid/GridStatistic.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -14,7 +14,6 @@
 import java.util.SortedMap;
 import java.util.TreeMap;
 
-// nur fuer Doku
 import org.geotools.coverage.grid.GridCoverage2D;
 
 /**

Modified: trunk/src/schmitzm/geotools/grid/GridUtil.java
===================================================================
--- trunk/src/schmitzm/geotools/grid/GridUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/grid/GridUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -22,12 +22,13 @@
 import java.awt.image.WritableRaster;
 import java.text.DecimalFormat;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Hashtable;
 import java.util.Map;
 import java.util.Set;
-import java.util.HashSet;
 
-import org.geotools.brewer.color.ColorPalette;
+import org.apache.log4j.Category;
+import org.apache.log4j.Logger;
 import org.geotools.coverage.FactoryFinder;
 import org.geotools.coverage.GridSampleDimension;
 import org.geotools.coverage.grid.GridCoverage2D;
@@ -38,18 +39,11 @@
 import org.geotools.styling.RasterSymbolizer;
 import org.geotools.styling.Style;
 import org.geotools.styling.StyleBuilder;
-import org.opengis.coverage.grid.GridRange;
 import org.opengis.coverage.PointOutsideCoverageException;
 import org.opengis.coverage.SampleDimension;
-import org.opengis.geometry.Envelope; // gt2-2.4.2
-//import org.opengis.spatialschema.geometry.Envelope; // gt2-2.3.4
+import org.opengis.coverage.grid.GridRange;
+import org.opengis.geometry.Envelope;
 
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LinearRing;
-
 import schmitzm.data.WritableGrid;
 import schmitzm.data.WritableGridArray;
 import schmitzm.geotools.GTUtil;
@@ -57,8 +51,10 @@
 import schmitzm.lang.LangUtil;
 import schmitzm.swing.SwingUtil;
 
-import org.apache.log4j.Category;
-import org.apache.log4j.Logger;
+import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.Geometry;
+import com.vividsolutions.jts.geom.GeometryFactory;
+import com.vividsolutions.jts.geom.LineString;
 
 /**
  * Diese Klasse stellt statische Funktionen fuer die Arbeit mit

Modified: trunk/src/schmitzm/geotools/grid/GridZoneStatistic.java
===================================================================
--- trunk/src/schmitzm/geotools/grid/GridZoneStatistic.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/grid/GridZoneStatistic.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,6 @@
 
 package schmitzm.geotools.grid;
 
-import java.util.Map;
 import java.util.SortedMap;
 import java.util.SortedSet;
 import java.util.TreeMap;

Modified: trunk/src/schmitzm/geotools/grid/ReadableGridCoverage.java
===================================================================
--- trunk/src/schmitzm/geotools/grid/ReadableGridCoverage.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/grid/ReadableGridCoverage.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,32 +11,21 @@
 
 package schmitzm.geotools.grid;
 
-import java.awt.Point;
-import java.awt.geom.Rectangle2D;
-import java.awt.image.Raster;
-import java.awt.image.WritableRaster;
 import java.awt.image.DataBuffer;
-import java.awt.image.BufferedImage;
-import java.awt.image.RenderedImage;
-import java.awt.image.WritableRenderedImage;
+import java.awt.image.Raster;
 import java.util.Map;
+
 import javax.media.jai.PlanarImage;
-import javax.media.jai.RasterFactory;
 
-import org.opengis.coverage.grid.GridCoverage;
-
 import org.geotools.coverage.GridSampleDimension;
 import org.geotools.coverage.grid.GridCoverage2D;
 import org.geotools.coverage.grid.GridGeometry2D;
-import org.geotools.coverage.grid.GridCoverageFactory;
 import org.geotools.geometry.Envelope2D;
+import org.opengis.coverage.grid.GridCoverage;
 
-import appl.data.LoadingException;
-
 import schmitzm.data.AbstractReadableGrid;
-import schmitzm.data.AbstractWritableGrid;
 import schmitzm.data.ReadableGrid;
-import schmitzm.data.WritableGrid;
+import appl.data.LoadingException;
 
 /**
  * Diese Klasse stellt ein {@linkplain GridCoverage2D GeoTools-GridCoverage} (2D) dar,

Modified: trunk/src/schmitzm/geotools/gui/FeatureCollectionFilterPanel.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/FeatureCollectionFilterPanel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/FeatureCollectionFilterPanel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,39 +11,32 @@
 package schmitzm.geotools.gui;
 
 import java.awt.Color;
-import java.awt.Dimension;
 import java.awt.Font;
-import java.awt.Graphics;
-import java.awt.Insets;
 import java.awt.GridBagConstraints;
-import java.awt.event.ActionListener;
+import java.awt.Insets;
 import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
+import java.util.Map;
 
-import javax.swing.AbstractAction;
 import javax.swing.JButton;
 import javax.swing.JLabel;
-import javax.swing.ListSelectionModel;
 import javax.swing.JTextField;
+import javax.swing.ListSelectionModel;
 import javax.swing.event.AncestorEvent;
 import javax.swing.event.AncestorListener;
 
-import java.util.Map;
-
-import schmitzm.swing.ExceptionDialog;
-import schmitzm.swing.SwingUtil;
-import schmitzm.geotools.feature.AttributeTypeFilter;
-
 import org.geotools.feature.FeatureCollection;
 import org.geotools.styling.Style;
-
-// fuer Doku
 import org.opengis.filter.Filter;
+
+import schmitzm.geotools.feature.AttributeTypeFilter;
 import schmitzm.geotools.feature.FeatureOperationTree;
-import schmitzm.geotools.feature.FeatureOperationTreeParser;
 import schmitzm.geotools.feature.FeatureOperationTreeFilter;
-import skrueger.swing.OkButton;
+import schmitzm.geotools.feature.FeatureOperationTreeParser;
+import schmitzm.swing.ExceptionDialog;
+import schmitzm.swing.SwingUtil;
 
 /**
  * Diese Klasse stellt ein Panel zur Verfuegung, mit der ein

Modified: trunk/src/schmitzm/geotools/gui/FeatureCollectionFrame.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/FeatureCollectionFrame.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/FeatureCollectionFrame.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,12 +12,11 @@
 package schmitzm.geotools.gui;
 
 import java.awt.BorderLayout;
-import java.awt.Frame;
+
 import javax.swing.JFrame;
 
 import org.geotools.feature.FeatureCollection;
 
-import schmitzm.geotools.gui.FeatureTablePane;
 import schmitzm.swing.table.SelectionTableModel;
 
 /**

Modified: trunk/src/schmitzm/geotools/gui/FeatureCollectionTableModel.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/FeatureCollectionTableModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/FeatureCollectionTableModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -13,20 +13,17 @@
 import java.util.HashMap;
 import java.util.Vector;
 
-import org.geotools.data.FeatureSource;
+import javax.swing.table.AbstractTableModel;
+
 import org.geotools.feature.AttributeType;
 import org.geotools.feature.Feature;
 import org.geotools.feature.FeatureCollection;
 import org.geotools.feature.FeatureCollections;
 import org.geotools.feature.FeatureIterator;
 import org.geotools.feature.FeatureType;
-import org.geotools.geometry.jts.ReferencedEnvelope;
 
-import com.vividsolutions.jts.geom.Envelope;
-
 import schmitzm.geotools.feature.AttributeTypeFilter;
 import schmitzm.geotools.feature.FeatureUtil;
-import javax.swing.table.AbstractTableModel;
 
 /**
  * Tabellen-Modell fuer eine FeatureCollection. Aus Effizienzgruenden

Modified: trunk/src/schmitzm/geotools/gui/FeatureFilterPanel.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/FeatureFilterPanel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/FeatureFilterPanel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,36 +1,28 @@
 package schmitzm.geotools.gui;
 
-import java.awt.Insets;
 import java.awt.GridBagConstraints;
+import java.awt.Insets;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.util.Map;
 
+import javax.swing.JLabel;
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
-import javax.swing.JLabel;
-import javax.swing.ListSelectionModel;
 import javax.swing.JTextField;
-import javax.swing.table.JTableHeader;
+import javax.swing.ListSelectionModel;
 
-import schmitzm.swing.SwingUtil;
-
-import org.geotools.filter.Filter;
-import org.geotools.feature.FeatureType;
 import org.geotools.feature.FeatureCollection;
-import org.geotools.feature.AttributeType;
-import org.geotools.feature.type.GeometricAttributeType;
-import org.geotools.data.DefaultFeatureResults;
+import org.geotools.feature.FeatureType;
+import org.geotools.filter.Filter;
 
-import schmitzm.swing.OperationTreePanel;
-import schmitzm.geotools.feature.FeatureTypeTableModel;
-import schmitzm.geotools.feature.FeatureOperationTreeFilter;
-import schmitzm.geotools.feature.FeatureTypeTableModel;
 import schmitzm.geotools.feature.AttributeTypeFilter;
-
-// fuer Doku
 import schmitzm.geotools.feature.FeatureOperationTree;
+import schmitzm.geotools.feature.FeatureOperationTreeFilter;
 import schmitzm.geotools.feature.FeatureOperationTreeParser;
+import schmitzm.geotools.feature.FeatureTypeTableModel;
+import schmitzm.swing.OperationTreePanel;
+import schmitzm.swing.SwingUtil;
 
 /**
  * Diese Klasse stellt ein Panel zur Vefuegung, mit der ein

Modified: trunk/src/schmitzm/geotools/gui/FeatureInputOption.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/FeatureInputOption.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/FeatureInputOption.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,29 +10,16 @@
  **/
 package schmitzm.geotools.gui;
 
-import java.awt.Dimension;
-
-import javax.swing.DefaultCellEditor;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JComponent;
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
-import javax.swing.JTextField;
-import javax.swing.ListSelectionModel;
 
 import org.geotools.feature.Feature;
 import org.geotools.feature.FeatureType;
-import org.geotools.feature.FeatureTypeBuilder;
 
 import schmitzm.geotools.feature.FeatureTableModel;
 import schmitzm.swing.InputOption;
 import schmitzm.swing.MultipleOptionPane;
 import schmitzm.swing.SwingUtil;
-import schmitzm.swing.event.InputOptionAdapter;
-import schmitzm.swing.event.InputOptionListener;
-import schmitzm.swing.table.ComponentRenderer;
-import schmitzm.swing.table.MutableTable;
 
 /**
  * {@linkplain InputOption Eingabe-Option} zur Definition eines {@link Feature} im

Modified: trunk/src/schmitzm/geotools/gui/FeatureLayerFilterDialog.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/FeatureLayerFilterDialog.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/FeatureLayerFilterDialog.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,29 +1,28 @@
 package schmitzm.geotools.gui;
 
-import java.awt.event.ActionEvent;
 import java.awt.BorderLayout;
-import java.awt.event.ActionListener;
-import java.awt.Frame;
 import java.awt.FlowLayout;
+import java.awt.Frame;
 import java.awt.Window;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.IOException;
+import java.util.Map;
 
+import javax.swing.JButton;
 import javax.swing.JDialog;
 import javax.swing.JPanel;
-import javax.swing.JButton;
 
-import java.io.IOException;
-import java.util.Map;
-
 import org.geotools.feature.FeatureCollection;
+import org.geotools.filter.Filter;
 import org.geotools.map.MapLayer;
 import org.geotools.map.event.MapLayerEvent;
 
+import schmitzm.geotools.map.event.FeatureSelectedEvent;
+import schmitzm.geotools.map.event.MapLayerAdapter;
+import schmitzm.swing.CaptionsChangeable;
 import schmitzm.swing.ExceptionDialog;
 import schmitzm.swing.SwingUtil;
-import schmitzm.swing.CaptionsChangeable;
-import schmitzm.geotools.map.event.MapLayerAdapter;
-import schmitzm.geotools.map.event.FeatureSelectedEvent;
-import org.geotools.filter.Filter;
 
 
 /**

Modified: trunk/src/schmitzm/geotools/gui/FeatureTablePane.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/FeatureTablePane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/FeatureTablePane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -14,10 +14,8 @@
 import java.awt.BorderLayout;
 import java.awt.Dimension;
 import java.awt.event.MouseEvent;
-import java.util.Vector;
 
 import javax.swing.BorderFactory;
-import javax.swing.JCheckBox;
 import javax.swing.JScrollPane;
 import javax.swing.JSplitPane;
 import javax.swing.JTable;
@@ -26,30 +24,17 @@
 import javax.swing.event.ListSelectionListener;
 import javax.swing.event.TableModelEvent;
 import javax.swing.event.TableModelListener;
-import javax.swing.table.AbstractTableModel;
 import javax.swing.table.TableModel;
-import javax.swing.table.TableRowSorter;
 
-import org.geotools.feature.AttributeType;
-import org.geotools.feature.Feature;
 import org.geotools.feature.FeatureCollection;
-import org.geotools.feature.FeatureCollections;
-import org.geotools.feature.FeatureIterator;
-import org.geotools.feature.FeatureType;
-import org.geotools.gui.swing.table.FeatureTableModel;
 import org.geotools.map.MapLayer;
 import org.geotools.styling.Style;
 
-import com.vividsolutions.jts.geom.Envelope;
-
 import schmitzm.geotools.feature.AttributeTypeFilter;
 import schmitzm.geotools.feature.FeatureUtil;
 import schmitzm.swing.JPanel;
-import schmitzm.swing.MultiSplitPane;
 import schmitzm.swing.SortableJTable;
 import schmitzm.swing.SwingUtil;
-import schmitzm.swing.table.SelectionTableModel;
-import skrueger.geotools.StyledFeatureCollectionTableModel;
 
 /**
  * Diese Komponente stellt eine Tabelle dar, in der die Attribute einer

Modified: trunk/src/schmitzm/geotools/gui/FeatureTypeInputOption.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/FeatureTypeInputOption.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/FeatureTypeInputOption.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,24 +10,15 @@
  **/
 package schmitzm.geotools.gui;
 
-import java.awt.Dimension;
-
-import javax.swing.DefaultCellEditor;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JComponent;
 import javax.swing.JScrollPane;
-import javax.swing.JTextField;
 import javax.swing.ListSelectionModel;
 
 import org.geotools.feature.FeatureType;
-import org.geotools.feature.FeatureTypeBuilder;
 
 import schmitzm.geotools.feature.FeatureTypeBuilderTableModel;
 import schmitzm.swing.InputOption;
 import schmitzm.swing.MultipleOptionPane;
 import schmitzm.swing.SwingUtil;
-import schmitzm.swing.table.ComponentRenderer;
 import schmitzm.swing.table.MutableTable;
 
 /**

Modified: trunk/src/schmitzm/geotools/gui/GeoMapPane.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/GeoMapPane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/GeoMapPane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,27 +12,22 @@
 package schmitzm.geotools.gui;
 
 import java.awt.Color;
-import java.awt.Graphics;
 import java.awt.Dimension;
+import java.awt.Graphics;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
 import java.awt.Insets;
-import java.io.File;
 import java.util.HashMap;
 
 import javax.swing.BorderFactory;
-import javax.swing.JFrame;
 
-import org.geotools.feature.FeatureCollection;
 import org.geotools.map.MapContext;
 
-import schmitzm.swing.JPanel;
-import schmitzm.geotools.feature.FeatureUtil;
-import schmitzm.geotools.io.GeoImportUtil;
 import schmitzm.geotools.map.event.JMapPaneEvent;
 import schmitzm.geotools.map.event.JMapPaneListener;
 import schmitzm.geotools.map.event.MapAreaChangedEvent;
 import schmitzm.geotools.map.event.ScaleChangedEvent;
+import schmitzm.swing.JPanel;
 
 /**
  * Das {@code GeoMapPane} erweitert das {@link JMapPane} um einen Massstab-Balken,

Modified: trunk/src/schmitzm/geotools/gui/GeoPositionLabel.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/GeoPositionLabel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/GeoPositionLabel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,21 +11,17 @@
 
 package schmitzm.geotools.gui;
 
-import javax.swing.JLabel;
-import javax.swing.event.MouseInputListener;
-import java.awt.event.MouseEvent;
-import java.awt.geom.Point2D;
-import java.awt.geom.AffineTransform;
-import java.text.DecimalFormat;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+import java.awt.geom.Point2D;
+import java.text.DecimalFormat;
+
+import javax.swing.JLabel;
+import javax.swing.event.MouseInputListener;
+
+import org.geotools.gui.swing.event.GeoMouseEvent;
 
-import schmitzm.geotools.gui.JMapPane;
-
-import org.geotools.gui.swing.event.GeoMouseEvent;
-
-// nur fuer Doku
-import java.awt.event.MouseListener;
-import java.awt.event.MouseMotionListener;
-
 /**
  * Diese Klasse stellt ein {@link JLabel} dar, in dem (2dimensionale) Geo-Koordinaten
  * angezeigt werden. Dabei werden die Koordinaten auf eine bestimmte Anzahl

Modified: trunk/src/schmitzm/geotools/gui/GridPanel.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/GridPanel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/GridPanel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,36 +11,22 @@
 
 package schmitzm.geotools.gui;
 
-import javax.swing.JLabel;
-import java.awt.Component;
 import java.awt.Graphics;
-import java.awt.Color;
+import java.awt.geom.AffineTransform;
 import java.text.DecimalFormat;
-import java.util.Locale;
 
-import org.geotools.measure.CoordinateFormat;
-import org.geotools.geometry.Envelope2D;
-import org.geotools.geometry.DirectPosition2D;
-import org.geotools.geometry.GeneralDirectPosition;
+import org.apache.log4j.Logger;
 import org.geotools.referencing.CRS;
-import org.geotools.referencing.operation.transform.GeocentricTranslation;
-import org.geotools.referencing.operation.transform.GeocentricTransform;
 import org.geotools.referencing.operation.projection.PointOutsideEnvelopeException;
-
 import org.opengis.referencing.FactoryException;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
 import org.opengis.referencing.operation.MathTransform;
 
-import schmitzm.geotools.gui.JMapPane;
-import schmitzm.geotools.grid.GridUtil;
-import schmitzm.swing.JPanel;
-import schmitzm.swing.SwingUtil;
 import schmitzm.lang.LangUtil;
 import schmitzm.lang.ResourceProvider;
+import schmitzm.swing.JPanel;
+import schmitzm.swing.SwingUtil;
 
-import org.apache.log4j.Logger;
-import java.awt.geom.AffineTransform;
-
 /**
  * Diese Klasse stellt eine horizontale oder vertikale Koordinaten-Leiste (Grid)
  * dar, die an ein {@link JMapPane} gekoppelt ist.

Modified: trunk/src/schmitzm/geotools/gui/JEditorToolBar.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/JEditorToolBar.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/JEditorToolBar.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,57 +1,30 @@
 package schmitzm.geotools.gui;
 
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.awt.Window;
 import java.awt.event.ActionEvent;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.Map;
 import java.util.SortedMap;
 import java.util.TreeMap;
 
 import javax.swing.AbstractAction;
 import javax.swing.AbstractButton;
-import javax.swing.Action;
-import javax.swing.BorderFactory;
 import javax.swing.Icon;
 import javax.swing.ImageIcon;
 import javax.swing.JButton;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JSplitPane;
-import javax.swing.JToggleButton;
 import javax.swing.JToolBar;
 
 import org.apache.log4j.Logger;
 import org.geotools.feature.FeatureType;
-import org.geotools.gce.geotiff.IIOMetadataAdpaters.utils.codes.GeoTiffGCSCodes;
 
-import schmitzm.geotools.gui.GeoMapPane;
-import schmitzm.geotools.gui.JMapPane;
-import schmitzm.geotools.gui.MapContextControlPane;
-import schmitzm.geotools.gui.MapPaneStatusBar;
 import schmitzm.geotools.gui.JEditorPane.EditorMode;
-import schmitzm.geotools.map.event.FeatureModifiedEvent;
 import schmitzm.geotools.map.event.JEditorPaneEvent;
 import schmitzm.geotools.map.event.JMapPaneEvent;
 import schmitzm.geotools.map.event.JMapPaneListener;
 import schmitzm.geotools.map.event.LayerEditCanceledEvent;
 import schmitzm.geotools.map.event.LayerEditFinishedEvent;
-import schmitzm.geotools.map.event.MapAreaChangedEvent;
-import schmitzm.geotools.styling.ColorMapManager;
-import schmitzm.swing.ButtonGroup;
 import schmitzm.swing.ExceptionDialog;
-import schmitzm.swing.InputOption;
 import schmitzm.swing.ManualInputOption;
 import schmitzm.swing.MultipleOptionPane;
 import schmitzm.swing.SelectionInputOption;
-import schmitzm.swing.SwingUtil;
 
-import com.vividsolutions.jts.geom.Envelope;
-
 /**
  * A toolbar to control the operations of a {@link JEditorPane}.
  * @author <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)

Modified: trunk/src/schmitzm/geotools/gui/JMapPane.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/JMapPane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/JMapPane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -40,6 +40,7 @@
 import org.geotools.coverage.grid.GridGeometry2D;
 import org.geotools.coverage.grid.io.AbstractGridCoverage2DReader;
 import org.geotools.coverage.grid.io.AbstractGridFormat;
+import org.geotools.coverage.io.AbstractGridCoverageReader;
 import org.geotools.data.FeatureSource;
 import org.geotools.data.memory.MemoryFeatureCollection;
 import org.geotools.factory.GeoTools;
@@ -68,7 +69,6 @@
 import org.geotools.styling.Style;
 import org.opengis.coverage.CannotEvaluateException;
 import org.opengis.filter.Filter;
-import org.opengis.filter.FilterFactory2;
 import org.opengis.filter.expression.Expression;
 import org.opengis.parameter.GeneralParameterValue;
 import org.opengis.referencing.FactoryException;
@@ -90,7 +90,6 @@
 import schmitzm.geotools.map.event.ScaleChangedEvent;
 import schmitzm.geotools.styling.StylingUtil;
 import schmitzm.swing.SwingUtil;
-import sun.reflect.generics.reflectiveObjects.NotImplementedException;
 
 import com.vividsolutions.jts.geom.Coordinate;
 import com.vividsolutions.jts.geom.Envelope;

Modified: trunk/src/schmitzm/geotools/gui/LayeredEditorFrame.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/LayeredEditorFrame.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/LayeredEditorFrame.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,14 +12,10 @@
 package schmitzm.geotools.gui;
 
 import java.awt.BorderLayout;
-import java.awt.FlowLayout;
-import java.awt.GridBagConstraints;
-import java.awt.Insets;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 
 import schmitzm.geotools.feature.FeatureUtil.GeometryForm;
-import schmitzm.lang.LangUtil;
 import schmitzm.swing.JPanel;
 
 

Modified: trunk/src/schmitzm/geotools/gui/LayeredMapFrame.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/LayeredMapFrame.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/LayeredMapFrame.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,44 +11,29 @@
 
 package schmitzm.geotools.gui;
 
-import java.awt.Dimension;
 import java.awt.BorderLayout;
-import java.awt.GridBagLayout;
+import java.awt.Dimension;
 import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
 import java.awt.Insets;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseMotionAdapter;
-import java.awt.geom.Point2D;
+import java.util.Vector;
 
+import javax.swing.BorderFactory;
 import javax.swing.JFrame;
 import javax.swing.JPanel;
-import javax.swing.JLabel;
-import javax.swing.BorderFactory;
-import javax.swing.SwingConstants;
 
+import org.geotools.feature.FeatureCollection;
 import org.geotools.map.MapContext;
 import org.geotools.map.MapLayer;
-import org.geotools.coverage.grid.GridCoverage2D;
-import org.geotools.feature.FeatureCollection;
-import org.geotools.gui.swing.event.GeoMouseEvent;
+import org.geotools.map.event.MapLayerListEvent;
+import org.geotools.map.event.MapLayerListListener;
 
-import schmitzm.data.WritableGrid;
-import schmitzm.data.AbstractWritableGrid;
-import schmitzm.swing.SwingUtil;
-import schmitzm.swing.SelectionInputOption;
-import schmitzm.geotools.gui.GeoPositionLabel;
-import schmitzm.geotools.gui.JMapPane;
-import schmitzm.geotools.gui.LayeredMapPane;
-import schmitzm.geotools.gui.FeatureCollectionFrame;
-import schmitzm.geotools.map.event.JMapPaneEvent;
 import schmitzm.geotools.map.event.FeatureSelectedEvent;
-import schmitzm.geotools.map.event.JMapPaneListener;
 import schmitzm.geotools.map.event.GridCoverageSelectedEvent;
-import schmitzm.geotools.feature.FeatureOperationTreeFilter;
-import java.awt.Color;
-import org.geotools.map.event.MapLayerListListener;
-import org.geotools.map.event.MapLayerListEvent;
-import java.util.Vector;
+import schmitzm.geotools.map.event.JMapPaneEvent;
+import schmitzm.geotools.map.event.JMapPaneListener;
+import schmitzm.swing.SelectionInputOption;
+import schmitzm.swing.SwingUtil;
 
 /**
  * Diese Klasse stellt ein Fenster dar, in dem layer-basiert Objekte

Modified: trunk/src/schmitzm/geotools/gui/LayeredMapPane.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/LayeredMapPane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/LayeredMapPane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,33 +12,29 @@
 package schmitzm.geotools.gui;
 
 import java.awt.BorderLayout;
-import javax.swing.JSplitPane;
-import javax.swing.JScrollPane;
 import java.util.Hashtable;
 
-import org.geotools.map.MapLayer;
-import org.geotools.map.MapContext;
-import org.geotools.map.event.MapLayerListListener;
-import org.geotools.map.event.MapLayerListEvent;
-import org.geotools.styling.Style;
-import org.geotools.styling.ColorMap;
-import org.geotools.feature.FeatureCollection;
+import javax.swing.JScrollPane;
+import javax.swing.JSplitPane;
+
 import org.geotools.coverage.Category;
 import org.geotools.coverage.GridSampleDimension;
 import org.geotools.coverage.grid.GridCoverage2D;
 import org.geotools.coverage.grid.GridCoverageFactory;
+import org.geotools.feature.FeatureCollection;
+import org.geotools.map.MapContext;
+import org.geotools.map.MapLayer;
+import org.geotools.map.event.MapLayerListEvent;
+import org.geotools.map.event.MapLayerListListener;
+import org.geotools.styling.ColorMap;
+import org.geotools.styling.Style;
+import org.opengis.geometry.Envelope;
 
-import org.opengis.geometry.Envelope; // gt2-2.4.2
-//import org.opengis.spatialschema.geometry.Envelope; // gt2-2.3.4
-
-import schmitzm.swing.MultiSplitPane;
-
-import schmitzm.swing.JPanel;
-import schmitzm.geotools.gui.MapContextControlPane;
-import schmitzm.geotools.styling.ColorMapManager;
-import schmitzm.geotools.styling.StylingUtil;
 import schmitzm.geotools.feature.FeatureUtil;
 import schmitzm.geotools.grid.GridUtil;
+import schmitzm.geotools.styling.ColorMapManager;
+import schmitzm.swing.JPanel;
+import schmitzm.swing.MultiSplitPane;
 
 /**
  * Diese Klasse stellt ein Panel dar, in dem layer-basiert Objekte

Modified: trunk/src/schmitzm/geotools/gui/MapActionControlPane.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/MapActionControlPane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/MapActionControlPane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,26 +12,20 @@
 package schmitzm.geotools.gui;
 
 import java.awt.Component;
-import java.awt.Cursor;
 import java.awt.event.ActionEvent;
 import java.util.Map;
-import javax.swing.Action;
+
 import javax.swing.AbstractAction;
+import javax.swing.ButtonGroup;
 import javax.swing.Icon;
-import javax.swing.ImageIcon;
-import javax.swing.JPanel;
-import javax.swing.JToolBar;
 import javax.swing.JButton;
 import javax.swing.JToggleButton;
-import javax.swing.ButtonGroup;
+import javax.swing.JToolBar;
 
-import schmitzm.swing.SwingUtil;
+import schmitzm.geotools.map.event.FeatureSelectedEvent;
 import schmitzm.swing.CaptionsChangeable;
-import schmitzm.geotools.gui.JMapPane;
+import schmitzm.swing.SwingUtil;
 
-// fuer Doku
-import schmitzm.geotools.map.event.FeatureSelectedEvent;
-
 /**
  * Diese Klasse stellt einen {@link JToolBar} dar, mit dem zwischen den
  * verschiedenen "Klick"- und "Drag"-Aktionen des {@link JMapPane} gewechselt werden

Modified: trunk/src/schmitzm/geotools/gui/MapContextControlPane.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/MapContextControlPane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/MapContextControlPane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,62 +11,47 @@
 
 package schmitzm.geotools.gui;
 
-import java.awt.Window;
 import java.awt.Graphics;
-import java.awt.FlowLayout;
-import java.awt.BorderLayout;
+import java.awt.Window;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-import javax.swing.JDialog;
+import java.util.Iterator;
+import java.util.Map;
+
 import javax.swing.BoxLayout;
-import javax.swing.JScrollPane;
-import javax.swing.JCheckBox;
 import javax.swing.JButton;
+import javax.swing.JCheckBox;
 import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JOptionPane;
+import javax.swing.JDialog;
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
-import javax.swing.event.MenuListener;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
 import javax.swing.event.MenuEvent;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
+import javax.swing.event.MenuListener;
 
+import org.apache.log4j.Logger;
 import org.geotools.map.MapContext;
 import org.geotools.map.MapLayer;
 import org.geotools.map.event.MapLayerEvent;
 import org.geotools.map.event.MapLayerListEvent;
 import org.geotools.map.event.MapLayerListListener;
-import org.geotools.styling.RasterSymbolizer;
+import org.geotools.map.event.MapLayerListener;
 import org.geotools.styling.ColorMap;
-import org.geotools.styling.FeatureTypeStyle;
-import org.geotools.feature.FeatureCollection;
 
-import com.vividsolutions.jts.geom.Envelope;
-
-import schmitzm.swing.menu.ConnectedPopupMenu;
-
+import schmitzm.geotools.grid.GridUtil;
+import schmitzm.geotools.map.event.MapLayerAdapter;
+import schmitzm.geotools.styling.ColorMapManager;
+import schmitzm.geotools.styling.StylingUtil;
 import schmitzm.lang.LangUtil;
-import schmitzm.swing.CaptionsChangeable;
 import schmitzm.swing.ButtonGroup;
-import schmitzm.swing.event.WindowEventConnector;
+import schmitzm.swing.CaptionsChangeable;
 import schmitzm.swing.SwingUtil;
-import schmitzm.swing.ExceptionDialog;
-import schmitzm.geotools.JTSUtil;
-import schmitzm.geotools.gui.JMapPane;
-import schmitzm.geotools.styling.StylingUtil;
-import schmitzm.geotools.styling.ColorMapManager;
-import schmitzm.geotools.grid.GridUtil;
-import schmitzm.geotools.map.event.MapLayerAdapter;
+import schmitzm.swing.event.WindowEventConnector;
+import schmitzm.swing.menu.ConnectedPopupMenu;
 
-import org.apache.log4j.Logger;
-import schmitzm.geotools.map.event.FeatureSelectedEvent;
-import java.awt.Frame;
-import org.geotools.map.event.MapLayerListener;
 
-
 /**
  * Diese Komponente ist an ein {@link JMapPane} gekoppelt und stellt die
  * dargestellten Layer in Form eine Liste dar.

Modified: trunk/src/schmitzm/geotools/gui/MapPaneStatusBar.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/MapPaneStatusBar.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/MapPaneStatusBar.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,15 +12,10 @@
 package schmitzm.geotools.gui;
 
 import java.awt.BorderLayout;
-import javax.swing.JLabel;
+
 import javax.swing.SwingConstants;
 
-import org.geotools.map.MapLayer;
-
 import schmitzm.swing.JPanel;
-import schmitzm.geotools.gui.JMapPane;
-import schmitzm.geotools.gui.GeoPositionLabel;
-import schmitzm.geotools.gui.RasterPositionLabel;
 
 /**
  * Stellt ein {@link BorderLayout}-Panel dar, in dem links ein

Added: trunk/src/schmitzm/geotools/gui/MouseSelectionTracker.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/MouseSelectionTracker.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/MouseSelectionTracker.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -0,0 +1,117 @@
+/** SCHMITZM - This file is part of the java library of Martin O.J. Schmitz (SCHMITZM)
+
+    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+    This library 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 Lesser General Public License for more details.
+    You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
+
+    Diese Bibliothek ist freie Software; Sie dürfen sie unter den Bedingungen der GNU Lesser General Public License, wie von der Free Software Foundation veröffentlicht, weiterverteilen und/oder modifizieren; entweder gemäß Version 2.1 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+    Diese Bibliothek wird in der Hoffnung weiterverbreitet, daß sie nützlich sein wird, jedoch OHNE IRGENDEINE GARANTIE, auch ohne die implizierte Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Mehr Details finden Sie in der GNU Lesser General Public License.
+    Sie sollten eine Kopie der GNU Lesser General Public License zusammen mit dieser Bibliothek erhalten haben; falls nicht, schreiben Sie an die Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
+ **/
+package schmitzm.geotools.gui;
+
+import java.awt.event.MouseEvent;
+
+import org.geotools.gui.swing.MouseSelectionTracker_Public;
+
+/**
+ * Extends the geotools {@link org.geotools.gui.swing.MouseSelectionTracker} with an
+ * enable/disable functionality. 
+ * @author <a href="mailto:Martin.Schmitz at koeln.de">Martin Schmitz</a>
+ */
+public abstract class MouseSelectionTracker extends MouseSelectionTracker_Public {
+  /** Indicates whether the tracker reacts on mouse events. */
+  protected boolean enabled = true;
+
+  /**
+   * Returns whether the tracker reacts on mouse events or not.
+   */
+  public boolean isEnabled() {
+    return enabled;
+  }
+  
+  /**
+   * Sets whether the tracker reacts on mouse events or not.
+   */
+  public void setEnabled(boolean enabled) {
+    this.enabled = enabled;
+  }
+
+  /**
+   * Ignores the event if tracker is disabled. Otherwise the
+   * super method is called.
+   */
+  @Override
+  public void mouseClicked(MouseEvent e) {
+    if ( !isEnabled() )
+      return;
+    super.mouseClicked(e);
+  }
+
+  /**
+   * Ignores the event if tracker is disabled. Otherwise the
+   * super method is called.
+   */
+  @Override
+  public void mouseEntered(MouseEvent e) {
+    if ( !isEnabled() )
+      return;
+    super.mouseEntered(e);
+  }
+
+  /**
+   * Ignores the event if tracker is disabled. Otherwise the
+   * super method is called.
+   */
+  @Override
+  public void mouseExited(MouseEvent e) {
+    if ( !isEnabled() )
+      return;
+    super.mouseExited(e);
+  }
+  
+  /**
+   * Ignores the event if tracker is disabled. Otherwise the
+   * super method is called.
+   */
+  @Override
+  public void mousePressed(MouseEvent e) {
+    if ( !isEnabled() )
+      return;
+    super.mousePressed(e);
+  }
+
+  /**
+   * Ignores the event if tracker is disabled. Otherwise the
+   * super method is called.
+   */
+  @Override
+  public void mouseReleased(MouseEvent e) {
+    if ( !isEnabled() )
+      return;
+    super.mouseReleased(e);
+  }
+
+  /**
+   * Ignores the event if tracker is disabled. Otherwise the
+   * super method is called.
+   */
+  @Override
+  public void mouseDragged(MouseEvent e) {
+    if ( !isEnabled() )
+      return;
+    super.mouseDragged(e);
+  }
+
+  /**
+   * Ignores the event if tracker is disabled. Otherwise the
+   * super method is called.
+   */
+  @Override
+  public void mouseMoved(MouseEvent e) {
+    if ( !isEnabled() )
+      return;
+    super.mouseMoved(e);
+  }
+
+}

Modified: trunk/src/schmitzm/geotools/gui/RasterPositionLabel.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/RasterPositionLabel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/RasterPositionLabel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -17,23 +17,19 @@
 import java.text.DecimalFormat;
 import java.util.Hashtable;
 import java.util.Map;
+
 import javax.swing.JLabel;
 
-import org.geotools.map.MapLayer;
-import org.geotools.referencing.CRS;
 import org.geotools.coverage.grid.GridCoverage2D;
 import org.geotools.coverage.grid.io.AbstractGridCoverage2DReader;
 import org.geotools.geometry.GeneralDirectPosition;
-
-import org.opengis.geometry.MismatchedDimensionException;
-import org.opengis.referencing.FactoryException;
+import org.geotools.map.MapLayer;
+import org.geotools.referencing.CRS;
 import org.opengis.referencing.operation.MathTransform;
-import org.opengis.referencing.operation.TransformException;
 
 import schmitzm.data.WritableGrid;
-import schmitzm.geotools.gui.JMapPane;
-import schmitzm.swing.CaptionsChangeable;
 import schmitzm.geotools.grid.GridUtil;
+import schmitzm.swing.CaptionsChangeable;
 
 /**
  * Diese Klasse stellt ein {@link JLabel} dar, in dem (2dimensionale)

Modified: trunk/src/schmitzm/geotools/gui/ScalePane.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/ScalePane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/ScalePane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,14 +11,14 @@
 
 package schmitzm.geotools.gui;
 
-import javax.swing.JLabel;
+import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
-import java.awt.GridBagConstraints;
 import java.awt.Insets;
 import java.text.DecimalFormat;
 
+import javax.swing.JLabel;
+
 import schmitzm.swing.JPanel;
-import schmitzm.swing.SwingUtil;
 
 /**
  * Diese Klasse stellt einen Massstab-Balken ({@link ScalePanel}) und die

Modified: trunk/src/schmitzm/geotools/gui/ScalePanel.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/ScalePanel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/ScalePanel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,12 +11,12 @@
 
 package schmitzm.geotools.gui;
 
-import javax.swing.JLabel;
-import java.awt.Component;
+import java.awt.Color;
 import java.awt.Graphics;
-import java.awt.Color;
 import java.text.DecimalFormat;
 
+import javax.swing.JLabel;
+
 import schmitzm.swing.JPanel;
 import schmitzm.swing.SwingUtil;
 

Modified: trunk/src/schmitzm/geotools/gui/SelectableFeatureTablePane.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/SelectableFeatureTablePane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/SelectableFeatureTablePane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -35,7 +35,6 @@
 
 import org.geotools.feature.FeatureCollection;
 
-import schmitzm.geotools.GTUtil;
 import schmitzm.geotools.feature.FeatureUtil;
 import schmitzm.swing.table.SelectionTableModel;
 

Modified: trunk/src/schmitzm/geotools/gui/StyleToolBar.java
===================================================================
--- trunk/src/schmitzm/geotools/gui/StyleToolBar.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/gui/StyleToolBar.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,67 +1,24 @@
 package schmitzm.geotools.gui;
 
-import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Dimension;
-import java.awt.Window;
-import java.awt.event.ActionEvent;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.TreeMap;
 
-import javax.swing.AbstractAction;
-import javax.swing.AbstractButton;
-import javax.swing.Action;
-import javax.swing.BorderFactory;
-import javax.swing.BoxLayout;
-import javax.swing.Icon;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JComboBox;
-import javax.swing.JComponent;
 import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JSplitPane;
-import javax.swing.JToggleButton;
 import javax.swing.JToolBar;
 
 import org.apache.log4j.Logger;
-import org.geotools.gce.geotiff.IIOMetadataAdpaters.utils.codes.GeoTiffGCSCodes;
 import org.geotools.styling.Style;
 import org.geotools.styling.StyleBuilder;
 
 import schmitzm.geotools.feature.FeatureUtil;
-import schmitzm.geotools.gui.GeoMapPane;
-import schmitzm.geotools.gui.JMapPane;
-import schmitzm.geotools.gui.MapContextControlPane;
-import schmitzm.geotools.gui.MapPaneStatusBar;
-import schmitzm.geotools.gui.JEditorPane.EditorMode;
-import schmitzm.geotools.map.event.FeatureModifiedEvent;
-import schmitzm.geotools.map.event.JEditorPaneEvent;
-import schmitzm.geotools.map.event.JMapPaneEvent;
-import schmitzm.geotools.map.event.JMapPaneListener;
-import schmitzm.geotools.map.event.LayerEditCanceledEvent;
-import schmitzm.geotools.map.event.LayerEditFinishedEvent;
-import schmitzm.geotools.map.event.MapAreaChangedEvent;
-import schmitzm.geotools.styling.ColorMapManager;
-import schmitzm.geotools.styling.StylingUtil;
-import schmitzm.swing.ButtonGroup;
 import schmitzm.swing.ColorInputOption;
-import schmitzm.swing.ExceptionDialog;
 import schmitzm.swing.InputOption;
-import schmitzm.swing.ManualInputOption;
-import schmitzm.swing.MultipleOptionPane;
 import schmitzm.swing.SelectionInputOption;
 import schmitzm.swing.SwingUtil;
 import schmitzm.swing.event.InputOptionListener;
 
-import com.vividsolutions.jts.geom.Envelope;
-
 /**
  * A toolbar to define simple parameters of a layer style.
  * <ul>

Modified: trunk/src/schmitzm/geotools/io/GeoExportUtil.java
===================================================================
--- trunk/src/schmitzm/geotools/io/GeoExportUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/io/GeoExportUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,31 +11,28 @@
 
 package schmitzm.geotools.io;
 
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+import java.awt.image.Raster;
 import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
 import java.io.FileOutputStream;
+import java.io.IOException;
 import java.io.PrintWriter;
-import java.awt.image.Raster;
-import java.awt.image.BufferedImage;
-import java.awt.geom.Rectangle2D;
+
 import javax.imageio.ImageIO;
 
-import schmitzm.io.IOUtil;
-//import schmitzm.geotools.feature.FeatureCollectionReader;
-
-
-import org.geotools.gce.arcgrid.ArcGridRaster;
 import org.geotools.coverage.grid.GridCoverage2D;
-import org.geotools.data.shapefile.ShapefileDataStore;
-import org.geotools.feature.FeatureCollection;
 import org.geotools.data.FeatureSource;
 import org.geotools.data.FeatureStore;
 import org.geotools.data.Transaction;
+import org.geotools.data.shapefile.ShapefileDataStore;
+import org.geotools.feature.FeatureCollection;
+import org.geotools.gce.arcgrid.ArcGridRaster;
+import org.opengis.referencing.crs.CoordinateReferenceSystem;
 
 import schmitzm.data.WritableGridRaster;
 import schmitzm.geotools.feature.FeatureCollectionReader;
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import schmitzm.io.IOUtil;
 
 /**
  * In dieser Klasse sind Funktionen zum Datenexport von Geo-Daten

Modified: trunk/src/schmitzm/geotools/io/GeoImportUtil.java
===================================================================
--- trunk/src/schmitzm/geotools/io/GeoImportUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/io/GeoImportUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -42,7 +42,6 @@
 import org.geotools.data.shapefile.indexed.IndexedShapefileDataStore;
 import org.geotools.data.shapefile.shp.ShapefileReader;
 import org.geotools.factory.Hints;
-import org.geotools.feature.DefaultFeatureCollection;
 import org.geotools.feature.FeatureCollection;
 import org.geotools.feature.FeatureCollections;
 import org.geotools.gce.arcgrid.ArcGridRaster;

Modified: trunk/src/schmitzm/geotools/map/event/FeatureModifiedEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/FeatureModifiedEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/FeatureModifiedEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -15,7 +15,6 @@
 import org.geotools.map.MapLayer;
 
 import schmitzm.geotools.gui.JEditorPane;
-import schmitzm.geotools.gui.JMapPane;
 
 /**
  * Diese Klasse stellt ein Ereignis dar, das ein {@link JEditorPane} ausloest,

Modified: trunk/src/schmitzm/geotools/map/event/FeatureSelectedEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/FeatureSelectedEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/FeatureSelectedEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,12 +11,13 @@
 
 package schmitzm.geotools.map.event;
 
+import org.geotools.feature.FeatureCollection;
 import org.geotools.map.MapLayer;
-import org.geotools.feature.FeatureCollection;
-import com.vividsolutions.jts.geom.Envelope;
 
 import schmitzm.geotools.gui.JMapPane;
 
+import com.vividsolutions.jts.geom.Envelope;
+
 /**
  * Diese Klasse stellt ein Ereignis dar, das ein {@link JMapPane} ausloest,
  * wenn der Anwender Features in der Karte ausgewaehlt hat.

Modified: trunk/src/schmitzm/geotools/map/event/GeneralSelectionEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/GeneralSelectionEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/GeneralSelectionEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,11 +11,10 @@
 
 package schmitzm.geotools.map.event;
 
-import org.geotools.map.MapLayer;
-import com.vividsolutions.jts.geom.Envelope;
-
 import schmitzm.geotools.gui.JMapPane;
 
+import com.vividsolutions.jts.geom.Envelope;
+
 /**
  * Diese Klasse stellt ein Ereignis dar, das ein {@link JMapPane} ausloest,
  * wenn der Anwender (irgendeinen) einen Bereich in der Karte ausgewaehlt hat,

Modified: trunk/src/schmitzm/geotools/map/event/GridCoverageSelectedEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/GridCoverageSelectedEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/GridCoverageSelectedEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,12 +11,13 @@
 
 package schmitzm.geotools.map.event;
 
+import org.geotools.coverage.grid.GridCoverage2D;
 import org.geotools.map.MapLayer;
-import org.geotools.coverage.grid.GridCoverage2D;
-import com.vividsolutions.jts.geom.Envelope;
 
 import schmitzm.geotools.gui.JMapPane;
 
+import com.vividsolutions.jts.geom.Envelope;
+
 /**
  * Diese Klasse stellt ein Ereignis dar, das ein {@link JMapPane} ausloest,
  * wenn der Anwender ein Raster in der Karte ausgewaehlt hat.

Modified: trunk/src/schmitzm/geotools/map/event/GridCoverageValueSelectedEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/GridCoverageValueSelectedEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/GridCoverageValueSelectedEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -14,10 +14,11 @@
 import java.awt.geom.Point2D;
 
 import org.geotools.map.MapLayer;
-import com.vividsolutions.jts.geom.Envelope;
 
 import schmitzm.geotools.gui.JMapPane;
 
+import com.vividsolutions.jts.geom.Envelope;
+
 /**
  * Diese Klasse stellt ein Ereignis dar, das ein {@link JMapPane} ausloest,
  * wenn der Anwender den Wert eines Rasters in der Karte ausgewaehlt hat.

Modified: trunk/src/schmitzm/geotools/map/event/JEditorPaneEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/JEditorPaneEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/JEditorPaneEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,11 +11,9 @@
 
 package schmitzm.geotools.map.event;
 
-import org.geotools.feature.Feature;
 import org.geotools.map.MapLayer;
 
 import schmitzm.geotools.gui.JEditorPane;
-import schmitzm.geotools.gui.JMapPane;
 import schmitzm.geotools.gui.JEditorPane.EditorMode;
 
 /**

Modified: trunk/src/schmitzm/geotools/map/event/JMapPaneListener.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/JMapPaneListener.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/JMapPaneListener.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,7 +12,7 @@
 package schmitzm.geotools.map.event;
 
 // fuer Doku
-import schmitzm.geotools.gui.JMapPane;
+import schmitzm.geotools.gui.JMapPane;
 
 /**
  * Diese Klasse stellt einen Listener fuer Ereignisse des {@link JMapPane}

Modified: trunk/src/schmitzm/geotools/map/event/LayerEditCanceledEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/LayerEditCanceledEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/LayerEditCanceledEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,11 +11,9 @@
 
 package schmitzm.geotools.map.event;
 
-import org.geotools.feature.Feature;
 import org.geotools.map.MapLayer;
 
 import schmitzm.geotools.gui.JEditorPane;
-import schmitzm.geotools.gui.JMapPane;
 
 /**
  * Diese Klasse stellt ein Ereignis dar, das ein {@link JEditorPane} ausloest,

Modified: trunk/src/schmitzm/geotools/map/event/LayerEditFinishedEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/LayerEditFinishedEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/LayerEditFinishedEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,11 +11,9 @@
 
 package schmitzm.geotools.map.event;
 
-import org.geotools.feature.Feature;
 import org.geotools.map.MapLayer;
 
 import schmitzm.geotools.gui.JEditorPane;
-import schmitzm.geotools.gui.JMapPane;
 
 /**
  * Diese Klasse stellt ein Ereignis dar, das ein {@link JEditorPane} ausloest,

Modified: trunk/src/schmitzm/geotools/map/event/LayerEditStartedEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/LayerEditStartedEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/LayerEditStartedEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,11 +11,9 @@
 
 package schmitzm.geotools.map.event;
 
-import org.geotools.feature.Feature;
 import org.geotools.map.MapLayer;
 
 import schmitzm.geotools.gui.JEditorPane;
-import schmitzm.geotools.gui.JMapPane;
 
 /**
  * Diese Klasse stellt ein Ereignis dar, das ein {@link JEditorPane} ausloest,

Modified: trunk/src/schmitzm/geotools/map/event/MapAreaChangedEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/MapAreaChangedEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/MapAreaChangedEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,10 @@
 
 package schmitzm.geotools.map.event;
 
-import com.vividsolutions.jts.geom.Envelope;
+import schmitzm.geotools.gui.JMapPane;
+
+import com.vividsolutions.jts.geom.Envelope;
 
-import schmitzm.geotools.gui.JMapPane;
-
 /**
  * Diese Klasse stellt ein Ereignis dar, das ein {@link JMapPane} ausloest,
  * wenn sich die Ausdehnung der dargestellte Karten-Ausschnitt aendert.

Modified: trunk/src/schmitzm/geotools/map/event/MapContextSynchronizer.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/MapContextSynchronizer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/MapContextSynchronizer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -16,8 +16,6 @@
 import org.geotools.map.event.MapBoundsListener;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
 
-import com.sun.xml.internal.messaging.saaj.soap.Envelope;
-
 /**
  * This {@link MapBoundsListener} listens to {@link MapBoundsEvent MapBoundsEvents}
  * and transfers the change of {@link CoordinateReferenceSystem} and "AreaOfInterest"

Modified: trunk/src/schmitzm/geotools/map/event/MapLayerAdapter.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/MapLayerAdapter.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/MapLayerAdapter.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,8 @@
 
 package schmitzm.geotools.map.event;
 
-import org.geotools.map.event.MapLayerListener;
-import org.geotools.map.event.MapLayerEvent;
+import org.geotools.map.event.MapLayerEvent;
+import org.geotools.map.event.MapLayerListener;
 
 /**
  * Diese Klasse bildet eine Basis-Implementierung von

Modified: trunk/src/schmitzm/geotools/map/event/MapLayerListAdapter.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/MapLayerListAdapter.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/MapLayerListAdapter.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,9 @@
 
 package schmitzm.geotools.map.event;
 
-import org.geotools.map.event.MapLayerListListener;
-import org.geotools.map.event.MapLayerListEvent;
-// nur fuer Doku
-import org.geotools.map.MapContext;
+import org.geotools.map.MapContext;
+import org.geotools.map.event.MapLayerListEvent;
+import org.geotools.map.event.MapLayerListListener;
 
 /**
  * Diese Klasse bildet eine Basis-Implementierung von

Modified: trunk/src/schmitzm/geotools/map/event/ObjectSelectionEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/ObjectSelectionEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/ObjectSelectionEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,10 +12,11 @@
 package schmitzm.geotools.map.event;
 
 import org.geotools.map.MapLayer;
-import com.vividsolutions.jts.geom.Envelope;
 
 import schmitzm.geotools.gui.JMapPane;
 
+import com.vividsolutions.jts.geom.Envelope;
+
 /**
  * Diese Klasse stellt eine Oberklasse fuer die Ereignisse dar, die ein
  * {@link JMapPane} ausloest, wenn der Anwender einen Bereich in der Karte ausgewaehlt hat

Modified: trunk/src/schmitzm/geotools/map/event/ScaleChangedEvent.java
===================================================================
--- trunk/src/schmitzm/geotools/map/event/ScaleChangedEvent.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/map/event/ScaleChangedEvent.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,7 @@
 
 package schmitzm.geotools.map.event;
 
-import schmitzm.geotools.gui.JMapPane;
+import schmitzm.geotools.gui.JMapPane;
 
 /**
  * Diese Klasse stellt ein Ereignis dar, das ein {@link JMapPane} ausloest,

Modified: trunk/src/schmitzm/geotools/styling/ColorMapManager.java
===================================================================
--- trunk/src/schmitzm/geotools/styling/ColorMapManager.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/styling/ColorMapManager.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,9 @@
 
 package schmitzm.geotools.styling;
 
-import org.geotools.styling.ColorMap;
-import java.util.HashMap;
+import java.util.HashMap;
+
+import org.geotools.styling.ColorMap;
 
 /**
  * Diese Klasse verwaltet eine Liste von {@linkplain ColorMap Farbpaletten}

Modified: trunk/src/schmitzm/geotools/styling/StylingUtil.java
===================================================================
--- trunk/src/schmitzm/geotools/styling/StylingUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/geotools/styling/StylingUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -81,19 +81,18 @@
 import org.opengis.filter.expression.Expression;
 import org.opengis.filter.expression.NilExpression;
 
+import schmitzm.geotools.FilterUtil;
+import schmitzm.geotools.feature.FeatureUtil;
+import schmitzm.geotools.grid.GridUtil;
+
 import com.sun.xml.bind.StringInputStream;
 import com.vividsolutions.jts.geom.Geometry;
 import com.vividsolutions.jts.geom.LineString;
 import com.vividsolutions.jts.geom.MultiLineString;
 import com.vividsolutions.jts.geom.MultiPoint;
 import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Point;
 import com.vividsolutions.jts.geom.Polygon;
 
-import schmitzm.geotools.FilterUtil;
-import schmitzm.geotools.feature.FeatureUtil;
-import schmitzm.geotools.grid.GridUtil;
-
 /**
  * Diese Klasse enthaelt Hilfsfunktionen zum GeoTools-Styling
  * 

Modified: trunk/src/schmitzm/io/BinaryInputStream.java
===================================================================
--- trunk/src/schmitzm/io/BinaryInputStream.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/BinaryInputStream.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,10 @@
 
 package schmitzm.io;
 
-import java.io.InputStream;
+import java.io.ByteArrayInputStream;
 import java.io.DataInputStream;
-import java.io.ByteArrayInputStream;
 import java.io.IOException;
+import java.io.InputStream;
 
 /**
  * <hr>

Modified: trunk/src/schmitzm/io/BinaryUtil.java
===================================================================
--- trunk/src/schmitzm/io/BinaryUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/BinaryUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,9 @@
 
 package schmitzm.io;
 
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.IOException;
 import java.io.EOFException;
+import java.io.IOException;
+import java.io.InputStream;
 
 /**
  * <hr>

Modified: trunk/src/schmitzm/io/CombinedInputStream.java
===================================================================
--- trunk/src/schmitzm/io/CombinedInputStream.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/CombinedInputStream.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,8 @@
 
 package schmitzm.io;
 
+import java.io.IOException;
 import java.io.InputStream;
-import java.io.IOException;
 
 /**
  * <hr>

Modified: trunk/src/schmitzm/io/FileInputStream.java
===================================================================
--- trunk/src/schmitzm/io/FileInputStream.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/FileInputStream.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,9 +11,9 @@
 
 package schmitzm.io;
 
-import java.io.File;
-import java.io.FileDescriptor;
-import java.io.FileNotFoundException;
+import java.io.File;
+import java.io.FileDescriptor;
+import java.io.FileNotFoundException;
 
 /**
  * Diese Klasse erweitert den {@link java.io.FileInputStream} in der Art, dass

Modified: trunk/src/schmitzm/io/FileOutputStream.java
===================================================================
--- trunk/src/schmitzm/io/FileOutputStream.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/FileOutputStream.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,9 +11,9 @@
 
 package schmitzm.io;
 
-import java.io.File;
-import java.io.FileDescriptor;
-import java.io.FileNotFoundException;
+import java.io.File;
+import java.io.FileDescriptor;
+import java.io.FileNotFoundException;
 
 /**
  * Diese Klasse erweitert den {@link java.io.FileOutputStream} in der Art, dass

Modified: trunk/src/schmitzm/io/IOUtil.java
===================================================================
--- trunk/src/schmitzm/io/IOUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/IOUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -17,7 +17,6 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.MalformedURLException;
-import java.net.URISyntaxException;
 import java.net.URL;
 
 import org.apache.log4j.Logger;

Modified: trunk/src/schmitzm/io/InputBuffer.java
===================================================================
--- trunk/src/schmitzm/io/InputBuffer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/InputBuffer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,8 @@
 
 package schmitzm.io;
 
+import java.io.IOException;
 import java.io.InputStream;
-import java.io.IOException;
 
 /**
  * <hr>

Modified: trunk/src/schmitzm/io/LimitedInputStream.java
===================================================================
--- trunk/src/schmitzm/io/LimitedInputStream.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/LimitedInputStream.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,7 +10,8 @@
  **/
 package schmitzm.io;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.InputStream;
 
 /**
  * <hr>

Modified: trunk/src/schmitzm/io/TokenInputStream.java
===================================================================
--- trunk/src/schmitzm/io/TokenInputStream.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/TokenInputStream.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,7 +10,10 @@
  **/
 package schmitzm.io;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PushbackInputStream;
+import java.io.StreamTokenizer;
 
 /**
  * <hr>

Modified: trunk/src/schmitzm/io/dyntxt/DynamicBlock.java
===================================================================
--- trunk/src/schmitzm/io/dyntxt/DynamicBlock.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/dyntxt/DynamicBlock.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,8 @@
 
 package schmitzm.io.dyntxt;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.util.Vector;
 
 /**

Modified: trunk/src/schmitzm/io/dyntxt/DynamicElement.java
===================================================================
--- trunk/src/schmitzm/io/dyntxt/DynamicElement.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/dyntxt/DynamicElement.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,8 @@
 
 package schmitzm.io.dyntxt;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 
 /**
  * Diese Klasse repraesentiert ein allgemeines dynamisches Text-Element.

Modified: trunk/src/schmitzm/io/dyntxt/DynamicField.java
===================================================================
--- trunk/src/schmitzm/io/dyntxt/DynamicField.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/dyntxt/DynamicField.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,8 @@
 
 package schmitzm.io.dyntxt;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 
 /**
  * Diese Klasse stellt ein dynamisches Feld dar. Der Feld-Inhalt wird durch

Modified: trunk/src/schmitzm/io/dyntxt/DynamicLoop.java
===================================================================
--- trunk/src/schmitzm/io/dyntxt/DynamicLoop.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/dyntxt/DynamicLoop.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,8 @@
 
 package schmitzm.io.dyntxt;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 
 /**
  * Diese Klasse stellt eine Schleife dar, welche eine Reihe von Elementen

Modified: trunk/src/schmitzm/io/dyntxt/DynamicTextGenerator.java
===================================================================
--- trunk/src/schmitzm/io/dyntxt/DynamicTextGenerator.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/dyntxt/DynamicTextGenerator.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,13 @@
 
 package schmitzm.io.dyntxt;
 
-import java.io.*;
-import java.util.regex.*;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * Diese Klasse stellt einen dynamischen Text dar. Dieser wird durch ein

Modified: trunk/src/schmitzm/io/dyntxt/StaticText.java
===================================================================
--- trunk/src/schmitzm/io/dyntxt/StaticText.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/io/dyntxt/StaticText.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,8 @@
 
 package schmitzm.io.dyntxt;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 
 /**
  * Diese Klasse stellt einen dynamisches Element dar, welches einen

Modified: trunk/src/schmitzm/jfree/JFreeChartUtil.java
===================================================================
--- trunk/src/schmitzm/jfree/JFreeChartUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/jfree/JFreeChartUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,8 +10,33 @@
  **/
 package schmitzm.jfree;
 
+import java.awt.Color;
 import java.util.Locale;
 
+import org.apache.log4j.Logger;
+import org.geotools.feature.AttributeType;
+import org.geotools.feature.Feature;
+import org.geotools.feature.FeatureCollection;
+import org.geotools.feature.FeatureIterator;
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.axis.NumberAxis;
+import org.jfree.chart.labels.StandardXYToolTipGenerator;
+import org.jfree.chart.labels.XYToolTipGenerator;
+import org.jfree.chart.plot.PlotOrientation;
+import org.jfree.chart.plot.XYPlot;
+import org.jfree.chart.renderer.xy.XYItemRenderer;
+import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
+import org.jfree.chart.urls.StandardXYURLGenerator;
+import org.jfree.chart.urls.XYURLGenerator;
+import org.jfree.data.function.Function2D;
+import org.jfree.data.function.LineFunction2D;
+import org.jfree.data.general.DatasetUtilities;
+import org.jfree.data.statistics.Regression;
+import org.jfree.data.xy.XYDataset;
+import org.jfree.data.xy.XYSeries;
+import org.jfree.data.xy.XYSeriesCollection;
+
+import schmitzm.jfree.chart.renderer.SelectionXYLineAndShapeRenderer;
 import schmitzm.lang.LangUtil;
 import schmitzm.lang.ResourceProvider;
 
@@ -21,12 +46,131 @@
  * @version 1.0
  */
 public class JFreeChartUtil {
+  private static Logger LOGGER = Logger.getLogger(JFreeChartUtil.class.getName());
+  
   /** {@link ResourceProvider}, der die Lokalisation fuer GUI-Komponenten
    *  zur Verfuegung stellt. Diese sind in properties-Datein unter
    *  {@code schmitzm.jfree.resource.locales.JFreeResourceBundle_XXX.properties}
    *  hinterlegt. */
   public static ResourceProvider RESOURCE = new ResourceProvider( LangUtil.extendPackagePath(JFreeChartUtil.class,"resource.locales.JFreeResourceBundle"), Locale.ENGLISH );
 
+  /**
+   * Creates a {@link XYDataset} for 2 attributes of a {@link FeatureCollection}.
+   * @param fc    a {@link FeatureCollection}
+   * @param key   a (unique) key for the {@link XYSeries} in the dataset
+   * @param xAttr feature attribute used for the X-value
+   * @param yAttr feature attribute used for the Y-value
+   */
+  public static XYSeriesCollection createXYDataset(FeatureCollection fc, String key, String xAttr, String yAttr) {
+    // check data types of X- and Y-column
+    AttributeType xType = fc.getSchema().getAttributeType(xAttr);
+    if ( xType == null )
+      throw new UnsupportedOperationException("Unknown attribute: "+xAttr);
+    AttributeType yType = fc.getSchema().getAttributeType(yAttr);
+    if ( yType == null )
+      throw new UnsupportedOperationException("Unknown attribute: "+yAttr);
+    if ( !Number.class.isAssignableFrom(xType.getBinding()) )
+      throw new UnsupportedOperationException("Attribute must be numeric: "+xAttr);
+    if ( !Number.class.isAssignableFrom(yType.getBinding()) )
+      throw new UnsupportedOperationException("Attribute must be numeric: "+yAttr);
+    
+    XYSeriesCollection dataset = new XYSeriesCollection();
+    FeatureIterator    fi      = fc.features();
+    XYSeries xySeries          = new XYSeries(key);
+    dataset.addSeries(xySeries);
+    for (;fi.hasNext();) {
+      Feature f = fi.next();
+      Number xValue = (Number)f.getAttribute(xAttr);
+      Number yValue = (Number)f.getAttribute(yAttr);
+      xySeries.addOrUpdate(xValue, yValue);
+    }
+    return dataset;
+  }
+  
+  /**
+   * Creates a {@link JFreeChart} which shows a point for each feature and
+   * a the appropriate regression line.
+   * @param fc      a {@link FeatureCollection}
+   * @param title   title for the chart (also used as key for the {@link XYSeries})
+   * @param xAttr   feature attribute used for the X-value
+   * @param yAttr   feature attribute used for the Y-value
+   * @param regressionLine indicates whether the regression line is shown
+   */
+  public static JFreeChart createRegressionChart(FeatureCollection fc, String title, String xAttr, String yAttr, boolean regressionLine) {
+    XYSeriesCollection  dataset = createXYDataset(fc, title, xAttr, yAttr);
+    
+    NumberAxis xAxis   = new NumberAxis(xAttr);
+    xAxis.setAutoRangeIncludesZero(false);
+    NumberAxis yAxis   = new NumberAxis(yAttr);
+    yAxis.setAutoRangeIncludesZero(false);
+
+    XYPlot             plot             = new XYPlot(dataset, xAxis, yAxis, null);
+    XYToolTipGenerator toolTipGenerator = new StandardXYToolTipGenerator();
+    XYURLGenerator     urlGenerator     = new StandardXYURLGenerator();
+    XYItemRenderer     renderer         = new SelectionXYLineAndShapeRenderer(false, true);
+    
+    renderer.setBaseToolTipGenerator(toolTipGenerator);
+    renderer.setURLGenerator(urlGenerator);
+    plot.setRenderer(renderer);
+    plot.setOrientation(PlotOrientation.VERTICAL);
+    
+    // Regression line
+    if ( regressionLine ) {
+      // create sample data for curve (plot function directly is not yet available)
+      XYDataset regressionData = createRegressionLineDataset(dataset,0,title+" (RegressionLine)",2);
+      addRegressionLineToPlot(plot, regressionData, Color.blue);
+    }
+    JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, true);
+
+    return chart; //ChartFactory.createScatterPlot(title, xAttr, yAttr, dataset, PlotOrientation.HORIZONTAL, true, true, true);
+  }
+  
+  /**
+   * Creates sample data for a regression line of an {@link XYDataset}.
+   * @param dataset    data the regression line is created for
+   * @param series     series of {@code dataset} the regression line is created for
+   * @param seriesKey  the key for the created dataset
+   * @param sampleCnt  count of created samples
+   */
+  public static XYDataset createRegressionLineDataset(XYSeriesCollection dataset, int series, Comparable seriesKey, int sampleCount) {
+    double minX = dataset.getSeries(0).getMinX();
+    double maxX = dataset.getSeries(0).getMaxX();
+    return createRegressionLineDataset(dataset,series,seriesKey,minX,maxX,sampleCount);
+  }
+
+  /**
+   * Creates sample data for a regression line of an {@link XYDataset}.
+   * @param dataset    data the regression line is created for
+   * @param series     series of {@code dataset} the regression line is created for
+   * @param seriesKey  the key for the created dataset
+   * @param startX     the first value the sample data is created for
+   * @param endX       the last value the sample data is created for
+   * @param sampleCnt  count of created samples
+   */
+  public static XYDataset createRegressionLineDataset(XYDataset dataset, int series, Comparable seriesKey, double startX, double endX, int sampleCount) {
+    double[]   coefficients = Regression.getOLSRegression(dataset, series);
+    Function2D curve        = new LineFunction2D(coefficients[0], coefficients[1]);
+    return DatasetUtilities.sampleFunction2D(curve, startX, endX, 2, seriesKey);
+  }
+
+  /**
+   * Adds a line plot for regression data to a plot. 
+   * @param plot           the plot the line is added to (at the end)
+   * @param regressionData the regression data
+   * @param lineColor      the color for the regression line
+   */
+  public static void addRegressionLineToPlot(XYPlot plot, XYDataset regressionData, Color lineColor) {
+    int datasetCount = plot.getDatasetCount();
+    // set the regression data
+    plot.setDataset(datasetCount, regressionData);
+    // create and set the renderer for the regression line
+    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true,false);
+    renderer.setSeriesPaint(0, Color.blue);
+    plot.setRenderer(datasetCount, renderer);
+  }
+  
+
+
 //###################
 //  BISHER NUR WILDE TESTS
 //###################

Added: trunk/src/schmitzm/jfree/chart/ChartMouseSelectionTracker.java
===================================================================
--- trunk/src/schmitzm/jfree/chart/ChartMouseSelectionTracker.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/jfree/chart/ChartMouseSelectionTracker.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -0,0 +1,76 @@
+/** SCHMITZM - This file is part of the java library of Martin O.J. Schmitz (SCHMITZM)
+
+    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+    This library 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 Lesser General Public License for more details.
+    You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
+
+    Diese Bibliothek ist freie Software; Sie dürfen sie unter den Bedingungen der GNU Lesser General Public License, wie von der Free Software Foundation veröffentlicht, weiterverteilen und/oder modifizieren; entweder gemäß Version 2.1 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+    Diese Bibliothek wird in der Hoffnung weiterverbreitet, daß sie nützlich sein wird, jedoch OHNE IRGENDEINE GARANTIE, auch ohne die implizierte Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Mehr Details finden Sie in der GNU Lesser General Public License.
+    Sie sollten eine Kopie der GNU Lesser General Public License zusammen mit dieser Bibliothek erhalten haben; falls nicht, schreiben Sie an die Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
+ **/
+package schmitzm.jfree.chart;
+
+import java.awt.geom.Rectangle2D;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.jfree.chart.ChartPanel;
+import org.jfree.chart.entity.ChartEntity;
+import org.jfree.chart.entity.EntityCollection;
+import org.jfree.chart.entity.XYItemEntity;
+
+import schmitzm.geotools.gui.MouseSelectionTracker;
+
+/**
+ * This tracker listens to mouse window selections on a {@link ChartPanel}.
+ * @author <a href="mailto:Martin.Schmitz at koeln.de">Martin Schmitz</a>
+ */
+public abstract class ChartMouseSelectionTracker extends MouseSelectionTracker {
+  /** Holds the panel connected to this listener. */
+  protected ChartPanel chartPanel = null;
+  
+  /**
+   * Creates a new listener.
+   * @param panel the chart panel connected to the listener (used to
+   *              determine the {@link EntityCollection})
+   */
+  public ChartMouseSelectionTracker(ChartPanel panel) {
+    super();
+    this.chartPanel = panel;
+  }
+  
+  /**
+   * Reacts on the window selection by determining all {@link XYItemEntity XYItemEntities}
+   * intersected by the selection window.
+   */
+  @Override
+  protected void selectionPerformed(int ox, int oy, int px, int py) {
+    // Create rectangle for selection window
+    Rectangle2D selectedArea = new Rectangle2D.Double(
+                                     Math.min(ox,px),
+                                     Math.min(oy,py),
+                                     Math.abs(ox-px),
+                                     Math.abs(oy-py) );
+
+    // Check every chart data points if the selection area
+    // contains it   
+    HashSet<XYItemEntity> selectedEntities = new HashSet<XYItemEntity>();
+    for( Object entityObj : chartPanel.getChartRenderingInfo().getEntityCollection().getEntities() ) {
+      ChartEntity entity = (ChartEntity)entityObj;
+      // ignore all non-data entities
+      if ( !(entity instanceof XYItemEntity) )
+        continue;
+      if ( entity.getArea().intersects(selectedArea) )
+        selectedEntities.add( (XYItemEntity)entity );
+    }
+    selectionPerformed(selectedArea, selectedEntities);
+  }
+  
+  /**
+   * Called after {@link #selectionPerformed(int, int, int, int)} to inform
+   * the listeners about the selected items.
+   * @param rect             the selection range
+   * @param selectedEntities the selected {@link XYItemEntity XYItemEntities}
+   */
+  protected abstract void selectionPerformed(Rectangle2D rect, Set<XYItemEntity> selectedEntities);
+}

Added: trunk/src/schmitzm/jfree/chart/SelectableChartPanel.java
===================================================================
--- trunk/src/schmitzm/jfree/chart/SelectableChartPanel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/jfree/chart/SelectableChartPanel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -0,0 +1,257 @@
+/** SCHMITZM - This file is part of the java library of Martin O.J. Schmitz (SCHMITZM)
+
+    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+    This library 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 Lesser General Public License for more details.
+    You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
+
+    Diese Bibliothek ist freie Software; Sie dürfen sie unter den Bedingungen der GNU Lesser General Public License, wie von der Free Software Foundation veröffentlicht, weiterverteilen und/oder modifizieren; entweder gemäß Version 2.1 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+    Diese Bibliothek wird in der Hoffnung weiterverbreitet, daß sie nützlich sein wird, jedoch OHNE IRGENDEINE GARANTIE, auch ohne die implizierte Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Mehr Details finden Sie in der GNU Lesser General Public License.
+    Sie sollten eine Kopie der GNU Lesser General Public License zusammen mit dieser Bibliothek erhalten haben; falls nicht, schreiben Sie an die Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
+ **/
+package schmitzm.jfree.chart;
+
+import java.awt.event.MouseEvent;
+import java.awt.geom.Rectangle2D;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.entity.XYItemEntity;
+import org.jfree.chart.plot.Plot;
+import org.jfree.chart.plot.XYPlot;
+import org.jfree.chart.renderer.xy.XYItemRenderer;
+import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
+import org.jfree.data.general.Dataset;
+import org.jfree.data.xy.XYDataset;
+
+import schmitzm.jfree.chart.selection.DatasetSelectionModel;
+import schmitzm.jfree.chart.selection.DatasetSelectionModelProvider;
+import schmitzm.jfree.chart.selection.SeriesDatasetSelectionModel;
+import schmitzm.lang.LangUtil;
+
+/**
+ * This class extends the {@link org.jfree.chart.ChartPanel} with some
+ * new  functionalities.
+ * <ul>
+*    <li>select chart points and highlight them</li> 
+ *   <li>setting window selection mode to ZOOM or SELECT</li>
+ * </ul>
+ * @author <a href="mailto:Martin.Schmitz at koeln.de">Martin Schmitz</a>
+ * @version 1.0
+ */
+public class SelectableChartPanel extends org.jfree.chart.ChartPanel {
+  /** Used for log and debug messages. */
+  protected Logger LOGGER = LangUtil.createLogger(this);
+
+  /**
+   * Types of window selection on chart panel. 
+   */
+  public static enum WindowSelectionMode {
+    /** Zoom on window selection (normal behavior of {@link org.jfree.chart.ChartPanel}) */ 
+    ZOOM_IN,
+    /** Select some data points in chart to highlight on window selection. */
+    SELECT,
+  }
+  
+  /** Holds the behavior on window selection (Default: {@link WindowSelectionMode#ZOOM_IN}). */ 
+  protected WindowSelectionMode windowSelectionMode = WindowSelectionMode.ZOOM_IN;
+  
+  /** Listens to mouse window selection on the chart. */
+  protected ChartMouseSelectionTracker selectionTracker = null;
+  
+  /**
+   * Creates a new chart panel.
+   */
+  public SelectableChartPanel(JFreeChart chart) {
+    super(chart);
+    init();
+  }
+
+  /**
+   * Creates a new chart panel.
+   */
+  public SelectableChartPanel(JFreeChart chart, boolean useBuffer) {
+    super(chart, useBuffer);
+    init();
+  }
+
+  /**
+   * Creates a new chart panel.
+   */
+  public SelectableChartPanel(JFreeChart chart, boolean properties, boolean save, boolean print, boolean zoom, boolean tooltips) {
+    super(chart, properties, save, print, zoom, tooltips);
+    init();
+  }
+
+  /**
+   * Creates a new chart panel.
+   */
+  public SelectableChartPanel(JFreeChart chart, int width, int height, int minimumDrawWidth, int minimumDrawHeight, int maximumDrawWidth,
+                                      int maximumDrawHeight, boolean useBuffer, boolean properties, boolean save, boolean print, boolean zoom, boolean tooltips) {
+    super(chart, width, height, minimumDrawWidth, minimumDrawHeight,
+          maximumDrawWidth, maximumDrawHeight, useBuffer, properties, save,
+          print, zoom, tooltips);
+    init();
+  }
+
+  /**
+   * Called by every constructor to initialize the extensions 
+   * of this panel.
+   */
+  protected void init() {
+    selectionTracker = new ChartMouseSelectionTracker(this) {
+      public void selectionPerformed(Rectangle2D selectedArea, Set<XYItemEntity> selectedEntities) {
+        LOGGER.debug( selectedEntities.size() + " objects selected" );
+        
+        Plot plot = getChart().getPlot();
+        for (Iterator<XYItemEntity> i = selectedEntities.iterator(); i.hasNext(); ) {
+          XYItemEntity             e        = i.next();
+          Dataset                  dataset  = e.getDataset();
+          DatasetSelectionModel<?> selModel = null;
+          if ( plot instanceof XYPlot ) {
+           XYItemRenderer renderer = ((XYPlot)plot).getRendererForDataset((XYDataset)dataset);
+           if ( renderer instanceof DatasetSelectionModelProvider )
+             selModel = ((DatasetSelectionModelProvider<?>)renderer).getSelectionModel();
+          }
+          
+          if ( selModel instanceof SeriesDatasetSelectionModel ) {
+            int series = e.getSeriesIndex();
+            int item   = e.getItem();
+            ((SeriesDatasetSelectionModel)selModel).changeItemSelection(series, item);
+          } else {
+            if ( selModel == null )
+              LOGGER.warn("Selection not supported for dataset: "+LangUtil.getSimpleClassName(dataset));
+            else
+              LOGGER.error("Selection not yet implemented for selection model: "+LangUtil.getSimpleClassName(selModel));
+          }
+        }
+        
+        refresh();
+      }
+      
+    };
+    addMouseListener(selectionTracker);
+    setWindowSelectionMode( WindowSelectionMode.ZOOM_IN );
+    
+    XYPlot                 p = (XYPlot)getChart().getPlot();
+    XYLineAndShapeRenderer r = (XYLineAndShapeRenderer)p.getRenderer();
+
+//    
+//    XYItemRenderer r2 = new XYLineAndShapeRenderer(r.getBaseLinesVisible(), r.getBaseShapesVisible()) {
+//      public void drawItem(Graphics2D g, XYItemRendererState state,
+//          Rectangle2D dataArea,
+//          PlotRenderingInfo info,
+//          XYPlot plot,
+//          ValueAxis domainAxis,
+//          ValueAxis rangeAxis,
+//          XYDataset dataset,
+//          int series,
+//          int item,
+//          CrosshairState crosshairState,
+//          int pass) {
+//        if ( !selectedIdx.contains(item) )
+//          return;
+//        
+//        super.drawItem(g, state, dataArea, info, plot, domainAxis, rangeAxis, dataset, series, item, crosshairState, pass);
+//      }
+//    };
+//    r.setBasePaint(Color.gray);
+//    r2.setBasePaint(Color.YELLOW);
+//    int datasetCount = p.getDatasetCount();
+//    p.setDataset(datasetCount, p.getDataset());
+//    p.setRenderer(datasetCount, r2);
+//    p.setSeriesRenderingOrder(SeriesRenderingOrder.REVERSE);
+      
+        
+    
+//    addChartMouseListener( new ChartMouseListener() {
+//      @Override
+//      public void chartMouseClicked(ChartMouseEvent e) {
+//        System.err.println("MouseClicked: "+e.getEntity());
+//      }
+//      @Override
+//      public void chartMouseMoved(ChartMouseEvent e) {
+//        System.err.println("MouseMoved: "+e.getEntity());
+//      }
+//    });
+    
+  }
+  
+  /**
+   * Repaints the chart.
+   */
+  public void refresh() {
+    setRefreshBuffer(true);
+    repaint();
+  }
+  
+  /**
+   * After setting a new chart the zoom relevant properties are
+   * reset according to the new chart. After calling the super-method,
+   * this methods resets the properties according to the current
+   * {@link #windowSelectionMode} to keep its functionality remaining.
+   * @see #updateStatesForWindowSelectionMode()
+   */
+  public void setChart(JFreeChart chart) {
+    super.setChart(chart);
+    // zoom relevant properties were reset according to
+    // chart properties!
+    // But we do not want them changed, so reset the states.
+    updateStatesForWindowSelectionMode();
+  }
+  
+  /**
+   * Configures the zoomable properties and {@link #selectionTracker} according
+   * to the current {@link #windowSelectionMode}.
+   */
+  protected void updateStatesForWindowSelectionMode() {
+    // enable/disable the zoom functionality
+    setMouseZoomable( windowSelectionMode == WindowSelectionMode.ZOOM_IN, getFillZoomRectangle() );
+    // enable/disable the selection functionality
+    if ( selectionTracker != null )
+      selectionTracker.setEnabled( windowSelectionMode == WindowSelectionMode.SELECT );
+  }
+  
+  /**
+   * Sets the behavior of the chart panel on window selections via mouse.
+   * @param mode new selection mode
+   */
+  public void setWindowSelectionMode(WindowSelectionMode mode) {
+    this.windowSelectionMode = mode;
+    updateStatesForWindowSelectionMode();
+  }
+
+  /**
+   * Returns the behavior of the chart panel on window selections via mouse.
+   * @param mode new selection mode
+   */
+  public WindowSelectionMode getWindowSelectionMode() {
+    return this.windowSelectionMode; 
+  }
+  
+  /**
+   * Ignores the event if the window selection mode is not
+   * {@link WindowSelectionMode#ZOOM_IN}, to avoid conflicts
+   * between the two listeners.
+   */
+  @Override
+  public void mouseDragged(MouseEvent e) {
+    if ( getWindowSelectionMode() != WindowSelectionMode.ZOOM_IN )
+      return;
+    super.mouseDragged(e);
+  }
+
+  /**
+   * Ignores the event if the window selection mode is not
+   * {@link WindowSelectionMode#ZOOM_IN}, to avoid conflicts
+   * between the two listeners.
+   */
+  @Override
+  public void mouseMoved(MouseEvent e) {
+    if ( getWindowSelectionMode() != WindowSelectionMode.ZOOM_IN )
+      return;
+    super.mouseMoved(e);
+  }
+
+}

Added: trunk/src/schmitzm/jfree/chart/renderer/SelectionRenderer.java
===================================================================
--- trunk/src/schmitzm/jfree/chart/renderer/SelectionRenderer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/jfree/chart/renderer/SelectionRenderer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -0,0 +1,35 @@
+/** SCHMITZM - This file is part of the java library of Martin O.J. Schmitz (SCHMITZM)
+
+    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+    This library 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 Lesser General Public License for more details.
+    You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
+
+    Diese Bibliothek ist freie Software; Sie dürfen sie unter den Bedingungen der GNU Lesser General Public License, wie von der Free Software Foundation veröffentlicht, weiterverteilen und/oder modifizieren; entweder gemäß Version 2.1 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+    Diese Bibliothek wird in der Hoffnung weiterverbreitet, daß sie nützlich sein wird, jedoch OHNE IRGENDEINE GARANTIE, auch ohne die implizierte Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Mehr Details finden Sie in der GNU Lesser General Public License.
+    Sie sollten eine Kopie der GNU Lesser General Public License zusammen mit dieser Bibliothek erhalten haben; falls nicht, schreiben Sie an die Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
+ **/
+package schmitzm.jfree.chart.renderer;
+
+import java.awt.Paint;
+
+import schmitzm.jfree.chart.selection.DatasetSelectionModel;
+import schmitzm.jfree.chart.selection.DatasetSelectionModelProvider;
+
+/**
+ * This interface defines methods for all chart renderer which differ
+ * between selected and unselected data. Selected data is rendered in
+ * a highlighted way. 
+ * @author <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)
+ */
+public interface SelectionRenderer<E extends DatasetSelectionModel<?>> extends DatasetSelectionModelProvider<E>{
+  /**
+   * Returns the color, the selected data is rendered with.
+   */
+  public Paint getSelectionPaint();
+
+  /**
+   * Sets the color, the selected data is rendered with.
+   * @param paint color for the selected data
+   */
+  public void setSelectionPaint(Paint paint);
+}

Added: trunk/src/schmitzm/jfree/chart/renderer/SelectionXYLineAndShapeRenderer.java
===================================================================
--- trunk/src/schmitzm/jfree/chart/renderer/SelectionXYLineAndShapeRenderer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/jfree/chart/renderer/SelectionXYLineAndShapeRenderer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -0,0 +1,207 @@
+/** SCHMITZM - This file is part of the java library of Martin O.J. Schmitz (SCHMITZM)
+
+    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+    This library 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 Lesser General Public License for more details.
+    You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
+
+    Diese Bibliothek ist freie Software; Sie dürfen sie unter den Bedingungen der GNU Lesser General Public License, wie von der Free Software Foundation veröffentlicht, weiterverteilen und/oder modifizieren; entweder gemäß Version 2.1 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+    Diese Bibliothek wird in der Hoffnung weiterverbreitet, daß sie nützlich sein wird, jedoch OHNE IRGENDEINE GARANTIE, auch ohne die implizierte Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Mehr Details finden Sie in der GNU Lesser General Public License.
+    Sie sollten eine Kopie der GNU Lesser General Public License zusammen mit dieser Bibliothek erhalten haben; falls nicht, schreiben Sie an die Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
+ **/
+
+package schmitzm.jfree.chart.renderer;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.Paint;
+import java.awt.geom.Rectangle2D;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+import org.jfree.chart.axis.ValueAxis;
+import org.jfree.chart.plot.CrosshairState;
+import org.jfree.chart.plot.Plot;
+import org.jfree.chart.plot.PlotRenderingInfo;
+import org.jfree.chart.plot.XYPlot;
+import org.jfree.chart.renderer.xy.XYItemRendererState;
+import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
+import org.jfree.data.general.Dataset;
+import org.jfree.data.xy.XYDataset;
+
+import schmitzm.jfree.chart.selection.SeriesDatasetSelectionModel;
+import schmitzm.lang.LangUtil;
+
+/**
+ * Extends the {@link XYLineAndShapeRenderer} with the
+ * {@link SelectionRenderer} functionality. Additionally redefines
+ * the {@link #drawItem(Graphics2D, XYItemRendererState, Rectangle2D, PlotRenderingInfo, XYPlot, ValueAxis, ValueAxis, XYDataset, int, int, CrosshairState, int)}
+ * method to realize the highlight rendering of the selected
+ * items.<br>
+ * <b>Note:</b><br>
+ * An adequate {@link SeriesDatasetSelectionModel} is automatically
+ * created when a new {@link Plot} is set. Manually calling {@link #setSelectionModel(SeriesDatasetSelectionModel)}
+ * is usually not necessary. Overwrite {@link #createSelectionModel()} to
+ * avoid this behavior.<br>
+ * If no selection model is set, the behavior of this renderer is exactly
+ * like the super class.
+ * @author <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a>
+ */
+public class SelectionXYLineAndShapeRenderer extends XYLineAndShapeRenderer implements SelectionRenderer<SeriesDatasetSelectionModel> {
+  /** Used for log and debug messages. */
+  protected Logger LOGGER = LangUtil.createLogger(this);
+
+  /** Holds the selection model, the renderer uses to determine whether a
+   *  data item is selected or not. */
+  protected SeriesDatasetSelectionModel selectionModel = null;
+
+  /** Holds the selection color for each series. */
+  protected Map<Integer,Paint> selectionPaint = new HashMap<Integer, Paint>();
+  
+  /**
+   * Creates a new renderer.
+   */
+  public SelectionXYLineAndShapeRenderer() {
+    super();
+    init();
+  }
+
+  /**
+   * Creates a new renderer.
+   * @param lines   indicates whether lines are rendered between the data points
+   * @param shapes  indicates whether shapes are rendered under the data line
+   */
+  public SelectionXYLineAndShapeRenderer(boolean lines, boolean shapes) {
+    super(lines, shapes);
+    init();
+  }
+  
+  /**
+   * Called by every constructor to initialize the extensions 
+   * of this renderer.
+   */
+  protected void init() {
+    // set a default highlight color for the primary series
+    setSelectionPaint(Color.YELLOW);
+  }
+ 
+  /**
+   * Sets the selection model the renderer uses to determine whether
+   * a data item is selected or not.
+   * @param model the selection model
+   */
+  public void setSelectionModel(SeriesDatasetSelectionModel model) {
+    this.selectionModel = model;
+  }
+  
+  /**
+   * Returns the selection model the renderer uses to determine whether
+   * a data item is selected or not.
+   */
+  public SeriesDatasetSelectionModel getSelectionModel() {
+    return selectionModel;
+  }
+  
+  /**
+   * Creates and sets an adequate {@link SeriesDatasetSelectionModel}
+   * according to the {@link Dataset} of the current {@link Plot}. Automatically
+   * called by {@link #setPlot(XYPlot)}.<br>
+   * Sets the selection model to {@code null} if the renderer is not
+   * connected to a plot or the plot contains no dataset. 
+   */
+  public void createSelectionModel() {
+    XYPlot    plot       = getPlot();
+    XYDataset newDataset = (plot == null) ? null : plot.getDataset();
+    if ( getSelectionModel() == null || getSelectionModel().getDataset() != newDataset )
+      setSelectionModel( newDataset != null ? new SeriesDatasetSelectionModel(newDataset) : null );
+  }
+  
+  /**
+   * Returns the color, the selected data <b>of the primary series</b>
+   * is rendered with.
+   * @return {@code null} if no selection color is defined
+   *         for the series
+   */
+  public Paint getSelectionPaint() {
+    return getSelectionPaint(0);
+  }
+
+  /**
+   * Sets the color, the selected data <b>of the primary series</b>
+   * is rendered with.
+   * @param paint color for the selected data
+   */
+  public void setSelectionPaint(Paint paint) {
+    setSelectionPaint(0, paint);
+  }
+
+  /**
+   * Returns the color, the selected data is rendered with.
+   * @param series the data series
+   * @return {@code null} if no selection color is defined
+   *         for the series
+   */
+  public Paint getSelectionPaint(int series) {
+    return selectionPaint.get(series);
+  }
+
+  /**
+   * Sets the color, the selected data is rendered with.
+   * @param series the data series
+   * @param paint color for the selected data
+   */
+  public void setSelectionPaint(int series, Paint paint) {
+    selectionPaint.put(series, paint);
+  }
+  
+  /**
+   * Creates and sets a new {@link SeriesDatasetSelectionModel}, if no selection model
+   * is set yet, or the selection model's dataset differs from the dataset of the
+   * new plot.
+   * @param plot the plot rendered by this renderer
+   */
+  public void setPlot(XYPlot plot) {
+    super.setPlot(plot);
+    createSelectionModel();
+  }
+
+  /**
+   * Sets the rendering color (temporary for the rendering process) to the
+   * {@linkplain #getSelectionPaint(int) highlight color}, if the item is
+   * defined as selected (by the {@linkplain #getSelectionModel() selection model}).
+   */
+  public void drawItem(Graphics2D g,
+      XYItemRendererState state,
+      Rectangle2D dataArea,
+      PlotRenderingInfo info,
+      XYPlot plot,
+      ValueAxis domainAxis,
+      ValueAxis rangeAxis,
+      XYDataset dataset,
+      int series,
+      int item,
+      CrosshairState crosshairState,
+      int pass) {
+
+    // Save the normal rendering color
+    Paint origPaint = getSeriesPaint(series);
+
+    // if selection model and color is set and the item is selected
+    // the hightlighting selection color is (temporary) set for the
+    // rendering process
+    if ( getSelectionModel() != null ) {
+      Paint selPaint  = getSelectionPaint(series);
+      if ( selPaint != null )
+        setSeriesPaint( series, selectionModel.isItemSelected(series, item) ? selPaint : origPaint, false );
+      else
+        LOGGER.warn("No selection paint set for series "+series+". Series is rendererd normally.");
+    } else
+      LOGGER.debug("No selection model set for renderer. All series rendererd normally.");
+    
+    // rendering
+    super.drawItem(g, state, dataArea, info, plot, domainAxis, rangeAxis, dataset, series, item, crosshairState, pass);
+    
+    // reset the original rendering color
+    setSeriesPaint( series, origPaint, false );
+  }
+}

Added: trunk/src/schmitzm/jfree/chart/selection/DatasetSelectionModel.java
===================================================================
--- trunk/src/schmitzm/jfree/chart/selection/DatasetSelectionModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/jfree/chart/selection/DatasetSelectionModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -0,0 +1,66 @@
+/** SCHMITZM - This file is part of the java library of Martin O.J. Schmitz (SCHMITZM)
+
+    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+    This library 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 Lesser General Public License for more details.
+    You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
+
+    Diese Bibliothek ist freie Software; Sie dürfen sie unter den Bedingungen der GNU Lesser General Public License, wie von der Free Software Foundation veröffentlicht, weiterverteilen und/oder modifizieren; entweder gemäß Version 2.1 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+    Diese Bibliothek wird in der Hoffnung weiterverbreitet, daß sie nützlich sein wird, jedoch OHNE IRGENDEINE GARANTIE, auch ohne die implizierte Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Mehr Details finden Sie in der GNU Lesser General Public License.
+    Sie sollten eine Kopie der GNU Lesser General Public License zusammen mit dieser Bibliothek erhalten haben; falls nicht, schreiben Sie an die Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
+ **/
+package schmitzm.jfree.chart.selection;
+
+import org.apache.log4j.Logger;
+import org.jfree.data.general.Dataset;
+import org.jfree.data.general.DatasetChangeListener;
+import org.jfree.data.general.SeriesDataset;
+
+import schmitzm.jfree.JFreeChartUtil;
+
+/**
+ * This selection model maintains whether items of a {@link Dataset} is selected
+ * in a chart or not. The model connects to the {@link Dataset} as {@link DatasetChangeListener}
+ * to recognize the moment a series is removed. Subclasses must implement
+ * {@link #datasetChanged(org.jfree.data.general.DatasetChangeEvent)} to react with an
+ * automatic unselect.
+ * @author <a href="mailto:Martin.Schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)
+ */
+public abstract class DatasetSelectionModel<E extends Dataset> implements DatasetChangeListener {
+  private static Logger LOGGER = Logger.getLogger(JFreeChartUtil.class.getName());
+
+  /** Holds the {@link Dataset} whose data can be selected. */
+  protected E dataset = null;
+  
+  /**
+   * Creates a new selection model.
+   * @param dataset {@link Dataset} whose data can be selected
+   */
+  public DatasetSelectionModel(E dataset) {
+    this.dataset = dataset;
+    dataset.addChangeListener(this);
+  }
+  
+  /**
+   * Creates a {@link DatasetSelectionModel} for a {@link Dataset}.
+   * @param dataset a dataset
+   * @return {@code null} if selection is not supported for dataset
+   */
+  public static DatasetSelectionModel<?> createInstanceFor(Dataset dataset) {
+    if ( dataset instanceof SeriesDataset )
+      return new SeriesDatasetSelectionModel((SeriesDataset)dataset);
+    return null;
+  }
+
+  /**
+   * Returns the {@link Dataset} whose data can be selected. 
+   */
+  public E getDataset() {
+    return dataset;
+  }
+  
+  /**
+   * Clears the selection.
+   */
+  public abstract void clearSelection();
+  
+}

Added: trunk/src/schmitzm/jfree/chart/selection/DatasetSelectionModelProvider.java
===================================================================
--- trunk/src/schmitzm/jfree/chart/selection/DatasetSelectionModelProvider.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/jfree/chart/selection/DatasetSelectionModelProvider.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -0,0 +1,39 @@
+/** SCHMITZM - This file is part of the java library of Martin O.J. Schmitz (SCHMITZM)
+
+    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+    This library 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 Lesser General Public License for more details.
+    You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
+
+    Diese Bibliothek ist freie Software; Sie dürfen sie unter den Bedingungen der GNU Lesser General Public License, wie von der Free Software Foundation veröffentlicht, weiterverteilen und/oder modifizieren; entweder gemäß Version 2.1 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+    Diese Bibliothek wird in der Hoffnung weiterverbreitet, daß sie nützlich sein wird, jedoch OHNE IRGENDEINE GARANTIE, auch ohne die implizierte Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Mehr Details finden Sie in der GNU Lesser General Public License.
+    Sie sollten eine Kopie der GNU Lesser General Public License zusammen mit dieser Bibliothek erhalten haben; falls nicht, schreiben Sie an die Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
+ **/
+package schmitzm.jfree.chart.selection;
+
+import org.jfree.chart.plot.Plot;
+import org.jfree.data.general.Dataset;
+
+/**
+ * Interface for all objects (especially {@link Plot Plots}) which provide
+ * a {@link DatasetSelectionModel}.
+ * @author <a href="mailto:Martin.Schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)
+ */
+public interface DatasetSelectionModelProvider<E extends DatasetSelectionModel<?>> {
+  /**
+   * Returns the selection model for the (primary) {@link Dataset}. 
+   */
+  public E getSelectionModel();
+
+  /**
+   * Sets the selection model for the (primary) {@link Dataset}. 
+   * @param model   the new selection model
+   */
+  public void setSelectionModel(E model);
+  
+//  /**
+//   * Creates an adequate selection model for a dataset. An implementation should
+//   * simply call {@link DatasetSelectionModel#createInstanceFor(Dataset)}.
+//   * @param dataset a dataset
+//   */
+//  public E createSelectionModel(Dataset dataset);
+}

Added: trunk/src/schmitzm/jfree/chart/selection/SeriesDatasetSelectionModel.java
===================================================================
--- trunk/src/schmitzm/jfree/chart/selection/SeriesDatasetSelectionModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/jfree/chart/selection/SeriesDatasetSelectionModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -0,0 +1,119 @@
+/** SCHMITZM - This file is part of the java library of Martin O.J. Schmitz (SCHMITZM)
+
+    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+    This library 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 Lesser General Public License for more details.
+    You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
+
+    Diese Bibliothek ist freie Software; Sie dürfen sie unter den Bedingungen der GNU Lesser General Public License, wie von der Free Software Foundation veröffentlicht, weiterverteilen und/oder modifizieren; entweder gemäß Version 2.1 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+    Diese Bibliothek wird in der Hoffnung weiterverbreitet, daß sie nützlich sein wird, jedoch OHNE IRGENDEINE GARANTIE, auch ohne die implizierte Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Mehr Details finden Sie in der GNU Lesser General Public License.
+    Sie sollten eine Kopie der GNU Lesser General Public License zusammen mit dieser Bibliothek erhalten haben; falls nicht, schreiben Sie an die Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
+ **/
+package schmitzm.jfree.chart.selection;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.jfree.data.general.Dataset;
+import org.jfree.data.general.DatasetChangeEvent;
+import org.jfree.data.general.SeriesDataset;
+
+/**
+ * This selection model maintains whether items of a {@link SeriesDataset} is selected
+ * in a chart or not.
+ * @author <a href="mailto:Martin.Schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)
+ */
+public class SeriesDatasetSelectionModel extends DatasetSelectionModel<SeriesDataset> {
+  /** Contains a {@link Set} for each series. In each of these sets the
+   *  indices of the selected items are stored. */
+  protected Map<Comparable,Set<Integer>> selectedSeriesIdx = new HashMap<Comparable,Set<Integer>>();
+
+  /**
+   * Creates a new selection model.
+   * @param dataset {@link Dataset} whose data can be selected
+   */
+  public SeriesDatasetSelectionModel(SeriesDataset dataset) {
+    super(dataset);
+  }
+  
+  /**
+   * Checks if an series item is selected.
+   * @param seriesKey key of the series
+   * @param item      index of the item in the series
+   */
+  public boolean isItemSelected(Comparable seriesKey, int item) {
+    // determine the set for the series
+    Set<Integer> selectedIdx = selectedSeriesIdx.get(seriesKey);
+    // check whether item is selected
+    return selectedIdx != null && selectedIdx.contains(item);  
+  }
+  
+  /**
+   * Sets whether a series item is selected or not.
+   * @param seriesKey key of the series
+   * @param item      index of the item in the series
+   * @param selected  flag to (de)select the item
+   */
+  public void setItemSelected(Comparable seriesKey, int item, boolean selected) {
+    // determine the set for the series
+    Set<Integer> selectedIdx = selectedSeriesIdx.get(seriesKey);
+    // create a set for the series if not yet existing
+    if ( selectedIdx == null ) {
+      selectedIdx = new HashSet<Integer>();
+      selectedSeriesIdx.put(seriesKey, selectedIdx);
+    }
+    // add/remove item index
+    if ( selected )
+      selectedIdx.add(item);
+    else
+      selectedIdx.remove(item);
+  }
+  
+  /**
+   * Changes the selection of a series item.
+   * @param seriesKey key of the series
+   * @param item      index of the item in the series
+   * @return {@code true} if the item changed to selected 
+   */
+  public boolean changeItemSelection(Comparable seriesKey, int item) {
+    boolean nowSelected = !isItemSelected(seriesKey, item);
+    setItemSelected(seriesKey, item, nowSelected);
+    return nowSelected;
+  }
+  
+  /**
+   * Clears the selection for all series.
+   */
+  public void clearSelection() {
+    // clear all series sets
+    for (Set<Integer> selectedIdx: selectedSeriesIdx.values())
+      selectedIdx.clear();
+    // clear the series map
+    selectedSeriesIdx.clear();
+  }
+  
+  /**
+   * 
+   */
+  @Override
+  public void datasetChanged(DatasetChangeEvent event) {
+    if ( event.getDataset() != this.dataset ||
+         !(event.getDataset() instanceof SeriesDataset) )
+      return;
+    SeriesDataset changedDataset = (SeriesDataset)event.getDataset();
+      
+    // check whether all series are still present
+    for (Comparable seriesKey : selectedSeriesIdx.keySet())
+      // if series is no longer present, also remove series
+      // from selection model
+      if ( changedDataset.indexOf(seriesKey) < 0 ) {
+        // clear series set and remove series set
+        Set<Integer> selectedIdx = selectedSeriesIdx.get(seriesKey);
+        if ( selectedIdx != null )
+          selectedIdx.clear();
+        selectedSeriesIdx.remove(seriesKey);
+      }
+  }
+
+}

Modified: trunk/src/schmitzm/lang/HashtableResourceBundle.java
===================================================================
--- trunk/src/schmitzm/lang/HashtableResourceBundle.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/HashtableResourceBundle.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,9 +11,9 @@
 
 package schmitzm.lang;
 
-import java.util.ResourceBundle;
-import java.util.Hashtable;
-import java.util.Enumeration;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.ResourceBundle;
 
 /**
  * Diese Klasse stellt ein als {@link Hashtable} organisiertes

Modified: trunk/src/schmitzm/lang/HashtableWithCollisionList.java
===================================================================
--- trunk/src/schmitzm/lang/HashtableWithCollisionList.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/HashtableWithCollisionList.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,8 @@
 
 package schmitzm.lang;
 
-import java.util.Hashtable;
-import java.util.Vector;
+import java.util.Hashtable;
+import java.util.Vector;
 
 /**
  * Diese Klasse erweitert die normale Hash-Tabelle um Kollisionslisten.

Modified: trunk/src/schmitzm/lang/LangUtil.java
===================================================================
--- trunk/src/schmitzm/lang/LangUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/LangUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,23 +11,21 @@
 
 package schmitzm.lang;
 
-import java.util.AbstractCollection;
+import java.lang.reflect.Constructor;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Comparator;
 import java.util.Locale;
 import java.util.TreeSet;
 import java.util.Vector;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.net.MalformedURLException;
-import java.lang.reflect.Constructor;
+
 import net.jini.loader.pref.PreferredClassLoader;
-import org.apache.log4j.Logger;
+
 import org.apache.log4j.Category;
+import org.apache.log4j.Logger;
 
-import schmitzm.swing.SwingUtil;
-
 /**
  * Diese Klasse stellt Hilfsfunktionen fuer Basisoperationen bereit.
  * @author <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)

Modified: trunk/src/schmitzm/lang/LimitedVector.java
===================================================================
--- trunk/src/schmitzm/lang/LimitedVector.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/LimitedVector.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,17 +11,17 @@
 
 package schmitzm.lang;
 
-import java.util.Vector;
-import java.util.Collection;
+import java.util.Collection;
+import java.util.Vector;
+
+import schmitzm.data.event.AbstractObjectTraceable;
+import schmitzm.data.event.GeneralObjectChangeEvent;
+import schmitzm.data.event.Invoker;
+import schmitzm.data.event.ObjectChangeEvent;
+import schmitzm.data.event.ObjectEvent;
+import schmitzm.data.event.ObjectListener;
+import schmitzm.data.event.ObjectTraceable;
 
-import schmitzm.data.event.Invoker;
-import schmitzm.data.event.ObjectTraceable;
-import schmitzm.data.event.AbstractObjectTraceable;
-import schmitzm.data.event.ObjectListener;
-import schmitzm.data.event.ObjectEvent;
-import schmitzm.data.event.GeneralObjectChangeEvent;
-import schmitzm.data.event.ObjectChangeEvent;
-
 /**
  * Diese Klasse stellt einen {@link Vector} dar, der auf eine bestimmte
  * Anzahl an Elementen begrenzt ist. Wird die maximale Anzahl ueberschritten

Modified: trunk/src/schmitzm/lang/PushbackStringTokenizer.java
===================================================================
--- trunk/src/schmitzm/lang/PushbackStringTokenizer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/PushbackStringTokenizer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,8 @@
 
 package schmitzm.lang;
 
+import java.util.StringTokenizer;
 import java.util.Vector;
-import java.util.StringTokenizer;
 
 /**
  * Diese Klasse erweitert den {@link StringTokenizer} um eine PushBack-Funktion,

Modified: trunk/src/schmitzm/lang/ResourceProvider.java
===================================================================
--- trunk/src/schmitzm/lang/ResourceProvider.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/ResourceProvider.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,22 +10,23 @@
  **/
 package schmitzm.lang;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.Locale;
+import java.util.MissingResourceException;
 import java.util.ResourceBundle;
-import java.util.MissingResourceException;
-import org.apache.log4j.Logger;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
-import java.util.Locale;
-import java.util.HashSet;
-import java.net.URL;
-import java.io.File;
-import java.net.MalformedURLException;
-import java.io.PrintWriter;
-import java.io.FileOutputStream;
-import java.io.FileNotFoundException;
-import java.net.URISyntaxException;
 
+import org.apache.log4j.Logger;
+
+import schmitzm.jfree.JFreeChartUtil;
+
 /**
  * Stellt den Zugriff auf ein {@link ResourceBundle} zur Verfuegung.
  * Hierbei muss der Name (Pfad) ein standard-maessig verwendeten Bundles

Modified: trunk/src/schmitzm/lang/SortableVector.java
===================================================================
--- trunk/src/schmitzm/lang/SortableVector.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/SortableVector.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,10 @@
 
 package schmitzm.lang;
 
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Comparator;
 import java.util.Vector;
-import java.util.Comparator;
-import java.util.Arrays;
 
 /**
  * Diese Klasse erweitert den {@linkplain Vector Java-Vector} um eine

Modified: trunk/src/schmitzm/lang/StepThread.java
===================================================================
--- trunk/src/schmitzm/lang/StepThread.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/StepThread.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,6 @@
 
 package schmitzm.lang;
 
-import schmitzm.lang.WorkingThread;
 
 /**
  * Diese Klasse stellt einen "arbeitenden" Thread dar (im Gegensatz zum

Modified: trunk/src/schmitzm/lang/WorkingThread.java
===================================================================
--- trunk/src/schmitzm/lang/WorkingThread.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/WorkingThread.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,7 @@
 
 package schmitzm.lang;
 
-import java.util.Vector;
-import schmitzm.lang.WorkingThreadListener;
+import java.util.Vector;
 
 /**
  * Diese Klasse stellt einen "arbeitenden" Thread dar (im Gegensatz zum

Modified: trunk/src/schmitzm/lang/WorkingThreadAdapter.java
===================================================================
--- trunk/src/schmitzm/lang/WorkingThreadAdapter.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/WorkingThreadAdapter.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,6 @@
 
 package schmitzm.lang;
 
-import schmitzm.lang.WorkingThread;
-import schmitzm.lang.WorkingThreadListener;
 
 /**
  * Diese Klasse stellt eine Basis-Implementierung des Interfaces

Modified: trunk/src/schmitzm/lang/WorkingThreadListener.java
===================================================================
--- trunk/src/schmitzm/lang/WorkingThreadListener.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/WorkingThreadListener.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,6 @@
 
 package schmitzm.lang;
 
-import schmitzm.lang.WorkingThread;
 
 /**
  * Diese Klasse stellt einen Listener dar, der bei bestimmten Thread-Aktivitaeten

Modified: trunk/src/schmitzm/lang/tree/OperationTree.java
===================================================================
--- trunk/src/schmitzm/lang/tree/OperationTree.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/tree/OperationTree.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -13,13 +13,11 @@
 
 import java.util.Random;
 import java.util.regex.Pattern;
-import schmitzm.lang.LangUtil;
-import schmitzm.lang.tree.TreeNode;
-import schmitzm.lang.tree.BinaryTreeNode;
 
 import org.apache.log4j.Logger;
-import java.util.Vector;
 
+import schmitzm.lang.LangUtil;
+
 /**
  * Diese Klasse stellt einen Operator-Baum dar. Dieser unterstuetzt folgende
  * Knoten:<br>

Modified: trunk/src/schmitzm/lang/tree/OperationTreeParser.java
===================================================================
--- trunk/src/schmitzm/lang/tree/OperationTreeParser.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/lang/tree/OperationTreeParser.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -13,11 +13,16 @@
 
 import java.util.NoSuchElementException;
 
-import schmitzm.lang.tree.BinaryTreeNode;
+import org.apache.log4j.Logger;
+
 import schmitzm.lang.LangUtil;
 import schmitzm.lang.PushbackStringTokenizer;
-import schmitzm.lang.tree.OperationTree.*;
-import org.apache.log4j.Logger;
+import schmitzm.lang.tree.OperationTree.ConstantAliasNode;
+import schmitzm.lang.tree.OperationTree.ConstantNode;
+import schmitzm.lang.tree.OperationTree.ITENode;
+import schmitzm.lang.tree.OperationTree.MultiParamOperatorNode;
+import schmitzm.lang.tree.OperationTree.OperatorNode;
+import schmitzm.lang.tree.OperationTree.UnaryOperatorNode;
 
 /**
  * Diese Klasse stellt einen Parser fuer einen {@linkplain OperationTree Operator-Baum}

Modified: trunk/src/schmitzm/swing/BooleanInputOption.java
===================================================================
--- trunk/src/schmitzm/swing/BooleanInputOption.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/BooleanInputOption.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,9 +11,7 @@
 
 package schmitzm.swing;
 
-import javax.swing.JCheckBox;
-import javax.swing.JTextField;
-import schmitzm.swing.InputOption;
+import javax.swing.JCheckBox;
 
 /**
  * Diese Klasse stellt eine boolsche Eingabe-Option fuer das {@link MultipleOptionPane}

Modified: trunk/src/schmitzm/swing/BrowseInputOption.java
===================================================================
--- trunk/src/schmitzm/swing/BrowseInputOption.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/BrowseInputOption.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,19 +11,16 @@
 
 package schmitzm.swing;
 
-import java.awt.Container;
 import java.awt.BorderLayout;
+import java.awt.Container;
 import java.awt.Dimension;
-import java.awt.event.ActionListener;
 import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
 import javax.swing.JButton;
 import javax.swing.JTextField;
 
-
-import schmitzm.swing.ManualInputOption;
 import schmitzm.swing.event.InputOptionAdapter;
-import schmitzm.swing.SwingUtil;
-import schmitzm.swing.ExceptionDialog;
 
 /**
  * Die <code>BrowseInputOption</code> erweitert die {@linkplain ManualInputOption manuelle Text-Eingabe}

Modified: trunk/src/schmitzm/swing/ButtonGroup.java
===================================================================
--- trunk/src/schmitzm/swing/ButtonGroup.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/ButtonGroup.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,9 +11,9 @@
 
 package schmitzm.swing;
 
-import javax.swing.JRadioButton;
-import javax.swing.ButtonModel;
-import javax.swing.AbstractButton;
+import javax.swing.AbstractButton;
+import javax.swing.ButtonModel;
+import javax.swing.JRadioButton;
 
 /**
  * Diese Klasse erweitert die {@link javax.swing.ButtonGroup javax.swing.ButtonGroup}

Modified: trunk/src/schmitzm/swing/CaptionsChangeable.java
===================================================================
--- trunk/src/schmitzm/swing/CaptionsChangeable.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/CaptionsChangeable.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,12 +11,10 @@
 
 package schmitzm.swing;
 
-import java.util.Map;
+import java.util.Map;
+
+import javax.swing.JPanel;
 
-// fuer Doku
-import javax.swing.JPanel;
-import schmitzm.swing.CaptionsChangeablePanel;
-
 /**
  * Dieses Interface ermoeglicht es die Beschriftungen in einer Swing-Komponente
  * (Labels und Buttons) nachtraeglich zu aendern. Zum Beispiel, wenn in einer

Modified: trunk/src/schmitzm/swing/CaptionsChangeablePanel.java
===================================================================
--- trunk/src/schmitzm/swing/CaptionsChangeablePanel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/CaptionsChangeablePanel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -13,13 +13,11 @@
 
 import java.awt.Component;
 import java.awt.Container;
+import java.awt.FlowLayout;
 import java.awt.LayoutManager;
-import java.util.Map;
 import java.util.HashMap;
+import java.util.Map;
 
-// fuer Doku
-import java.awt.FlowLayout;
-
 /**
  * Diese Klasse stellt ein normales {@link JPanel} dar, welches
  * jedoch die {@link CaptionsChangeable}-Funktionaelitaet beim Aufruf von

Modified: trunk/src/schmitzm/swing/CircleIcon.java
===================================================================
--- trunk/src/schmitzm/swing/CircleIcon.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/CircleIcon.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,11 @@
 
 package schmitzm.swing;
 
-import java.awt.Component;
-import java.awt.Color;
-import java.awt.Graphics;
-import javax.swing.Icon;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Graphics;
+
+import javax.swing.Icon;
 
 /**
  * Diese Klasse stellt ein Icon in Form eines ausgefuellten Kreises

Modified: trunk/src/schmitzm/swing/ColorInputOption.java
===================================================================
--- trunk/src/schmitzm/swing/ColorInputOption.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/ColorInputOption.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,17 +11,17 @@
 
 package schmitzm.swing;
 
-import java.awt.Color;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import javax.swing.JLabel;
-import javax.swing.JComponent;
-import javax.swing.JTextField;
-import javax.swing.JColorChooser;
-import javax.swing.JDialog;
-import javax.swing.BorderFactory;
+import java.awt.Color;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
+import javax.swing.BorderFactory;
+import javax.swing.JColorChooser;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
 
 /**
  * Diese Klasse stellt eine Farb-Eingabe-Option fuer das {@link MultipleOptionPane}

Modified: trunk/src/schmitzm/swing/Compass.java
===================================================================
--- trunk/src/schmitzm/swing/Compass.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/Compass.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,32 +11,25 @@
 
 package schmitzm.swing;
 
-import java.awt.Color;
 import java.awt.BorderLayout;
+import java.awt.Color;
 import java.awt.Component;
-import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.event.MouseListener;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
 
-import javax.swing.event.ChangeListener;
 import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
 
 import org.jfree.chart.ChartPanel;
 import org.jfree.chart.JFreeChart;
 import org.jfree.chart.plot.CompassPlot;
+import org.jfree.chart.plot.PlotRenderingInfo;
+import org.jfree.chart.plot.PlotState;
 import org.jfree.data.general.DefaultValueDataset;
 import org.jfree.data.general.ValueDataset;
 
-import schmitzm.swing.JPanel;
-
-// fuer Doku
-import java.awt.event.MouseListener;
-import java.util.EventListener;
-import java.awt.Graphics2D;
-import java.awt.geom.Rectangle2D;
-import java.awt.geom.Point2D;
-import org.jfree.chart.plot.PlotState;
-import org.jfree.chart.plot.PlotRenderingInfo;
-import java.awt.geom.AffineTransform;
-
 /**
  * Diese Komponente stellt eine Kompass-Nadel dar, deren Ausrichtung ueber
  * eine Grad-Angabe zwischen 0° und 360° (Nord = 0°; West = 90°) eingestellt wird.

Modified: trunk/src/schmitzm/swing/ExceptionDialog.java
===================================================================
--- trunk/src/schmitzm/swing/ExceptionDialog.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/ExceptionDialog.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,22 +11,20 @@
 
 package schmitzm.swing;
 
+import java.awt.BorderLayout;
 import java.awt.Component;
-import java.awt.Dimension;
 import java.awt.Frame;
-import java.awt.BorderLayout;
-import java.awt.event.ActionListener;
 import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JButton;
 import javax.swing.JDialog;
+import javax.swing.JLabel;
 import javax.swing.JOptionPane;
 import javax.swing.JScrollPane;
 import javax.swing.JTextArea;
-import javax.swing.JLabel;
-import javax.swing.JButton;
 import javax.swing.JToggleButton;
 
-import schmitzm.swing.SwingUtil;
-
 /**
  * Diese Klasse stellt eine modale Fehler-Meldung dar. Diese besteht neben
  * einer Meldung aus einem Text-Feld, in dem der StackTrace des Fehlers

Modified: trunk/src/schmitzm/swing/ExpansionBar.java
===================================================================
--- trunk/src/schmitzm/swing/ExpansionBar.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/ExpansionBar.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,22 +11,22 @@
 
 package schmitzm.swing;
 
-import java.awt.GridBagLayout;
-import java.awt.GridBagConstraints;
-import java.awt.Insets;
-import java.awt.Dimension;
-import java.awt.Container;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.geom.AffineTransform;
-import javax.swing.JProgressBar;
-import javax.swing.JLabel;
-import javax.swing.BorderFactory;
-import javax.swing.JPanel;
+import java.awt.Color;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.geom.AffineTransform;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+
+import javax.swing.BorderFactory;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JProgressBar;
 
-import java.text.NumberFormat;
-import java.text.DecimalFormat;
-
 /**
  * Ein ExpansionBar aehnelt einem {@link JProgressBar}, mit dem Unterschied,
  * dass die Auspraegung des ExpansionBar nicht nur in eine Richtung gehen

Modified: trunk/src/schmitzm/swing/FileInputOption.java
===================================================================
--- trunk/src/schmitzm/swing/FileInputOption.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/FileInputOption.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,9 @@
 
 package schmitzm.swing;
 
-import java.io.File;
-import javax.swing.JFileChooser;
+import java.io.File;
+
+import javax.swing.JFileChooser;
 
 /**
  * Diese Eingabe-Option dient dazu eine Datei-Angabe zu vorzunehmen. Dies

Modified: trunk/src/schmitzm/swing/InputCompass.java
===================================================================
--- trunk/src/schmitzm/swing/InputCompass.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/InputCompass.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,18 +11,16 @@
 
 package schmitzm.swing;
 
-import java.awt.Point;
-import java.awt.Dimension;
-import java.awt.GridBagLayout;
 import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
 import java.awt.Insets;
+import java.awt.Point;
+import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
-import java.awt.event.MouseAdapter; // Java 1.6
-//import schmitzm.swing.event.MouseAdapter; // Java 1.5
+
 import javax.swing.JSpinner;
-import javax.swing.event.ChangeListener;
 import javax.swing.event.ChangeEvent;
-import java.awt.BorderLayout;
+import javax.swing.event.ChangeListener;
 
 
 // fuer Doku

Modified: trunk/src/schmitzm/swing/InputOption.java
===================================================================
--- trunk/src/schmitzm/swing/InputOption.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/InputOption.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,22 +12,17 @@
 package schmitzm.swing;
 
 import java.awt.BorderLayout;
-import java.awt.Container;
 import java.awt.Component;
-import java.awt.Color;
-import java.awt.event.FocusListener;
 import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
 import java.util.Vector;
-import javax.swing.JLabel;
+
 import javax.swing.JComponent;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
 
-import schmitzm.swing.SpringUtilities;
 import schmitzm.swing.event.InputOptionListener;
 
-// nur fuer Doku
-import schmitzm.swing.MultipleOptionPane;
-
 /**
  * Diese Klasse stellt die allgemeine Oberklasse fuer eine Eingabe-Option
  * des {@link MultipleOptionPane} dar. Jede Option besteht aus einem

Modified: trunk/src/schmitzm/swing/JPanel.java
===================================================================
--- trunk/src/schmitzm/swing/JPanel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/JPanel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,10 +1,9 @@
 package schmitzm.swing;
 
+import java.awt.Color;
 import java.awt.Component;
-import java.awt.LayoutManager;
-// fuer Doku
 import java.awt.FlowLayout;
-import java.awt.Color;
+import java.awt.LayoutManager;
 
 /**
  * Diese Klasse erweitert das {@link javax.swing.JPanel} aus Standard-Java um

Modified: trunk/src/schmitzm/swing/ManualInputOption.java
===================================================================
--- trunk/src/schmitzm/swing/ManualInputOption.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/ManualInputOption.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,7 @@
 
 package schmitzm.swing;
 
-import javax.swing.JTextField;
-import schmitzm.swing.InputOption;
+import javax.swing.JTextField;
 
 /**
  * Diese Klasse stellt eine manuelle Eingabe-Option fuer das {@link MultipleOptionPane}

Modified: trunk/src/schmitzm/swing/MultiSplitPane.java
===================================================================
--- trunk/src/schmitzm/swing/MultiSplitPane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/MultiSplitPane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,12 +10,11 @@
  **/
 package schmitzm.swing;
 
-import java.awt.Container;
-import java.awt.Component;
-import java.awt.Graphics;
 import java.awt.BorderLayout;
-import javax.swing.JSplitPane;
+import java.awt.Container;
+
 import javax.swing.JComponent;
+import javax.swing.JSplitPane;
 import javax.swing.border.Border;
 
 /**

Modified: trunk/src/schmitzm/swing/MultipleOptionPane.java
===================================================================
--- trunk/src/schmitzm/swing/MultipleOptionPane.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/MultipleOptionPane.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,13 +12,10 @@
 package schmitzm.swing;
 
 import java.awt.Component;
+
 import javax.swing.JDialog;
 import javax.swing.JOptionPane;
 
-import schmitzm.swing.InputOption;
-import schmitzm.swing.SelectionInputOption;
-import schmitzm.swing.ManualInputOption;
-
 /**
  * Diese Klasse erweitert {@link JOptionPane} um einen Ok/Abbrechen-Dialog, der
  * mehrfache Werte gleichzeitig abfragt. Die Art der Eingaben wird ueber

Modified: trunk/src/schmitzm/swing/ObjectDisplayContainer.java
===================================================================
--- trunk/src/schmitzm/swing/ObjectDisplayContainer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/ObjectDisplayContainer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,8 @@
 
 package schmitzm.swing;
 
-import java.awt.Container;
-import java.awt.Component;
+import java.awt.Component;
+import java.awt.Container;
 
 /**
  * Diese Klasse repraesentiert eine abstrakte Oberklasse fuer alle GUI-Komponenten,

Modified: trunk/src/schmitzm/swing/OperationTreePanel.java
===================================================================
--- trunk/src/schmitzm/swing/OperationTreePanel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/OperationTreePanel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -17,23 +17,17 @@
 import java.awt.Insets;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import java.util.Vector;
 import java.util.HashMap;
+import java.util.Map;
+import java.util.Vector;
 
 import javax.swing.JButton;
-import javax.swing.JTextField;
 import javax.swing.JComboBox;
+import javax.swing.JTextField;
 
-import schmitzm.swing.CaptionsChangeablePanel;
-import schmitzm.swing.ManualInputOption;
-import schmitzm.swing.SelectionInputOption;
-import schmitzm.swing.SwingWorker;
+import schmitzm.lang.tree.OperationTree;
 import schmitzm.lang.tree.OperationTreeParser;
 
-// nur fuer Doku
-import schmitzm.lang.tree.OperationTree;
-import java.util.Map;
-
 /**
  * Diese Klasse stellt eine Panel zur Vefuegung, mit der eine einfache arithmetische
  * (und boolsche) Berechnungsformel eingegeben werden kann.

Modified: trunk/src/schmitzm/swing/RotationSpinnerNumberModel.java
===================================================================
--- trunk/src/schmitzm/swing/RotationSpinnerNumberModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/RotationSpinnerNumberModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,7 @@
 
 package schmitzm.swing;
 
-import javax.swing.*;
+import javax.swing.SpinnerNumberModel;
 
 /**
  * Diese Klasse erweitert das {@link RotationSpinnerNumberModel} um eine

Modified: trunk/src/schmitzm/swing/SelectionInputOption.java
===================================================================
--- trunk/src/schmitzm/swing/SelectionInputOption.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/SelectionInputOption.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,20 +11,17 @@
 
 package schmitzm.swing;
 
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.util.Vector;
+
 import javax.swing.BoxLayout;
 import javax.swing.Icon;
 import javax.swing.JComboBox;
 import javax.swing.JRadioButton;
 
-import schmitzm.swing.InputOption;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-import javax.swing.event.PopupMenuListener;
-import javax.swing.event.PopupMenuEvent;
-import java.awt.event.ItemListener;
-import java.awt.event.ItemEvent;
-import java.util.Vector;
-
 /**
  * Diese Klasse stellt eine Auswahl-Eingabe-Option fuer das {@link MultipleOptionPane}
  * dar. Die Klasse kann nicht direkt instanziiert werden.

Modified: trunk/src/schmitzm/swing/SelectionPreservingCaret.java
===================================================================
--- trunk/src/schmitzm/swing/SelectionPreservingCaret.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/SelectionPreservingCaret.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,8 +1,9 @@
 package schmitzm.swing;
 
+import java.awt.event.FocusEvent;
+
 import javax.swing.UIManager;
 import javax.swing.text.DefaultCaret;
-import java.awt.event.FocusEvent;
 
 /**
  * Caret implementation that doesn't blow away the selection when

Modified: trunk/src/schmitzm/swing/SliderSpinnerPanel.java
===================================================================
--- trunk/src/schmitzm/swing/SliderSpinnerPanel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/SliderSpinnerPanel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,19 +12,17 @@
 package schmitzm.swing;
 
 import java.awt.Font;
-import java.awt.Component;
-import java.awt.GridBagLayout;
 import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
 import java.awt.Insets;
+
+import javax.swing.JLabel;
 import javax.swing.JSlider;
 import javax.swing.JSpinner;
-import javax.swing.JLabel;
-import javax.swing.event.ChangeListener;
-import javax.swing.event.ChangeEvent;
 import javax.swing.SpinnerNumberModel;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
 
-import schmitzm.swing.JPanel;
-
 /**
  * Dieses Panel enthaelt einen Slider, der mit einem Spinner verknuepft ist.
  * Zusaetzlich wird eine Ueberschrift ausgewiesen.

Modified: trunk/src/schmitzm/swing/SortableJTable.java
===================================================================
--- trunk/src/schmitzm/swing/SortableJTable.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/SortableJTable.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,6 +12,7 @@
 
 import java.util.Vector;
 
+import javax.swing.JTable;
 import javax.swing.ListSelectionModel;
 import javax.swing.table.TableColumnModel;
 import javax.swing.table.TableModel;

Modified: trunk/src/schmitzm/swing/SpringUtilities.java
===================================================================
--- trunk/src/schmitzm/swing/SpringUtilities.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/SpringUtilities.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,9 +11,11 @@
 
 package schmitzm.swing;
 
-import javax.swing.*;
-import javax.swing.SpringLayout;
-import java.awt.*;
+import java.awt.Component;
+import java.awt.Container;
+
+import javax.swing.Spring;
+import javax.swing.SpringLayout;
 
 /**
  * Diese Klasse stellt Methoden zur Verfuegung, um {@linkplain SpringLayout SpringLayouts}

Modified: trunk/src/schmitzm/swing/StatusDialog.java
===================================================================
--- trunk/src/schmitzm/swing/StatusDialog.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/StatusDialog.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,27 +11,20 @@
 
 package schmitzm.swing;
 
-import java.awt.Frame;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.Container;
 import java.awt.BorderLayout;
-import java.awt.event.ActionListener;
+import java.awt.Component;
+import java.awt.Frame;
 import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Vector;
+
+import javax.swing.Icon;
+import javax.swing.JButton;
 import javax.swing.JDialog;
+import javax.swing.JLabel;
 import javax.swing.JOptionPane;
 import javax.swing.JProgressBar;
-import javax.swing.JLabel;
-import javax.swing.JButton;
-import javax.swing.Icon;
-import javax.swing.BoxLayout;
-import java.util.ResourceBundle;
-import java.util.Locale;
-import java.util.Vector;
 
-
-import schmitzm.swing.SwingUtil;
-
 /**
  * Diese Klasse stellt einen modalen Status-Dialog dar. Diese besteht neben
  * einer Meldung aus einem {@linkplain JProgressBar Status-Balken} der

Modified: trunk/src/schmitzm/swing/StoplightContainer.java
===================================================================
--- trunk/src/schmitzm/swing/StoplightContainer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/StoplightContainer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,13 +11,12 @@
 
 package schmitzm.swing;
 
-import java.awt.Color;
-import java.awt.Dimension;
-import javax.swing.JButton;
-import javax.swing.JPanel;
+import java.awt.Color;
+import java.awt.Dimension;
+
+import javax.swing.JButton;
+import javax.swing.JPanel;
 
-import schmitzm.swing.CircleIcon;
-
 /**
  * Stellt eine horizontale (links rot/rechts gruen) oder vertikale
  * (oben rot/unten gruen) Rot/Gruen-Ampel dar.

Modified: trunk/src/schmitzm/swing/SwingUtil.java
===================================================================
--- trunk/src/schmitzm/swing/SwingUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/SwingUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,44 +11,40 @@
 
 package schmitzm.swing;
 
+import java.awt.BorderLayout;
+import java.awt.Color;
 import java.awt.Component;
-import java.awt.BorderLayout;
-import java.awt.Frame;
-import java.awt.Window;
 import java.awt.Container;
-import java.awt.Toolkit;
+import java.awt.Cursor;
 import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.GridBagConstraints;
+import java.awt.Image;
 import java.awt.Point;
-import java.awt.Cursor;
-import java.awt.Image;
+import java.awt.Toolkit;
 import java.awt.Window;
-import java.awt.Color;
-import java.awt.GridBagConstraints;
-import java.awt.LayoutManager;
-import java.util.Date;
+import java.text.NumberFormat;
 import java.util.Enumeration;
+import java.util.Locale;
 import java.util.Random;
 import java.util.StringTokenizer;
-import java.util.Locale;
-import javax.swing.JScrollPane;
-import javax.swing.JLabel;
-import javax.swing.JFrame;
-import javax.swing.JDialog;
+
+import javax.imageio.ImageIO;
 import javax.swing.AbstractButton;
 import javax.swing.ImageIcon;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
+import javax.swing.JInternalFrame;
+import javax.swing.JLabel;
+import javax.swing.JScrollPane;
 import javax.swing.JTree;
-import javax.swing.JInternalFrame;
 import javax.swing.tree.TreeNode;
 import javax.swing.tree.TreePath;
-import javax.imageio.ImageIO;
 
-import schmitzm.lang.ResourceProvider;
-import schmitzm.lang.LangUtil;
-
 import org.apache.log4j.Logger;
 
-// fuer Doku
-import java.text.NumberFormat;
+import schmitzm.lang.LangUtil;
+import schmitzm.lang.ResourceProvider;
 
 /**
  * Diese Klasse beinhaltet statische Hilfsfunktionen fuer das Arbeiten
@@ -303,6 +299,19 @@
   }
 
   /**
+   * Zentriert ein Fenster auf dem Monitor.<br>
+   * <b>Bemerkung:</b> Da {@link Window} eine {@link Component} ist, ist diese
+   * Methode eigentlich ueberfluessig. Es koennte {@link #centerFrameOnScreen(Component)}
+   * verwendet werden. Merkwuerdigerweise macht XULU beim Starten von der Console
+   * aus aber Probleme, wenn die Methode {@code centerFrameOnScreen(Window)} fehlt!!
+   * TODO: Probleme beim Xulu-Start loesen.
+   * @param window das zu zentrierende Fenster
+   */
+  public static void centerFrameOnScreen(Window comp) {
+      setRelativeFramePosition(comp,0.5,0.5);
+  }
+
+  /**
    * Zentriert ein Fenster auf dem Monitor, aber verrückt das Window per Zufall um 10 Prozenz
    *
    * @param comp Eine Componente des zu zentrierenden Fensters. Wenn comp kein {@link Window} ist, wird das Parent {@link Window} ermittelt.

Modified: trunk/src/schmitzm/swing/SwingWorker.java
===================================================================
--- trunk/src/schmitzm/swing/SwingWorker.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/SwingWorker.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -13,7 +13,6 @@
 
 import java.awt.Frame;
 
-import schmitzm.swing.StatusDialog;
 import schmitzm.lang.WorkingThread;
 
 /**

Modified: trunk/src/schmitzm/swing/TextAreaPrintStream.java
===================================================================
--- trunk/src/schmitzm/swing/TextAreaPrintStream.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/TextAreaPrintStream.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,9 +11,10 @@
 
 package schmitzm.swing;
 
-import javax.swing.JTextArea;
-import java.io.OutputStream;
-import java.io.PrintStream;
+import java.io.OutputStream;
+import java.io.PrintStream;
+
+import javax.swing.JTextArea;
 
 /**
  * Diese Klasse stellt einen {@link PrintStream} dar, der an eine {@link JTextArea}

Modified: trunk/src/schmitzm/swing/TreeSelectionDialog.java
===================================================================
--- trunk/src/schmitzm/swing/TreeSelectionDialog.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/TreeSelectionDialog.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -13,23 +13,20 @@
 
 import java.awt.Component;
 import java.awt.Dimension;
-import javax.swing.JOptionPane;
-import javax.swing.JTree;
-import javax.swing.JScrollPane;
+
 import javax.swing.JButton;
 import javax.swing.JDialog;
+import javax.swing.JOptionPane;
 import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTree;
+import javax.swing.event.TreeSelectionEvent;
+import javax.swing.event.TreeSelectionListener;
+import javax.swing.tree.DefaultMutableTreeNode;
 import javax.swing.tree.TreeModel;
 import javax.swing.tree.TreePath;
 import javax.swing.tree.TreeSelectionModel;
-import javax.swing.event.TreeSelectionListener;
-import javax.swing.event.TreeSelectionEvent;
-import javax.swing.tree.MutableTreeNode;
-import javax.swing.tree.DefaultMutableTreeNode;
 
-import schmitzm.swing.MultipleOptionPane;
-import schmitzm.swing.tree.EmptyNode;
-
 /**
  * Diese Klasse stellt einen Dialog dar, der Objekte in einer Baumstruktur zur
  * Auswahl stellt.

Modified: trunk/src/schmitzm/swing/event/MouseAdapter.java
===================================================================
--- trunk/src/schmitzm/swing/event/MouseAdapter.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/event/MouseAdapter.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,7 +1,7 @@
 package schmitzm.swing.event;
 
+import java.awt.event.MouseEvent;
 import java.awt.event.MouseMotionListener;
-import java.awt.event.MouseEvent;
 
 /**
  * Diese Klasse erweitert den {@link java.awt.event.MouseAdapter} um die

Modified: trunk/src/schmitzm/swing/event/PopupMenuListener.java
===================================================================
--- trunk/src/schmitzm/swing/event/PopupMenuListener.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/event/PopupMenuListener.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,10 +11,11 @@
 
 package schmitzm.swing.event;
 
-import java.awt.Component;
-import java.awt.event.MouseEvent;
-import javax.swing.JPopupMenu;
-import javax.swing.event.MouseInputAdapter;
+import java.awt.Component;
+import java.awt.event.MouseEvent;
+
+import javax.swing.JPopupMenu;
+import javax.swing.event.MouseInputAdapter;
 
 /**
  * Diese Klasse implementiert einen MouseListener, der auf einen

Modified: trunk/src/schmitzm/swing/event/PropertyChangeEmitter.java
===================================================================
--- trunk/src/schmitzm/swing/event/PropertyChangeEmitter.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/event/PropertyChangeEmitter.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -12,11 +12,8 @@
 
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
-import java.util.EventListener;
 import java.util.Vector;
 
-import javax.swing.event.EventListenerList;
-
 /**
  * This class provides a super class for all classes which initiates
  * {@link PropertyChangeEvent PropertyChangeEvents} to

Modified: trunk/src/schmitzm/swing/event/WindowEventConnector.java
===================================================================
--- trunk/src/schmitzm/swing/event/WindowEventConnector.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/event/WindowEventConnector.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,12 +11,11 @@
 
 package schmitzm.swing.event;
 
-import java.awt.Window;
-import java.awt.Frame;
-import java.awt.event.WindowEvent;
-import java.awt.event.WindowAdapter;
-// nur fuer Doku
-import java.awt.Dialog;
+import java.awt.Dialog;
+import java.awt.Frame;
+import java.awt.Window;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
 
 /**
  * Dieser {@link WindowAdapter} verbindet ein (Unter-)Fenster mit den Aktionen

Modified: trunk/src/schmitzm/swing/log4j/LoggerConfigurationTableModel.java
===================================================================
--- trunk/src/schmitzm/swing/log4j/LoggerConfigurationTableModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/log4j/LoggerConfigurationTableModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,20 +11,19 @@
 
 package schmitzm.swing.log4j;
 
-import java.util.Enumeration;
-import java.util.Vector;
-import java.util.TreeSet;
-import java.util.Comparator;
-import javax.swing.table.AbstractTableModel;
+import java.util.Comparator;
+import java.util.Enumeration;
+import java.util.TreeSet;
+import java.util.Vector;
+
+import javax.swing.table.AbstractTableModel;
+import javax.swing.table.TableModel;
+
+import org.apache.log4j.Appender;
+import org.apache.log4j.Level;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Level;
-
-// nur fuer Doku
-import javax.swing.table.TableModel;
-import org.apache.log4j.Appender;
-
 /**
  * Diese Klasse stellt ein {@link TableModel} dar, in dem die aktuell
  * im {@link LogManager} registrierten Log4j-Logger in 4 Spalten angezeigt werden.

Modified: trunk/src/schmitzm/swing/log4j/LoggerFrame.java
===================================================================
--- trunk/src/schmitzm/swing/log4j/LoggerFrame.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/log4j/LoggerFrame.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,38 +11,37 @@
 
 package schmitzm.swing.log4j;
 
-import java.io.File;
-import java.util.Enumeration;
 import java.awt.Component;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
 import java.awt.Insets;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.io.File;
+import java.util.Enumeration;
+
+import javax.swing.DefaultCellEditor;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
 import javax.swing.JFrame;
-import javax.swing.JTable;
 import javax.swing.JScrollPane;
-import javax.swing.JComboBox;
-import javax.swing.JCheckBox;
-import javax.swing.JButton;
-import javax.swing.DefaultCellEditor;
+import javax.swing.JTable;
 
-import org.apache.log4j.Level;
 import org.apache.log4j.Appender;
-import org.apache.log4j.FileAppender;
 import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.FileAppender;
+import org.apache.log4j.Level;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
 import org.apache.log4j.PropertyConfigurator;
+import org.apache.log4j.spi.LoggerRepository;
 
-import schmitzm.swing.SwingUtil;
 import schmitzm.swing.ExceptionDialog;
 import schmitzm.swing.FileInputOption;
+import schmitzm.swing.SwingUtil;
 import schmitzm.swing.table.ComponentRenderer;
 
-// nur fuer Doku
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggerRepository;
-
 /**
  * Diese Klasse stellt ein Fenster dar, in dem die aktuell im {@link LogManager}
  * registrierten Log4j-Logger als Tabelle dargestellt sind.

Modified: trunk/src/schmitzm/swing/menu/ConnectedPopupMenu.java
===================================================================
--- trunk/src/schmitzm/swing/menu/ConnectedPopupMenu.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/menu/ConnectedPopupMenu.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,11 +10,16 @@
  **/
 package schmitzm.swing.menu;
 
-import java.awt.*;
-import java.awt.event.*;
-import javax.swing.*;
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
 import java.util.Vector;
 
+import javax.swing.JMenuItem;
+import javax.swing.JPopupMenu;
+
 /**
  * <hr>
  * <small><i>Diese Klasse wurde urspruenglich 2002/2003 von <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a>

Modified: trunk/src/schmitzm/swing/menu/ObjectMenuItem.java
===================================================================
--- trunk/src/schmitzm/swing/menu/ObjectMenuItem.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/menu/ObjectMenuItem.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,9 @@
 
 package schmitzm.swing.menu;
 
-import java.awt.event.ActionListener;
-import javax.swing.JMenuItem;
+import java.awt.event.ActionListener;
+
+import javax.swing.JMenuItem;
 
 /**
  * Diese Klasse stellt einen Menupunkt dar, der gleichzeitig auch ein

Modified: trunk/src/schmitzm/swing/menu/ObjectSubMenu.java
===================================================================
--- trunk/src/schmitzm/swing/menu/ObjectSubMenu.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/menu/ObjectSubMenu.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,8 +11,9 @@
 
 package schmitzm.swing.menu;
 
-import javax.swing.JMenu;
-import java.awt.event.ActionListener;
+import java.awt.event.ActionListener;
+
+import javax.swing.JMenu;
 
 /**
  * Diese Klasse stellt ein Untermenue in einer Menue-Struktur dar.<br>

Modified: trunk/src/schmitzm/swing/table/AbstractMutableTableModel.java
===================================================================
--- trunk/src/schmitzm/swing/table/AbstractMutableTableModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/table/AbstractMutableTableModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -13,8 +13,6 @@
 import javax.swing.JTable;
 import javax.swing.table.TableModel;
 
-import schmitzm.swing.table.AbstractTableModel;
-
 /**
  * Diese Klasse erweitert das {@link AbstractTableModel} um die Methoden
  * des {@link MutableTableModel}.

Modified: trunk/src/schmitzm/swing/table/ColorEditor.java
===================================================================
--- trunk/src/schmitzm/swing/table/ColorEditor.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/table/ColorEditor.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,16 +11,17 @@
 
 package schmitzm.swing.table;
 
-import javax.swing.AbstractCellEditor;
-import javax.swing.table.TableCellEditor;
-import javax.swing.JButton;
-import javax.swing.JColorChooser;
-import javax.swing.JDialog;
-import javax.swing.JTable;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.AbstractCellEditor;
+import javax.swing.JButton;
+import javax.swing.JColorChooser;
+import javax.swing.JDialog;
+import javax.swing.JTable;
+import javax.swing.table.TableCellEditor;
 
 /**
  * Diese Klasse stellt einen Editor fuer eine Tabellen-Zelle dar, welche

Modified: trunk/src/schmitzm/swing/table/ColorRenderer.java
===================================================================
--- trunk/src/schmitzm/swing/table/ColorRenderer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/table/ColorRenderer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,13 +11,14 @@
 
 package schmitzm.swing.table;
 
-import javax.swing.BorderFactory;
-import javax.swing.JLabel;
-import javax.swing.JTable;
-import javax.swing.border.Border;
-import javax.swing.table.TableCellRenderer;
-import java.awt.Color;
-import java.awt.Component;
+import java.awt.Color;
+import java.awt.Component;
+
+import javax.swing.BorderFactory;
+import javax.swing.JLabel;
+import javax.swing.JTable;
+import javax.swing.border.Border;
+import javax.swing.table.TableCellRenderer;
 
 /**
  * Diese Klasse stellt einen Renderer fuer Tabellenzellen dar, in denen

Modified: trunk/src/schmitzm/swing/table/ColorsRenderer.java
===================================================================
--- trunk/src/schmitzm/swing/table/ColorsRenderer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/table/ColorsRenderer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,18 +11,17 @@
 
 package schmitzm.swing.table;
 
-import javax.swing.JTable;
-import javax.swing.BorderFactory;
-import javax.swing.border.Border;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.GridBagLayout;
-import java.awt.GridBagConstraints;
-import java.awt.Insets;
-import java.awt.event.MouseEvent;
-// nur fuer Doku
-import javax.swing.JLabel;
-import javax.swing.JComponent;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+
+import javax.swing.BorderFactory;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JTable;
+import javax.swing.border.Border;
 
 /**
  * Diese Klasse stellt einen Renderer fuer Tabellenzellen dar, in denen

Modified: trunk/src/schmitzm/swing/table/ComponentRenderer.java
===================================================================
--- trunk/src/schmitzm/swing/table/ComponentRenderer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/table/ComponentRenderer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,16 +11,13 @@
 
 package schmitzm.swing.table;
 
-import java.awt.Component;
-import java.awt.Color;
-import javax.swing.JTable;
-import javax.swing.JTextField;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.AbstractButton;
-import javax.swing.SwingConstants;
-import javax.swing.table.TableCellRenderer;
-import javax.swing.table.DefaultTableCellRenderer;
+import java.awt.Component;
+
+import javax.swing.AbstractButton;
+import javax.swing.JTable;
+import javax.swing.SwingConstants;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableCellRenderer;
 
 /**
  * Diese Klasse stellt einen Tabellen-Renderer fuer jede Art von

Modified: trunk/src/schmitzm/swing/table/MutableTable.java
===================================================================
--- trunk/src/schmitzm/swing/table/MutableTable.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/table/MutableTable.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,25 +11,23 @@
 
 package schmitzm.swing.table;
 
-import javax.swing.JTable;
-import javax.swing.JScrollPane;
-import javax.swing.JMenu;
-import javax.swing.JPopupMenu;
-import javax.swing.JMenuItem;
-
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseListener;
-import java.awt.event.MouseEvent;
-import javax.swing.event.MenuListener;
-import javax.swing.event.MenuEvent;
-
-import schmitzm.swing.event.PopupMenuListener;
-
-// nur fuer Doku
-import javax.swing.table.AbstractTableModel;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JPopupMenu;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.event.MenuEvent;
+import javax.swing.event.MenuListener;
+import javax.swing.table.AbstractTableModel;
 import javax.swing.table.TableModel;
+
+import schmitzm.swing.event.PopupMenuListener;
 
 
 /**

Modified: trunk/src/schmitzm/swing/table/MutableTableModel.java
===================================================================
--- trunk/src/schmitzm/swing/table/MutableTableModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/table/MutableTableModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,9 +11,7 @@
 
 package schmitzm.swing.table;
 
-import javax.swing.JOptionPane;
 import javax.swing.JTable;
-import javax.swing.table.AbstractTableModel;
 import javax.swing.table.TableModel;
 
 /**

Modified: trunk/src/schmitzm/swing/table/SelectionTableModel.java
===================================================================
--- trunk/src/schmitzm/swing/table/SelectionTableModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/table/SelectionTableModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -10,15 +10,7 @@
  **/
 package schmitzm.swing.table;
 
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-
 import javax.swing.JTable;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
 import javax.swing.event.TableModelListener;
 import javax.swing.table.AbstractTableModel;
 import javax.swing.table.TableModel;

Modified: trunk/src/schmitzm/swing/table/TableComponentMouseListener.java
===================================================================
--- trunk/src/schmitzm/swing/table/TableComponentMouseListener.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/table/TableComponentMouseListener.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,13 +11,13 @@
 
 package schmitzm.swing.table;
 
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-import java.awt.Component;
-import javax.swing.JTable;
-import javax.swing.JButton;
-import javax.swing.SwingUtilities;
-import javax.swing.table.TableColumnModel;
+import java.awt.Component;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+
+import javax.swing.JTable;
+import javax.swing.SwingUtilities;
+import javax.swing.table.TableColumnModel;
 
 /**
  * Dieser MouseListener schleust Maus-Ereignisse auf eine Tabellenzelle

Modified: trunk/src/schmitzm/swing/tree/EditableNode.java
===================================================================
--- trunk/src/schmitzm/swing/tree/EditableNode.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/tree/EditableNode.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,7 @@
 
 package schmitzm.swing.tree;
 
-import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.DefaultMutableTreeNode;
 
 /**
  * Diese Klasse erweitert den {@link javax.swing.tree.DefaultMutableTreeNode} um

Modified: trunk/src/schmitzm/swing/tree/EmptyInnerNode.java
===================================================================
--- trunk/src/schmitzm/swing/tree/EmptyInnerNode.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/swing/tree/EmptyInnerNode.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -11,7 +11,7 @@
 
 package schmitzm.swing.tree;
 
-import javax.swing.tree.MutableTreeNode;
+import javax.swing.tree.MutableTreeNode;
 
 /**
  * Diese Klasse stellt einen inneren Knoten dar, der selbst kein Objekt

Modified: trunk/src/schmitzm/xml/XMLUtil.java
===================================================================
--- trunk/src/schmitzm/xml/XMLUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/schmitzm/xml/XMLUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,30 +1,9 @@
 package schmitzm.xml;
 
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-// W3C XML
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.ParserConfigurationException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.SAXException;
-import org.xml.sax.ErrorHandler;
-import org.w3c.dom.Node;
-
-// JDOM XML
-import org.jdom.Document;
-import org.jdom.DefaultJDOMFactory;
-import org.jdom.Element;
-import org.jdom.output.XMLOutputter;
+import org.apache.log4j.Logger;
 import org.jdom.adapters.JAXPDOMAdapter;
 
-import org.apache.log4j.Logger;
 
-import schmitzm.lang.LangUtil;
-
-
 /**
  * Diese Klasse enthaelt statische Helper-Methoden fuer das Arbeiten mit XML.
  * @author <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)

Modified: trunk/src/skrueger/geotools/MapContextManagerInterface.java
===================================================================
--- trunk/src/skrueger/geotools/MapContextManagerInterface.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/MapContextManagerInterface.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,5 +1,6 @@
 package skrueger.geotools;
 import java.util.List;
+
 import org.geotools.map.MapContext;
 import org.geotools.map.MapLayer;
 import org.geotools.map.event.MapLayerListListener;

Modified: trunk/src/skrueger/geotools/MapPaneToolBar.java
===================================================================
--- trunk/src/skrueger/geotools/MapPaneToolBar.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/MapPaneToolBar.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -15,10 +15,7 @@
 import javax.swing.JComponent;
 import javax.swing.JToggleButton;
 import javax.swing.JToolBar;
-import javax.swing.JToolBar.Separator;
 
-import jj2000.j2k.NotImplementedError;
-
 import org.apache.log4j.Logger;
 
 import schmitzm.geotools.gui.JMapPane;

Modified: trunk/src/skrueger/geotools/StyledFeatureCollection.java
===================================================================
--- trunk/src/skrueger/geotools/StyledFeatureCollection.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/StyledFeatureCollection.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,19 +1,19 @@
 package skrueger.geotools;
 
 import java.net.URL;
+import java.util.HashMap;
 import java.util.Map;
-import java.util.HashMap;
+
 import javax.swing.ImageIcon;
 
-import org.geotools.styling.Style;
+import org.geotools.feature.AttributeType;
 import org.geotools.feature.FeatureCollection;
 import org.geotools.feature.FeatureType;
-import org.geotools.feature.AttributeType;
+import org.geotools.styling.Style;
 
 import schmitzm.geotools.feature.FeatureUtil;
-
+import skrueger.AttributeMetaData;
 import skrueger.i8n.Translation;
-import skrueger.AttributeMetaData;
 
 
 /**

Modified: trunk/src/skrueger/geotools/StyledFeatureCollectionTableModel.java
===================================================================
--- trunk/src/skrueger/geotools/StyledFeatureCollectionTableModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/StyledFeatureCollectionTableModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -13,7 +13,6 @@
 
 import java.util.Iterator;
 import java.util.Map;
-import java.util.TreeMap;
 import java.util.Vector;
 
 import org.apache.log4j.Logger;
@@ -24,13 +23,13 @@
 import org.geotools.feature.FeatureCollection;
 import org.opengis.filter.Filter;
 
-import com.vividsolutions.jts.geom.Envelope;
-
 import schmitzm.geotools.gui.FeatureCollectionTableModel;
 import skrueger.AttributeMetaData;
 import skrueger.i8n.I8NUtil;
 import skrueger.i8n.Translation;
 
+import com.vividsolutions.jts.geom.Envelope;
+
 /**
  * This class extends the the {@link FeatureCollectionTableModel} with the
  * functionalities of the {@link AttributeMetaData} of

Modified: trunk/src/skrueger/geotools/StyledGridCoverage.java
===================================================================
--- trunk/src/skrueger/geotools/StyledGridCoverage.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/StyledGridCoverage.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -4,14 +4,13 @@
 
 import javax.swing.ImageIcon;
 
-import org.geotools.styling.Style;
 import org.geotools.coverage.grid.GridCoverage2D;
+import org.geotools.styling.Style;
 
 import schmitzm.geotools.JTSUtil;
 import schmitzm.geotools.grid.GridUtil;
-
-import skrueger.i8n.Translation;
 import skrueger.RasterLegendData;
+import skrueger.i8n.Translation;
 
 /**
  * This class provides a simple implementation of {@link StyledMapInterface}

Modified: trunk/src/skrueger/geotools/StyledGridCoverageReader.java
===================================================================
--- trunk/src/skrueger/geotools/StyledGridCoverageReader.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/StyledGridCoverageReader.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -4,15 +4,14 @@
 
 import javax.swing.ImageIcon;
 
-import org.geotools.styling.Style;
 import org.geotools.coverage.grid.GridCoverage2D;
 import org.geotools.coverage.grid.io.AbstractGridCoverage2DReader;
+import org.geotools.styling.Style;
 
 import schmitzm.geotools.JTSUtil;
 import schmitzm.geotools.grid.GridUtil;
-
-import skrueger.i8n.Translation;
 import skrueger.RasterLegendData;
+import skrueger.i8n.Translation;
 
 /**
  * This class provides a simple implementation of {@link StyledMapInterface}

Modified: trunk/src/skrueger/geotools/StyledMapInterface.java
===================================================================
--- trunk/src/skrueger/geotools/StyledMapInterface.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/StyledMapInterface.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -4,20 +4,16 @@
 
 import javax.swing.ImageIcon;
 
+import org.geotools.feature.FeatureCollection;
 import org.geotools.styling.Style;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
 
+import skrueger.AttributeMetaData;
+import skrueger.RasterLegendData;
 import skrueger.i8n.Translation;
 
 import com.vividsolutions.jts.geom.Envelope;
 
-// fuer Doku
-import org.geotools.feature.FeatureCollection;
-import org.geotools.coverage.grid.GridCoverage2D;
-import skrueger.geotools.MapContextManagerInterface;
-import skrueger.AttributeMetaData;
-import skrueger.RasterLegendData;
-
 /**
  * This class is the top interface for styled objects to be managed in
  * {@link MapContextManagerInterface}. The (rough) classe structure is the

Modified: trunk/src/skrueger/geotools/StyledMapUtil.java
===================================================================
--- trunk/src/skrueger/geotools/StyledMapUtil.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/StyledMapUtil.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -1,42 +1,39 @@
 package skrueger.geotools;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileWriter;
+import java.net.URL;
 import java.text.DecimalFormat;
-import java.util.Map;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.SortedMap;
 import java.util.TreeMap;
-import java.net.URL;
 
-import org.geotools.feature.FeatureCollection;
-import org.geotools.map.MapLayer;
-import org.geotools.map.DefaultMapLayer;
+import org.apache.log4j.Logger;
 import org.geotools.coverage.grid.GridCoverage2D;
 import org.geotools.coverage.grid.io.AbstractGridCoverage2DReader;
-import org.geotools.data.FeatureSource;
+import org.geotools.feature.FeatureCollection;
+import org.geotools.map.DefaultMapLayer;
+import org.geotools.map.MapLayer;
 import org.geotools.styling.ColorMap;
 import org.geotools.styling.ColorMapEntry;
+import org.geotools.styling.RasterSymbolizer;
 import org.geotools.styling.Style;
-
-import org.apache.log4j.Logger;
-
-import org.jdom.Element;
 import org.jdom.Document;
+import org.jdom.Element;
 import org.jdom.input.SAXBuilder;
 import org.jdom.output.XMLOutputter;
 
 import schmitzm.geotools.styling.StylingUtil;
-import skrueger.AttributeMetaData;
-import skrueger.RasterLegendData;
-import skrueger.i8n.Translation;
 import schmitzm.io.IOUtil;
-import java.io.File;
-import java.io.FileNotFoundException;
 import schmitzm.lang.LangUtil;
 import schmitzm.swing.SwingUtil;
+import skrueger.AttributeMetaData;
+import skrueger.RasterLegendData;
+import skrueger.i8n.Translation;
 
-import java.io.FileWriter;
-
 /**
  * This class provides static helper methods for dealing with
  * {@link StyledMapInterface} stuff.

Modified: trunk/src/skrueger/geotools/selection/FeatureMapLayerSelectionSynchronizer.java
===================================================================
--- trunk/src/skrueger/geotools/selection/FeatureMapLayerSelectionSynchronizer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/selection/FeatureMapLayerSelectionSynchronizer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -24,7 +24,6 @@
 import javax.swing.event.ListSelectionListener;
 
 import org.geotools.feature.Feature;
-import org.geotools.feature.FeatureCollection;
 import org.geotools.map.MapLayer;
 import org.geotools.styling.FeatureTypeStyle;
 import org.geotools.styling.Style;

Modified: trunk/src/skrueger/geotools/selection/StyledFeatureLayerSelectionModel.java
===================================================================
--- trunk/src/skrueger/geotools/selection/StyledFeatureLayerSelectionModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/selection/StyledFeatureLayerSelectionModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -14,23 +14,12 @@
 
 package skrueger.geotools.selection;
 
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.Vector;
-
-import org.apache.log4j.Logger;
 import org.geotools.feature.Feature;
-import org.geotools.filter.AbstractFilterImpl;
-import org.geotools.styling.Style;
-import org.opengis.filter.Filter;
 
-import schmitzm.geotools.feature.FeatureUtil;
 import skrueger.geotools.StyledFeatureCollectionInterface;
 import skrueger.geotools.StyledFeatureSourceInterface;
+import skrueger.geotools.StyledMapInterface;
 
-import com.vividsolutions.jts.geom.Envelope;
-
 /**
  * This manager holds a set of {@link Feature Features} which are <i>selected</i>
  * in a {@link StyledMapInterface} ({@link StyledFeatureCollectionInterface} or

Modified: trunk/src/skrueger/geotools/selection/StyledLayerSelectionModel.java
===================================================================
--- trunk/src/skrueger/geotools/selection/StyledLayerSelectionModel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/selection/StyledLayerSelectionModel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -18,7 +18,6 @@
 import java.beans.PropertyChangeListener;
 import java.util.Collection;
 import java.util.HashSet;
-import java.util.Set;
 import java.util.Vector;
 
 import javax.swing.event.EventListenerList;

Modified: trunk/src/skrueger/geotools/selection/StyledLayerSelectionModelSynchronizer.java
===================================================================
--- trunk/src/skrueger/geotools/selection/StyledLayerSelectionModelSynchronizer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/selection/StyledLayerSelectionModelSynchronizer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -6,8 +6,6 @@
 
 import org.apache.log4j.Logger;
 
-import skrueger.geotools.selection.StyledLayerSelectionModel;
-
 /**
  * The {@link StyledLayerSelectionModelSynchronizer} is the super class for all
  * 

Modified: trunk/src/skrueger/geotools/selection/TableSelectionSynchronizer.java
===================================================================
--- trunk/src/skrueger/geotools/selection/TableSelectionSynchronizer.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/geotools/selection/TableSelectionSynchronizer.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -27,10 +27,6 @@
 
 import schmitzm.geotools.gui.FeatureCollectionTableModel;
 import schmitzm.swing.table.PipedTableModel;
-import schmitzm.swing.table.SelectionTableModel;
-import skrueger.geotools.selection.StyledFeatureLayerSelectionModel;
-import skrueger.geotools.selection.StyledLayerSelectionEvent;
-import skrueger.geotools.selection.StyledLayerSelectionModel;
 
 /**
  * This class keeps the selection of a (feature) {@link JTable} synchronized

Modified: trunk/src/skrueger/swing/TranslationEditJPanel.java
===================================================================
--- trunk/src/skrueger/swing/TranslationEditJPanel.java	2009-05-23 15:21:28 UTC (rev 126)
+++ trunk/src/skrueger/swing/TranslationEditJPanel.java	2009-05-30 14:29:58 UTC (rev 127)
@@ -5,7 +5,6 @@
 import java.util.List;
 
 import javax.swing.BorderFactory;
-import javax.swing.JDialog;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.SpringLayout;



More information about the Schmitzm-commits mailing list