in taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/GraphViewComponent.java [267:425]
private JToolBar graphActionsToolbar(Workflow workflow,
final SVGGraphController graphController, JSVGCanvas svgCanvas,
Alignment alignment, PortStyle portStyle) {
JToolBar toolBar = new JToolBar();
JButton resetDiagramButton = new JButton();
resetDiagramButton.setBorder(new EmptyBorder(0, 2, 0, 2));
JButton zoomInButton = new JButton();
zoomInButton.setBorder(new EmptyBorder(0, 2, 0, 2));
JButton zoomOutButton = new JButton();
zoomOutButton.setBorder(new EmptyBorder(0, 2, 0, 2));
Action resetDiagramAction = svgCanvas.new ResetTransformAction();
ResetDiagramAction.setDesignAction(resetDiagramAction);
resetDiagramAction.putValue(SHORT_DESCRIPTION, "Reset Diagram");
resetDiagramAction.putValue(SMALL_ICON, refreshIcon);
resetDiagramButton.setAction(resetDiagramAction);
Action zoomInAction = svgCanvas.new ZoomAction(1.2);
ZoomInAction.setDesignAction(zoomInAction);
zoomInAction.putValue(SHORT_DESCRIPTION, "Zoom In");
zoomInAction.putValue(SMALL_ICON, zoomInIcon);
zoomInButton.setAction(zoomInAction);
Action zoomOutAction = svgCanvas.new ZoomAction(1 / 1.2);
ZoomOutAction.setDesignAction(zoomOutAction);
zoomOutAction.putValue(SHORT_DESCRIPTION, "Zoom Out");
zoomOutAction.putValue(SMALL_ICON, zoomOutIcon);
zoomOutButton.setAction(zoomOutAction);
diagramActionsMap.put(workflow, new Action[] { resetDiagramAction,
zoomInAction, zoomOutAction });
toolBar.add(resetDiagramButton);
toolBar.add(zoomInButton);
toolBar.add(zoomOutButton);
toolBar.addSeparator();
ButtonGroup nodeTypeGroup = new ButtonGroup();
JToggleButton noPorts = new JToggleButton();
JToggleButton allPorts = new JToggleButton();
JToggleButton blobs = new JToggleButton();
nodeTypeGroup.add(noPorts);
nodeTypeGroup.add(allPorts);
nodeTypeGroup.add(blobs);
if (portStyle.equals(PortStyle.NONE))
noPorts.setSelected(true);
else if (portStyle.equals(PortStyle.ALL))
allPorts.setSelected(true);
else
blobs.setSelected(true);
noPorts.setAction(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent arg0) {
graphController.setPortStyle(PortStyle.NONE);
graphController.redraw();
}
});
noPorts.getAction().putValue(SHORT_DESCRIPTION,
"Display no service ports");
noPorts.getAction().putValue(SMALL_ICON, noportIcon);
noPorts.setFocusPainted(false);
allPorts.setAction(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent arg0) {
graphController.setPortStyle(PortStyle.ALL);
graphController.redraw();
}
});
allPorts.getAction().putValue(SHORT_DESCRIPTION,
"Display all service ports");
allPorts.getAction().putValue(SMALL_ICON, allportIcon);
allPorts.setFocusPainted(false);
blobs.setAction(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent arg0) {
graphController.setPortStyle(PortStyle.BLOB);
graphController.redraw();
}
});
blobs.getAction().putValue(SHORT_DESCRIPTION,
"Display services as circles");
blobs.getAction().putValue(SMALL_ICON, blobIcon);
blobs.setFocusPainted(false);
toolBar.add(noPorts);
toolBar.add(allPorts);
toolBar.add(blobs);
toolBar.addSeparator();
ButtonGroup alignmentGroup = new ButtonGroup();
JToggleButton vertical = new JToggleButton();
JToggleButton horizontal = new JToggleButton();
alignmentGroup.add(vertical);
alignmentGroup.add(horizontal);
if (alignment.equals(Alignment.VERTICAL)) {
vertical.setSelected(true);
} else {
horizontal.setSelected(true);
}
vertical.setAction(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent arg0) {
graphController.setAlignment(Alignment.VERTICAL);
graphController.redraw();
}
});
vertical.getAction().putValue(SHORT_DESCRIPTION,
"Align services vertically");
vertical.getAction().putValue(SMALL_ICON, verticalIcon);
vertical.setFocusPainted(false);
horizontal.setAction(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent arg0) {
graphController.setAlignment(Alignment.HORIZONTAL);
graphController.redraw();
}
});
horizontal.getAction().putValue(SHORT_DESCRIPTION,
"Align services horizontally");
horizontal.getAction().putValue(SMALL_ICON, horizontalIcon);
horizontal.setFocusPainted(false);
toolBar.add(vertical);
toolBar.add(horizontal);
toolBar.addSeparator();
JToggleButton expandNested = new JToggleButton();
expandNested.setSelected(true);
expandNested.setAction(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent arg0) {
graphController.setExpandNestedDataflows(!graphController
.expandNestedDataflows());
graphController.redraw();
}
});
expandNested.getAction().putValue(SHORT_DESCRIPTION,
"Expand Nested Workflows");
expandNested.getAction().putValue(SMALL_ICON, expandNestedIcon);
expandNested.setFocusPainted(false);
toolBar.add(expandNested);
return toolBar;
}