Author: DartPeng
Date: 2009-11-03 22:11:34 -0500 (Tue, 03 Nov 2009)
New Revision: 18402
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj16/connection16.gif
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj24/
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj24/connection24.gif
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/xsl_task.png
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/FigureHighlightEditPolicy.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/FigureSelectEditPolicy.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/IShowHighlighFigure.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/SmooksRootEditPartLayoutEditPolicy.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/ISelectableFigure.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/XSLMappingAutoLayout.java
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/editors/GraphicsConstants.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationReaderPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksReaderFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors_10/Smooks10InputFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/TreeNodeGraphicalNodeEditPolicy.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeContainerFigure.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.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/SmooksProcessGraphicalEditor.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
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/AbstractResourceConfigEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/InputDataContainerEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksRootEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/InputDataTreeNodeModel.java
Log:
JBIDE-5126
Done.
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj16/connection16.gif
===================================================================
(Binary files differ)
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj16/connection16.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj24/connection24.gif
===================================================================
(Binary files differ)
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj24/connection24.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/xsl_task.png
===================================================================
(Binary files differ)
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj32/xsl_task.png
___________________________________________________________________
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-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksConfigurationActivator.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -64,12 +64,19 @@
@Override
protected void initializeImageRegistry(ImageRegistry reg) {
super.initializeImageRegistry(reg);
+ // regist palette image
+ reg.put(GraphicsConstants.IMAGE_LINK16, imageDescriptorFromPlugin(PLUGIN_ID,
+ GraphicsConstants.IMAGE_LINK16));
+ reg.put(GraphicsConstants.IMAGE_LINK24, imageDescriptorFromPlugin(PLUGIN_ID,
+ GraphicsConstants.IMAGE_LINK24));
// 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_APPLY_XSL_TASK, imageDescriptorFromPlugin(PLUGIN_ID,
+ GraphicsConstants.IMAGE_APPLY_XSL_TASK));
reg.put(GraphicsConstants.IMAGE_INPUT_TASK, imageDescriptorFromPlugin(PLUGIN_ID,
GraphicsConstants.IMAGE_INPUT_TASK));
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-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/GraphicsConstants.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -1,63 +1,84 @@
package org.jboss.tools.smooks.configuration.editors;
import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.forms.FormColors;
+import org.eclipse.ui.forms.IFormColors;
public final class GraphicsConstants {
+
+ public static Color BORDER_CORLOR;
+
+ public static Color TB_BG_CORLOR;
- public static final Color BORDER_CORLOER = new Color(null,128,128,128);
-
+ public static Color FONT_COLOR ;
+
+ static {
+ FormColors toolkit = new FormColors(Display.getDefault());
+ BORDER_CORLOR = toolkit.getBorderColor();
+ TB_BG_CORLOR = toolkit.getColor(IFormColors.TB_BG);
+ FONT_COLOR = toolkit.getColor(IFormColors.TITLE);
+// toolkit.dispose();
+ }
+
public static final String IMAGE_JAVA_AMPPING_TASK =
"icons/full/obj32/java_mapping_task.jpg";
-
+
+ public static final String IMAGE_LINK16 =
"icons/full/obj16/connection16.gif";
+
+ public static final String IMAGE_LINK24 =
"icons/full/obj16/connection24.gif";
+
+ public static final String IMAGE_APPLY_XSL_TASK =
"icons/full/obj32/xsl_task.png";
+
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";
-
+
public static final String IMAGE_PROPERTY_SHEET_PAGE =
"icons/full/prop_ps.gif";
-
+
public static final String IMAGE_JAVA_OBJECT =
"icons/full/obj16/class_obj.gif";
-
+
public static final String IMAGE_PACKAGE_OBJECT =
"icons/full/obj16/package_obj.gif";
-
+
public static final String IMAGE_XSL_CHOICE =
"icons/full/obj16/xsl_choice.gif";
-
+
public static final String IMAGE_XSL_TEMPLATE_APPLY =
"icons/full/obj16/xsl_template_apply.gif";
-
+
public static final String IMAGE_XSL_FOREACH =
"icons/full/obj16/xsl_foreach.gif";
-
+
public static final String IMAGE_XSL_SORT = "icons/full/obj16/xsl_sort.gif";
-
+
public static final String IMAGE_XSL_IF = "icons/full/obj16/xsl_if.gif";
-
- public static final String IMAGE_XSL_STYLESHEET=
"icons/full/obj16/xsl_stylesheet.gif";
-
+
+ public static final String IMAGE_XSL_STYLESHEET =
"icons/full/obj16/xsl_stylesheet.gif";
+
public static final String IMAGE_XSL_TEMPLATE =
"icons/full/obj16/xsl_template.gif";
-
+
public static final String IMAGE_OVR_ERROR = "icons/full/ovr16/error_co.gif";
-
+
public static final String IMAGE_OVR_WARING =
"icons/full/ovr16/warning_co.gif";
-
+
public static final String IMAGE_JAVA_INTERFACE =
"icons/full/obj16/int_obj.gif";
-
+
public static final String IMAGE_JAVA_COLLECTION =
"icons/full/obj16/javalistmodel.gif";
-
+
public static final String IMAGE_JAVA_BEAN =
"icons/full/obj16/java_bean.png";
-
+
public static final String IMAGE_INPUT_DATA_HEADER =
"icons/full/obj16/input_data_header.gif";
-
+
public static final String IMAGE_JAVA_ARRAY =
"icons/full/obj16/javaarraymodel.gif";
-
+
public static final String IMAGE_CHECKBOX_CHECK =
"icons/full/obj16/checkbox_checked.gif";
-
+
public static final String IMAGE_CHECKBOX_UNCHECK =
"icons/full/obj16/checkbox_uncheck.gif";
-
+
public static final String JAVA_PROPERTY_ICON_PATH = IMAGE_JAVA_ATTRIBUTE;
-
+
public static final String JAVA_PROPERTY_ICON = JAVA_PROPERTY_ICON_PATH;
-
+
public static final String IMAGE_PATH_ERROR =
"icons/full/obj16/error_obj.gif";
public static final String IMAGE_PATH_WARNING =
"icons/full/obj16/warning_obj.gif";
@@ -69,13 +90,13 @@
public static final String IMAGE_ERROR = IMAGE_PATH_ERROR;
public static final String IMAGE_EMPTY = IMAGE_PATH_BLANK;
-
+
public static final String IMAGE_XML_ELEMENT =
"icons/full/obj16/element_obj.gif";
-
+
public static final String IMAGE_XML_ATTRIBUTE =
"icons/full/obj16/attribute_obj.gif";
-
+
public static final String IMAGE_MAPPING_LINE =
"icons/full/obj16/mapping_line.gif";
-
+
public static final String IMAGE_BINDING_LINE =
"icons/full/obj16/binding_line.gif";
public static final String IMAGE_UNKNOWN_OBJ =
"icons/full/obj16/unknown_obj.gif";
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationReaderPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationReaderPage.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationReaderPage.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -139,7 +139,7 @@
fillLayout.marginWidth = 1;
gd = new GridData(GridData.FILL_BOTH);
tableComposite.setLayoutData(gd);
- tableComposite.setBackground(GraphicsConstants.BORDER_CORLOER);
+ tableComposite.setBackground(GraphicsConstants.BORDER_CORLOR);
tableComposite.setLayout(fillLayout);
inputDataViewer = CheckboxTableViewer.newCheckList(tableComposite, SWT.MULTI |
SWT.FULL_SELECTION);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksReaderFormPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksReaderFormPage.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksReaderFormPage.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -225,7 +225,7 @@
FillLayout fillLayout = new FillLayout();
fillLayout.marginHeight = 1;
fillLayout.marginWidth = 1;
- viewerContainer.setBackground(GraphicsConstants.BORDER_CORLOER);
+ viewerContainer.setBackground(GraphicsConstants.BORDER_CORLOR);
viewerContainer.setLayout(fillLayout);
inputModelViewer = new TreeViewer(viewerContainer, SWT.NONE);
inputModelViewer.setContentProvider(new CompoundStructuredDataContentProvider());
@@ -716,7 +716,7 @@
gd = new GridData(GridData.FILL_BOTH);
gd.heightHint = 200;
tableComposite.setLayoutData(gd);
- tableComposite.setBackground(GraphicsConstants.BORDER_CORLOER);
+ tableComposite.setBackground(GraphicsConstants.BORDER_CORLOR);
tableComposite.setLayout(fillLayout);
inputDataViewer = CheckboxTableViewer.newCheckList(tableComposite, SWT.MULTI |
SWT.FULL_SELECTION);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors_10/Smooks10InputFormPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors_10/Smooks10InputFormPage.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors_10/Smooks10InputFormPage.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -193,7 +193,7 @@
FillLayout fillLayout = new FillLayout();
fillLayout.marginHeight = 1;
fillLayout.marginWidth = 1;
- viewerContainer.setBackground(GraphicsConstants.BORDER_CORLOER);
+ viewerContainer.setBackground(GraphicsConstants.BORDER_CORLOR);
viewerContainer.setLayout(fillLayout);
inputModelViewer = new TreeViewer(viewerContainer, SWT.NONE);
inputModelViewer.setContentProvider(new CompoundStructuredDataContentProvider());
@@ -558,7 +558,7 @@
gd = new GridData(GridData.FILL_BOTH);
gd.heightHint = 200;
tableComposite.setLayoutData(gd);
- tableComposite.setBackground(GraphicsConstants.BORDER_CORLOER);
+ tableComposite.setBackground(GraphicsConstants.BORDER_CORLOR);
tableComposite.setLayout(fillLayout);
inputDataViewer = CheckboxTableViewer.newCheckList(tableComposite, SWT.MULTI |
SWT.FULL_SELECTION);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -16,6 +16,7 @@
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IEditorPart;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.gef.tree.editpolicy.FigureHighlightEditPolicy;
import org.jboss.tools.smooks.gef.tree.editpolicy.TreeNodeGraphicalNodeEditPolicy;
import org.jboss.tools.smooks.gef.tree.figures.IMoveableModel;
import org.jboss.tools.smooks.gef.tree.figures.TreeContainerFigure;
@@ -114,6 +115,7 @@
@Override
protected void createEditPolicies() {
this.installEditPolicy(EditPolicy.NODE_ROLE, new TreeNodeGraphicalNodeEditPolicy());
+ this.installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new
FigureHighlightEditPolicy());
}
// @Override
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeEditPart.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeEditPart.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeEditPart.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -28,6 +28,7 @@
import org.eclipse.gef.tools.DirectEditManager;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.smooks.gef.tree.editpolicy.FigureHighlightEditPolicy;
import org.jboss.tools.smooks.gef.tree.editpolicy.TreeNodeGraphicalNodeEditPolicy;
import org.jboss.tools.smooks.gef.tree.editpolicy.TreeNodeSelectEditPolicy;
import org.jboss.tools.smooks.gef.tree.figures.ITreeFigureListener;
@@ -177,6 +178,7 @@
});
this.installEditPolicy(EditPolicy.NODE_ROLE, new TreeNodeGraphicalNodeEditPolicy());
this.installEditPolicy("SELECTED", new TreeNodeSelectEditPolicy());
+ this.installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new
FigureHighlightEditPolicy());
}
@Override
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/FigureHighlightEditPolicy.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/FigureHighlightEditPolicy.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/FigureHighlightEditPolicy.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -0,0 +1,82 @@
+package org.jboss.tools.smooks.gef.tree.editpolicy;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.RequestConstants;
+import org.eclipse.gef.editpolicies.GraphicalEditPolicy;
+import org.eclipse.swt.graphics.Color;
+import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
+
+public class FigureHighlightEditPolicy extends GraphicalEditPolicy {
+
+ private Color revertColor;
+
+ public static Color highLightColor = GraphicsConstants.TB_BG_CORLOR;
+
+ public FigureHighlightEditPolicy() {
+ super();
+ }
+
+ /**
+ * @see org.eclipse.gef.EditPolicy#eraseTargetFeedback(org.eclipse.gef.Request)
+ */
+ public void eraseTargetFeedback(Request request) {
+ if (revertColor != null) {
+ unsetContainerBackgroud(revertColor);
+ revertColor = null;
+ }
+
+ }
+
+ private void unsetContainerBackgroud(Color c) {
+ IFigure figure = getContainerFigure();
+ if (figure instanceof IShowHighlighFigure) {
+ ((IShowHighlighFigure) figure).showbackOldbackgroundColor(c);
+ }
+ getContainerFigure().setBackgroundColor(c);
+ }
+
+ private Color getContainerBackground() {
+ return getContainerFigure().getBackgroundColor();
+ }
+
+ private IFigure getContainerFigure() {
+ return ((GraphicalEditPart) getHost()).getFigure();
+ }
+
+ /**
+ * @see org.eclipse.gef.EditPolicy#getTargetEditPart(org.eclipse.gef.Request)
+ */
+ public EditPart getTargetEditPart(Request request) {
+ return request.getType().equals(RequestConstants.REQ_SELECTION_HOVER) ? getHost() :
null;
+ }
+
+ private void setContainerBackground(Color c) {
+ IFigure figure = getContainerFigure();
+ if (figure instanceof IShowHighlighFigure) {
+ ((IShowHighlighFigure) figure).showHighlightBackgroudColor(c);
+ }
+ getContainerFigure().setBackgroundColor(c);
+ }
+
+ /**
+ * Changes the background color of the container to the highlight color
+ */
+ protected void showHighlight() {
+ if (revertColor == null) {
+ revertColor = getContainerBackground();
+ setContainerBackground(highLightColor);
+ }
+ }
+
+ /**
+ * @see org.eclipse.gef.EditPolicy#showTargetFeedback(org.eclipse.gef.Request)
+ */
+ public void showTargetFeedback(Request request) {
+ if (request.getType().equals(RequestConstants.REQ_CREATE) ||
request.getType().equals(RequestConstants.REQ_ADD))
+ showHighlight();
+ }
+
+}
\ No newline at end of file
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/FigureHighlightEditPolicy.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/FigureSelectEditPolicy.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/FigureSelectEditPolicy.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/FigureSelectEditPolicy.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * 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.gef.tree.editpolicy;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
+import org.jboss.tools.smooks.gef.tree.figures.ISelectableFigure;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public class FigureSelectEditPolicy extends NonResizableEditPolicy {
+
+ private ISelectableFigure getSelectableFigure() {
+ AbstractGraphicalEditPart host = (AbstractGraphicalEditPart) getHost();
+ IFigure figure = host.getFigure();
+ if (figure instanceof ISelectableFigure) {
+ return (ISelectableFigure) figure;
+ }
+ return null;
+ }
+
+ protected Rectangle getInitialFeedbackBounds() {
+// try {
+// if (((GraphicalEditPart) getHost()).getFigure() instanceof HandleBounds)
+// return ((HandleBounds) ((GraphicalEditPart)
getHost()).getFigure()).getHandleBounds();
+// Rectangle rect = ((GraphicalEditPart) getHost()).getFigure().getBounds();
+// if (getTreeNodeFigure() != null) {
+// rect.height = getTreeNodeFigure().getLabel().getBounds().height;
+// }
+// return rect;
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+ return super.getInitialFeedbackBounds();
+ }
+
+ /**
+ * @see org.eclipse.gef.editpolicies.NonResizableEditPolicy#hideFocus()
+ */
+ protected void hideFocus() {
+ if (getSelectableFigure() != null) {
+ getSelectableFigure().setFocus(false);
+ }
+ }
+
+ /**
+ * @see org.eclipse.gef.editpolicies.SelectionHandlesEditPolicy#hideSelection()
+ */
+ protected void hideSelection() {
+ if (getSelectableFigure() != null) {
+ getSelectableFigure().setSelected(false);
+ getSelectableFigure().setFocus(false);
+ }
+ }
+
+ /**
+ * @see org.eclipse.gef.editpolicies.NonResizableEditPolicy#showFocus()
+ */
+ protected void showFocus() {
+ if (getSelectableFigure() != null) {
+ getSelectableFigure().setFocus(true);
+ }
+ }
+
+ /**
+ * @see org.eclipse.gef.editpolicies.SelectionHandlesEditPolicy#showSelection()
+ */
+ protected void showPrimarySelection() {
+ if (getSelectableFigure() != null) {
+ getSelectableFigure().setSelected(true);
+ getSelectableFigure().setFocus(true);
+ }
+ }
+
+ /**
+ * @see org.eclipse.gef.editpolicies.SelectionHandlesEditPolicy#showSelection()
+ */
+ protected void showSelection() {
+ if (getSelectableFigure() != null) {
+ getSelectableFigure().setSelected(true);
+ getSelectableFigure().setFocus(false);
+ }
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/FigureSelectEditPolicy.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/IShowHighlighFigure.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/IShowHighlighFigure.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/IShowHighlighFigure.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * 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.gef.tree.editpolicy;
+
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * @author Dart
+ *
+ */
+public interface IShowHighlighFigure {
+ void showHighlightBackgroudColor(Color color);
+
+ void showbackOldbackgroundColor(Color color);
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/IShowHighlighFigure.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/SmooksRootEditPartLayoutEditPolicy.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/SmooksRootEditPartLayoutEditPolicy.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/SmooksRootEditPartLayoutEditPolicy.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * 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.gef.tree.editpolicy;
+
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMapUtil;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.gef.DefaultEditDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.GraphicalViewer;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.LayoutEditPolicy;
+import org.eclipse.gef.requests.ChangeBoundsRequest;
+import org.eclipse.gef.requests.CreateRequest;
+import org.eclipse.ui.IEditorPart;
+import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.gef.tree.command.GEFAdapterCommand;
+import org.jboss.tools.smooks.gef.tree.editparts.ChangeConstraintCommand;
+import org.jboss.tools.smooks.gef.tree.figures.IMoveableModel;
+import org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart;
+import org.jboss.tools.smooks.graphical.editors.commands.DefaultSmooksCommandProvider;
+import org.jboss.tools.smooks.graphical.editors.commands.ISmooksCommandProvider;
+
+/**
+ * @author Dart
+ *
+ */
+public class SmooksRootEditPartLayoutEditPolicy extends LayoutEditPolicy {
+ private ISmooksCommandProvider commandProvider = null;
+
+ private GEFAdapterCommand createGEFCommand(EditingDomain domain,
org.eclipse.emf.common.command.Command emfCommand,
+ final ISmooksModelProvider provider, Object collections, Object owner, Object
feature,
+ IEditorPart editorPart) {
+ GEFAdapterCommand command = (GEFAdapterCommand)
getCommandProvider().createSmooksCommand(domain, emfCommand,
+ provider, collections, owner, feature, editorPart);
+ return command;
+ }
+
+ /**
+ * @return the commandProvider
+ */
+ public ISmooksCommandProvider getCommandProvider() {
+ if (commandProvider == null) {
+ commandProvider = new DefaultSmooksCommandProvider();
+ }
+ return commandProvider;
+ }
+
+ @Override
+ protected Command getCreateCommand(CreateRequest request) {
+ Object model = request.getNewObject();
+ Object type = request.getNewObjectType();
+ GraphicalViewer viewer = (GraphicalViewer) ((GraphicalEditPart)
getHost()).getViewer();
+ IEditorPart editorPart = ((DefaultEditDomain) viewer.getEditDomain()).getEditorPart();
+ if (editorPart instanceof SmooksGraphicalEditorPart) {
+ EObject owner = ((SmooksGraphicalEditorPart) editorPart).getSmooksResourceList();
+ EditingDomain domain = ((SmooksGraphicalEditorPart) editorPart).getEditingDomain();
+ if (model instanceof FeatureMap.Entry) {
+ EStructuralFeature type1 = ((FeatureMap.Entry) model).getEStructuralFeature();
+ model = ((FeatureMap.Entry) model).getValue();
+ model = EcoreUtil.copy((EObject) model);
+ model = FeatureMapUtil.createEntry(type1, model);
+ }
+ org.eclipse.emf.common.command.Command emfCommand = AddCommand.create(domain, owner,
type, model);
+ final ISmooksModelProvider provider = (ISmooksModelProvider)
((SmooksGraphicalEditorPart) editorPart)
+ .getSmooksModelProvider();
+ if (emfCommand.canExecute()) {
+ GEFAdapterCommand command = createGEFCommand(domain, emfCommand, provider, model,
owner, type,
+ editorPart);
+ if (command == null) {
+ return null;
+ }
+ command.setCollections(model);
+ command.setOwner(owner);
+ command.setFeature(type);
+ command.setX(request.getLocation().x);
+ command.setY(request.getLocation().y);
+ return command;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ protected EditPolicy createChildEditPolicy(EditPart child) {
+
+ return new FigureSelectEditPolicy() {
+
+ @Override
+ protected Command getMoveCommand(ChangeBoundsRequest request) {
+ Object model = getHost().getModel();
+ if (request instanceof ChangeBoundsRequest && model instanceof
IMoveableModel) {
+ Point delta = ((ChangeBoundsRequest) request).getMoveDelta();
+ Rectangle rect = ((IMoveableModel) model).getBounds();
+ rect.setLocation(rect.x + delta.x, rect.y + delta.y);
+ ChangeConstraintCommand command = new ChangeConstraintCommand((Rectangle) rect,
+ (IMoveableModel) model);
+ return command;
+ }
+ return null;
+ }
+
+ };
+ }
+
+ @Override
+ protected Command getMoveChildrenCommand(Request request) {
+ return null;
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/SmooksRootEditPartLayoutEditPolicy.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/TreeNodeGraphicalNodeEditPolicy.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/TreeNodeGraphicalNodeEditPolicy.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editpolicy/TreeNodeGraphicalNodeEditPolicy.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -3,11 +3,16 @@
*/
package org.jboss.tools.smooks.gef.tree.editpolicy;
+import org.eclipse.draw2d.IFigure;
import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.Request;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy;
import org.eclipse.gef.requests.CreateConnectionRequest;
import org.eclipse.gef.requests.ReconnectRequest;
+import org.eclipse.swt.graphics.Color;
+import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
import org.jboss.tools.smooks.gef.tree.editparts.CreateConnectionCommand;
import org.jboss.tools.smooks.gef.tree.editparts.TreeNodeEditPart;
@@ -18,6 +23,9 @@
*/
public class TreeNodeGraphicalNodeEditPolicy extends GraphicalNodeEditPolicy {
+ private Color revertColor;
+ private static Color highLightColor = GraphicsConstants.TB_BG_CORLOR;
+
/*
* (non-Javadoc)
*
@@ -27,21 +35,25 @@
*/
@Override
protected Command getConnectionCompleteCommand(CreateConnectionRequest request) {
- Command command = request.getStartCommand();
- if (command != null && command instanceof CreateConnectionCommand) {
- Object targetModel = request.getTargetEditPart().getModel();
- if (targetModel instanceof AbstractSmooksGraphicalModel) {
- if (!((AbstractSmooksGraphicalModel)
targetModel).canLinkWithSource(((CreateConnectionCommand) command)
- .getSource()))
- return null;
- Object source = ((CreateConnectionCommand) command).getSource();
- if (source instanceof AbstractSmooksGraphicalModel) {
- if (!((AbstractSmooksGraphicalModel) source).canLinkWithTarget(targetModel))
+ try {
+ Command command = request.getStartCommand();
+ if (command != null && command instanceof CreateConnectionCommand) {
+ Object targetModel = request.getTargetEditPart().getModel();
+ if (targetModel instanceof AbstractSmooksGraphicalModel) {
+ if (!((AbstractSmooksGraphicalModel) targetModel)
+ .canLinkWithSource(((CreateConnectionCommand) command).getSource()))
return null;
+ Object source = ((CreateConnectionCommand) command).getSource();
+ if (source instanceof AbstractSmooksGraphicalModel) {
+ if (!((AbstractSmooksGraphicalModel) source).canLinkWithTarget(targetModel))
+ return null;
+ }
+ ((CreateConnectionCommand) command).setTarget((AbstractSmooksGraphicalModel)
targetModel);
+ return command;
}
- ((CreateConnectionCommand) command).setTarget((AbstractSmooksGraphicalModel)
targetModel);
- return command;
}
+ } catch (Exception e) {
+ e.printStackTrace();
}
return null;
}
@@ -109,4 +121,71 @@
return null;
}
+ /**
+ * @see org.eclipse.gef.EditPolicy#eraseTargetFeedback(org.eclipse.gef.Request)
+ */
+ public void eraseTargetFeedback(Request request) {
+ super.eraseTargetFeedback(request);
+ if (revertColor != null) {
+ unsetContainerBackgroud(revertColor);
+ revertColor = null;
+ }
+ }
+
+ private void unsetContainerBackgroud(Color c) {
+ IFigure figure = getContainerFigure();
+ if (figure instanceof IShowHighlighFigure) {
+ ((IShowHighlighFigure) figure).showbackOldbackgroundColor(c);
+ }
+ getContainerFigure().setBackgroundColor(c);
+ }
+
+ private Color getContainerBackground() {
+ return getContainerFigure().getBackgroundColor();
+ }
+
+ private IFigure getContainerFigure() {
+ return ((GraphicalEditPart) getHost()).getFigure();
+ }
+
+ /**
+ * @see org.eclipse.gef.EditPolicy#getTargetEditPart(org.eclipse.gef.Request)
+ */
+ public EditPart getTargetEditPart(Request request) {
+ // if (true) {
+ return super.getTargetEditPart(request);
+ // }
+ // return request.getType().equals(RequestConstants.REQ_SELECTION_HOVER)
+ // ? getHost() : null;
+ }
+
+ private void setContainerBackground(Color c) {
+ IFigure figure = getContainerFigure();
+ if (figure instanceof IShowHighlighFigure) {
+ ((IShowHighlighFigure) figure).showHighlightBackgroudColor(c);
+ }
+ getContainerFigure().setBackgroundColor(c);
+ }
+
+ /**
+ * Changes the background color of the container to the highlight color
+ */
+ protected void showHighlight() {
+ if (revertColor == null) {
+ revertColor = getContainerBackground();
+ setContainerBackground(highLightColor);
+ }
+ }
+
+ /**
+ * @see org.eclipse.gef.EditPolicy#showTargetFeedback(org.eclipse.gef.Request)
+ */
+ public void showTargetFeedback(Request request) {
+ super.showTargetFeedback(request);
+ if (REQ_CONNECTION_START.equals(request.getType()) ||
REQ_CONNECTION_END.equals(request.getType())
+ || REQ_RECONNECT_SOURCE.equals(request.getType()) ||
REQ_RECONNECT_TARGET.equals(request.getType())) {
+ showHighlight();
+ }
+ }
+
}
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/ISelectableFigure.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/ISelectableFigure.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/ISelectableFigure.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * 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.gef.tree.figures;
+
+/**
+ * @author Dart
+ *
+ */
+public interface ISelectableFigure {
+ void setSelected(boolean selected);
+
+ boolean isSelected();
+
+ void setFocus(boolean focus);
+
+ boolean isFocus();
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/ISelectableFigure.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeContainerFigure.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeContainerFigure.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeContainerFigure.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -5,6 +5,7 @@
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.FigureUtilities;
import org.eclipse.draw2d.Graphics;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.Label;
@@ -13,13 +14,15 @@
import org.eclipse.draw2d.geometry.Rectangle;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
+import org.jboss.tools.smooks.gef.tree.editpolicy.IShowHighlighFigure;
import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
/**
* @author DartPeng
*
*/
-public class TreeContainerFigure extends Figure {
+public class TreeContainerFigure extends Figure implements ISelectableFigure,
IShowHighlighFigure {
private IFigure headerFigure;
@@ -31,13 +34,23 @@
private Color headerColor = ColorConstants.button;
+ protected Color headerSelectedColor = GraphicsConstants.TB_BG_CORLOR;
+
+ private boolean focus;
+
+ private boolean selected;
+
+ private Color highlightColor = null;
+
+ private boolean showHightlight = false;
+
public TreeContainerFigure(TreeContainerModel model) {
super();
this.model = model;
this.addChildrenFigures();
}
-
- protected void addChildrenFigures(){
+
+ protected void addChildrenFigures() {
headerFigure = new Figure() {
@Override
@@ -70,13 +83,25 @@
}
protected void drawHeaderFigure(Graphics graphics) {
- graphics.pushState();
- graphics.setForegroundColor(headerColor);
- graphics.setBackgroundColor(ColorConstants.white);
- graphics.fillGradient(headerFigure.getBounds().expand(20, 0), true);
- graphics.setForegroundColor(headerColor);
- graphics.drawLine(getBounds().getBottomLeft().translate(0, -1),
getBounds().getBottomRight().translate(0, -1));
- graphics.popState();
+ try {
+ graphics.pushState();
+ Color currentColor = headerColor;
+ if (isSelected() || isFocus()) {
+ currentColor = headerSelectedColor;
+ }
+ if (showHightlight && highlightColor != null) {
+ currentColor = highlightColor;
+ }
+ graphics.setForegroundColor(currentColor);
+ graphics.setBackgroundColor(ColorConstants.white);
+ graphics.fillGradient(headerFigure.getBounds().expand(30, 0), true);
+ graphics.setForegroundColor(currentColor);
+ graphics.drawLine(getBounds().getBottomLeft().translate(0, -1),
getBounds().getBottomRight().translate(0,
+ -1));
+ graphics.popState();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
/**
@@ -117,10 +142,21 @@
@Override
protected void paintBorder(Graphics graphics) {
- graphics.setForegroundColor(ColorConstants.buttonDarker);
- Rectangle drawnRectangle = new Rectangle(getBounds().x, getBounds().y,
getBounds().width - 1,
- getBounds().height - 1);
- graphics.drawRoundRectangle(drawnRectangle, 5, 5);
+ try {
+ graphics.setForegroundColor(ColorConstants.buttonDarkest);
+ if (isSelected() || isFocus()) {
+ graphics.setForegroundColor(GraphicsConstants.BORDER_CORLOR);
+ }
+
+ if (showHightlight && highlightColor != null) {
+ graphics.setForegroundColor(FigureUtilities.darker(highlightColor));
+ }
+ Rectangle drawnRectangle = new Rectangle(getBounds().x, getBounds().y,
getBounds().width - 1,
+ getBounds().height - 1);
+ graphics.drawRoundRectangle(drawnRectangle, 5, 5);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
public void setText(String text) {
@@ -152,4 +188,72 @@
label.setIcon(i);
}
}
+
+ /**
+ * @return the headerFigure
+ */
+ public IFigure getHeaderFigure() {
+ return headerFigure;
+ }
+
+ /**
+ * @param headerFigure
+ * the headerFigure to set
+ */
+ public void setHeaderFigure(IFigure headerFigure) {
+ this.headerFigure = headerFigure;
+ }
+
+ /**
+ * @return the focus
+ */
+ public boolean isFocus() {
+ return focus;
+ }
+
+ /**
+ * @param focus
+ * the focus to set
+ */
+ public void setFocus(boolean focus) {
+ this.focus = focus;
+ }
+
+ /**
+ * @return the selected
+ */
+ public boolean isSelected() {
+ return selected;
+ }
+
+ /**
+ * @param selected
+ * the selected to set
+ */
+ public void setSelected(boolean selected) {
+ this.selected = selected;
+ repaint();
+ }
+
+ /**
+ * @param contentFigure
+ * the contentFigure to set
+ */
+ public void setContentFigure(IFigure contentFigure) {
+ this.contentFigure = contentFigure;
+ repaint();
+ }
+
+ public void showbackOldbackgroundColor(Color color) {
+ showHightlight = false;
+ highlightColor = null;
+ repaint();
+ }
+
+ public void showHighlightBackgroudColor(Color color) {
+ showHightlight = true;
+ highlightColor = color;
+ repaint();
+ }
+
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -25,14 +25,17 @@
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.PointList;
import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
+import org.jboss.tools.smooks.gef.tree.editpolicy.IShowHighlighFigure;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
/**
* @author DartPeng
*
*/
-public class TreeNodeFigure extends Figure {
+public class TreeNodeFigure extends Figure implements ISelectableFigure,
IShowHighlighFigure {
private List<ITreeFigureListener> treeListener = new
ArrayList<ITreeFigureListener>();
private final int SPACE_INT = 14;
@@ -61,6 +64,8 @@
private Image labelImage = null;
+ private boolean showHighlight;
+
public TreeNodeFigure(TreeNodeModel model) {
super();
this.model = model;
@@ -271,7 +276,8 @@
}
/**
- * @param labelImage the labelImage to set
+ * @param labelImage
+ * the labelImage to set
*/
public void setLabelImage(Image labelImage) {
this.labelImage = labelImage;
@@ -282,17 +288,11 @@
}
public void paint(Graphics graphics) {
- if (isFocus()) {
- label.setForegroundColor(ColorConstants.blue);
- } else {
- label.setForegroundColor(ColorConstants.black);
+ label.setForegroundColor(ColorConstants.black);
+ if (isFocus() || isSelected() || showHighlight) {
+ label.setForegroundColor(GraphicsConstants.FONT_COLOR);
}
- if (isSelected()) {
- label.setForegroundColor(ColorConstants.lightBlue);
- } else {
- label.setForegroundColor(ColorConstants.black);
- }
super.paint(graphics);
}
@@ -385,4 +385,14 @@
e.printStackTrace();
}
}
+
+ public void showHighlightBackgroudColor(Color color) {
+ showHighlight = true;
+ repaint();
+ }
+
+ public void showbackOldbackgroundColor(Color color) {
+ showHighlight = false;
+ repaint();
+ }
}
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-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPaletteRootCreator.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -34,8 +34,10 @@
import org.eclipse.gef.palette.SelectionToolEntry;
import org.eclipse.gef.requests.CreationFactory;
import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
+import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
import org.jboss.tools.smooks.configuration.editors.actions.ISmooksActionGrouper;
-import org.jboss.tools.smooks.configuration.editors.actions.JavaBean11ActionGrouper;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.gef.tree.model.TriggerConnection;
@@ -78,7 +80,10 @@
return null;
}
};
- drawer.add(new ConnectionCreationToolEntry("Link", "Connect node",
factory, null, null));
+ ImageRegistry imageRegistry =
SmooksConfigurationActivator.getDefault().getImageRegistry();
+ drawer.add(new ConnectionCreationToolEntry("Link", "Connect node",
factory, imageRegistry
+ .getDescriptor(GraphicsConstants.IMAGE_LINK16), imageRegistry
+ .getDescriptor(GraphicsConstants.IMAGE_LINK16)));
root.add(drawer);
createPaletteDrawer(root);
@@ -101,7 +106,7 @@
PaletteDrawer drawer = new PaletteDrawer(iSmooksActionGrouper.getGroupName());
fillDrawer(drawer, newChildrenDescripter, iSmooksActionGrouper);
root.add(drawer);
-
+
}
}
}
@@ -222,9 +227,9 @@
}
return false;
}
-
- protected void fillActionGrouper(List<ISmooksActionGrouper> grouperList){
-
+
+ protected void fillActionGrouper(List<ISmooksActionGrouper> grouperList) {
+
}
protected List<ISmooksActionGrouper> getSmooksActionGrouper() {
@@ -236,7 +241,7 @@
// grouperList.add(new Datasources11ActionGrouper());
// grouperList.add(new FragmentRouting11ActionGrouper());
// grouperList.add(new Scripting11ActionGrouper());
-// grouperList.add(new Templating11ActionGrouper());
+ // grouperList.add(new Templating11ActionGrouper());
// grouperList.add(new PersistenceActionGrouper());
// grouperList.add(new Validation10ActionGrouper());
return grouperList;
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-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -644,8 +644,8 @@
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);
+// SmooksXSLTemplateGraphicalEditor xsltemplatePart = new
SmooksXSLTemplateGraphicalEditor(smooksModelProvider);
+// this.registeTaskDetailsPage(xsltemplatePart, TaskTypeManager.TASK_ID_XSL_TEMPLATE);
ProcessAnalyzer processAnalyzer = new ProcessAnalyzer();
EObject smooksModel = getSmooksResourceList();
Modified:
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 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksXSLTemplateGraphicalEditor.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -22,6 +22,9 @@
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.actions.xsltemplate.XSLActionCreator;
+import org.jboss.tools.smooks.graphical.editors.editparts.IAutoLayout;
+import org.jboss.tools.smooks.graphical.editors.editparts.XSLMappingAutoLayout;
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;
@@ -31,13 +34,42 @@
*
*/
public class SmooksXSLTemplateGraphicalEditor extends SmooksGraphicalEditorPart {
+
+ private XSLMappingAutoLayout autoLayout = null;
public SmooksXSLTemplateGraphicalEditor(ISmooksModelProvider provider) {
super(provider);
// TODO Auto-generated constructor stub
}
+
+
/* (non-Javadoc)
+ * @see
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart#getAutoLayout()
+ */
+ @Override
+ public IAutoLayout getAutoLayout() {
+ if(autoLayout == null){
+ autoLayout = new XSLMappingAutoLayout();
+ }
+ return autoLayout;
+ }
+
+
+
+ /* (non-Javadoc)
+ * @see
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart#createActions()
+ */
+ @Override
+ protected void createActions() {
+ super.createActions();
+ XSLActionCreator creator = new XSLActionCreator();
+ creator.registXSLActions(getActionRegistry(), getSelectionActions(), this);
+ }
+
+
+
+ /* (non-Javadoc)
* @see
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart#getPaletteRoot()
*/
@Override
Modified:
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 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -61,6 +61,8 @@
GraphicsConstants.IMAGE_JAVA_AMPPING_TASK));
allTaskList.add(new TaskTypeDescriptor(TASK_ID_FREEMARKER_TEMPLATE, "Apply
Freemaker Template",
GraphicsConstants.IMAGE_APPLY_FREEMARKER_TASK));
+// allTaskList.add(new TaskTypeDescriptor(TASK_ID_XSL_TEMPLATE, "Apply XSL
Template",
+// GraphicsConstants.IMAGE_APPLY_XSL_TASK));
}
return allTaskList;
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/AbstractResourceConfigEditPart.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/AbstractResourceConfigEditPart.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/AbstractResourceConfigEditPart.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -117,7 +117,6 @@
*/
@Override
protected Command createAddCommand(EditPart child, EditPart after) {
- // TODO Auto-generated method stub
return null;
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/InputDataContainerEditPart.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/InputDataContainerEditPart.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/InputDataContainerEditPart.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -14,6 +14,7 @@
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.FigureUtilities;
import org.eclipse.draw2d.Graphics;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.Label;
@@ -110,7 +111,11 @@
@Override
protected void paintBorder(Graphics graphics) {
// super.paintBorder(graphics);
- graphics.setForegroundColor(ColorConstants.black);
+ if (isSelected() || isFocus()) {
+ graphics.setForegroundColor(GraphicsConstants.BORDER_CORLOR);
+ } else {
+ graphics.setForegroundColor(ColorConstants.black);
+ }
Point p2 = new Point();
p2.setLocation(getBounds().getTopLeft().x, getBounds().getTopLeft().y);
@@ -129,7 +134,7 @@
graphics.drawLine(p4, p3);
Point p5 = new Point();
- p5.setLocation(getBounds().getTopRight().x - 1, getBounds().getTopRight().y +
zwidth);
+ p5.setLocation(getBounds().getTopRight().x - 1, getBounds().getTopRight().y + zwidth
- 1);
graphics.drawLine(p4, p5);
graphics.drawLine(p1, p5);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksRootEditPart.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksRootEditPart.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksRootEditPart.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -10,27 +10,12 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors.editparts;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMapUtil;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.gef.DefaultEditDomain;
import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.CreateRequest;
import org.eclipse.ui.IEditorPart;
-import org.jboss.tools.smooks.editor.ISmooksModelProvider;
-import org.jboss.tools.smooks.gef.tree.command.GEFAdapterCommand;
import org.jboss.tools.smooks.gef.tree.editparts.RootEditPart;
-import org.jboss.tools.smooks.gef.tree.editpolicy.RootPanelXYLayoutEditPolicy;
-import org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart;
-import org.jboss.tools.smooks.graphical.editors.commands.DefaultSmooksCommandProvider;
-import org.jboss.tools.smooks.graphical.editors.commands.ISmooksCommandProvider;
+import org.jboss.tools.smooks.gef.tree.editpolicy.SmooksRootEditPartLayoutEditPolicy;
/**
* @author Dart
@@ -42,26 +27,6 @@
public static final int BINDINGS_TYPE = 1;
- private ISmooksCommandProvider commandProvider = null;
-
- private GEFAdapterCommand createGEFCommand(EditingDomain domain,
org.eclipse.emf.common.command.Command emfCommand,
- final ISmooksModelProvider provider, Object collections, Object owner, Object
feature,
- IEditorPart editorPart) {
- GEFAdapterCommand command = (GEFAdapterCommand)
getCommandProvider().createSmooksCommand(domain, emfCommand,
- provider, collections, owner, feature, editorPart);
- return command;
- }
-
- /**
- * @return the commandProvider
- */
- public ISmooksCommandProvider getCommandProvider() {
- if (commandProvider == null) {
- commandProvider = new DefaultSmooksCommandProvider();
- }
- return commandProvider;
- }
-
/*
* (non-Javadoc)
*
@@ -69,44 +34,7 @@
*/
@Override
protected void createEditPolicies() {
- this.installEditPolicy(EditPolicy.LAYOUT_ROLE, new RootPanelXYLayoutEditPolicy() {
-
- @Override
- protected Command getCreateCommand(CreateRequest request) {
- Object model = request.getNewObject();
- Object type = request.getNewObjectType();
- GraphicalViewer viewer = (GraphicalViewer) ((GraphicalEditPart)
getHost()).getViewer();
- IEditorPart editorPart = ((DefaultEditDomain)
viewer.getEditDomain()).getEditorPart();
- if (editorPart instanceof SmooksGraphicalEditorPart) {
- EObject owner = ((SmooksGraphicalEditorPart) editorPart).getSmooksResourceList();
- EditingDomain domain = ((SmooksGraphicalEditorPart) editorPart).getEditingDomain();
- if (model instanceof FeatureMap.Entry) {
- EStructuralFeature type1 = ((FeatureMap.Entry) model).getEStructuralFeature();
- model = ((FeatureMap.Entry) model).getValue();
- model = EcoreUtil.copy((EObject) model);
- model = FeatureMapUtil.createEntry(type1, model);
- }
- org.eclipse.emf.common.command.Command emfCommand = AddCommand.create(domain, owner,
type, model);
- final ISmooksModelProvider provider = (ISmooksModelProvider)
((SmooksGraphicalEditorPart) editorPart)
- .getSmooksModelProvider();
- if (emfCommand.canExecute()) {
- GEFAdapterCommand command = createGEFCommand(domain, emfCommand, provider, model,
owner, type,
- editorPart);
- if (command == null) {
- return null;
- }
- command.setCollections(model);
- command.setOwner(owner);
- command.setFeature(type);
- command.setX(request.getLocation().x);
- command.setY(request.getLocation().y);
- return command;
- }
- }
- return null;
- }
-
- });
+ this.installEditPolicy(EditPolicy.LAYOUT_ROLE, new
SmooksRootEditPartLayoutEditPolicy());
}
protected IEditorPart getEditorPart() {
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/XSLMappingAutoLayout.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/XSLMappingAutoLayout.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/XSLMappingAutoLayout.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * 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.editparts;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.draw2d.graph.DirectedGraph;
+import org.eclipse.draw2d.graph.Node;
+import org.eclipse.draw2d.graph.NodeList;
+
+/**
+ * @author Dart
+ *
+ */
+public class XSLMappingAutoLayout implements IAutoLayout{
+
+ private int INPUT_JAVA_WIDTH = 200;
+
+ private int SPACE_XSL = 20;
+
+ private int INIT_X = 50;
+
+ private int INIT_Y = 50;
+
+ public void visit(DirectedGraph graph){
+ NodeList nodeList = graph.nodes;
+ // place the java-mapping nodes;
+ int javaHeight = 0;
+ Node inputNode = null;
+ int java_y = INIT_Y;
+ List<Node> javaNodes = new ArrayList<Node>();
+ for (Iterator<?> iterator = nodeList.iterator(); iterator.hasNext();) {
+ Node node = (Node) iterator.next();
+ Object data = node.data;
+ if(data instanceof XSLTemplateEditPart){
+ javaHeight = javaHeight + SPACE_XSL + node.height;
+ node.y = java_y;
+ java_y = java_y + SPACE_XSL + node.height;
+ javaNodes.add(node);
+ }
+ if(data instanceof InputDataContainerEditPart){
+ inputNode = node;
+ }
+ }
+ javaHeight = javaHeight - INIT_Y;
+ int java_x = INIT_X;
+ if(inputNode != null){
+ inputNode.x = INIT_X;
+ int input_y = INIT_Y;
+ if(javaHeight > inputNode.height){
+ int cha = (javaHeight - inputNode.height)/2;
+ input_y = cha;
+ }
+ inputNode.y = input_y;
+ java_x = inputNode.x + inputNode.width + INPUT_JAVA_WIDTH;
+ }
+
+ for (Iterator<?> iterator = javaNodes.iterator(); iterator.hasNext();) {
+ Node node = (Node) iterator.next();
+ node.x = java_x;
+ }
+
+ }
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/XSLMappingAutoLayout.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/InputDataTreeNodeModel.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/InputDataTreeNodeModel.java 2009-11-03
20:16:23 UTC (rev 18401)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/InputDataTreeNodeModel.java 2009-11-04
03:11:34 UTC (rev 18402)
@@ -15,6 +15,9 @@
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.configuration.editors.xml.TagPropertyObject;
+import org.jboss.tools.smooks.configuration.editors.xml.XSLModelAnalyzer;
+import org.jboss.tools.smooks.configuration.editors.xml.XSLTagObject;
import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
@@ -68,9 +71,24 @@
*/
@Override
public boolean canLinkWithTarget(Object model) {
- Object data = ((AbstractSmooksGraphicalModel)model).getData();
+ Object data = ((AbstractSmooksGraphicalModel) model).getData();
data = AdapterFactoryEditingDomain.unwrap(data);
- if (SmooksUIUtils.getSelectorFeature((EObject)data) != null) {
+ if (data instanceof EObject) {
+ if (SmooksUIUtils.getSelectorFeature((EObject) data) != null) {
+ return true;
+ }
+ }
+ if (data instanceof XSLTagObject) {
+ if (XSLModelAnalyzer.isXSLTagObject((XSLTagObject) data)) {
+ if (((XSLTagObject) data).isForeachElement() || ((XSLTagObject)
data).isTemplateElement()
+ || ((XSLTagObject) data).isSortElement()) {
+ return true;
+ }
+ } else {
+ return true;
+ }
+ }
+ if (data instanceof TagPropertyObject) {
return true;
}
return false;