http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/DiagramSaveMenuSection.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/DiagramSaveMenuSection.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/DiagramSaveMenuSection.java new file mode 100644 index 0000000..fa806eb --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/DiagramSaveMenuSection.java @@ -0,0 +1,38 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static org.apache.taverna.workbench.views.graph.menu.DiagramMenu.DIAGRAM; + +import java.net.URI; + +import org.apache.taverna.ui.menu.AbstractMenuSection; + +/** + * @author Alex Nenadic + */ +public class DiagramSaveMenuSection extends AbstractMenuSection { + public static final URI DIAGRAM_SAVE_MENU_SECTION = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#diagramSaveMenuSection"); + + public DiagramSaveMenuSection() { + super(DIAGRAM, 40, DIAGRAM_SAVE_MENU_SECTION); + } +}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/DiagramZoomMenuSection.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/DiagramZoomMenuSection.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/DiagramZoomMenuSection.java new file mode 100644 index 0000000..dd71f82 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/DiagramZoomMenuSection.java @@ -0,0 +1,39 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static org.apache.taverna.workbench.views.graph.menu.DiagramMenu.DIAGRAM; + +import java.net.URI; + +import org.apache.taverna.ui.menu.AbstractMenuSection; + +/** + * @author Alex Nenadic + * @author Alan R Williams + */ +public class DiagramZoomMenuSection extends AbstractMenuSection { + public static final URI DIAGRAM_ZOOM_MENU_SECTION = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#diagramZoomMenuSection"); + + public DiagramZoomMenuSection() { + super(DIAGRAM, 20, DIAGRAM_ZOOM_MENU_SECTION); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphCopyMenuSection.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphCopyMenuSection.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphCopyMenuSection.java new file mode 100644 index 0000000..6f68e68 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphCopyMenuSection.java @@ -0,0 +1,38 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static org.apache.taverna.workbench.views.graph.menu.GraphMenuSection.GRAPH_MENU_SECTION; + +import java.net.URI; + +import org.apache.taverna.ui.menu.AbstractMenuSection; + +/** + * ??? + */ +public class GraphCopyMenuSection extends AbstractMenuSection { + public static final URI GRAPH_COPY_MENU_SECTION = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphCopyMenuSection"); + + public GraphCopyMenuSection() { + super(GRAPH_MENU_SECTION, 15, GRAPH_COPY_MENU_SECTION); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphDeleteMenuSection.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphDeleteMenuSection.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphDeleteMenuSection.java new file mode 100644 index 0000000..bad51fa --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphDeleteMenuSection.java @@ -0,0 +1,38 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static org.apache.taverna.workbench.views.graph.menu.GraphMenuSection.GRAPH_MENU_SECTION; + +import java.net.URI; + +import org.apache.taverna.ui.menu.AbstractMenuSection; + +/** + * @author Alex Nenadic + */ +public class GraphDeleteMenuSection extends AbstractMenuSection { + public static final URI GRAPH_DELETE_MENU_SECTION = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphDeleteMenuSection"); + + public GraphDeleteMenuSection() { + super(GRAPH_MENU_SECTION, 30, GRAPH_DELETE_MENU_SECTION); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphDetailsMenuSection.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphDetailsMenuSection.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphDetailsMenuSection.java new file mode 100644 index 0000000..cd261bb --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphDetailsMenuSection.java @@ -0,0 +1,39 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static org.apache.taverna.workbench.views.graph.menu.GraphMenuSection.GRAPH_MENU_SECTION; + +import java.net.URI; + +import org.apache.taverna.ui.menu.AbstractMenuSection; + +/** + * @author Alex Nenadic + * @author Alan R Williams + */ +public class GraphDetailsMenuSection extends AbstractMenuSection { + public static final URI GRAPH_DETAILS_MENU_SECTION = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphDetailsMenuSection"); + + public GraphDetailsMenuSection() { + super(GRAPH_MENU_SECTION, 25, GRAPH_DETAILS_MENU_SECTION); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphEditMenuSection.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphEditMenuSection.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphEditMenuSection.java new file mode 100644 index 0000000..231c728 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphEditMenuSection.java @@ -0,0 +1,38 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static org.apache.taverna.workbench.views.graph.menu.GraphMenuSection.GRAPH_MENU_SECTION; + +import java.net.URI; + +import org.apache.taverna.ui.menu.AbstractMenuSection; + +/** + * @author Alex Nenadic + */ +public class GraphEditMenuSection extends AbstractMenuSection { + public static final URI GRAPH_EDIT_MENU_SECTION = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphEditMenuSection"); + + public GraphEditMenuSection() { + super(GRAPH_MENU_SECTION, 20, GRAPH_EDIT_MENU_SECTION); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphMenuSection.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphMenuSection.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphMenuSection.java new file mode 100644 index 0000000..a042e13 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/GraphMenuSection.java @@ -0,0 +1,38 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import java.net.URI; + +import org.apache.taverna.ui.menu.AbstractMenuSection; + +/** + * @author Alex Nenadic + */ +public class GraphMenuSection extends AbstractMenuSection { + public static final URI GRAPH_MENU_SECTION = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphMenuSection"); + public static final URI EDIT_MENU_URI = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#edit"); + + public GraphMenuSection() { + super(EDIT_MENU_URI, 20, GRAPH_MENU_SECTION); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/InsertMenu.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/InsertMenu.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/InsertMenu.java new file mode 100644 index 0000000..b44c808 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/InsertMenu.java @@ -0,0 +1,46 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static java.awt.event.KeyEvent.VK_I; +import static javax.swing.Action.MNEMONIC_KEY; +import static org.apache.taverna.ui.menu.DefaultMenuBar.DEFAULT_MENU_BAR; + +import java.net.URI; + +import org.apache.taverna.ui.menu.AbstractMenu; + +/** + * @author alanrw + */ +public class InsertMenu extends AbstractMenu { + public static final URI INSERT = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#insert"); + + public InsertMenu() { + super(DEFAULT_MENU_BAR, 64, INSERT, makeAction()); + } + + public static DummyAction makeAction() { + DummyAction action = new DummyAction("Insert"); + action.putValue(MNEMONIC_KEY, VK_I); + return action; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/RenameWFInputOutputProcessorMenuAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/RenameWFInputOutputProcessorMenuAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/RenameWFInputOutputProcessorMenuAction.java new file mode 100644 index 0000000..e3c9a7b --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/RenameWFInputOutputProcessorMenuAction.java @@ -0,0 +1,61 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static org.apache.taverna.workbench.views.graph.menu.GraphDetailsMenuSection.GRAPH_DETAILS_MENU_SECTION; + +import java.net.URI; + +import javax.swing.Action; + +import org.apache.taverna.ui.menu.AbstractMenuAction; +import org.apache.taverna.workbench.edits.EditManager; +import org.apache.taverna.workbench.selection.SelectionManager; +import org.apache.taverna.workbench.views.graph.actions.RenameWFInputOutputProcessorAction; + +/** + * @author Alex Nenadic + */ +public class RenameWFInputOutputProcessorMenuAction extends AbstractMenuAction { + private static final URI RENAME_WF_INPUT_OUTPUT_PROCESSOR_URI = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphMenuRenameWFInputOutputProcessor"); + + private EditManager editManager; + private SelectionManager selectionManager; + + public RenameWFInputOutputProcessorMenuAction() { + super(GRAPH_DETAILS_MENU_SECTION, 30, + RENAME_WF_INPUT_OUTPUT_PROCESSOR_URI); + } + + @Override + protected Action createAction() { + return new RenameWFInputOutputProcessorAction(editManager, + selectionManager); + } + + public void setEditManager(EditManager editManager) { + this.editManager = editManager; + } + + public void setSelectionManager(SelectionManager selectionManager) { + this.selectionManager = selectionManager; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ResetDiagramAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ResetDiagramAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ResetDiagramAction.java new file mode 100644 index 0000000..77d3f1c --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ResetDiagramAction.java @@ -0,0 +1,63 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static java.awt.Toolkit.getDefaultToolkit; +import static java.awt.event.KeyEvent.VK_0; +import static javax.swing.KeyStroke.getKeyStroke; +import static org.apache.taverna.workbench.icons.WorkbenchIcons.refreshIcon; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; + +import org.apache.taverna.ui.menu.DesignOrResultsAction; + +@SuppressWarnings("serial") +public class ResetDiagramAction extends AbstractAction implements + DesignOrResultsAction { + private static Action designAction = null; + @SuppressWarnings("unused") + private static Action resultsAction = null; + + public static void setResultsAction(Action resultsAction) { + ResetDiagramAction.resultsAction = resultsAction; + } + + public static void setDesignAction(Action designAction) { + ResetDiagramAction.designAction = designAction; + } + + public ResetDiagramAction() { + super("Reset diagram", refreshIcon); + putValue( + ACCELERATOR_KEY, + getKeyStroke(VK_0, getDefaultToolkit().getMenuShortcutKeyMask())); + } + + @Override + public void actionPerformed(ActionEvent e) { +// if (isWorkflowPerspective() && (designAction != null)) + designAction.actionPerformed(e); +// else if (isResultsPerspective() && (resultsAction != null)) +// resultsAction.actionPerformed(e); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ResetDiagramMenuAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ResetDiagramMenuAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ResetDiagramMenuAction.java new file mode 100644 index 0000000..377b539 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ResetDiagramMenuAction.java @@ -0,0 +1,49 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static org.apache.taverna.workbench.views.graph.menu.DiagramZoomMenuSection.DIAGRAM_ZOOM_MENU_SECTION; + +import java.net.URI; + +import javax.swing.Action; + +import org.apache.taverna.ui.menu.AbstractMenuAction; + +/** + * An action that zooms a diagram image + * + * @author Alex Nenadic + * @author Tom Oinn + * @author Alan R Williams + */ +public class ResetDiagramMenuAction extends AbstractMenuAction { + public static final URI RESET_DIAGRAM_URI = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#diagramMenuResetDiagram"); + + public ResetDiagramMenuAction() { + super(DIAGRAM_ZOOM_MENU_SECTION, 5, RESET_DIAGRAM_URI); + } + + @Override + protected Action createAction() { + return new ResetDiagramAction(); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/SaveGraphImageSubMenu.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/SaveGraphImageSubMenu.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/SaveGraphImageSubMenu.java new file mode 100644 index 0000000..408c32d --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/SaveGraphImageSubMenu.java @@ -0,0 +1,314 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static javax.swing.JFileChooser.APPROVE_OPTION; +import static javax.swing.JOptionPane.ERROR_MESSAGE; +import static javax.swing.JOptionPane.WARNING_MESSAGE; +import static javax.swing.JOptionPane.YES_NO_OPTION; +import static javax.swing.JOptionPane.showConfirmDialog; +import static javax.swing.JOptionPane.showMessageDialog; +import static org.apache.taverna.workbench.views.graph.menu.DiagramSaveMenuSection.DIAGRAM_SAVE_MENU_SECTION; + +import java.awt.Component; +import java.awt.event.ActionEvent; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.OutputStream; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.net.URI; +import java.net.URL; +import java.util.prefs.Preferences; + +import javax.swing.AbstractAction; +import javax.swing.ImageIcon; +import javax.swing.JFileChooser; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; + +import org.apache.taverna.lang.io.StreamCopier; +import org.apache.taverna.lang.io.StreamDevourer; +import org.apache.taverna.lang.observer.Observable; +import org.apache.taverna.lang.observer.SwingAwareObserver; +import org.apache.taverna.lang.ui.ExtensionFileFilter; +import org.apache.taverna.ui.menu.AbstractMenuCustom; +import org.apache.taverna.ui.menu.DesignOnlyAction; +import org.apache.taverna.workbench.configuration.workbench.WorkbenchConfiguration; +import org.apache.taverna.workbench.file.FileManager; +import org.apache.taverna.workbench.icons.WorkbenchIcons; +import org.apache.taverna.workbench.models.graph.DotWriter; +import org.apache.taverna.workbench.models.graph.GraphController; +import org.apache.taverna.workbench.models.graph.svg.SVGUtil; +import org.apache.taverna.workbench.selection.SelectionManager; +import org.apache.taverna.workbench.selection.events.PerspectiveSelectionEvent; +import org.apache.taverna.workbench.selection.events.SelectionManagerEvent; +import org.apache.taverna.workbench.views.graph.GraphViewComponent; + +import org.apache.log4j.Logger; + +import org.apache.taverna.scufl2.api.core.Workflow; + +/** + * An action that saves graph diagram image. + * + * @author Alex Nenadic + * @author Tom Oinn + */ +public class SaveGraphImageSubMenu extends AbstractMenuCustom { + private static final Logger logger = Logger + .getLogger(SaveGraphImageSubMenu.class); + private static final String[] saveTypes = { "dot", "png", "svg", "ps", + "ps2" }; + private static final String[] saveExtensions = { "dot", "png", "svg", "ps", + "ps" }; + private static final String[] saveTypeNames = { "dot text", "PNG bitmap", + "scalable vector graphics", "postscript", "postscript for PDF" }; + public static final URI SAVE_GRAPH_IMAGE_MENU_URI = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphMenuSaveGraphImage"); + + private JMenu saveDiagramMenu; + private FileManager fileManager; + private SelectionManager selectionManager; + private WorkbenchConfiguration workbenchConfiguration; + private GraphViewComponent graphViewComponent; + + public SaveGraphImageSubMenu() { + super(DIAGRAM_SAVE_MENU_SECTION, 70, SAVE_GRAPH_IMAGE_MENU_URI); + } + + @Override + protected Component createCustomComponent() { + saveDiagramMenu = new JMenu("Export diagram"); + saveDiagramMenu + .setToolTipText("Open this menu to export the diagram in various formats"); + for (int i = 0; i < saveTypes.length; i++) { + String type = saveTypes[i]; + String extension = saveExtensions[i]; + ImageIcon icon = new ImageIcon( + WorkbenchIcons.class.getResource("graph/saveAs" + + type.toUpperCase() + ".png")); + JMenuItem item = new JMenuItem(new DotInvoker("Export as " + + saveTypeNames[i], icon, type, extension)); + saveDiagramMenu.add(item); + } + return saveDiagramMenu; + } + + @SuppressWarnings("serial") + class DotInvoker extends AbstractAction implements DesignOnlyAction { + String type = "dot"; + String extension = "dot"; + + public DotInvoker(String name, ImageIcon icon, String type, + String extension) { + super(name, icon); + this.type = type; + this.extension = extension; + } + + @Override + public void actionPerformed(ActionEvent e) { + Workflow workflow = selectionManager.getSelectedWorkflow(); + if (workflow == null) { + showMessageDialog(null, "Cannot export an empty diagram.", + "Warning", WARNING_MESSAGE); + return; + } + + File file = saveDialogue(null, workflow, extension, + "Export workflow diagram"); + if (file == null) + // User cancelled + return; + + try { + GraphController graphController = graphViewComponent + .getGraphController(workflow); + + if (type.equals("dot")) { + // Just write out the dot text, no processing required + PrintWriter out = new PrintWriter(new FileWriter(file)); + DotWriter dotWriter = new DotWriter(out); + dotWriter.writeGraph(graphController.generateGraph()); + out.flush(); + out.close(); + } else { + String dotLocation = (String) workbenchConfiguration + .getProperty("taverna.dotlocation"); + if (dotLocation == null) + dotLocation = "dot"; + logger.debug("GraphViewComponent: Invoking dot..."); + Process dotProcess = Runtime.getRuntime().exec( + new String[] { dotLocation, "-T" + type }); + + FileOutputStream fos = new FileOutputStream(file); + + StringWriter stringWriter = new StringWriter(); + DotWriter dotWriter = new DotWriter(stringWriter); + dotWriter.writeGraph(graphController.generateGraph()); + + OutputStream dotOut = dotProcess.getOutputStream(); + dotOut.write(SVGUtil.getDot(stringWriter.toString(), + workbenchConfiguration).getBytes()); + dotOut.flush(); + dotOut.close(); + new StreamDevourer(dotProcess.getErrorStream()).start(); + new StreamCopier(dotProcess.getInputStream(), fos).start(); + } + } catch (Exception ex) { + logger.warn("GraphViewComponent: Could not export diagram to " + file, ex); + showMessageDialog(null, + "Problem saving diagram : \n" + ex.getMessage(), + "Error!", ERROR_MESSAGE); + } + } + } + + /** + * Pop up a save dialogue relating to the given workflow. This method can be + * used, for example, for saving the workflow diagram as .png, and will use + * the existing workflow title as a base for suggesting a filename. + * + * @param parentComponent + * Parent component for dialogue window + * @param model + * Workflow to save + * @param extension + * Extension for filename, such as "jpg" + * @param windowTitle + * Title for dialogue box, such as "Save workflow diagram" + * @return File instance for the selected abstract filename, or null if the + * dialogue was cancelled. + */ + private File saveDialogue(Component parentComponent, Workflow workflow, + String extension, String windowTitle) { + JFileChooser fc = new JFileChooser(); + Preferences prefs = Preferences + .userNodeForPackage(SaveGraphImageSubMenu.class); + String curDir = prefs + .get("currentDir", System.getProperty("user.home")); + String suggestedFileName = ""; + // Get the source the workflow was loaded from - can be File, URL, or InputStream + Object source = fileManager.getDataflowSource(workflow.getParent()); + if (source instanceof File) { + suggestedFileName = ((File) source).getName(); + // remove the file extension + suggestedFileName = suggestedFileName.substring(0, + suggestedFileName.lastIndexOf(".")); + } else if (source instanceof URL) { + suggestedFileName = ((URL) source).getPath(); + // remove the file extension + suggestedFileName = suggestedFileName.substring(0, + suggestedFileName.lastIndexOf(".")); + } else { + // We cannot suggest the file name if workflow was read from an InputStream + } + + fc.setDialogTitle(windowTitle); + fc.resetChoosableFileFilters(); + fc.setFileFilter(new ExtensionFileFilter(new String[] { extension })); + if (suggestedFileName.isEmpty()) + // No file suggestion, just the directory + fc.setCurrentDirectory(new File(curDir)); + else + // Suggest a filename from the workflow file name + fc.setSelectedFile(new File(curDir, suggestedFileName + "." + extension)); + + while (true) { + if (fc.showSaveDialog(parentComponent) != APPROVE_OPTION) { + logger.info("GraphViewComponent: Aborting diagram export to " + + suggestedFileName); + return null; + } + + File file = fixExtension(fc.getSelectedFile(), extension); + logger.debug("GraphViewComponent: Selected " + file + " as export target"); + prefs.put("currentDir", fc.getCurrentDirectory().toString()); + + // If file doesn't exist, we may write it! (Well, probably...) + if (!file.exists()) + return file; + + // Ask the user if they want to overwrite the file + String msg = file.getAbsolutePath() + + " already exists. Do you want to overwrite it?"; + if (showConfirmDialog(null, msg, "File already exists", + YES_NO_OPTION) == JOptionPane.YES_OPTION) + return file; + } + } + + /** + * Make sure given File has the given extension. If it has no extension, + * a new File instance will be returned. Otherwise, the passed instance is + * returned unchanged. + * + * @param file + * File which extension is to be checked + * @param extension + * Extension desired, example: "xml" + * @return file parameter if the extension was OK, or a new File instance + * with the correct extension + */ + private File fixExtension(File file, String extension) { + if (file.getName().endsWith("." + extension)) + return file; + // Append the extension (keep the existing one) + String name = file.getName(); + return new File(file.getParent(), name + "." + extension); + } + + public void setFileManager(FileManager fileManager) { + this.fileManager = fileManager; + } + + public void setWorkbenchConfiguration( + WorkbenchConfiguration workbenchConfiguration) { + this.workbenchConfiguration = workbenchConfiguration; + } + + public void setSelectionManager(SelectionManager selectionManager) { + this.selectionManager = selectionManager; + } + + public void setGraphViewComponent(GraphViewComponent graphViewComponent) { + this.graphViewComponent = graphViewComponent; + } + + private static final String DESIGN_PERSPECTIVE_ID = "net.sf.taverna.t2.ui.perspectives.design.DesignPerspective"; + + @SuppressWarnings("unused") + private final class SelectionManagerObserver extends + SwingAwareObserver<SelectionManagerEvent> { + @Override + public void notifySwing(Observable<SelectionManagerEvent> sender, + SelectionManagerEvent message) { + if (!(message instanceof PerspectiveSelectionEvent)) + return; + PerspectiveSelectionEvent event = (PerspectiveSelectionEvent) message; + + saveDiagramMenu.setEnabled((DESIGN_PERSPECTIVE_ID.equals(event + .getSelectedPerspective().getID()))); + } + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomInAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomInAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomInAction.java new file mode 100644 index 0000000..f190167 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomInAction.java @@ -0,0 +1,71 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static java.awt.Toolkit.getDefaultToolkit; +import static java.awt.event.KeyEvent.VK_EQUALS; +import static javax.swing.KeyStroke.getKeyStroke; +import static org.apache.taverna.workbench.icons.WorkbenchIcons.zoomInIcon; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; + +import org.apache.taverna.ui.menu.DesignOrResultsAction; + +import org.apache.log4j.Logger; + +@SuppressWarnings("serial") +public class ZoomInAction extends AbstractAction implements + DesignOrResultsAction { + @SuppressWarnings("unused") + private static Logger logger = Logger.getLogger(ZoomInAction.class); + private static Action designAction = null; + @SuppressWarnings("unused") + private static Action resultsAction = null; + + public static void setResultsAction(Action resultsAction) { + ZoomInAction.resultsAction = resultsAction; + } + + public static void setDesignAction(Action designAction) { + ZoomInAction.designAction = designAction; + } + + ZoomInAction() { + super("Zoom in", zoomInIcon); + putValue( + ACCELERATOR_KEY, + getKeyStroke(VK_EQUALS, getDefaultToolkit() + .getMenuShortcutKeyMask())); + } + + @Override + public void actionPerformed(ActionEvent e) { +// if (isWorkflowPerspective()) { +// if (designAction != null) + designAction.actionPerformed(e); +// else +// logger.error("ZoomInAction.designAction is null"); +// } else if (isResultsPerspective() && (resultsAction != null)) +// resultsAction.actionPerformed(e); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomInMenuAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomInMenuAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomInMenuAction.java new file mode 100644 index 0000000..de78e66 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomInMenuAction.java @@ -0,0 +1,49 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static org.apache.taverna.workbench.views.graph.menu.DiagramZoomMenuSection.DIAGRAM_ZOOM_MENU_SECTION; + +import java.net.URI; + +import javax.swing.Action; + +import org.apache.taverna.ui.menu.AbstractMenuAction; + +/** + * An action that zooms a diagram image + * + * @author Alex Nenadic + * @author Tom Oinn + * @author Alan R Williams + */ +public class ZoomInMenuAction extends AbstractMenuAction { + public static final URI ZOOM_IN_URI = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#diagramMenuZoomIn"); + + public ZoomInMenuAction() { + super(DIAGRAM_ZOOM_MENU_SECTION, 10, ZOOM_IN_URI); + } + + @Override + protected Action createAction() { + return new ZoomInAction(); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomOutAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomOutAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomOutAction.java new file mode 100644 index 0000000..ca3a30c --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomOutAction.java @@ -0,0 +1,64 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static java.awt.Toolkit.getDefaultToolkit; +import static java.awt.event.KeyEvent.VK_MINUS; +import static javax.swing.KeyStroke.getKeyStroke; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; + +import org.apache.taverna.ui.menu.DesignOrResultsAction; +import org.apache.taverna.workbench.icons.WorkbenchIcons; + +@SuppressWarnings("serial") +public class ZoomOutAction extends AbstractAction implements + DesignOrResultsAction { + private static Action designAction = null; + @SuppressWarnings("unused") + private static Action resultsAction = null; + + public static void setResultsAction(Action resultsAction) { + ZoomOutAction.resultsAction = resultsAction; + } + + public static void setDesignAction(Action designAction) { + ZoomOutAction.designAction = designAction; + } + + ZoomOutAction() { + super("Zoom out", WorkbenchIcons.zoomOutIcon); + putValue( + ACCELERATOR_KEY, + getKeyStroke(VK_MINUS, getDefaultToolkit() + .getMenuShortcutKeyMask())); + } + + @Override + public void actionPerformed(ActionEvent e) { +// if (isWorkflowPerspective() && (designAction != null)) + designAction.actionPerformed(e); +// else if (isResultsPerspective() && (resultsAction != null)) +// resultsAction.actionPerformed(e); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomOutMenuAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomOutMenuAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomOutMenuAction.java new file mode 100644 index 0000000..f776c6d --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/menu/ZoomOutMenuAction.java @@ -0,0 +1,49 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.menu; + +import static org.apache.taverna.workbench.views.graph.menu.DiagramZoomMenuSection.DIAGRAM_ZOOM_MENU_SECTION; + +import java.net.URI; + +import javax.swing.Action; + +import org.apache.taverna.ui.menu.AbstractMenuAction; + +/** + * An action that zooms a diagram image + * + * @author Alex Nenadic + * @author Tom Oinn + * @author Alan R Williams + */ +public class ZoomOutMenuAction extends AbstractMenuAction { + public static final URI ZOOM_OUT_URI = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#diagramMenuZoomOut"); + + public ZoomOutMenuAction() { + super(DIAGRAM_ZOOM_MENU_SECTION, 20, ZOOM_OUT_URI); + } + + @Override + protected Action createAction() { + return new ZoomOutAction(); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/AddWFInputToolbarAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/AddWFInputToolbarAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/AddWFInputToolbarAction.java new file mode 100644 index 0000000..ec8a125 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/AddWFInputToolbarAction.java @@ -0,0 +1,59 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.toolbar; + +import static org.apache.taverna.workbench.views.graph.toolbar.GraphEditToolbarSection.GRAPH_EDIT_TOOLBAR_SECTION; + +import java.net.URI; + +import javax.swing.Action; + +import org.apache.taverna.ui.menu.AbstractMenuAction; +import org.apache.taverna.workbench.edits.EditManager; +import org.apache.taverna.workbench.selection.SelectionManager; +import org.apache.taverna.workbench.views.graph.actions.AddWFInputAction; + +/** + * @author Alex Nenadic + */ +public class AddWFInputToolbarAction extends AbstractMenuAction { + private static final URI ADD_WF_INPUT_URI = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphToolbarAddWFInput"); + + private EditManager editManager; + private SelectionManager selectionManager; + + public AddWFInputToolbarAction() { + super(GRAPH_EDIT_TOOLBAR_SECTION, 10, ADD_WF_INPUT_URI); + } + + @Override + protected Action createAction() { + return new AddWFInputAction(editManager, selectionManager); + } + + public void setEditManager(EditManager editManager) { + this.editManager = editManager; + } + + public void setSelectionManager(SelectionManager selectionManager) { + this.selectionManager = selectionManager; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/AddWFOutputToolbarAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/AddWFOutputToolbarAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/AddWFOutputToolbarAction.java new file mode 100644 index 0000000..d31ce18 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/AddWFOutputToolbarAction.java @@ -0,0 +1,59 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.toolbar; + +import static org.apache.taverna.workbench.views.graph.toolbar.GraphEditToolbarSection.GRAPH_EDIT_TOOLBAR_SECTION; + +import java.net.URI; + +import javax.swing.Action; + +import org.apache.taverna.ui.menu.AbstractMenuAction; +import org.apache.taverna.workbench.edits.EditManager; +import org.apache.taverna.workbench.selection.SelectionManager; +import org.apache.taverna.workbench.views.graph.actions.AddWFOutputAction; + +/** + * @author Alex Nenadic + */ +public class AddWFOutputToolbarAction extends AbstractMenuAction { + private static final URI ADD_WF_OUTPUT_URI = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphToolbarAddWFOutput"); + + private EditManager editManager; + private SelectionManager selectionManager; + + public AddWFOutputToolbarAction() { + super(GRAPH_EDIT_TOOLBAR_SECTION, 20, ADD_WF_OUTPUT_URI); + } + + @Override + protected Action createAction() { + return new AddWFOutputAction(editManager, selectionManager); + } + + public void setEditManager(EditManager editManager) { + this.editManager = editManager; + } + + public void setSelectionManager(SelectionManager selectionManager) { + this.selectionManager = selectionManager; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/DeleteGraphComponentToolbarAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/DeleteGraphComponentToolbarAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/DeleteGraphComponentToolbarAction.java new file mode 100644 index 0000000..5736ca3 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/DeleteGraphComponentToolbarAction.java @@ -0,0 +1,59 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.toolbar; + +import static org.apache.taverna.workbench.views.graph.toolbar.GraphDeleteToolbarSection.GRAPH_DELETE_TOOLBAR_SECTION; + +import java.net.URI; + +import javax.swing.Action; + +import org.apache.taverna.ui.menu.AbstractMenuAction; +import org.apache.taverna.workbench.edits.EditManager; +import org.apache.taverna.workbench.selection.SelectionManager; +import org.apache.taverna.workbench.views.graph.actions.DeleteGraphComponentAction; + +/** + * @author Alex Nenadic + */ +public class DeleteGraphComponentToolbarAction extends AbstractMenuAction { + private static final URI DELETE_GRAPH_COMPONENT_URI = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphToolbarDeleteGraphComponent"); + + private EditManager editManager; + private SelectionManager selectionManager; + + public DeleteGraphComponentToolbarAction() { + super(GRAPH_DELETE_TOOLBAR_SECTION, 10, DELETE_GRAPH_COMPONENT_URI); + } + + @Override + protected Action createAction() { + return new DeleteGraphComponentAction(editManager, selectionManager); + } + + public void setEditManager(EditManager editManager) { + this.editManager = editManager; + } + + public void setSelectionManager(SelectionManager selectionManager) { + this.selectionManager = selectionManager; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/GraphDeleteToolbarSection.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/GraphDeleteToolbarSection.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/GraphDeleteToolbarSection.java new file mode 100644 index 0000000..2a68c00 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/GraphDeleteToolbarSection.java @@ -0,0 +1,38 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.toolbar; + +import static org.apache.taverna.ui.menu.DefaultToolBar.DEFAULT_TOOL_BAR; + +import java.net.URI; + +import org.apache.taverna.ui.menu.AbstractMenuSection; + +/** + * @author Alex Nenadic + */ +public class GraphDeleteToolbarSection extends AbstractMenuSection { + public static final URI GRAPH_DELETE_TOOLBAR_SECTION = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphDeleteToolbarSection"); + + public GraphDeleteToolbarSection() { + super(DEFAULT_TOOL_BAR, 80, GRAPH_DELETE_TOOLBAR_SECTION); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/GraphEditToolbarSection.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/GraphEditToolbarSection.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/GraphEditToolbarSection.java new file mode 100644 index 0000000..3b86c77 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/GraphEditToolbarSection.java @@ -0,0 +1,38 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.toolbar; + +import static org.apache.taverna.ui.menu.DefaultToolBar.DEFAULT_TOOL_BAR; + +import java.net.URI; + +import org.apache.taverna.ui.menu.AbstractMenuSection; + +/** + * @author Alex Nenadic + */ +public class GraphEditToolbarSection extends AbstractMenuSection { + public static final URI GRAPH_EDIT_TOOLBAR_SECTION = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphEditToolbarSection"); + + public GraphEditToolbarSection() { + super(DEFAULT_TOOL_BAR, 30, GRAPH_EDIT_TOOLBAR_SECTION); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/RenameWFInputOutputProcessorToolbarAction.java ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/RenameWFInputOutputProcessorToolbarAction.java b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/RenameWFInputOutputProcessorToolbarAction.java new file mode 100644 index 0000000..1676b96 --- /dev/null +++ b/taverna-graph-view/src/main/java/org/apache/taverna/workbench/views/graph/toolbar/RenameWFInputOutputProcessorToolbarAction.java @@ -0,0 +1,62 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +package org.apache.taverna.workbench.views.graph.toolbar; + +import static org.apache.taverna.workbench.views.graph.toolbar.GraphEditToolbarSection.GRAPH_EDIT_TOOLBAR_SECTION; + +import java.net.URI; + +import javax.swing.Action; + +import org.apache.taverna.ui.menu.AbstractMenuAction; +import org.apache.taverna.workbench.edits.EditManager; +import org.apache.taverna.workbench.selection.SelectionManager; +import org.apache.taverna.workbench.views.graph.actions.RenameWFInputOutputProcessorAction; + +/** + * @author Alex Nenadic + */ +public class RenameWFInputOutputProcessorToolbarAction extends + AbstractMenuAction { + private static final URI RENAME_WF_INPUT_OUTPUT_PROCESSOR_URI = URI + .create("http://taverna.sf.net/2008/t2workbench/menu#graphToolbarRenameWFInputOutputProcessor"); + + private EditManager editManager; + private SelectionManager selectionManager; + + public RenameWFInputOutputProcessorToolbarAction() { + super(GRAPH_EDIT_TOOLBAR_SECTION, 30, + RENAME_WF_INPUT_OUTPUT_PROCESSOR_URI); + } + + @Override + protected Action createAction() { + return new RenameWFInputOutputProcessorAction(editManager, + selectionManager); + } + + public void setEditManager(EditManager editManager) { + this.editManager = editManager; + } + + public void setSelectionManager(SelectionManager selectionManager) { + this.selectionManager = selectionManager; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent b/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent index 226078d..baa6700 100644 --- a/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent +++ b/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent @@ -1,29 +1,29 @@ -net.sf.taverna.t2.workbench.views.graph.toolbar.GraphEditToolbarSection -net.sf.taverna.t2.workbench.views.graph.toolbar.GraphDeleteToolbarSection -net.sf.taverna.t2.workbench.views.graph.toolbar.GraphSaveToolbarSection -net.sf.taverna.t2.workbench.views.graph.toolbar.AddWFInputToolbarAction -net.sf.taverna.t2.workbench.views.graph.toolbar.AddWFOutputToolbarAction -net.sf.taverna.t2.workbench.views.graph.toolbar.RenameWFInputOutputProcessorToolbarAction -net.sf.taverna.t2.workbench.views.graph.toolbar.DeleteGraphComponentToolbarAction -net.sf.taverna.t2.workbench.views.graph.toolbar.SaveGraphImageToolbarAction +org.apache.taverna.workbench.views.graph.toolbar.GraphEditToolbarSection +org.apache.taverna.workbench.views.graph.toolbar.GraphDeleteToolbarSection +org.apache.taverna.workbench.views.graph.toolbar.GraphSaveToolbarSection +org.apache.taverna.workbench.views.graph.toolbar.AddWFInputToolbarAction +org.apache.taverna.workbench.views.graph.toolbar.AddWFOutputToolbarAction +org.apache.taverna.workbench.views.graph.toolbar.RenameWFInputOutputProcessorToolbarAction +org.apache.taverna.workbench.views.graph.toolbar.DeleteGraphComponentToolbarAction +org.apache.taverna.workbench.views.graph.toolbar.SaveGraphImageToolbarAction -net.sf.taverna.t2.workbench.views.graph.menu.DiagramMenu -net.sf.taverna.t2.workbench.views.graph.menu.DiagramSaveMenuSection -net.sf.taverna.t2.workbench.views.graph.menu.DiagramZoomMenuSection +org.apache.taverna.workbench.views.graph.menu.DiagramMenu +org.apache.taverna.workbench.views.graph.menu.DiagramSaveMenuSection +org.apache.taverna.workbench.views.graph.menu.DiagramZoomMenuSection -net.sf.taverna.t2.workbench.views.graph.menu.GraphMenuSection -net.sf.taverna.t2.workbench.views.graph.menu.GraphCopyMenuSection -net.sf.taverna.t2.workbench.views.graph.menu.GraphEditMenuSection -net.sf.taverna.t2.workbench.views.graph.menu.GraphDeleteMenuSection -net.sf.taverna.t2.workbench.views.graph.menu.GraphDetailsMenuSection +org.apache.taverna.workbench.views.graph.menu.GraphMenuSection +org.apache.taverna.workbench.views.graph.menu.GraphCopyMenuSection +org.apache.taverna.workbench.views.graph.menu.GraphEditMenuSection +org.apache.taverna.workbench.views.graph.menu.GraphDeleteMenuSection +org.apache.taverna.workbench.views.graph.menu.GraphDetailsMenuSection -net.sf.taverna.t2.workbench.views.graph.menu.InsertMenu +org.apache.taverna.workbench.views.graph.menu.InsertMenu -net.sf.taverna.t2.workbench.views.graph.menu.AddWFInputMenuAction -net.sf.taverna.t2.workbench.views.graph.menu.AddWFOutputMenuAction -net.sf.taverna.t2.workbench.views.graph.menu.RenameWFInputOutputProcessorMenuAction -net.sf.taverna.t2.workbench.views.graph.menu.DeleteGraphComponentMenuAction -net.sf.taverna.t2.workbench.views.graph.menu.SaveGraphImageSubMenu -net.sf.taverna.t2.workbench.views.graph.menu.ZoomInMenuAction -net.sf.taverna.t2.workbench.views.graph.menu.ZoomOutMenuAction -net.sf.taverna.t2.workbench.views.graph.menu.ResetDiagramMenuAction \ No newline at end of file +org.apache.taverna.workbench.views.graph.menu.AddWFInputMenuAction +org.apache.taverna.workbench.views.graph.menu.AddWFOutputMenuAction +org.apache.taverna.workbench.views.graph.menu.RenameWFInputOutputProcessorMenuAction +org.apache.taverna.workbench.views.graph.menu.DeleteGraphComponentMenuAction +org.apache.taverna.workbench.views.graph.menu.SaveGraphImageSubMenu +org.apache.taverna.workbench.views.graph.menu.ZoomInMenuAction +org.apache.taverna.workbench.views.graph.menu.ZoomOutMenuAction +org.apache.taverna.workbench.views.graph.menu.ResetDiagramMenuAction \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.configuration.ConfigurationUIFactory ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.configuration.ConfigurationUIFactory b/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.configuration.ConfigurationUIFactory index 70830ec..e4c56c8 100644 --- a/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.configuration.ConfigurationUIFactory +++ b/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.configuration.ConfigurationUIFactory @@ -1 +1 @@ -net.sf.taverna.t2.workbench.views.graph.config.GraphViewConfigurationUIFactory +org.apache.taverna.workbench.views.graph.config.GraphViewConfigurationUIFactory http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.zaria.UIComponentFactorySPI ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.zaria.UIComponentFactorySPI b/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.zaria.UIComponentFactorySPI index 8086a8d..c25df17 100644 --- a/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.zaria.UIComponentFactorySPI +++ b/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.zaria.UIComponentFactorySPI @@ -1 +1 @@ -net.sf.taverna.t2.workbench.views.graph.GraphViewComponentFactory \ No newline at end of file +org.apache.taverna.workbench.views.graph.GraphViewComponentFactory \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/bf8a7ea2/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.zaria.UIComponentSPI ---------------------------------------------------------------------- diff --git a/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.zaria.UIComponentSPI b/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.zaria.UIComponentSPI index 563c21d..efbb3be 100644 --- a/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.zaria.UIComponentSPI +++ b/taverna-graph-view/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.zaria.UIComponentSPI @@ -1 +1 @@ -net.sf.taverna.t2.workbench.views.graph.GraphViewComponent +org.apache.taverna.workbench.views.graph.GraphViewComponent
