}
@Override
public JComponent[] getToolbarComponents() {
//Show edges buttons
VizModel vizModel = VizController.getInstance().getVizModel();
final JToggleButton showEdgeButton = new JToggleButton();
showEdgeButton.setSelected(vizModel.isShowEdges());
showEdgeButton.setToolTipText(NbBundle.getMessage(VizBarController.class, "VizToolbar.Edges.showEdges"));
showEdgeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/gephi/visualization/component/showEdges.png")));
showEdgeButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
VizModel vizModel = VizController.getInstance().getVizModel();
vizModel.setShowEdges(showEdgeButton.isSelected());
}
});
vizModel.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals("showEdges")) {
VizModel vizModel = VizController.getInstance().getVizModel();
if (showEdgeButton.isSelected() != vizModel.isShowEdges()) {
showEdgeButton.setSelected(vizModel.isShowEdges());
}
}
}
});
components[0] = showEdgeButton;
//Edge color mode
final JToggleButton edgeHasNodeColorButton = new JToggleButton();
edgeHasNodeColorButton.setSelected(!vizModel.isEdgeHasUniColor());
edgeHasNodeColorButton.setToolTipText(NbBundle.getMessage(VizBarController.class, "VizToolbar.Edges.edgeNodeColor"));
edgeHasNodeColorButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/gephi/visualization/component/edgeNodeColor.png")));
edgeHasNodeColorButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
VizModel vizModel = VizController.getInstance().getVizModel();
vizModel.setEdgeHasUniColor(!edgeHasNodeColorButton.isSelected());
}
});
vizModel.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals("edgeHasUniColor")) {
VizModel vizModel = VizController.getInstance().getVizModel();
if (edgeHasNodeColorButton.isSelected() != !vizModel.isEdgeHasUniColor()) {
edgeHasNodeColorButton.setSelected(!vizModel.isEdgeHasUniColor());
}
}
}
});
components[1] = edgeHasNodeColorButton;
//Show labels buttons
final JToggleButton showLabelsButton = new JToggleButton();
showLabelsButton.setSelected(vizModel.getTextModel().isShowEdgeLabels());
showLabelsButton.setToolTipText(NbBundle.getMessage(VizBarController.class, "VizToolbar.Edges.showLabels"));
showLabelsButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/gephi/visualization/component/showEdgeLabels.png")));
showLabelsButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
VizModel vizModel = VizController.getInstance().getVizModel();
vizModel.getTextModel().setShowEdgeLabels(showLabelsButton.isSelected());
}
});
vizModel.getTextModel().addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
TextModelImpl textModel = VizController.getInstance().getVizModel().getTextModel();
if (showLabelsButton.isSelected() != textModel.isShowEdgeLabels()) {
showLabelsButton.setSelected(textModel.isShowEdgeLabels());
}
}
});
components[2] = showLabelsButton;
//EdgeScale slider
final JSlider edgeScaleSlider = new JSlider(0, 100, (int) ((vizModel.getEdgeScale() - 0.1f) * 10));
edgeScaleSlider.setToolTipText(NbBundle.getMessage(VizBarController.class, "VizToolbar.Edges.edgeScale"));
edgeScaleSlider.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
VizModel vizModel = VizController.getInstance().getVizModel();
if (vizModel.getEdgeScale() != (edgeScaleSlider.getValue() / 10f + 0.1f)) {
vizModel.setEdgeScale(edgeScaleSlider.getValue() / 10f + 0.1f);
}
}
});
edgeScaleSlider.setPreferredSize(new Dimension(100, 20));
edgeScaleSlider.setMaximumSize(new Dimension(100, 20));
vizModel.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals("edgeScale")) {
VizModel vizModel = VizController.getInstance().getVizModel();
if (vizModel.getEdgeScale() != (edgeScaleSlider.getValue() / 10f + 0.1f)) {
edgeScaleSlider.setValue((int) ((vizModel.getEdgeScale() - 0.1f) * 10));
}
}
}
});
components[3] = edgeScaleSlider;