Search in sources :

Example 96 with Node

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);
}
Also used : JPanel(javax.swing.JPanel) AttributeRowsMergeStrategy(org.gephi.datalab.spi.rows.merge.AttributeRowsMergeStrategy) MigLayout(net.miginfocom.swing.MigLayout) Node(org.gephi.graph.api.Node) JLabel(javax.swing.JLabel)

Example 97 with Node

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;
}
Also used : Node(org.gephi.graph.api.Node)

Example 98 with Node

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);
}
Also used : Graph(org.gephi.graph.api.Graph) GraphElementsController(org.gephi.datalab.api.GraphElementsController) Node(org.gephi.graph.api.Node) DataTablesController(org.gephi.datalab.api.datatables.DataTablesController)

Example 99 with Node

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);
        }
    }
}
Also used : Node(org.gephi.graph.api.Node)

Example 100 with Node

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);
        }
    }
}
Also used : Node(org.gephi.graph.api.Node) Edge(org.gephi.graph.api.Edge)

Aggregations

Node (org.gephi.graph.api.Node)301 GraphModel (org.gephi.graph.api.GraphModel)169 Test (org.testng.annotations.Test)152 Edge (org.gephi.graph.api.Edge)116 UndirectedGraph (org.gephi.graph.api.UndirectedGraph)102 DirectedGraph (org.gephi.graph.api.DirectedGraph)84 GraphController (org.gephi.graph.api.GraphController)82 HashMap (java.util.HashMap)62 Graph (org.gephi.graph.api.Graph)50 Column (org.gephi.graph.api.Column)22 LinkedList (java.util.LinkedList)17 NodeIterable (org.gephi.graph.api.NodeIterable)12 EdgeIterable (org.gephi.graph.api.EdgeIterable)10 Table (org.gephi.graph.api.Table)10 ArrayList (java.util.ArrayList)7 HashSet (java.util.HashSet)6 GraphElementsController (org.gephi.datalab.api.GraphElementsController)6 Color (java.awt.Color)5 DataTablesController (org.gephi.datalab.api.datatables.DataTablesController)5 MouseClickEventListener (org.gephi.tools.spi.MouseClickEventListener)4