Fix issue with file dialog not showing when drawing mapsforge.
This commit is contained in:
		| @@ -163,7 +163,7 @@ public class MainWindow extends JFrame { | |||||||
|         this.currentPalette = this.basicPalette; |         this.currentPalette = this.basicPalette; | ||||||
|  |  | ||||||
|         wccPanel = new AlgorithmPanel(this, WeaklyConnectedComponentsAlgorithm.class, |         wccPanel = new AlgorithmPanel(this, WeaklyConnectedComponentsAlgorithm.class, | ||||||
|                 "Weakly-Connected Components", new String[]{}, false, false); |                 "Weakly-Connected Components", new String[] {}, false, false); | ||||||
|         wccPanel.addStartActionListener(new ActionListener() { |         wccPanel.addStartActionListener(new ActionListener() { | ||||||
|             @Override |             @Override | ||||||
|             public void actionPerformed(ActionEvent e) { |             public void actionPerformed(ActionEvent e) { | ||||||
| @@ -208,7 +208,7 @@ public class MainWindow extends JFrame { | |||||||
|         }); |         }); | ||||||
|  |  | ||||||
|         spPanel = new AlgorithmPanel(this, ShortestPathAlgorithm.class, "Shortest-Path", |         spPanel = new AlgorithmPanel(this, ShortestPathAlgorithm.class, "Shortest-Path", | ||||||
|                 new String[]{ "Origin", "Destination" }, true, true); |                 new String[] { "Origin", "Destination" }, true, true); | ||||||
|         spPanel.addStartActionListener(new ActionListener() { |         spPanel.addStartActionListener(new ActionListener() { | ||||||
|             @Override |             @Override | ||||||
|             public void actionPerformed(ActionEvent e) { |             public void actionPerformed(ActionEvent e) { | ||||||
| @@ -261,12 +261,12 @@ public class MainWindow extends JFrame { | |||||||
|         }); |         }); | ||||||
|  |  | ||||||
|         cpPanel = new AlgorithmPanel( |         cpPanel = new AlgorithmPanel( | ||||||
|                 this, CarPoolingAlgorithm.class, "Car-Pooling", new String[]{ "Origin Car", |                 this, CarPoolingAlgorithm.class, "Car-Pooling", new String[] { "Origin Car", | ||||||
|                         "Origin Pedestrian", "Destination Car", "Destination Pedestrian" }, |                         "Origin Pedestrian", "Destination Car", "Destination Pedestrian" }, | ||||||
|                 true, true); |                 true, true); | ||||||
|  |  | ||||||
|         psPanel = new AlgorithmPanel(this, PackageSwitchAlgorithm.class, "Car-Pooling", |         psPanel = new AlgorithmPanel(this, PackageSwitchAlgorithm.class, "Car-Pooling", | ||||||
|                 new String[]{ "Oribin A", "Origin B", "Destination A", "Destination B" }, true, |                 new String[] { "Oribin A", "Origin B", "Destination A", "Destination B" }, true, | ||||||
|                 true); |                 true); | ||||||
|  |  | ||||||
|         // add algorithm panels |         // add algorithm panels | ||||||
| @@ -463,7 +463,10 @@ public class MainWindow extends JFrame { | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         Runnable runnable = null; | ||||||
|  |  | ||||||
|         if (isMapView && mfile != null) { |         if (isMapView && mfile != null) { | ||||||
|  |             final File mfileFinal = mfile; | ||||||
|             // It is a mapview drawing and the file was found, so: |             // It is a mapview drawing and the file was found, so: | ||||||
|             // 1. We create the drawing if necessary. |             // 1. We create the drawing if necessary. | ||||||
|             if (drawing != mapViewDrawing) { |             if (drawing != mapViewDrawing) { | ||||||
| @@ -473,16 +476,17 @@ public class MainWindow extends JFrame { | |||||||
|                 mainPanel.setDividerLocation(oldLocation); |                 mainPanel.setDividerLocation(oldLocation); | ||||||
|                 notifyDrawingLoaded(basicDrawing, mapViewDrawing); |                 notifyDrawingLoaded(basicDrawing, mapViewDrawing); | ||||||
|                 drawing.clear(); |                 drawing.clear(); | ||||||
|                 ((MapViewDrawing) drawing).drawGraph(mfile); |                 isNewGraph = true; | ||||||
|             } |             } | ||||||
|             else if (isNewGraph) { |             if (isNewGraph) { | ||||||
|                 drawing.clear(); |                 drawing.clear(); | ||||||
|                 ((MapViewDrawing) drawing).drawGraph(mfile); |                 runnable = new Runnable() { | ||||||
|  |                     public void run() { | ||||||
|  |                         ((MapViewDrawing) drawing).drawGraph(mfileFinal); | ||||||
|  |                         notifyRedrawRequest(); | ||||||
|  |                     } | ||||||
|  |                 }; | ||||||
|             } |             } | ||||||
|             else { |  | ||||||
|                 drawing.clearOverlays(); |  | ||||||
|             } |  | ||||||
|             notifyRedrawRequest(); |  | ||||||
|  |  | ||||||
|         } |         } | ||||||
|         else if (!isMapView || (isMapView && mfile == null && isNewGraph)) { |         else if (!isMapView || (isMapView && mfile == null && isNewGraph)) { | ||||||
| @@ -492,18 +496,25 @@ public class MainWindow extends JFrame { | |||||||
|                 mainPanel.setLeftComponent(basicDrawing); |                 mainPanel.setLeftComponent(basicDrawing); | ||||||
|                 mainPanel.setDividerLocation(oldLocation); |                 mainPanel.setDividerLocation(oldLocation); | ||||||
|                 notifyDrawingLoaded(mapViewDrawing, basicDrawing); |                 notifyDrawingLoaded(mapViewDrawing, basicDrawing); | ||||||
|  |                 isNewGraph = true; | ||||||
|  |             } | ||||||
|  |             if (isNewGraph || palette != this.currentPalette) { | ||||||
|                 this.currentPalette = palette; |                 this.currentPalette = palette; | ||||||
|                 drawing.clear(); |                 drawing.clear(); | ||||||
|                 drawing.drawGraph(graph, palette); |                 runnable = new Runnable() { | ||||||
|             } |                     public void run() { | ||||||
|             else if (isNewGraph || palette != this.currentPalette) { |                         drawing.drawGraph(graph, palette); | ||||||
|                 this.currentPalette = palette; |                         notifyRedrawRequest(); | ||||||
|                 drawing.clear(); |                     } | ||||||
|                 drawing.drawGraph(graph, palette); |                 }; | ||||||
|             } |  | ||||||
|             else { |  | ||||||
|                 drawing.clearOverlays(); |  | ||||||
|             } |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (runnable != null) { | ||||||
|  |             launchThread(runnable, false); | ||||||
|  |         } | ||||||
|  |         else { | ||||||
|  |             drawing.clearOverlays(); | ||||||
|             notifyRedrawRequest(); |             notifyRedrawRequest(); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -696,12 +707,7 @@ public class MainWindow extends JFrame { | |||||||
|         drawGraphItem.addActionListener(baf.createBlockingAction(new ActionListener() { |         drawGraphItem.addActionListener(baf.createBlockingAction(new ActionListener() { | ||||||
|             @Override |             @Override | ||||||
|             public void actionPerformed(ActionEvent e) { |             public void actionPerformed(ActionEvent e) { | ||||||
|                 launchThread(new Runnable() { |                 drawGraph(BasicDrawing.class, basicPalette); | ||||||
|                     @Override |  | ||||||
|                     public void run() { |  | ||||||
|                         drawGraph(BasicDrawing.class, basicPalette); |  | ||||||
|                     } |  | ||||||
|                 }); |  | ||||||
|             } |             } | ||||||
|         })); |         })); | ||||||
|         graphLockItems.add(drawGraphItem); |         graphLockItems.add(drawGraphItem); | ||||||
| @@ -710,12 +716,7 @@ public class MainWindow extends JFrame { | |||||||
|         drawGraphBWItem.addActionListener(baf.createBlockingAction(new ActionListener() { |         drawGraphBWItem.addActionListener(baf.createBlockingAction(new ActionListener() { | ||||||
|             @Override |             @Override | ||||||
|             public void actionPerformed(ActionEvent e) { |             public void actionPerformed(ActionEvent e) { | ||||||
|                 launchThread(new Runnable() { |                 drawGraph(BasicDrawing.class, blackAndWhitePalette); | ||||||
|                     @Override |  | ||||||
|                     public void run() { |  | ||||||
|                         drawGraph(BasicDrawing.class, blackAndWhitePalette); |  | ||||||
|                     } |  | ||||||
|                 }); |  | ||||||
|             } |             } | ||||||
|         })); |         })); | ||||||
|         graphLockItems.add(drawGraphBWItem); |         graphLockItems.add(drawGraphBWItem); | ||||||
| @@ -725,12 +726,7 @@ public class MainWindow extends JFrame { | |||||||
|         drawGraphMapsforgeItem.addActionListener(baf.createBlockingAction(new ActionListener() { |         drawGraphMapsforgeItem.addActionListener(baf.createBlockingAction(new ActionListener() { | ||||||
|             @Override |             @Override | ||||||
|             public void actionPerformed(ActionEvent e) { |             public void actionPerformed(ActionEvent e) { | ||||||
|                 launchThread(new Runnable() { |                 drawGraph(MapViewDrawing.class); | ||||||
|                     @Override |  | ||||||
|                     public void run() { |  | ||||||
|                         drawGraph(MapViewDrawing.class); |  | ||||||
|                     } |  | ||||||
|                 }); |  | ||||||
|             } |             } | ||||||
|         })); |         })); | ||||||
|         graphLockItems.add(drawGraphMapsforgeItem); |         graphLockItems.add(drawGraphMapsforgeItem); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user