Permalink
Browse files

Fix Issue #616 - Link to nodes feature in data lab now directs the us…

…er to Add edge UI if only one node is selected.
  • Loading branch information...
1 parent 77b973c commit 1daa71b0d3ffec837ee652f16193c72579870bf1 @eduramiba eduramiba committed Nov 4, 2012
@@ -1,43 +1,43 @@
/*
-Copyright 2008-2010 Gephi
-Authors : Eduardo Ramos <eduramiba@gmail.com>
-Website : http://www.gephi.org
-
-This file is part of Gephi.
-
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-
-Copyright 2011 Gephi Consortium. All rights reserved.
-
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 3 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://gephi.org/about/legal/license-notice/
-or /cddl-1.0.txt and /gpl-3.0.txt. See the License for the
-specific language governing permissions and limitations under the
-License. When distributing the software, include this License Header
-Notice in each file and include the License files at
-/cddl-1.0.txt and /gpl-3.0.txt. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 3, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 3] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 3 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 3 code and therefore, elected the GPL
-Version 3 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
-
-Portions Copyrighted 2011 Gephi Consortium.
+ Copyright 2008-2010 Gephi
+ Authors : Eduardo Ramos <eduramiba@gmail.com>
+ Website : http://www.gephi.org
+
+ This file is part of Gephi.
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 2011 Gephi Consortium. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 3 only ("GPL") or the Common
+ Development and Distribution License("CDDL") (collectively, the
+ "License"). You may not use this file except in compliance with the
+ License. You can obtain a copy of the License at
+ http://gephi.org/about/legal/license-notice/
+ or /cddl-1.0.txt and /gpl-3.0.txt. See the License for the
+ specific language governing permissions and limitations under the
+ License. When distributing the software, include this License Header
+ Notice in each file and include the License files at
+ /cddl-1.0.txt and /gpl-3.0.txt. If applicable, add the following below the
+ License Header, with the fields enclosed by brackets [] replaced by
+ your own identifying information:
+ "Portions Copyrighted [year] [name of copyright owner]"
+
+ If you wish your version of this file to be governed by only the CDDL
+ or only the GPL Version 3, indicate your decision by adding
+ "[Contributor] elects to include this software in this distribution
+ under the [CDDL or GPL Version 3] license." If you do not indicate a
+ single choice of license, a recipient has the option to distribute
+ your version of this file under either the CDDL, the GPL Version 3 or
+ to extend the choice of license to its licensees as provided above.
+ However, if you add GPL Version 3 code and therefore, elected the GPL
+ Version 3 license, then the option applies only if the new code is
+ made subject to such option by the copyright holder.
+
+ Contributor(s):
+
+ Portions Copyrighted 2011 Gephi Consortium.
*/
package org.gephi.datalab.plugin.manipulators.general;
@@ -56,14 +56,15 @@ Development and Distribution License("CDDL") (collectively, the
/**
* GeneralActionsManipulator that adds a new edge to the graph, asking for source and target nodes and type of edge in UI.
+ *
* @author Eduardo Ramos <eduramiba@gmail.com>
*/
@ServiceProvider(service = GeneralActionsManipulator.class)
public class AddEdgeToGraph implements GeneralActionsManipulator {
- private Node source=null, target=null;
+ private Node source = null, target = null;
private boolean directed;
- private GraphModel graphModel=null;
+ private GraphModel graphModel = null;
public void execute() {
if (source != null && target != null) {
@@ -84,10 +85,11 @@ public boolean canExecute() {
}
public ManipulatorUI getUI() {
- GraphModel currentGraphModel=Lookup.getDefault().lookup(GraphController.class).getModel();
- if(graphModel!=currentGraphModel){//If graph model has changed since last execution, change default mode for edges to create in UI, else keep this parameter across calls
- directed=currentGraphModel.isDirected()||currentGraphModel.isMixed();//Get graph directed state. Set to true if graph is directed or mixed
- graphModel=currentGraphModel;
+ GraphModel currentGraphModel = Lookup.getDefault().lookup(GraphController.class).getModel();
+ if (graphModel != currentGraphModel) {//If graph model has changed since last execution, change default mode for edges to create in UI, else keep this parameter across calls
+ directed = currentGraphModel.isDirected() || currentGraphModel.isMixed();//Get graph directed state. Set to true if graph is directed or mixed
+ graphModel = currentGraphModel;
+ source = null;
}
return new AddEdgeToGraphUI();
}
@@ -50,7 +50,6 @@ Development and Distribution License("CDDL") (collectively, the
import org.gephi.graph.api.Edge;
import org.gephi.graph.api.Graph;
import org.gephi.graph.api.GraphController;
-import org.gephi.graph.api.MixedGraph;
import org.gephi.graph.api.Node;
import org.openide.util.Lookup;
@@ -81,11 +80,23 @@ public void setup(Manipulator m, DialogControls dialogControls) {
} else {
undirectedRadioButton.setSelected(true);
}
+
graph = Lookup.getDefault().lookup(GraphController.class).getModel().getMixedGraph();
nodes = graph.getNodes().toArray();
+
for (Node n : nodes) {
sourceNodesComboBox.addItem(n.getId() + " - " + n.getNodeData().getLabel());
}
+
+ Node selectedSource = manipulator.getSource();
+ if(selectedSource != null){
+ for (int i = 0; i < nodes.length; i++) {
+ if(nodes[i] == selectedSource){
+ sourceNodesComboBox.setSelectedIndex(i);
+ }
+ }
+ }
+
refreshAvailableTargetNodes();
}
Oops, something went wrong.

0 comments on commit 1daa71b

Please sign in to comment.