is r5301 better? ..ede

On 29.12.2016 21:02, Michaël Michaud wrote:
> Hi Ede,
> 
> I don't know what you changed, but the plugin has a strange behaviour.
> 
> When the dialog is get from the menu, clicking on OK just reset the 
> coordinates without zooming to it.
> 
> When the dialog is get from the status bar, it works as usually.
> 
> Michaël
> 
> 
> Le 29/12/2016 à 18:33, jump-pilot-...@lists.sourceforge.net a écrit :
>> Revision: 5296
>>            http://sourceforge.net/p/jump-pilot/code/5296
>> Author:   edso
>> Date:     2016-12-29 17:33:41 +0000 (Thu, 29 Dec 2016)
>> Log Message:
>> -----------
>> reformat
>> removed unneeded undo call
>>
>> Modified Paths:
>> --------------
>>      
>> core/trunk/src/com/vividsolutions/jump/workbench/ui/zoom/ZoomToCoordinatePlugIn.java
>>
>> Modified: 
>> core/trunk/src/com/vividsolutions/jump/workbench/ui/zoom/ZoomToCoordinatePlugIn.java
>> ===================================================================
>> --- 
>> core/trunk/src/com/vividsolutions/jump/workbench/ui/zoom/ZoomToCoordinatePlugIn.java
>>      2016-12-29 17:32:49 UTC (rev 5295)
>> +++ 
>> core/trunk/src/com/vividsolutions/jump/workbench/ui/zoom/ZoomToCoordinatePlugIn.java
>>      2016-12-29 17:33:41 UTC (rev 5296)
>> @@ -24,96 +24,96 @@
>>   import com.vividsolutions.jump.workbench.ui.cursortool.Animations;
>>   
>>   public class ZoomToCoordinatePlugIn extends AbstractPlugIn {
>> -    private Coordinate lastCoordinate = new Coordinate(0, 0);
>> -    public boolean execute(PlugInContext context) throws Exception {
>> -            reportNothingToUndoYet(context);
>> -            Coordinate coordinate = prompt(context);
>> -            if (coordinate == null) {
>> -                    return false;
>> -            }
>> -        lastCoordinate = coordinate;
>> -            context.getLayerViewPanel().getViewport()
>> -                            .zoom(toEnvelope(coordinate, 
>> context.getLayerManager()));
>> -             
>> Animations.drawExpandingRing(context.getLayerViewPanel().getViewport()
>> -                    .toViewPoint(lastCoordinate), false, Color.BLUE,
>> -                    context.getLayerViewPanel(), new float[] { 20, 20 });
>> +  private Coordinate lastCoordinate = new Coordinate(0, 0);
>>   
>> -            return true;
>> -    }
>> +  public boolean execute(PlugInContext context) throws Exception {
>> +    Coordinate coordinate = prompt(context);
>> +    if (coordinate == null) {
>> +      return false;
>> +    }
>> +    lastCoordinate = coordinate;
>> +    context.getLayerViewPanel().getViewport()
>> +        .zoom(toEnvelope(coordinate, context.getLayerManager()));
>> +    Animations.drawExpandingRing(context.getLayerViewPanel().getViewport()
>> +        .toViewPoint(lastCoordinate), false, Color.BLUE,
>> +        context.getLayerViewPanel(), new float[] { 20, 20 });
>>   
>> -    private Coordinate prompt(PlugInContext context) {
>> -            while (true) {
>> -                    try {
>> -                            return 
>> toCoordinate(JOptionPane.showInputDialog(context
>> -                                            .getWorkbenchFrame(),
>> -                                            
>> I18N.get("ui.zoom.ZoomToCoordinatePlugIn.enter-coordinate-to-zoom-to"), 
>> lastCoordinate.x + ", "
>> -                                                            + 
>> lastCoordinate.y));
>> -                    } catch (Exception e) {
>> -                            
>> JOptionPane.showMessageDialog(context.getWorkbenchFrame(), e
>> -                                            .getMessage(),
>> -                                            
>> context.getWorkbenchFrame().getTitle(),
>> -                                            JOptionPane.ERROR_MESSAGE);
>> -                    }
>> -            }
>> +    return true;
>> +  }
>>   
>> -    }
>> +  private Coordinate prompt(PlugInContext context) {
>> +    while (true) {
>> +      try {
>> +        return toCoordinate(JOptionPane.showInputDialog(context
>> +            .getWorkbenchFrame(), I18N
>> +            
>> .get("ui.zoom.ZoomToCoordinatePlugIn.enter-coordinate-to-zoom-to"),
>> +            lastCoordinate.x + ", " + lastCoordinate.y));
>> +      } catch (Exception e) {
>> +        JOptionPane.showMessageDialog(context.getWorkbenchFrame(),
>> +            e.getMessage(), context.getWorkbenchFrame().getTitle(),
>> +            JOptionPane.ERROR_MESSAGE);
>> +      }
>> +    }
>>   
>> -    private Envelope toEnvelope(Coordinate coordinate, LayerManager 
>> layerManager) {
>> -            int segments = 0;
>> -            int segmentSum = 0;
>> -            outer : for (Iterator i = layerManager.iterator(); i.hasNext(); 
>> ) {
>> -                    Layer layer = (Layer) i.next();
>> -                    for (Iterator j = 
>> layer.getFeatureCollectionWrapper().iterator(); j
>> -                                    .hasNext(); ) {
>> -                            Feature feature = (Feature) j.next();
>> -                Collection coordinateArrays = 
>> CoordinateArrays.toCoordinateArrays(feature.getGeometry(), false);
>> -                for (Iterator k = coordinateArrays.iterator(); k.hasNext(); 
>> ) {
>> -                    Coordinate[] coordinates = (Coordinate[]) k.next();
>> -                    for (int a = 1; a < coordinates.length; a++) {
>> -                        segments++;
>> -                            segmentSum += 
>> coordinates[a].distance(coordinates[a-1]);
>> -                        if (segments > 100) { break outer; }
>> -                    }
>> -                }
>> -                    }
>> -            }
>> -            Envelope envelope = new Envelope(coordinate);
>> -        //Choose a reasonable magnification [Jon Aquino 10/22/2003]
>> -            if (segmentSum > 0) {
>> -                    envelope = EnvelopeUtil.expand(envelope,
>> -                                    segmentSum / (double) segments);
>> -            } else {
>> -                    envelope = EnvelopeUtil.expand(envelope, 50);
>> -            }
>> -            return envelope;
>> -    }
>> +  }
>>   
>> -    private Coordinate toCoordinate(String s) throws Exception {
>> -            if (s == null) {
>> -                    return null;
>> -            }
>> -            if (s.trim().length() == 0) {
>> -                    return null;
>> -            }
>> -            s = StringUtil.replaceAll(s, ",", " ");
>> -            StringTokenizer tokenizer = new StringTokenizer(s);
>> -            String x = tokenizer.nextToken();
>> -            if (!StringUtil.isNumber(x)) {
>> -                    throw new Exception("Not a number: " + x);
>> -            }
>> -            String y = tokenizer.nextToken();
>> -            if (!StringUtil.isNumber(y)) {
>> -                    throw new Exception("Not a number: " + y);
>> -            }
>> -            return new Coordinate(Double.parseDouble(x), 
>> Double.parseDouble(y));
>> -    }
>> +  private Envelope toEnvelope(Coordinate coordinate, LayerManager 
>> layerManager) {
>> +    int segments = 0;
>> +    int segmentSum = 0;
>> +    outer: for (Iterator i = layerManager.iterator(); i.hasNext();) {
>> +      Layer layer = (Layer) i.next();
>> +      for (Iterator j = layer.getFeatureCollectionWrapper().iterator(); j
>> +          .hasNext();) {
>> +        Feature feature = (Feature) j.next();
>> +        Collection coordinateArrays = CoordinateArrays.toCoordinateArrays(
>> +            feature.getGeometry(), false);
>> +        for (Iterator k = coordinateArrays.iterator(); k.hasNext();) {
>> +          Coordinate[] coordinates = (Coordinate[]) k.next();
>> +          for (int a = 1; a < coordinates.length; a++) {
>> +            segments++;
>> +            segmentSum += coordinates[a].distance(coordinates[a - 1]);
>> +            if (segments > 100) {
>> +              break outer;
>> +            }
>> +          }
>> +        }
>> +      }
>> +    }
>> +    Envelope envelope = new Envelope(coordinate);
>> +    // Choose a reasonable magnification [Jon Aquino 10/22/2003]
>> +    if (segmentSum > 0) {
>> +      envelope = EnvelopeUtil.expand(envelope, segmentSum / (double) 
>> segments);
>> +    } else {
>> +      envelope = EnvelopeUtil.expand(envelope, 50);
>> +    }
>> +    return envelope;
>> +  }
>>   
>> -    public MultiEnableCheck createEnableCheck(
>> -                    final WorkbenchContext workbenchContext) {
>> -            EnableCheckFactory checkFactory = new EnableCheckFactory(
>> -                            workbenchContext);
>> +  private Coordinate toCoordinate(String s) throws Exception {
>> +    if (s == null) {
>> +      return null;
>> +    }
>> +    if (s.trim().length() == 0) {
>> +      return null;
>> +    }
>> +    s = StringUtil.replaceAll(s, ",", " ");
>> +    StringTokenizer tokenizer = new StringTokenizer(s);
>> +    String x = tokenizer.nextToken();
>> +    if (!StringUtil.isNumber(x)) {
>> +      throw new Exception("Not a number: " + x);
>> +    }
>> +    String y = tokenizer.nextToken();
>> +    if (!StringUtil.isNumber(y)) {
>> +      throw new Exception("Not a number: " + y);
>> +    }
>> +    return new Coordinate(Double.parseDouble(x), Double.parseDouble(y));
>> +  }
>>   
>> -            return new MultiEnableCheck().add(checkFactory
>> -                            
>> .createWindowWithLayerViewPanelMustBeActiveCheck());
>> -    }
>> +  public MultiEnableCheck createEnableCheck(
>> +      final WorkbenchContext workbenchContext) {
>> +    EnableCheckFactory checkFactory = new 
>> EnableCheckFactory(workbenchContext);
>> +
>> +    return new MultiEnableCheck().add(checkFactory
>> +        .createWindowWithLayerViewPanelMustBeActiveCheck());
>> +  }
>>   }
>> \ No newline at end of file
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most 
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to