use of org.gephi.graph.api.Node in project gephi by gephi.
the class MergeNodeDuplicatesUI method loadColumnsStrategies.
private void loadColumnsStrategies() {
JPanel strategiesPanel = new JPanel();
strategiesPanel.setLayout(new MigLayout("fillx"));
if (duplicateGroups != null && duplicateGroups.size() > 0) {
strategiesPanel.add(new JLabel(NbBundle.getMessage(MergeNodeDuplicatesUI.class, "MergeNodeDuplicatesUI.duplicateGroupsNumber", duplicateGroups.size())), "wrap 15px");
//Use first group of duplicated nodes to set strategies for all of them
List<Node> nodes = duplicateGroups.get(0);
//Prepare node rows:
rows = new Element[nodes.size()];
for (int i = 0; i < nodes.size(); i++) {
rows[i] = nodes.get(i);
}
strategiesConfigurationButtons = new StrategyConfigurationButton[columns.length];
strategiesComboBoxes = new StrategyComboBox[columns.length];
for (int i = 0; i < columns.length; i++) {
//Strategy information label:
StrategyInfoLabel infoLabel = new StrategyInfoLabel(i);
//Strategy configuration button:
strategiesConfigurationButtons[i] = new StrategyConfigurationButton(i);
//Strategy selection:
StrategyComboBox strategyComboBox = new StrategyComboBox(strategiesConfigurationButtons[i], infoLabel);
strategiesComboBoxes[i] = strategyComboBox;
for (AttributeRowsMergeStrategy strategy : getColumnAvailableStrategies(columns[i])) {
strategyComboBox.addItem(new StrategyWrapper(strategy));
}
strategyComboBox.refresh();
strategiesPanel.add(new JLabel(columns[i].getTitle() + ": "), "wrap");
strategiesPanel.add(infoLabel, "split 3");
strategiesPanel.add(strategiesConfigurationButtons[i]);
strategiesPanel.add(strategyComboBox, "growx, wrap 15px");
}
dialogControls.setOkButtonEnabled(true);
} else {
strategiesPanel.add(new JLabel(getMessage("MergeNodeDuplicatesUI.noDuplicatesText")));
dialogControls.setOkButtonEnabled(false);
}
scrollStrategies.setViewportView(strategiesPanel);
}
use of org.gephi.graph.api.Node in project gephi by gephi.
the class AddEdgeToGraphUI method unSetup.
@Override
public void unSetup() {
Object edgeType = getSelectedEdgeType();
boolean directed = directedRadioButton.isSelected();
Node source = null;
Node target = null;
if (sourceNodesComboBox.getSelectedIndex() != -1) {
source = nodes[sourceNodesComboBox.getSelectedIndex()];
}
if (targetNodesComboBox.getSelectedIndex() != -1) {
target = nodes[targetNodesComboBox.getSelectedIndex()];
}
manipulator.setDirected(directed);
manipulator.setEdgeTypeLabel(edgeType);
manipulator.setSource(source);
manipulator.setTarget(target);
SelectedOptions selectedOptions = workspace.getLookup().lookup(SelectedOptions.class);
selectedOptions.directed = directed;
selectedOptions.edgeType = edgeType;
selectedOptions.source = source;
selectedOptions.target = target;
}
use of org.gephi.graph.api.Node in project gephi by gephi.
the class MergeNodes method execute.
@Override
public void execute() {
Graph graph = Lookup.getDefault().lookup(GraphController.class).getGraphModel().getGraph();
GraphElementsController gec = Lookup.getDefault().lookup(GraphElementsController.class);
Node newNode = gec.mergeNodes(graph, nodes, selectedNode, columns, mergeStrategies, deleteMergedNodes);
Lookup.getDefault().lookup(DataTablesController.class).setNodeTableSelection(new Node[] { newNode });
NbPreferences.forModule(MergeNodes.class).putBoolean(DELETE_MERGED_NODES_SAVED_PREFERENCES, deleteMergedNodes);
}
use of org.gephi.graph.api.Node in project gephi by gephi.
the class LinkNodesUI method setup.
@Override
public void setup(Manipulator m, DialogControls dialogControls) {
manipulator = (LinkNodes) m;
nodes = manipulator.getNodes();
if (manipulator.isDirected()) {
directedEdge.setSelected(true);
} else {
undirectedEdge.setSelected(true);
}
Node sourceNode = manipulator.getSourceNode();
//Prepare combo box with nodes data:
for (int i = 0; i < nodes.length; i++) {
sourceNodeComboBox.addItem(nodes[i].getId() + " - " + nodes[i].getLabel());
if (nodes[i] == sourceNode) {
sourceNodeComboBox.setSelectedIndex(i);
}
}
}
use of org.gephi.graph.api.Node in project gephi by gephi.
the class GeneralChooseColumnsAndRowUI method refreshRows.
private void refreshRows() {
rows = columnsAndRowChooser.getRows();
Object sourceRow = columnsAndRowChooser.getRow();
Node node;
Edge edge;
//Prepare combo box with nodes/edges data:
for (int i = 0; i < rows.length; i++) {
if (rows[i] instanceof Node) {
node = (Node) rows[i];
rowComboBox.addItem(node.getId() + " - " + node.getLabel());
} else {
edge = (Edge) rows[i];
rowComboBox.addItem(edge.getId() + " - " + edge.getLabel());
}
if (rows[i] == sourceRow) {
rowComboBox.setSelectedIndex(i);
}
}
}
Aggregations