Author: DartPeng
Date: 2009-10-22 14:00:25 -0400 (Thu, 22 Oct 2009)
New Revision: 18241
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/freemarker_task.jpg
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/input_task.jpg
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/java_mapping_task.jpg
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddInputTaskAction.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/TaskTypeRules.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksJavaMappingGraphicalEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksXSLTemplateGraphicalEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.core/plugin.properties
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksConfigurationActivator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksConstants.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/GraphicsConstants.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/propertySections/RuleBaseSectionFilter.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/propertySections/ValidationSectionFilter.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddNextTaskNodeAction.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddPreviousTaskNodeAction.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddTaskNodeAction.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/GraphicalModelFactoryImpl.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPaletteRootCreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.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/editparts/SmooksGraphUtil.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java
Log:
JBIDE-5067
1.Add a toolbar above Process Viewer
2.List the Task in the toolbar
3.Implement DND from toolbar to Process Viewer.
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.core/plugin.properties
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.core/plugin.properties 2009-10-22 16:44:44
UTC (rev 18240)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.core/plugin.properties 2009-10-22 18:00:25
UTC (rev 18241)
@@ -180,7 +180,7 @@
_UI_InlineDirective_replace_literal = replace
_UI_InlineDirective_insertbefore_literal = insertbefore
_UI_InlineDirective_insertafter_literal = insertafter
-_UI_BindingsType_type = Bean
+_UI_BindingsType_type = Java Class
_UI_DecodeParamType_type = Decode Param
_UI_ExpressionType_type = Expression Binding
_UI_ValueType_type = Value Binding
@@ -481,7 +481,7 @@
_UI_EDI12Reader_validate_feature = Validate
# JavaBean version 1.2
-_UI_BeanType_type = Bean
+_UI_BeanType_type = Java Class
_UI_DecodeParamType_type = Decode Param Type
_UI_Javabean12DocumentRoot_type = Document Root
_UI_ExpressionType_type = Expression Binding
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/freemarker_task.jpg
===================================================================
(Binary files differ)
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/freemarker_task.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/input_task.jpg
===================================================================
(Binary files differ)
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/input_task.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/java_mapping_task.jpg
===================================================================
(Binary files differ)
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/java_mapping_task.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksConfigurationActivator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksConfigurationActivator.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksConfigurationActivator.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -65,6 +65,15 @@
protected void initializeImageRegistry(ImageRegistry reg) {
super.initializeImageRegistry(reg);
+ // registe task image
+ reg.put(GraphicsConstants.IMAGE_APPLY_FREEMARKER_TASK,
imageDescriptorFromPlugin(PLUGIN_ID,
+ GraphicsConstants.IMAGE_APPLY_FREEMARKER_TASK));
+ reg.put(GraphicsConstants.IMAGE_JAVA_AMPPING_TASK,
imageDescriptorFromPlugin(PLUGIN_ID,
+ GraphicsConstants.IMAGE_JAVA_AMPPING_TASK));
+ reg.put(GraphicsConstants.IMAGE_INPUT_TASK, imageDescriptorFromPlugin(PLUGIN_ID,
+ GraphicsConstants.IMAGE_INPUT_TASK));
+
+ // normal
reg.put(GraphicsConstants.IMAGE_PROPERTY_SHEET_PAGE,
getImageDescriptor(GraphicsConstants.IMAGE_PROPERTY_SHEET_PAGE));
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksConstants.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksConstants.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksConstants.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -31,8 +31,4 @@
public static final String VERSION_1_2 = "1.2";
public static final String[] SMOOKS_VERSIONS = new
String[]{VERSION_1_0,VERSION_1_1,VERSION_1_2};
-
- public static final String TASK_ID_INPUT = "input";
-
- public static final String TASK_ID_JAVA_MAPPING = "java_mapping";
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/GraphicsConstants.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/GraphicsConstants.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/GraphicsConstants.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -6,6 +6,12 @@
public static final Color BORDER_CORLOER = new Color(null,128,128,128);
+ public static final String IMAGE_JAVA_AMPPING_TASK =
"icons/full/obj32/java_mapping_task.jpg";
+
+ public static final String IMAGE_APPLY_FREEMARKER_TASK =
"icons/full/obj32/freemarker_task.jpg";
+
+ public static final String IMAGE_INPUT_TASK =
"icons/full/obj32/input_task.jpg";
+
public static final String IMAGE_JAVA_ATTRIBUTE =
"icons/full/obj16/att_obj.gif";
public static final String IMAGE_VALIDATED_TAG =
"icons/full/obj16/validated_tag.gif";
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/propertySections/RuleBaseSectionFilter.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/propertySections/RuleBaseSectionFilter.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/propertySections/RuleBaseSectionFilter.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -11,9 +11,6 @@
package org.jboss.tools.smooks.editor.propertySections;
import org.eclipse.jface.viewers.IFilter;
-import org.jboss.tools.smooks.graphical.editors.editparts.InputDataContainerEditPart;
-import org.jboss.tools.smooks.graphical.editors.editparts.InputDataTreeNodeEditPart;
-import org.jboss.tools.smooks.graphical.editors.editparts.SmooksRootEditPart;
/**
* @author Dart
@@ -25,17 +22,18 @@
* @see org.eclipse.jface.viewers.IFilter#select(java.lang.Object)
*/
public boolean select(Object toTest) {
- if(toTest == null) return false;
- if(toTest instanceof InputDataTreeNodeEditPart){
- return true;
- }
- if(toTest instanceof InputDataContainerEditPart){
- return true;
- }
- if(toTest instanceof SmooksRootEditPart){
- return true;
- }
return false;
+// if(toTest == null) return false;
+// if(toTest instanceof InputDataTreeNodeEditPart){
+// return true;
+// }
+// if(toTest instanceof InputDataContainerEditPart){
+// return true;
+// }
+// if(toTest instanceof SmooksRootEditPart){
+// return true;
+// }
+// return false;
}
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/propertySections/ValidationSectionFilter.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/propertySections/ValidationSectionFilter.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/propertySections/ValidationSectionFilter.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -11,7 +11,6 @@
package org.jboss.tools.smooks.editor.propertySections;
import org.eclipse.jface.viewers.IFilter;
-import org.jboss.tools.smooks.graphical.editors.editparts.InputDataTreeNodeEditPart;
/**
* @author Dart
@@ -23,10 +22,10 @@
* @see org.eclipse.jface.viewers.IFilter#select(java.lang.Object)
*/
public boolean select(Object toTest) {
- if(toTest == null) return false;
- if(toTest instanceof InputDataTreeNodeEditPart){
- return true;
- }
+// if(toTest == null) return false;
+// if(toTest instanceof InputDataTreeNodeEditPart){
+// return true;
+// }
return false;
}
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddInputTaskAction.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddInputTaskAction.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddInputTaskAction.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.actions;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.graphical.editors.TaskTypeManager;
+import org.jboss.tools.smooks.model.graphics.ext.GraphFactory;
+import org.jboss.tools.smooks.model.graphics.ext.GraphPackage;
+import org.jboss.tools.smooks.model.graphics.ext.ProcessType;
+import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
+import org.jboss.tools.smooks.model.graphics.ext.TaskType;
+
+/**
+ * @author Dart
+ *
+ */
+public class AddInputTaskAction extends AddNextTaskNodeAction {
+
+
+
+ public AddInputTaskAction(ISmooksModelProvider provider) {
+ super(TaskTypeManager.TASK_ID_INPUT, "Add Input Task", provider);
+ }
+
+ @Override
+ public void run() {
+ if (this.provider != null) {
+ SmooksGraphicsExtType graph = provider.getSmooksGraphicsExt();
+ ProcessType process = graph.getProcesses().getProcess();
+ if (process != null && process.getTask().isEmpty()) {
+ TaskType childTask = GraphFactory.eINSTANCE.createTaskType();
+ childTask.setId(taskID);
+ childTask.setName("Input Task");
+ Command command = AddCommand.create(provider.getEditingDomain(), process,
+ GraphPackage.Literals.PROCESS_TYPE__TASK, childTask);
+ provider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+ }
+
+ @Override
+ public void update() {
+ this.setEnabled(false);
+ SmooksGraphicsExtType graph = provider.getSmooksGraphicsExt();
+ ProcessType process = graph.getProcesses().getProcess();
+ if (process != null && process.getTask().isEmpty()) {
+ this.setEnabled(true);
+ }
+ }
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddInputTaskAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddNextTaskNodeAction.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddNextTaskNodeAction.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddNextTaskNodeAction.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -10,12 +10,8 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.actions;
-import java.util.Iterator;
-import java.util.List;
-
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.edit.command.AddCommand;
-import org.jboss.tools.smooks.configuration.SmooksConstants;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.model.graphics.ext.GraphFactory;
import org.jboss.tools.smooks.model.graphics.ext.GraphPackage;
@@ -26,7 +22,7 @@
*
*/
public class AddNextTaskNodeAction extends AddTaskNodeAction {
-
+
public AddNextTaskNodeAction(String taskID, String text, ISmooksModelProvider provider)
{
super(taskID, text, provider);
}
@@ -54,25 +50,9 @@
public void update() {
super.update();
if (this.isEnabled()) {
- TaskType parentTask = this.getCurrentSelectedTask().get(0);
- String currentTaskID = parentTask.getId();
- if (currentTaskID.equals(SmooksConstants.TASK_ID_INPUT)) {
- if (!SmooksConstants.TASK_ID_JAVA_MAPPING.equals(taskID)){
- this.setEnabled(false);
- }else{
- List<?> taskList = parentTask.getTask();
- for (Iterator<?> iterator = taskList.iterator(); iterator.hasNext();) {
- TaskType object = (TaskType) iterator.next();
- if(SmooksConstants.TASK_ID_JAVA_MAPPING.equals(object.getId())){
- this.setEnabled(false);
- }
- }
- }
- }
- if (currentTaskID.equals(SmooksConstants.TASK_ID_JAVA_MAPPING)) {
-// if (!SmooksConstants.TASK_ID_JAVA_MAPPING.equals(taskID))
- this.setEnabled(false);
- }
+ TaskType testTaskType = GraphFactory.eINSTANCE.createTaskType();
+ testTaskType.setId(taskID);
+ setEnabled(rules.isNextTask(this.getCurrentSelectedTask().get(0),testTaskType));
}
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddPreviousTaskNodeAction.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddPreviousTaskNodeAction.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddPreviousTaskNodeAction.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -10,9 +10,6 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.actions;
-import java.util.Iterator;
-import java.util.List;
-
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.command.CompoundCommand;
import org.eclipse.emf.ecore.EObject;
@@ -20,7 +17,6 @@
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.command.DeleteCommand;
-import org.jboss.tools.smooks.configuration.SmooksConstants;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.model.graphics.ext.GraphFactory;
import org.jboss.tools.smooks.model.graphics.ext.GraphPackage;
@@ -79,26 +75,9 @@
public void update() {
super.update();
if (this.isEnabled()) {
- TaskType parentTask = this.getCurrentSelectedTask().get(0);
- String parentID = parentTask.getId();
-
- if (parentID.equals(SmooksConstants.TASK_ID_INPUT)) {
- // if (!SmooksConstants.TASK_ID_JAVA_MAPPING.equals(taskID))
- this.setEnabled(false);
- }
-
- if (parentID.equals(SmooksConstants.TASK_ID_JAVA_MAPPING)) {
- if (!SmooksConstants.TASK_ID_INPUT.equals(taskID)) {
- this.setEnabled(false);
- } else {
- EObject obj = parentTask.eContainer();
- if(obj instanceof TaskType){
- if (SmooksConstants.TASK_ID_INPUT.equals(((TaskType)obj).getId())) {
- this.setEnabled(false);
- }
- }
- }
- }
+ TaskType testTaskType = GraphFactory.eINSTANCE.createTaskType();
+ testTaskType.setId(taskID);
+ setEnabled(rules.isPreTask(this.getCurrentSelectedTask().get(0),testTaskType));
}
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddTaskNodeAction.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddTaskNodeAction.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddTaskNodeAction.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -1,12 +1,14 @@
package org.jboss.tools.smooks.graphical.actions;
-import org.jboss.tools.smooks.configuration.SmooksConstants;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.graphical.editors.TaskTypeManager;
import org.jboss.tools.smooks.model.graphics.ext.TaskType;
public class AddTaskNodeAction extends AbstractProcessGraphAction {
-
+
protected String taskID = null;
+
+ protected TaskTypeRules rules = new TaskTypeRules();
public AddTaskNodeAction(String taskID, String text, ISmooksModelProvider provider) {
super(text, provider);
@@ -32,7 +34,7 @@
TaskType currentTask = this.getCurrentSelectedTask().get(0);
String taskID = currentTask.getId();
if (taskID != null) {
- if (taskID.equals(SmooksConstants.TASK_ID_INPUT) ||
taskID.equals(SmooksConstants.TASK_ID_JAVA_MAPPING))
+ if (taskID.equals(TaskTypeManager.TASK_ID_INPUT) ||
taskID.equals(TaskTypeManager.TASK_ID_JAVA_MAPPING))
this.setEnabled(true);
}
}
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/TaskTypeRules.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/TaskTypeRules.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/TaskTypeRules.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.actions;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.jboss.tools.smooks.graphical.editors.TaskTypeManager;
+import org.jboss.tools.smooks.model.graphics.ext.TaskType;
+
+/**
+ * @author Dart
+ *
+ */
+public class TaskTypeRules {
+
+ public boolean isNextTask(TaskType currentTask, TaskType testTask) {
+ TaskType parentTask = testTask;
+ String parentID = parentTask.getId();
+
+ if (parentID.equals(TaskTypeManager.TASK_ID_INPUT)) {
+ // if (!SmooksConstants.TASK_ID_JAVA_MAPPING.equals(taskID))
+ return false;
+ }
+
+ if (parentID.equals(TaskTypeManager.TASK_ID_JAVA_MAPPING)) {
+ if (!TaskTypeManager.TASK_ID_INPUT.equals(currentTask.getId())) {
+ return false;
+ } else {
+ EObject obj = parentTask.eContainer();
+ if (obj instanceof TaskType) {
+ if (TaskTypeManager.TASK_ID_INPUT.equals(((TaskType) obj).getId())) {
+ return false;
+ }
+ }
+ }
+ }
+ return true;
+ }
+
+ public boolean isPreTask(TaskType currentTask, TaskType testTask) {
+ TaskType parentTask = testTask;
+ String currentTaskID = parentTask.getId();
+ if (currentTaskID.equals(TaskTypeManager.TASK_ID_INPUT)) {
+ if (!TaskTypeManager.TASK_ID_JAVA_MAPPING.equals(currentTask.getId())) {
+ return false;
+ } else {
+ List<?> taskList = parentTask.getTask();
+ for (Iterator<?> iterator = taskList.iterator(); iterator.hasNext();) {
+ TaskType object = (TaskType) iterator.next();
+ if (TaskTypeManager.TASK_ID_JAVA_MAPPING.equals(object.getId())) {
+ return false;
+ }
+ }
+ }
+ }
+ if (currentTaskID.equals(TaskTypeManager.TASK_ID_JAVA_MAPPING)) {
+ // if (!SmooksConstants.TASK_ID_JAVA_MAPPING.equals(taskID))
+ return false;
+ }
+ return true;
+ }
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/TaskTypeRules.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/GraphicalModelFactoryImpl.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/GraphicalModelFactoryImpl.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/GraphicalModelFactoryImpl.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -13,18 +13,11 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
-import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
-import org.jboss.tools.smooks.graphical.editors.model.JavaBeanGraphModel;
-import org.jboss.tools.smooks.graphical.editors.model.ResourceConfigGraphModelImpl;
-import org.jboss.tools.smooks.graphical.editors.model.XSLTemplateContentProvider;
-import org.jboss.tools.smooks.graphical.editors.model.XSLTemplateGraphicalModel;
import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
import org.jboss.tools.smooks.model.javabean.BindingsType;
import org.jboss.tools.smooks.model.javabean.ExpressionType;
@@ -33,9 +26,7 @@
import org.jboss.tools.smooks.model.javabean12.BeanType;
import org.jboss.tools.smooks.model.rules10.RuleBase;
import org.jboss.tools.smooks.model.rules10.RuleBasesType;
-import org.jboss.tools.smooks.model.smooks.AbstractResourceConfig;
import org.jboss.tools.smooks.model.validation10.RuleType;
-import org.jboss.tools.smooks.model.xsl.Xsl;
/**
* @author Dart
@@ -46,7 +37,7 @@
public GraphicalModelFactoryImpl() {
}
- private ILabelProvider createLabelProvider(AdapterFactory factory) {
+ protected ILabelProvider createLabelProvider(AdapterFactory factory) {
return new AdapterFactoryLabelProvider(factory) {
/*
* (non-Javadoc)
@@ -66,7 +57,7 @@
};
}
- private String getGraphLabelText(Object element) {
+ protected String getGraphLabelText(Object element) {
Object obj = AdapterFactoryEditingDomain.unwrap(element);
if (obj instanceof BeanType) {
String p = ((BeanType) obj).getBeanId();
@@ -128,12 +119,18 @@
}
return null;
}
+
+ protected boolean canCreateGraphicalModel(Object model,ISmooksModelProvider provider){
+ SmooksGraphicsExtType extType = provider.getSmooksGraphicsExt();
+ String version = extType.getPlatformVersion();
+ if (SmooksUIUtils.isUnSupportElement(version, (EObject) model)) {
+ return false;
+ }
+ return true;
+ }
public Object createGraphicalModel(Object model, ISmooksModelProvider provider) {
AbstractSmooksGraphicalModel graphModel = null;
- AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain)
provider.getEditingDomain();
- ITreeContentProvider contentProvider = new
AdapterFactoryContentProvider(editingDomain.getAdapterFactory());
- ILabelProvider labelProvider = createLabelProvider(editingDomain.getAdapterFactory());
SmooksGraphicsExtType extType = provider.getSmooksGraphicsExt();
String version = extType.getPlatformVersion();
@@ -144,19 +141,19 @@
if (SmooksUIUtils.isUnSupportElement(version, (EObject) model)) {
return null;
}
- if (model instanceof BindingsType || model instanceof BeanType) {
- graphModel = new JavaBeanGraphModel(model, contentProvider, labelProvider, provider);
- ((JavaBeanGraphModel) graphModel).setHeaderVisable(true);
- }
- if (model instanceof Xsl) {
- graphModel = new XSLTemplateGraphicalModel(model, new
XSLTemplateContentProvider(contentProvider),
- new XSLLabelProvider(labelProvider), provider);
- ((TreeContainerModel) graphModel).setHeaderVisable(true);
- }
- if (graphModel == null && model instanceof AbstractResourceConfig) {
- graphModel = new ResourceConfigGraphModelImpl(model, contentProvider, labelProvider,
provider);
- ((ResourceConfigGraphModelImpl) graphModel).setHeaderVisable(true);
- }
+// if (model instanceof BindingsType || model instanceof BeanType) {
+// graphModel = new JavaBeanGraphModel(model, contentProvider, labelProvider,
provider);
+// ((JavaBeanGraphModel) graphModel).setHeaderVisable(true);
+// }
+// if (model instanceof Xsl) {
+// graphModel = new XSLTemplateGraphicalModel(model, new
XSLTemplateContentProvider(contentProvider),
+// new XSLLabelProvider(labelProvider), provider);
+// ((TreeContainerModel) graphModel).setHeaderVisable(true);
+// }
+// if (graphModel == null && model instanceof AbstractResourceConfig) {
+// graphModel = new ResourceConfigGraphModelImpl(model, contentProvider, labelProvider,
provider);
+// ((ResourceConfigGraphModelImpl) graphModel).setHeaderVisable(true);
+// }
return graphModel;
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPaletteRootCreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPaletteRootCreator.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPaletteRootCreator.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -78,7 +78,7 @@
return null;
}
};
- drawer.add(new ConnectionCreationToolEntry("Trigger Link", "Link",
factory, null, null));
+ drawer.add(new ConnectionCreationToolEntry("Link", "Connect node",
factory, null, null));
root.add(drawer);
createPaletteDrawer(root);
@@ -222,11 +222,14 @@
}
return false;
}
+
+ protected void fillActionGrouper(List<ISmooksActionGrouper> grouperList){
+
+ }
- private List<ISmooksActionGrouper> getSmooksActionGrouper() {
+ protected List<ISmooksActionGrouper> getSmooksActionGrouper() {
List<ISmooksActionGrouper> grouperList = new
ArrayList<ISmooksActionGrouper>();
-
- grouperList.add(new JavaBean11ActionGrouper());
+ fillActionGrouper(grouperList);
// grouperList.add(new Reader11ActionGrouper());
// grouperList.add(new Calc11ActionGrouper());
// grouperList.add(new Database11ActionGrouper());
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -106,17 +106,17 @@
private DefaultEditDomain editDomain = null;
- private ISmooksModelProvider smooksModelProvider = null;
+ protected ISmooksModelProvider smooksModelProvider = null;
- private RootModel root;
+ protected RootModel root;
- private SmooksResourceListType smooksResourceList;
+ protected SmooksResourceListType smooksResourceList;
- private List<Object> inputDataList = null;
+ protected List<Object> inputDataList = null;
- private GraphicalModelFactory graphicalModelFactory;
+ protected GraphicalModelFactory graphicalModelFactory;
- private ConnectionModelFactory connectionModelFactory;
+ protected ConnectionModelFactory connectionModelFactory;
public SmooksGraphicalEditorPart(ISmooksModelProvider provider) {
super();
@@ -183,10 +183,6 @@
getEditorSite().getShell().getDisplay().asyncExec(new Runnable() {
public void run() {
if (mostRecentCommand != null) {
- // if (getProcessGraphViewer() != null) {
- // getProcessGraphViewer().refresh();
- // getProcessGraphViewer().applyLayout();
- // }
Command rawCommand = mostRecentCommand;
while (rawCommand instanceof CommandWrapper) {
rawCommand = ((CommandWrapper) rawCommand).getCommand();
@@ -223,7 +219,7 @@
return connectionModelFactory;
}
- private ConnectionModelFactory createConnectionModelFactory() {
+ protected ConnectionModelFactory createConnectionModelFactory() {
return new ConnectionModelFactoryImpl();
}
@@ -238,7 +234,7 @@
return graphicalModelFactory;
}
- private GraphicalModelFactory createGraphicalModelFactory() {
+ protected GraphicalModelFactory createGraphicalModelFactory() {
return new GraphicalModelFactoryImpl();
}
@@ -610,11 +606,9 @@
@Override
protected void hookGraphicalViewer() {
- // super.hookGraphicalViewer();
+ super.hookGraphicalViewer();
getGraphicalViewer().addSelectionChangedListener(getSelectionSynchronizer());
getGraphicalViewer().addSelectionChangedListener(this);
-
- getEditorSite().setSelectionProvider(getGraphicalViewer());
}
protected void initGraphicalModel() {
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksJavaMappingGraphicalEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksJavaMappingGraphicalEditor.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksJavaMappingGraphicalEditor.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -0,0 +1,214 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors;
+
+import java.util.List;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.jboss.tools.smooks.configuration.editors.actions.ISmooksActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.JavaBean11ActionGrouper;
+import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
+import org.jboss.tools.smooks.graphical.editors.model.JavaBeanGraphModel;
+import org.jboss.tools.smooks.model.javabean.BindingsType;
+import org.jboss.tools.smooks.model.javabean.ExpressionType;
+import org.jboss.tools.smooks.model.javabean.ValueType;
+import org.jboss.tools.smooks.model.javabean.WiringType;
+import org.jboss.tools.smooks.model.javabean12.BeanType;
+
+/**
+ * @author Dart
+ *
+ */
+public class SmooksJavaMappingGraphicalEditor extends SmooksGraphicalEditorPart {
+
+ public SmooksJavaMappingGraphicalEditor(ISmooksModelProvider provider) {
+ super(provider);
+ // TODO Auto-generated constructor stub
+ }
+
+
+
+ /* (non-Javadoc)
+ * @see
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart#getPaletteRoot()
+ */
+ @Override
+ protected PaletteRoot getPaletteRoot() {
+ SmooksGraphicalEditorPaletteRootCreator creator = new
SmooksGraphicalEditorPaletteRootCreator(
+ this.smooksModelProvider, (AdapterFactoryEditingDomain)
this.smooksModelProvider.getEditingDomain(),
+ getSmooksResourceListType()){
+
+ /* (non-Javadoc)
+ * @see
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPaletteRootCreator#fillActionGrouper(java.util.List)
+ */
+ @Override
+ protected void fillActionGrouper(List<ISmooksActionGrouper> grouperList) {
+ grouperList.add(new JavaBean11ActionGrouper());
+ }
+
+ };
+ return creator.createPaletteRoot();
+ }
+
+
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart#
+ * createConnectionModelFactory()
+ */
+ @Override
+ protected ConnectionModelFactory createConnectionModelFactory() {
+ return new JavaMappingConnectionModelFactory();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart#
+ * createGraphicalModelFactory()
+ */
+ @Override
+ protected GraphicalModelFactory createGraphicalModelFactory() {
+ return new JavaMappingGraphicalModelFactory();
+ }
+
+ private class JavaMappingConnectionModelFactory extends ConnectionModelFactoryImpl {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.graphical.editors.ConnectionModelFactoryImpl
+ * #hasXSLConnection
+ * (org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel)
+ */
+ @Override
+ public boolean hasXSLConnection(AbstractSmooksGraphicalModel model) {
+ return false;
+ }
+
+ }
+
+ private class JavaMappingGraphicalModelFactory extends GraphicalModelFactoryImpl {
+ protected String getGraphLabelText(Object element) {
+ Object obj = AdapterFactoryEditingDomain.unwrap(element);
+ if (obj instanceof BeanType) {
+ String p = ((BeanType) obj).getBeanId();
+ if (p == null) {
+ p = "<NULL>";
+ }
+ return p;
+ }
+ if (obj instanceof BindingsType) {
+ String p = ((BindingsType) obj).getBeanId();
+ if (p == null) {
+ p = "<NULL>";
+ }
+ return p;
+ }
+
+ if (obj instanceof ValueType) {
+ String p = ((ValueType) obj).getProperty();
+ if (p == null) {
+ p = "<NULL>";
+ }
+ return p;
+ }
+ if (obj instanceof WiringType) {
+ String p = ((WiringType) obj).getProperty();
+ if (p == null) {
+ p = "<NULL>";
+ }
+ return p;
+ }
+ if (obj instanceof ExpressionType) {
+ String p = ((ExpressionType) obj).getProperty();
+ if (p == null) {
+ p = "<NULL>";
+ }
+ return p;
+ }
+
+ if (obj instanceof org.jboss.tools.smooks.model.javabean12.ValueType) {
+ String p = ((org.jboss.tools.smooks.model.javabean12.ValueType) obj).getProperty();
+ if (p == null) {
+ p = "<NULL>";
+ }
+ return p;
+ }
+ if (obj instanceof org.jboss.tools.smooks.model.javabean12.WiringType) {
+ String p = ((org.jboss.tools.smooks.model.javabean12.WiringType) obj).getProperty();
+ if (p == null) {
+ p = "<NULL>";
+ }
+ return p;
+ }
+ if (obj instanceof org.jboss.tools.smooks.model.javabean12.ExpressionType) {
+ String p = ((org.jboss.tools.smooks.model.javabean12.ExpressionType)
obj).getProperty();
+ if (p == null) {
+ p = "<NULL>";
+ }
+ return p;
+ }
+ return null;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.graphical.editors.GraphicalModelFactoryImpl
+ * #createGraphicalModel(java.lang.Object,
+ * org.jboss.tools.smooks.editor.ISmooksModelProvider)
+ */
+ @Override
+ public Object createGraphicalModel(Object model, ISmooksModelProvider provider) {
+ if (canCreateGraphicalModel(model, provider)) {
+ AbstractSmooksGraphicalModel graphModel = null;
+ AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain)
provider.getEditingDomain();
+ ITreeContentProvider contentProvider = new
AdapterFactoryContentProvider(editingDomain
+ .getAdapterFactory());
+ ILabelProvider labelProvider =
createLabelProvider(editingDomain.getAdapterFactory());
+
+ if (model instanceof BindingsType || model instanceof BeanType) {
+ graphModel = new JavaBeanGraphModel(model, contentProvider, labelProvider,
provider);
+ ((JavaBeanGraphModel) graphModel).setHeaderVisable(true);
+ }
+ // if (model instanceof Xsl) {
+ // graphModel = new XSLTemplateGraphicalModel(model, new
+ // XSLTemplateContentProvider(contentProvider),
+ // new XSLLabelProvider(labelProvider), provider);
+ // ((TreeContainerModel) graphModel).setHeaderVisable(true);
+ // }
+ // if (graphModel == null && model instanceof
+ // AbstractResourceConfig) {
+ // graphModel = new ResourceConfigGraphModelImpl(model,
+ // contentProvider, labelProvider, provider);
+ // ((ResourceConfigGraphModelImpl)
+ // graphModel).setHeaderVisable(true);
+ // }
+ if (graphModel != null) {
+ return graphModel;
+ }
+ return super.createGraphicalModel(graphModel, provider);
+ }
+ return null;
+ }
+
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksJavaMappingGraphicalEditor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
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 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -19,11 +19,13 @@
import java.util.Map;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.IFigure;
import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandWrapper;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.gef.dnd.TemplateTransfer;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
@@ -32,15 +34,26 @@
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.DragSource;
+import org.eclipse.swt.dnd.DragSourceEvent;
+import org.eclipse.swt.dnd.DragSourceListener;
+import org.eclipse.swt.dnd.DropTargetEvent;
+import org.eclipse.swt.dnd.DropTargetListener;
+import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.ToolBar;
+import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IEditorSite;
@@ -57,20 +70,24 @@
import org.eclipse.ui.forms.widgets.ScrolledPageBook;
import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.zest.core.viewers.GraphViewer;
+import org.eclipse.zest.core.widgets.Graph;
+import org.eclipse.zest.core.widgets.GraphNode;
import org.eclipse.zest.core.widgets.ZestStyles;
import org.eclipse.zest.layouts.LayoutStyles;
import org.eclipse.zest.layouts.algorithms.HorizontalTreeLayoutAlgorithm;
-import org.jboss.tools.smooks.configuration.SmooksConstants;
+import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
import org.jboss.tools.smooks.editor.AbstractSmooksFormEditor;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.editor.ISourceSynchronizeListener;
import org.jboss.tools.smooks.graphical.actions.AbstractProcessGraphAction;
+import org.jboss.tools.smooks.graphical.actions.AddInputTaskAction;
import org.jboss.tools.smooks.graphical.actions.AddNextTaskNodeAction;
import org.jboss.tools.smooks.graphical.actions.AddPreviousTaskNodeAction;
import org.jboss.tools.smooks.graphical.actions.AddTaskNodeAction;
import org.jboss.tools.smooks.graphical.actions.DeleteTaskNodeAction;
+import org.jboss.tools.smooks.graphical.actions.TaskTypeRules;
+import org.jboss.tools.smooks.graphical.editors.TaskTypeManager.TaskTypeDescriptor;
import org.jboss.tools.smooks.model.graphics.ext.GraphFactory;
-import org.jboss.tools.smooks.model.graphics.ext.GraphPackage;
import org.jboss.tools.smooks.model.graphics.ext.ISmooksGraphChangeListener;
import org.jboss.tools.smooks.model.graphics.ext.ProcessType;
import org.jboss.tools.smooks.model.graphics.ext.ProcessesType;
@@ -115,13 +132,25 @@
protected void createProcessGraphicalPanel(Composite parent) {
processGraphViewer = new GraphViewer(parent, SWT.NONE);
+ // GridData gd = new GridData(GridData.FILL_BOTH);
+ // processGraphViewer.getControl().setLayoutData(gd);
+ processGraphViewer.setNodeStyle(ZestStyles.NODES_FISHEYE);
processGraphViewer.setContentProvider(new ProcessGraphContentProvider());
-
processGraphViewer.setLabelProvider(new LabelProvider() {
@Override
public Image getImage(Object element) {
- // TODO Auto-generated method stub
+ if (element instanceof TaskType) {
+ String id = ((TaskType) element).getId();
+ List<TaskTypeDescriptor> des = TaskTypeManager.getAllTaskList();
+ for (Iterator<?> iterator = des.iterator(); iterator.hasNext();) {
+ TaskTypeDescriptor taskTypeDescriptor = (TaskTypeDescriptor) iterator.next();
+ if (taskTypeDescriptor.getId().equals(id)) {
+ return SmooksConfigurationActivator.getDefault().getImageRegistry().get(
+ taskTypeDescriptor.getImagePath());
+ }
+ }
+ }
return super.getImage(element);
}
@@ -173,6 +202,108 @@
}
}
+ protected void hookProcessGraphicalViewer() {
+
+ getProcessGraphViewer().getControl();
+ getProcessGraphViewer().addDropSupport(DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK,
+ new Transfer[] { TemplateTransfer.getInstance() }, new DropTargetListener() {
+ private TaskType taskType = null;
+
+ private ProcessType process = null;
+
+ public void dropAccept(DropTargetEvent event) {
+
+ }
+
+ public void drop(DropTargetEvent event) {
+ if (event.detail == DND.DROP_COPY) {
+ if (this.taskType != null) {
+ TaskTypeDescriptor des = (TaskTypeDescriptor) TemplateTransfer.getInstance()
+ .getTemplate();
+ AddNextTaskNodeAction action = new AddNextTaskNodeAction(des.getId(),
des.getLabel(),
+ smooksModelProvider);
+ TaskType taskType = this.taskType;
+ IStructuredSelection selection = new StructuredSelection(taskType);
+ action.selectionChanged(new SelectionChangedEvent(getProcessGraphViewer(),
selection));
+ action.run();
+ return;
+ }
+ if (this.process != null) {
+ AddNextTaskNodeAction action = new AddInputTaskAction(smooksModelProvider);
+// IStructuredSelection selection = new StructuredSelection(taskType);
+// action.selectionChanged(new SelectionChangedEvent(getProcessGraphViewer(),
selection));
+ action.run();
+ return;
+ }
+ }
+ }
+
+ public void dragOver(DropTargetEvent event) {
+ Control control = getProcessGraphViewer().getControl();
+ if (control != null && control instanceof Graph) {
+ Graph graph = (Graph) control;
+ Point pp = graph.toControl(new Point(event.x, event.y));
+ TaskTypeDescriptor des = (TaskTypeDescriptor)
TemplateTransfer.getInstance().getTemplate();
+ TaskType testType = GraphFactory.eINSTANCE.createTaskType();
+ testType.setId(des.getId());
+ IFigure figure = graph.getFigureAt(pp.x, pp.y);
+ if (figure == null) {
+ if (testType.getId().equals(TaskTypeManager.TASK_ID_INPUT)) {
+ ProcessType process = (ProcessType) getProcessGraphViewer().getInput();
+ if (process.getTask().isEmpty()) {
+ event.detail = DND.DROP_COPY;
+ this.process = process;
+ return;
+ }
+ }
+ event.detail = DND.DROP_NONE;
+ this.taskType = null;
+ process = null;
+ return;
+ }
+ List<?> nodes = graph.getNodes();
+ for (Iterator<?> iterator = nodes.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ if (object instanceof GraphNode) {
+ IFigure f = ((GraphNode) object).getNodeFigure();
+ if (figure == f) {
+ TaskTypeRules rules = new TaskTypeRules();
+ if (rules.isNextTask((TaskType) ((GraphNode) object).getData(), testType)) {
+ event.detail = DND.DROP_COPY;
+ this.taskType = (TaskType) ((GraphNode) object).getData();
+ return;
+ }
+ }
+ }
+ }
+ event.detail = DND.DROP_NONE;
+ this.taskType = null;
+ this.process = null;
+ }
+ }
+
+ public void dragOperationChanged(DropTargetEvent event) {
+ }
+
+ public void dragLeave(DropTargetEvent event) {
+ }
+
+ public void dragEnter(DropTargetEvent event) {
+ event.detail = DND.DROP_MOVE;
+ this.taskType = null;
+ process = null;
+ }
+ });
+ getProcessGraphViewer().addSelectionChangedListener(new ISelectionChangedListener() {
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+ Object firstElement = selection.getFirstElement();
+ showTaskControl(firstElement);
+ }
+ });
+ }
+
protected void configProcessGraphicalViewer() {
MenuManager manager = new MenuManager();
@@ -197,80 +328,49 @@
protected void initProcessGraphicalPanelActions(IMenuManager manager) {
- AddTaskNodeAction addInputTaskAction = new
AddTaskNodeAction(SmooksConstants.TASK_ID_INPUT, "Add Input Task",
- smooksModelProvider) {
-
- @Override
- public void run() {
- if (this.provider != null) {
- SmooksGraphicsExtType graph = provider.getSmooksGraphicsExt();
- ProcessType process = graph.getProcesses().getProcess();
- if (process != null && process.getTask().isEmpty()) {
- TaskType childTask = GraphFactory.eINSTANCE.createTaskType();
- childTask.setId(taskID);
- childTask.setName("Input Task");
- Command command = AddCommand.create(provider.getEditingDomain(), process,
- GraphPackage.Literals.PROCESS_TYPE__TASK, childTask);
- provider.getEditingDomain().getCommandStack().execute(command);
- }
- }
- }
-
- @Override
- public void update() {
- this.setEnabled(false);
- SmooksGraphicsExtType graph = smooksModelProvider.getSmooksGraphicsExt();
- ProcessType process = graph.getProcesses().getProcess();
- if (process != null && process.getTask().isEmpty()) {
- this.setEnabled(true);
- }
- }
-
- };
+ AddTaskNodeAction addInputTaskAction = new AddInputTaskAction(smooksModelProvider);
manager.add(addInputTaskAction);
processPanelActions.add(addInputTaskAction);
MenuManager addNextTaskMenuManager = new MenuManager("Add Next Task");
manager.add(addNextTaskMenuManager);
- AddNextTaskNodeAction addNextInputAction = new
AddNextTaskNodeAction(SmooksConstants.TASK_ID_INPUT, "Input",
- smooksModelProvider);
- this.processPanelActions.add(addNextInputAction);
- addNextTaskMenuManager.add(addNextInputAction);
+ fillNextTaskMenu(addNextTaskMenuManager);
- AddNextTaskNodeAction addNextJavaMappingAction = new AddNextTaskNodeAction(
- SmooksConstants.TASK_ID_JAVA_MAPPING, "Java Mapping",
smooksModelProvider);
- this.processPanelActions.add(addNextJavaMappingAction);
- addNextTaskMenuManager.add(addNextJavaMappingAction);
-
MenuManager addPreTaskMenuManager = new MenuManager("Add Previous Task");
manager.add(addPreTaskMenuManager);
- AddPreviousTaskNodeAction addPreInputAction = new
AddPreviousTaskNodeAction(SmooksConstants.TASK_ID_INPUT,
- "Input", smooksModelProvider);
- this.processPanelActions.add(addPreInputAction);
- addPreTaskMenuManager.add(addPreInputAction);
+ fillPreTaskMenu(addPreTaskMenuManager);
- AddPreviousTaskNodeAction addPreJavaMappingAction = new AddPreviousTaskNodeAction(
- SmooksConstants.TASK_ID_JAVA_MAPPING, "Java Mapping",
smooksModelProvider);
- this.processPanelActions.add(addPreJavaMappingAction);
- addPreTaskMenuManager.add(addPreJavaMappingAction);
-
DeleteTaskNodeAction deleteAction = new DeleteTaskNodeAction(smooksModelProvider);
manager.add(deleteAction);
this.processPanelActions.add(deleteAction);
- getProcessGraphViewer().addSelectionChangedListener(new ISelectionChangedListener() {
+ }
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection selection = (IStructuredSelection) event.getSelection();
- Object firstElement = selection.getFirstElement();
- showTaskControl(firstElement);
- }
- });
+ private void fillNextTaskMenu(MenuManager addNextTaskMenuManager) {
+ List<TaskTypeDescriptor> list = TaskTypeManager.getAllTaskList();
+ for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
+ TaskTypeDescriptor taskTypeDescriptor = (TaskTypeDescriptor) iterator.next();
+ AddNextTaskNodeAction addNextInputAction = new
AddNextTaskNodeAction(taskTypeDescriptor.getId(),
+ taskTypeDescriptor.getLabel(), smooksModelProvider);
+ this.processPanelActions.add(addNextInputAction);
+ addNextTaskMenuManager.add(addNextInputAction);
+ }
}
+ private void fillPreTaskMenu(MenuManager addPreTaskMenuManager) {
+ List<TaskTypeDescriptor> list = TaskTypeManager.getAllTaskList();
+ for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
+ TaskTypeDescriptor taskTypeDescriptor = (TaskTypeDescriptor) iterator.next();
+ AddPreviousTaskNodeAction addNextInputAction = new
AddPreviousTaskNodeAction(taskTypeDescriptor.getId(),
+ taskTypeDescriptor.getLabel(), smooksModelProvider);
+ this.processPanelActions.add(addNextInputAction);
+ addPreTaskMenuManager.add(addNextInputAction);
+ }
+ }
+
public void registeTaskDetailsPage(IEditorPart editor, String taskID) {
editor.addPropertyListener(this);
this.registedTaskPages.put(taskID, editor);
@@ -293,6 +393,125 @@
return processGraphViewer;
}
+ protected void createProcessGraphicalSection(FormToolkit toolkit, Composite parent) {
+ Section processGraphSection = toolkit.createSection(parent, Section.DESCRIPTION |
Section.TITLE_BAR);
+ processGraphSection.setText("Process Map");
+ processGraphSection.setDescription("Right-Click to open the PopMenu to add or
remove task node");
+
+ Composite processGraphComposite = toolkit.createComposite(processGraphSection);
+
+ GridLayout processGraphGridLayoutLayout = new GridLayout();
+ // processGraphFillLayout.marginWidth = 1;
+ // processGraphFillLayout.marginHeight = 1;
+ processGraphComposite.setLayout(processGraphGridLayoutLayout);
+
+ processGraphSection.setClient(processGraphComposite);
+
+ Composite toolBarComposite = toolkit.createComposite(processGraphComposite);
+ FillLayout l = new FillLayout();
+ l.marginHeight = 1;
+ l.marginWidth = 1;
+ toolBarComposite.setLayout(l);
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ toolBarComposite.setLayoutData(gd);
+
+ toolBarComposite.setBackground(toolkit.getColors().getBorderColor());
+
+ createProcessToolBar(toolBarComposite, toolkit);
+
+ Composite graphMainComposite = toolkit.createComposite(processGraphComposite);
+ FillLayout l1 = new FillLayout();
+ l1.marginHeight = 1;
+ l1.marginWidth = 1;
+ graphMainComposite.setLayout(l1);
+ gd = new GridData(GridData.FILL_BOTH);
+ graphMainComposite.setLayoutData(gd);
+ graphMainComposite.setBackground(toolkit.getColors().getBorderColor());
+
+ createProcessGraphicalPanel(graphMainComposite);
+
+ hookProcessGraphicalViewer();
+ configProcessGraphicalViewer();
+ initProcessGraphicalViewer();
+ }
+
+ protected void createProcessToolBar(Composite parent, FormToolkit toolkit) {
+ ToolBar toolBar = new ToolBar(parent, SWT.FLAT);
+ toolBar.setBackground(toolkit.getColors().getBackground());
+
+ Transfer[] types = new Transfer[] { TemplateTransfer.getInstance() };
+ int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
+
+ final DragSource source = new DragSource(toolBar, operations);
+ source.setTransfer(types);
+ source.addDragListener(new DragSourceListener() {
+
+ private Object data = null;
+
+ public void dragStart(DragSourceEvent event) {this.data = null;
+ DragSource source = (DragSource) event.getSource();
+ ToolBar control = (ToolBar) source.getControl();
+ ToolItem item = control.getItem(new Point(event.x, event.y));
+ if (item == null)
+ return;
+ event.doit = true;
+ TaskTypeDescriptor data = (TaskTypeDescriptor) item.getData();
+ event.data = data;
+ this.data = data;
+ TemplateTransfer.getInstance().setObject(data);
+ }
+
+ public void dragSetData(DragSourceEvent event) {
+ // DragSource source = (DragSource) event.getSource();
+ // ToolBar control = (ToolBar) source.getControl();
+ // ToolItem item = control.getItem(new Point(event.x, event.y));
+ // if(item == null) return;
+ // TaskTypeDescriptor data = (TaskTypeDescriptor)
+ // item.getData();
+ event.data = this.data;
+ TemplateTransfer.getInstance().setObject(this.data);
+ // System.out.println(data.getId());
+ }
+
+ public void dragFinished(DragSourceEvent event) {
+ // if (event.detail == DND.DROP_MOVE)
+ // label.setText ("");
+ this.data = null;
+ }
+ });
+
+ List<TaskTypeDescriptor> lis = TaskTypeManager.getAllTaskList();
+ for (Iterator<?> iterator = lis.iterator(); iterator.hasNext();) {
+ TaskTypeDescriptor taskTypeDescriptor = (TaskTypeDescriptor) iterator.next();
+ ToolItem item = new ToolItem(toolBar, SWT.NONE);
+ item.setData(taskTypeDescriptor);
+ // item.setText(taskTypeDescriptor.getLabel());
+ item.setToolTipText("Add " + taskTypeDescriptor.getLabel());
+ item.setImage(SmooksConfigurationActivator.getDefault().getImageRegistry().get(
+ taskTypeDescriptor.getImagePath()));
+ }
+ }
+
+ protected void createTaskDetailsSection(FormToolkit toolkit, Composite parent) {
+ Composite taskDetailsComposite = toolkit.createComposite(parent);
+ FillLayout taskDetailsFillLayout = new FillLayout();
+ taskDetailsFillLayout.marginWidth = 0;
+ taskDetailsFillLayout.marginHeight = 5;
+ taskDetailsComposite.setLayout(taskDetailsFillLayout);
+
+ Section section = toolkit.createSection(taskDetailsComposite, Section.DESCRIPTION |
Section.TITLE_BAR);
+ section.setText("Task Configuration");
+ section.setDescription("Configurate the selected task");
+ pageBook = new ScrolledPageBook(section);
+ pageBook.setBackground(toolkit.getColors().getBackground());
+ section.setClient(pageBook);
+
+ Composite emptyComposite = pageBook.createPage(emptyKey);
+ emptyComposite.setLayout(new FillLayout());
+ createEmptyTaskPanel(emptyComposite, toolkit);
+ pageBook.showPage(emptyKey);
+ }
+
/*
* (non-Javadoc)
*
@@ -307,7 +526,7 @@
FormToolkit toolkit = managedForm.getToolkit();
toolkit.decorateFormHeading(form.getForm());
form.getBody().setLayout(new FillLayout());
- form.setText("Process");
+ form.setText("Processing");
Composite mainComposite = toolkit.createComposite(form.getBody());
@@ -321,44 +540,11 @@
GridData gd = new GridData(GridData.FILL_BOTH);
sashForm.setLayoutData(gd);
- Section processGraphSection = toolkit.createSection(sashForm, Section.DESCRIPTION |
Section.TITLE_BAR);
- processGraphSection.setText("Process Map");
- processGraphSection.setDescription("Right-Click to open the PopMenu to add or
remove task node");
+ createProcessGraphicalSection(toolkit, sashForm);
- Composite processGraphComposite = toolkit.createComposite(processGraphSection);
+ createTaskDetailsSection(toolkit, sashForm);
- FillLayout processGraphFillLayout = new FillLayout();
- processGraphFillLayout.marginWidth = 1;
- processGraphFillLayout.marginHeight = 1;
- processGraphComposite.setLayout(processGraphFillLayout);
-
- processGraphComposite.setBackground(toolkit.getColors().getBorderColor());
-
- processGraphSection.setClient(processGraphComposite);
-
- createProcessGraphicalPanel(processGraphComposite);
- configProcessGraphicalViewer();
- initProcessGraphicalViewer();
-
- Composite taskDetailsComposite = toolkit.createComposite(sashForm);
- FillLayout taskDetailsFillLayout = new FillLayout();
- taskDetailsFillLayout.marginWidth = 0;
- taskDetailsFillLayout.marginHeight = 5;
- taskDetailsComposite.setLayout(taskDetailsFillLayout);
-
- Section section = toolkit.createSection(taskDetailsComposite, Section.DESCRIPTION |
Section.TITLE_BAR);
- section.setText("Task Configuration");
- section.setDescription("Configurate the selected task");
- pageBook = new ScrolledPageBook(section);
- pageBook.setBackground(toolkit.getColors().getBackground());
- section.setClient(pageBook);
-
- sashForm.setWeights(new int[] { 2, 8 });
-
- Composite emptyComposite = pageBook.createPage(emptyKey);
- emptyComposite.setLayout(new FillLayout());
- createEmptyTaskPanel(emptyComposite, toolkit);
- pageBook.showPage(emptyKey);
+ sashForm.setWeights(new int[] { 3, 7 });
}
private void handleCommandStack(org.eclipse.emf.common.command.CommandStack
commandStack) {
@@ -369,10 +555,22 @@
getEditorSite().getShell().getDisplay().asyncExec(new Runnable() {
public void run() {
if (mostRecentCommand != null) {
- if (getProcessGraphViewer() != null) {
- getProcessGraphViewer().refresh();
- getProcessGraphViewer().applyLayout();
+ Command rawCommand = mostRecentCommand;
+ while (rawCommand instanceof CommandWrapper) {
+ rawCommand = ((CommandWrapper) rawCommand).getCommand();
}
+ Collection<?> activeModel = rawCommand.getAffectedObjects();
+ for (Iterator<?> iterator = activeModel.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ if (object instanceof TaskType || object instanceof ProcessType) {
+ if (getProcessGraphViewer() != null) {
+ getProcessGraphViewer().refresh();
+ getProcessGraphViewer().applyLayout();
+ }
+
+ return;
+ }
+ }
}
}
@@ -431,8 +629,12 @@
if (smooksModelProvider != null) {
this.handleCommandStack(smooksModelProvider.getEditingDomain().getCommandStack());
}
- SmooksGraphicalEditorPart javaMappingPart = new
SmooksGraphicalEditorPart(smooksModelProvider);
- this.registeTaskDetailsPage(javaMappingPart, SmooksConstants.TASK_ID_JAVA_MAPPING);
+ SmooksJavaMappingGraphicalEditor javaMappingPart = new
SmooksJavaMappingGraphicalEditor(smooksModelProvider);
+ this.registeTaskDetailsPage(javaMappingPart, TaskTypeManager.TASK_ID_JAVA_MAPPING);
+
+ SmooksXSLTemplateGraphicalEditor xsltemplatePart = new
SmooksXSLTemplateGraphicalEditor(smooksModelProvider);
+ this.registeTaskDetailsPage(xsltemplatePart, TaskTypeManager.TASK_ID_XSL_TEMPLATE);
+
}
@Override
@@ -487,11 +689,11 @@
if (taskID == null)
return null;
- if (taskID.equals(SmooksConstants.TASK_ID_JAVA_MAPPING)) {
+ if (taskID.equals(TaskTypeManager.TASK_ID_JAVA_MAPPING)) {
return null;
}
- if (taskID.equals(SmooksConstants.TASK_ID_INPUT)) {
+ if (taskID.equals(TaskTypeManager.TASK_ID_INPUT)) {
GridLayout gl = new GridLayout();
gl.numColumns = 2;
parent.setLayout(gl);
@@ -577,6 +779,9 @@
}
public void sourceChange(Object model) {
+ if (getProcessGraphViewer() != null) {
+ initProcessGraphicalViewer();
+ }
Collection<Object> editors = registedTaskPages.values();
for (Iterator<?> iterator = editors.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksXSLTemplateGraphicalEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksXSLTemplateGraphicalEditor.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksXSLTemplateGraphicalEditor.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -0,0 +1,159 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors;
+
+import java.util.List;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.jboss.tools.smooks.configuration.editors.actions.AbstractSmooksActionGrouper;
+import org.jboss.tools.smooks.configuration.editors.actions.ISmooksActionGrouper;
+import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
+import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
+import org.jboss.tools.smooks.graphical.editors.model.XSLTemplateContentProvider;
+import org.jboss.tools.smooks.graphical.editors.model.XSLTemplateGraphicalModel;
+import org.jboss.tools.smooks.model.xsl.Xsl;
+
+/**
+ * @author Dart
+ *
+ */
+public class SmooksXSLTemplateGraphicalEditor extends SmooksGraphicalEditorPart {
+
+ public SmooksXSLTemplateGraphicalEditor(ISmooksModelProvider provider) {
+ super(provider);
+ // TODO Auto-generated constructor stub
+ }
+
+ /* (non-Javadoc)
+ * @see
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart#getPaletteRoot()
+ */
+ @Override
+ protected PaletteRoot getPaletteRoot() {
+ SmooksGraphicalEditorPaletteRootCreator creator = new
SmooksGraphicalEditorPaletteRootCreator(
+ this.smooksModelProvider, (AdapterFactoryEditingDomain)
this.smooksModelProvider.getEditingDomain(),
+ getSmooksResourceListType()){
+
+ /* (non-Javadoc)
+ * @see
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPaletteRootCreator#fillActionGrouper(java.util.List)
+ */
+ @Override
+ protected void fillActionGrouper(List<ISmooksActionGrouper> grouperList) {
+ AbstractSmooksActionGrouper xslgrouper = new AbstractSmooksActionGrouper() {
+
+ public String getGroupName() {
+ return "XSL Template";
+ }
+
+ @Override
+ protected boolean canAdd(Object value) {
+ if (value instanceof Xsl) {
+ return true;
+ }
+ return false;
+ }
+ };
+ grouperList.add(xslgrouper);
+ }
+
+ };
+ return creator.createPaletteRoot();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart#
+ * createConnectionModelFactory()
+ */
+ @Override
+ protected ConnectionModelFactory createConnectionModelFactory() {
+ return new XSLTemplateConnectionModelFactory();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart#
+ * createGraphicalModelFactory()
+ */
+ @Override
+ protected GraphicalModelFactory createGraphicalModelFactory() {
+ return new XSLTemplateGraphicalModelFactory();
+ }
+
+ private class XSLTemplateConnectionModelFactory extends ConnectionModelFactoryImpl {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.graphical.editors.ConnectionModelFactoryImpl
+ * #hasBeanIDConnection
+ * (org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel)
+ */
+ @Override
+ public boolean hasBeanIDConnection(AbstractSmooksGraphicalModel model) {
+ return false;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.graphical.editors.ConnectionModelFactoryImpl
+ * #hasSelectorConnection
+ * (org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel)
+ */
+ @Override
+ public boolean hasSelectorConnection(AbstractSmooksGraphicalModel model) {
+ return false;
+ }
+ }
+
+ private class XSLTemplateGraphicalModelFactory extends GraphicalModelFactoryImpl {
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.graphical.editors.GraphicalModelFactoryImpl
+ * #createGraphicalModel(java.lang.Object,
+ * org.jboss.tools.smooks.editor.ISmooksModelProvider)
+ */
+ @Override
+ public Object createGraphicalModel(Object model, ISmooksModelProvider provider) {
+ if (canCreateGraphicalModel(model, provider)) {
+ AbstractSmooksGraphicalModel graphModel = null;
+ AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain)
provider.getEditingDomain();
+ ITreeContentProvider contentProvider = new
AdapterFactoryContentProvider(editingDomain
+ .getAdapterFactory());
+ ILabelProvider labelProvider =
createLabelProvider(editingDomain.getAdapterFactory());
+
+ if (model instanceof Xsl) {
+ graphModel = new XSLTemplateGraphicalModel(model, new
XSLTemplateContentProvider(contentProvider),
+ new XSLLabelProvider(labelProvider), provider);
+ ((TreeContainerModel) graphModel).setHeaderVisable(true);
+ }
+ if (graphModel != null) {
+ return graphModel;
+ }
+ return super.createGraphicalModel(graphModel, provider);
+ }
+ return null;
+ }
+
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksXSLTemplateGraphicalEditor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
+
+/**
+ * @author Dart
+ *
+ */
+public class TaskTypeManager {
+ public static final String TASK_ID_INPUT = "input";
+
+ public static final String TASK_ID_JAVA_MAPPING = "java_mapping";
+
+ public static final String TASK_ID_XSL_TEMPLATE = "xsl_template";
+
+ public static final String TASK_ID_FREEMARKER_TEMPLATE =
"freemarker_template";
+
+ private static List<TaskTypeDescriptor> allTaskList = null;
+
+ /**
+ * @return the allTaskList
+ */
+ public static List<TaskTypeDescriptor> getAllTaskList() {
+ if (allTaskList == null) {
+ allTaskList = new ArrayList<TaskTypeDescriptor>();
+
+ // init
+ allTaskList.add(new TaskTypeDescriptor(TASK_ID_INPUT, "Input",
GraphicsConstants.IMAGE_INPUT_TASK));
+ allTaskList.add(new TaskTypeDescriptor(TASK_ID_JAVA_MAPPING, "Java
Mapping",
+ GraphicsConstants.IMAGE_JAVA_AMPPING_TASK));
+ allTaskList.add(new TaskTypeDescriptor(TASK_ID_FREEMARKER_TEMPLATE, "Apply
Freemaker Template",
+ GraphicsConstants.IMAGE_APPLY_FREEMARKER_TASK));
+ }
+ return allTaskList;
+ }
+
+ public static final class TaskTypeDescriptor {
+
+ private String id;
+
+ private String label;
+
+ private String imagePath;
+
+ public TaskTypeDescriptor(String id, String label, String imagePath) {
+ this.id = id;
+ this.label = label;
+ this.imagePath = imagePath;
+ }
+
+ /**
+ * @return the id
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * @param id
+ * the id to set
+ */
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * @return the label
+ */
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * @param label
+ * the label to set
+ */
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+ /**
+ * @return the imagePath
+ */
+ public String getImagePath() {
+ return imagePath;
+ }
+
+ /**
+ * @param imagePath
+ * the imagePath to set
+ */
+ public void setImagePath(String imagePath) {
+ this.imagePath = imagePath;
+ }
+
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksGraphUtil.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksGraphUtil.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksGraphUtil.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -25,6 +25,7 @@
import org.jboss.tools.smooks.model.graphics.ext.GraphType;
import org.jboss.tools.smooks.model.javabean.BindingsType;
import org.jboss.tools.smooks.model.javabean12.BeanType;
+import org.jboss.tools.smooks.model.xsl.Xsl;
/**
* @author Dart
@@ -48,8 +49,17 @@
return null;
}
beanId = beanId.trim();
- return "BeanType" + beanId;
+ return "BeanType_" + beanId;
}
+
+ if (data instanceof Xsl) {
+ String id = ((Xsl) data).getApplyOnElement();
+ if (id == null) {
+ id = "";
+ }
+ id = id.trim();
+ return "XSL_" + id;
+ }
return null;
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java 2009-10-22
16:44:44 UTC (rev 18240)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java 2009-10-22
18:00:25 UTC (rev 18241)
@@ -11,6 +11,8 @@
package org.jboss.tools.smooks.graphical.editors.model;
import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
@@ -23,6 +25,7 @@
import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
import org.jboss.tools.smooks.configuration.editors.uitls.ProjectClassLoader;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
import org.jboss.tools.smooks.model.javabean.BindingsType;
import org.jboss.tools.smooks.model.javabean12.BeanType;
@@ -136,6 +139,15 @@
return false;
}
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.gef.tree.model.TreeNodeModel#getChildren()
+ */
+ @Override
+ public List<AbstractSmooksGraphicalModel> getChildren() {
+ List<AbstractSmooksGraphicalModel> list = Collections.emptyList();
+ return list;
+ }
+
/*
* (non-Javadoc)
*