Author: tfennelly
Date: 2010-09-06 11:08:08 -0400 (Mon, 06 Sep 2010)
New Revision: 24737
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AbstractProcessGraphAction.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessGraphicalViewerLabelProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskNodeFigure.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerTemplateGraphicalEditor.java
Log:
https://jira.jboss.org/browse/JBIDE-6986
AddNextTaskNodeAction.addFreemarkerTemplateTask fails if Process Graph node is not
properly selected
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AbstractProcessGraphAction.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AbstractProcessGraphAction.java 2010-09-06
14:34:02 UTC (rev 24736)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AbstractProcessGraphAction.java 2010-09-06
15:08:08 UTC (rev 24737)
@@ -21,6 +21,7 @@
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.ui.IEditorPart;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.graphical.editors.SmooksProcessGraphicalEditor;
import org.jboss.tools.smooks.graphical.editors.process.TaskType;
/**
@@ -70,11 +71,19 @@
}
protected List<TaskType> getCurrentSelectedTask(){
+ if(editorPart instanceof SmooksProcessGraphicalEditor) {
+ TaskType currentlySelectedTask =
((SmooksProcessGraphicalEditor)editorPart).getCurrentlySelectedTask();
+ if(currentlySelectedTask != null) {
+ List<TaskType> selectedTasks = new ArrayList<TaskType>();
+ selectedTasks.add(currentlySelectedTask);
+ return selectedTasks;
+ }
+ }
+
if(currentSelection != null){
List<TaskType> selectedTasks = new ArrayList<TaskType>();
- List<?> selections = ((IStructuredSelection)currentSelection).toList();
- for (Iterator<?> iterator = selections.iterator(); iterator.hasNext();) {
- Object object = (Object) iterator.next();
+ List<?> selections = ((IStructuredSelection) currentSelection).toList();
+ for (Object object : selections) {
if(object != null && object instanceof TaskType){
selectedTasks.add((TaskType)object);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java 2010-09-06
14:34:02 UTC (rev 24736)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java 2010-09-06
15:08:08 UTC (rev 24737)
@@ -150,6 +150,8 @@
protected boolean needupdatewhenshow = true;
private ProcessType process;
+
+ private TaskType currentlySelectedTask = null;
private Map<Object, String> smooksModelIdMap = new HashMap<Object,
String>();
@@ -342,8 +344,7 @@
updateProcessActions(processGraphViewer.getSelection());
fillProcessMenu(manager);
} else {
- for (Iterator<?> iterator = processPanelActions.iterator();
iterator.hasNext();) {
- IAction action = (IAction) iterator.next();
+ for (IAction action : processPanelActions) {
if (action.isEnabled() && !(action instanceof DeleteTaskNodeAction)) {
manager.add(action);
}
@@ -898,7 +899,7 @@
return null;
}
- protected void showTaskControl(Object model) {
+ public void showTaskControl(Object model) {
if (pageBook == null)
return;
if (model == null)
@@ -969,6 +970,7 @@
pageBook.showPage(id);
}
}
+ currentlySelectedTask = (TaskType) finalModel;
} else {
// pageBook.showEmptyPage();
}
@@ -977,6 +979,10 @@
});
updateGlobalActions();
}
+
+ public TaskType getCurrentlySelectedTask() {
+ return currentlySelectedTask;
+ }
protected IEditorSite createSite(IEditorPart editor) {
return new SmooksTaskDetailsEditorSite(this.getEditor(), editor, this);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessGraphicalViewerLabelProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessGraphicalViewerLabelProvider.java 2010-09-06
14:34:02 UTC (rev 24736)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessGraphicalViewerLabelProvider.java 2010-09-06
15:08:08 UTC (rev 24737)
@@ -87,7 +87,7 @@
// if(TaskTypeManager.TASK_ID_INPUT.equals(((TaskType)element).getId())){
Image image = getImage(element);
String text = getText(element);
- return new TaskNodeFigure(processEditor, image, text);
+ return new TaskNodeFigure((TaskType)element, processEditor, image, text);
// }
}
return null;
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskNodeFigure.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskNodeFigure.java 2010-09-06
14:34:02 UTC (rev 24736)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskNodeFigure.java 2010-09-06
15:08:08 UTC (rev 24737)
@@ -44,6 +44,8 @@
*
*/
public class TaskNodeFigure extends Figure {
+
+ private TaskType task;
private Label problemTooltip;
@@ -67,16 +69,22 @@
private Rectangle imageSourceRectangle = null;
- public TaskNodeFigure(SmooksProcessGraphicalEditor graph, Image image, String labelText)
{
+ public TaskNodeFigure(TaskType task, SmooksProcessGraphicalEditor graph, Image image,
String text) {
super();
+ this.task = task;
+ this.processGraphicalViewerEditor = graph;
this.image = image;
- this.labelText = labelText;
- this.processGraphicalViewerEditor = graph;
+ this.labelText = text;
this.problemTooltip = new Label();
+
initFigure();
hookTaskNodeFigure();
}
+ public TaskType getTask() {
+ return task;
+ }
+
public void setProblemMessage(String message){
if(message == null){
this.setToolTip(null);
@@ -192,8 +200,12 @@
((Clickable) addTaskFigure).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
- if (!showAddFigure)
+ if (!showAddFigure) {
return;
+ }
+
+ processGraphicalViewerEditor.showTaskControl(task);
+
Graph g = processGraphicalViewerEditor.getProcessGraphViewer().getGraphControl();
processGraphicalViewerEditor.setNeedupdatewhenshow(false);
List<?> nodes = g.getNodes();
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerTemplateGraphicalEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerTemplateGraphicalEditor.java 2010-09-06
14:34:02 UTC (rev 24736)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerTemplateGraphicalEditor.java 2010-09-06
15:08:08 UTC (rev 24737)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors.template;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;