Code style changes.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
WIP: Manual color selection for spots and edges.

The logic to store and assign a color to a selection of edges and spot
is there. It exploits a SpotFeatureAnalyzerFactory and an EdgeAnalyzer
that declare a single feature and attribute it a default double value
when called.

This double value is casted to an int, which is used to get the RGB of a
color.

Some actions in the popup menu of TrackScheme allows to modify manually
this feature through a JColorChooser dialog.

When the manual feature is selected in the ColorByFeatureGuiPanel, some
special actions are taken: the color generators are not per feature per
se, but two new color generator that retrieve the double value stored
for the manual color, cast it to int, and return the matching color.

TODO:
- Have TrackScheme shows the manual spot color when selecting the manual
  edge color (or not, we could live with just the manual edge color
  here)
- Check that the manual color value is saved and restored to./from XML.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
WIP: fix the manual color integration.

The problem is that you really need to flag feature analyzers that deal
with manual features. Because they are reset just before saving. And you
loose the values you set manually.
This might be the time for a redesign.
This might then be the moment to devlare int features...
Signed-off-by: Jean-Yves Tinevez <jeanyves.tinevez@gmail.com>
Code style changes.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Fix method name.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Feature analyzers now declare whether they are manual and whether they return integers.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
User the isInt flag of the features when reading.

Now this is actually a problem: Since in the model each feature is saved
independantly from its analyzer (decoupling the results from the
analyzing paramters, remember?), we need to save and retrieve this flag.
So this means a file format change.
Again.
Raaaahhhhh

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Write and retrieve the isInt flags to/from XML.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Fix a longstanding bug when loading XML.

Some features disappeared from the model after loading from XML. This
was because we were inadvertantly removing them when we were trying to
distinguish between int and double features.
Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Fix a test.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Simplify feature analyzers hierarchy.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Code style changes.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Better output for Settings info.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Code style changes.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Prevent erasing manual feature values.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Saving / Loading manual colors works.

Merge remote-tracking branch 'origin/manual-features' into manual-coloring

Conflicts:
	src/main/java/fiji/plugin/trackmate/features/EdgeFeatureCalculator.java
	src/main/java/fiji/plugin/trackmate/features/TrackFeatureCalculator.java
	src/main/java/fiji/plugin/trackmate/io/TmXmlWriter.java

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Don't switch from manual coloring when navigating to ConfigureViewsPanel.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
When coloring spots and edges ask for the color only once.

Signed-off-by: Jean-Yves Tinevez <jeanyves.tinevez@gmail.com>
En route for v2.2.0-rc4

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Polish the entry points.

Allow to specify the target file in the run method arguments.
Message the user if the file or an image cannot be found.
Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>