From: Stefan F. <ste...@us...> - 2010-04-29 19:47:40
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv11444/rails/ui/swing Modified Files: ORUIManager.java ORPanel.java Log Message: Improved graphic support for revenue paths (undo, scaling). Index: ORUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORUIManager.java,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -d -r1.67 -r1.68 *** ORUIManager.java 16 Apr 2010 16:38:21 -0000 1.67 --- ORUIManager.java 29 Apr 2010 19:47:32 -0000 1.68 *************** *** 1370,1379 **** orPanel.initPrivateBuying(privatesCanBeBoughtNow); ! // sfy operating costs orPanel.initOperatingCosts(possibleActions.contains(OperatingCost.class)); ! // MapTileCorrection Actions mapCorrectionEnabled = false; mapCorrectionAction = null; if (possibleActions.contains(MapCorrectionAction.class)) { orPanel.initTileLayingStep(); --- 1370,1385 ---- orPanel.initPrivateBuying(privatesCanBeBoughtNow); ! // initialize operating costs actions orPanel.initOperatingCosts(possibleActions.contains(OperatingCost.class)); ! // initial deactivation of MapTileCorrection Actions mapCorrectionEnabled = false; mapCorrectionAction = null; + + // initial deactivation of revenue calculation + if (!possibleActions.contains(SetDividend.class)) { + orPanel.stopRevenueUpdate(); + } + if (possibleActions.contains(MapCorrectionAction.class)) { orPanel.initTileLayingStep(); Index: ORPanel.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORPanel.java,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** ORPanel.java 27 Apr 2010 23:24:50 -0000 1.59 --- ORPanel.java 29 Apr 2010 19:47:32 -0000 1.60 *************** *** 712,717 **** --- 712,725 ---- } else if (source == zoomIn) { orWindow.getMapPanel().zoomIn(); + if (revenueAdapter != null) { + revenueAdapter.drawOptimalRunAsPath(orUIManager.getMap()); + orUIManager.getMap().repaint(); + } } else if (source == zoomOut) { orWindow.getMapPanel().zoomOut(); + if (revenueAdapter != null) { + revenueAdapter.drawOptimalRunAsPath(orUIManager.getMap()); + orUIManager.getMap().repaint(); + } } else if (command == NETWORK_INFO_CMD) { JMenuItem item = (JMenuItem)actor.getSource(); *************** *** 814,834 **** NetworkGraphBuilder nwGraph = new NetworkGraphBuilder(); nwGraph.generateGraph(mapManager.getHexesAsList()); ! SimpleGraph<NetworkVertex, NetworkEdge> mapGraph = nwGraph.getMapGraph(); ! ! mapGraph = NetworkGraphBuilder.optimizeGraph(mapGraph); ! ! // revenue calculation example ! mapGraph = NetworkGraphBuilder.optimizeGraph(mapGraph); ! RevenueAdapter ra = new RevenueAdapter(mapGraph); ! ! // set tokens ! List<TokenI> tokens = company.getTokens(); ! for (TokenI token:tokens){ ! NetworkVertex vertex = nwGraph.getVertex(token); ! if (vertex != null) ra.addStartVertex(vertex); ! } // run on railroad graph, does not work so far, thus use map graph ! // RevenueAdapter ra = new RevenueAdapter(graph); // get trains --- 822,845 ---- NetworkGraphBuilder nwGraph = new NetworkGraphBuilder(); nwGraph.generateGraph(mapManager.getHexesAsList()); ! // run on mapgraph ! // SimpleGraph<NetworkVertex, NetworkEdge> mapGraph = nwGraph.getMapGraph(); ! // ! // mapGraph = NetworkGraphBuilder.optimizeGraph(mapGraph); ! // ! // // revenue calculation example ! // mapGraph = NetworkGraphBuilder.optimizeGraph(mapGraph); ! // RevenueAdapter ra = new RevenueAdapter(mapGraph); ! // ! // // set tokens ! // List<TokenI> tokens = company.getTokens(); ! // for (TokenI token:tokens){ ! // NetworkVertex vertex = nwGraph.getVertex(token); ! // if (vertex != null) ra.addStartVertex(vertex); ! // } // run on railroad graph, does not work so far, thus use map graph ! SimpleGraph<NetworkVertex, NetworkEdge> graph = nwGraph.getRailRoadGraph(company); ! graph = NetworkGraphBuilder.optimizeGraph(graph); ! RevenueAdapter ra = new RevenueAdapter(graph); // get trains *************** *** 856,863 **** public void stopRevenueUpdate() { orUIManager.getMap().setTrainPaths(null); ! revenueAdapter.removeRevenueListener(); ! revenueAdapter = null; ! revenueThread.interrupt(); ! revenueThread = null; } --- 867,878 ---- public void stopRevenueUpdate() { orUIManager.getMap().setTrainPaths(null); ! if (revenueThread != null) { ! revenueThread.interrupt(); ! revenueThread = null; ! } ! if (revenueAdapter != null) { ! revenueAdapter.removeRevenueListener(); ! revenueAdapter = null; ! } } |