Author: DartPeng
Date: 2009-08-20 03:20:06 -0400 (Thu, 20 Aug 2009)
New Revision: 17178
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj16/package_obj.gif
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeCompletionProposal.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposal.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposalListener.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposalProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypePackageCompletionProcessor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeProposalLabelProvider.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF
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/uitls/SmooksUIUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/TypeFieldAssistDisposer.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java
Log:
JBIDE-4692
Done
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF 2009-08-20
03:30:29 UTC (rev 17177)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF 2009-08-20
07:20:06 UTC (rev 17178)
@@ -10,7 +10,7 @@
org.eclipse.core.resources,
org.eclipse.ui.editors,
org.eclipse.ui.ide,
- org.jboss.tools.smooks.core;bundle-version="1.0.0",
+ org.jboss.tools.smooks.core,
org.eclipse.ui.forms,
org.eclipse.wst.sse.core,
org.eclipse.wst.sse.ui,
@@ -20,13 +20,13 @@
org.eclipse.jdt.core,
org.eclipse.jdt.ui,
org.eclipse.wst.validation,
- org.eclipse.pde.ui,
org.eclipse.xsd,
org.eclipse.wst.wsdl,
org.apache.xerces,
javax.wsdl,
- org.jboss.tools.smooks.runtime;bundle-version="1.1.2",
- org.eclipse.gef
+ org.jboss.tools.smooks.runtime,
+ org.eclipse.gef,
+ org.eclipse.jdt.launching
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj16/package_obj.gif
===================================================================
(Binary files differ)
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj16/package_obj.gif
___________________________________________________________________
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-08-20
03:30:29 UTC (rev 17177)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/SmooksConfigurationActivator.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -64,13 +64,11 @@
@Override
protected void initializeImageRegistry(ImageRegistry reg) {
super.initializeImageRegistry(reg);
- reg.put(GraphicsConstants.JAVA_PROPERTY_ICON,
- getImageDescriptor(GraphicsConstants.JAVA_PROPERTY_ICON_PATH));
-
+ reg.put(GraphicsConstants.JAVA_PROPERTY_ICON,
getImageDescriptor(GraphicsConstants.JAVA_PROPERTY_ICON_PATH));
+
reg.put(GraphicsConstants.IMAGE_UNKNOWN_OBJ, imageDescriptorFromPlugin(PLUGIN_ID,
GraphicsConstants.IMAGE_UNKNOWN_OBJ));
-
// regist ovr images
reg.put(GraphicsConstants.IMAGE_OVR_ERROR,
getImageDescriptor(GraphicsConstants.IMAGE_OVR_ERROR));
reg.put(GraphicsConstants.IMAGE_OVR_WARING,
getImageDescriptor(GraphicsConstants.IMAGE_OVR_WARING));
@@ -90,7 +88,9 @@
reg.put(GraphicsConstants.IMAGE_CHECKBOX_UNCHECK, imageDescriptorFromPlugin(PLUGIN_ID,
GraphicsConstants.IMAGE_CHECKBOX_UNCHECK));
reg.put(GraphicsConstants.IMAGE_JAVA_OBJECT, imageDescriptorFromPlugin(PLUGIN_ID,
- "icons/full/obj16/class_obj.gif"));
+ GraphicsConstants.IMAGE_JAVA_OBJECT));
+ reg.put(GraphicsConstants.IMAGE_PACKAGE_OBJECT, imageDescriptorFromPlugin(PLUGIN_ID,
+ GraphicsConstants.IMAGE_PACKAGE_OBJECT));
reg.put(GraphicsConstants.IMAGE_JAVA_ARRAY, imageDescriptorFromPlugin(PLUGIN_ID,
GraphicsConstants.IMAGE_JAVA_ARRAY));
reg.put(GraphicsConstants.IMAGE_JAVA_COLLECTION, imageDescriptorFromPlugin(PLUGIN_ID,
@@ -98,14 +98,12 @@
reg.put(GraphicsConstants.IMAGE_JAVA_FILE, imageDescriptorFromPlugin(PLUGIN_ID,
GraphicsConstants.IMAGE_JAVA_FILE));
-
// for the xml2xml line
- reg.put(GraphicsConstants.IMAGE_XML_FILE, imageDescriptorFromPlugin(PLUGIN_ID,
- GraphicsConstants.IMAGE_XML_FILE));
-
- reg.put(GraphicsConstants.IMAGE_XSD_FILE, imageDescriptorFromPlugin(PLUGIN_ID,
- GraphicsConstants.IMAGE_XSD_FILE));
+ reg.put(GraphicsConstants.IMAGE_XML_FILE,
+ imageDescriptorFromPlugin(PLUGIN_ID, GraphicsConstants.IMAGE_XML_FILE));
+ reg.put(GraphicsConstants.IMAGE_XSD_FILE,
+ imageDescriptorFromPlugin(PLUGIN_ID, GraphicsConstants.IMAGE_XSD_FILE));
reg.put(GraphicsConstants.IMAGE_BINDING_LINE, imageDescriptorFromPlugin(PLUGIN_ID,
GraphicsConstants.IMAGE_BINDING_LINE));
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-08-20
03:30:29 UTC (rev 17177)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/GraphicsConstants.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -8,8 +8,10 @@
public static final String IMAGE_JAVA_ATTRIBUTE =
"icons/full/obj16/att_obj.gif";
- public static final String IMAGE_JAVA_OBJECT = "java_object";
+ 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_OVR_ERROR = "icons/full/ovr16/error_co.gif";
public static final String IMAGE_OVR_WARING =
"icons/full/ovr16/warning_co.gif";
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-08-20
03:30:29 UTC (rev 17177)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -30,6 +30,7 @@
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.common.util.URI;
@@ -47,9 +48,13 @@
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.search.IJavaSearchConstants;
+import org.eclipse.jdt.core.search.IJavaSearchScope;
+import org.eclipse.jdt.core.search.SearchEngine;
+import org.eclipse.jdt.launching.JavaRuntime;
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.ToolBarManager;
@@ -71,9 +76,6 @@
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.pde.internal.ui.editor.contentassist.TypeContentProposalListener;
-import org.eclipse.pde.internal.ui.editor.contentassist.TypeContentProposalProvider;
-import org.eclipse.pde.internal.ui.editor.contentassist.TypeProposalLabelProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
@@ -125,6 +127,9 @@
import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaMethodsSelectionDialog;
import
org.jboss.tools.smooks.configuration.editors.javabean.JavaPropertiesSelectionDialog;
+import org.jboss.tools.smooks.contentassist.TypeContentProposalListener;
+import org.jboss.tools.smooks.contentassist.TypeContentProposalProvider;
+import org.jboss.tools.smooks.contentassist.TypeProposalLabelProvider;
import org.jboss.tools.smooks.core.SmooksCoreActivator;
import org.jboss.tools.smooks.gef.tree.editparts.TreeNodeEditPart;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
@@ -2412,5 +2417,39 @@
return false;
}
+
+ public static IJavaSearchScope getSearchScope(IJavaProject project) {
+ return SearchEngine.createJavaSearchScope(getNonJRERoots(project));
+ }
+ public static IJavaSearchScope getSearchScope(IProject project) {
+ return getSearchScope(JavaCore.create(project));
+ }
+
+ public static IPackageFragmentRoot[] getNonJRERoots(IJavaProject project) {
+ ArrayList<Object> result = new ArrayList<Object>();
+ try {
+ IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();
+ for (int i = 0; i < roots.length; i++) {
+ if (!isJRELibrary(roots[i])) {
+ result.add(roots[i]);
+ }
+ }
+ } catch (JavaModelException e) {
+ }
+ return (IPackageFragmentRoot[]) result.toArray(new
IPackageFragmentRoot[result.size()]);
+ }
+
+ public static boolean isJRELibrary(IPackageFragmentRoot root) {
+ try {
+ IPath path = root.getRawClasspathEntry().getPath();
+ if (path.equals(new Path(JavaRuntime.JRE_CONTAINER)) || path.equals(new
Path(JavaRuntime.JRELIB_VARIABLE))) {
+ return true;
+ }
+ } catch (JavaModelException e) {
+ }
+ return false;
+ }
+
+
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/TypeFieldAssistDisposer.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/TypeFieldAssistDisposer.java 2009-08-20
03:30:29 UTC (rev 17177)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/TypeFieldAssistDisposer.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -12,8 +12,8 @@
import org.eclipse.jface.fieldassist.IContentProposalListener;
import org.eclipse.jface.fieldassist.IContentProposalListener2;
-import org.eclipse.pde.internal.ui.editor.contentassist.TypeContentProposalListener;
import org.eclipse.ui.fieldassist.ContentAssistCommandAdapter;
+import org.jboss.tools.smooks.contentassist.TypeContentProposalListener;
/**
* @author Dart (dpeng(a)redhat.com)
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeCompletionProposal.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeCompletionProposal.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeCompletionProposal.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -0,0 +1,146 @@
+/*******************************************************************************
+ * 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.contentassist;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IInformationControlCreator;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.ICompletionProposalExtension3;
+import org.eclipse.jface.text.contentassist.ICompletionProposalExtension5;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+
+/**
+ * @author Dart
+ *
+ */
+public class TypeCompletionProposal implements ICompletionProposal,
ICompletionProposalExtension3, ICompletionProposalExtension5 {
+
+ protected String fReplacementString;
+ protected Image fImage;
+ protected String fDisplayString;
+ protected int fBeginInsertPoint;
+ protected int fLength;
+ protected String fAdditionalInfo;
+// private IInformationControlCreator fCreator;
+
+ public TypeCompletionProposal(String replacementString, Image image, String
displayString) {
+ this(replacementString, image, displayString, 0, 0);
+ }
+
+ public TypeCompletionProposal(String replacementString, Image image, String
displayString, int startOffset, int length) {
+ Assert.isNotNull(replacementString);
+
+ fReplacementString = replacementString;
+ fImage = image;
+ fDisplayString = displayString;
+ fBeginInsertPoint = startOffset;
+ fLength = length;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse.jface.text.IDocument)
+ */
+ public void apply(IDocument document) {
+ if (fLength == -1) {
+ fLength = document.getLength();
+ }
+ try {
+ document.replace(fBeginInsertPoint, fLength, fReplacementString);
+ } catch (BadLocationException e) {
+ // DEBUG
+ // e.printStackTrace();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
+ */
+ public String getAdditionalProposalInfo() {
+ // No additional proposal information
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jface.text.contentassist.ICompletionProposal#getContextInformation()
+ */
+ public IContextInformation getContextInformation() {
+ // No context information
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
+ */
+ public String getDisplayString() {
+ return fDisplayString;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
+ */
+ public Image getImage() {
+ return fImage;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection(org.eclipse.jface.text.IDocument)
+ */
+ public Point getSelection(IDocument document) {
+ if (fReplacementString.equals("\"\"")) //$NON-NLS-1$
+ return new Point(fBeginInsertPoint + 1, 0);
+ return new Point(fBeginInsertPoint + fReplacementString.length(), 0);
+ }
+
+ public String getReplacementString() {
+ return fReplacementString;
+ }
+
+ public Object getAdditionalProposalInfo(IProgressMonitor monitor) {
+ return fAdditionalInfo;
+ }
+
+ public void setAdditionalProposalInfo(String info) {
+ fAdditionalInfo = info;
+ }
+
+ public IInformationControlCreator getInformationControlCreator() {
+// if (!BrowserInformationControl.isAvailable(null))
+// return null;
+//
+// if (fCreator == null) {
+// fCreator = new AbstractReusableInformationControlCreator() {
+//
+// /*
+// * @see
org.eclipse.jdt.internal.ui.text.java.hover.AbstractReusableInformationControlCreator#doCreateInformationControl(org.eclipse.swt.widgets.Shell)
+// */
+// public IInformationControl doCreateInformationControl(Shell parent) {
+// return new BrowserInformationControl(parent, SWT.NO_TRIM | SWT.TOOL, SWT.NONE,
EditorsUI.getTooltipAffordanceString());
+// }
+// };
+// }
+// return fCreator;
+ return null;
+ }
+
+ public int getPrefixCompletionStart(IDocument document, int completionOffset) {
+ return fBeginInsertPoint;
+ }
+
+ public CharSequence getPrefixCompletionText(IDocument document, int completionOffset) {
+ return fReplacementString;
+ }
+
+}
\ No newline at end of file
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeCompletionProposal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposal.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposal.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposal.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * 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.contentassist;
+
+import org.eclipse.jface.fieldassist.IContentProposal;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * @author Dart
+ *
+ */
+public class TypeContentProposal implements IContentProposal {
+
+ private String fLabel;
+
+ private String fContent;
+
+ private String fDescription;
+
+ private Image fImage;
+
+ /**
+ *
+ */
+ public TypeContentProposal(String label, String content, String description, Image
image) {
+ fLabel = label;
+ fContent = content;
+ fDescription = description;
+ fImage = image;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getContent()
+ */
+ public String getContent() {
+ return fContent;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getCursorPosition()
+ */
+ public int getCursorPosition() {
+ if (fContent != null) {
+ return fContent.length();
+ }
+ return 0;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getDescription()
+ */
+ public String getDescription() {
+ return fDescription;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getLabel()
+ */
+ public String getLabel() {
+ return fLabel;
+ }
+
+ /**
+ * @return
+ */
+ public Image getImage() {
+ return fImage;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#toString()
+ */
+ public String toString() {
+ return fLabel;
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposalListener.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposalListener.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposalListener.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * 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.contentassist;
+
+import org.eclipse.jface.fieldassist.ContentProposalAdapter;
+import org.eclipse.jface.fieldassist.IContentProposal;
+import org.eclipse.jface.fieldassist.IContentProposalListener;
+import org.eclipse.jface.fieldassist.IContentProposalListener2;
+import org.eclipse.jface.fieldassist.IContentProposalProvider;
+
+/**
+ * @author Dart
+ *
+ */
+public class TypeContentProposalListener implements IContentProposalListener,
IContentProposalListener2 {
+
+ /**
+ *
+ */
+ public TypeContentProposalListener() {
+ // NO-OP
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jface.fieldassist.IContentProposalListener#proposalAccepted(org.eclipse.jface.fieldassist.IContentProposal)
+ */
+ public void proposalAccepted(IContentProposal proposal) {
+ // NO-OP
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jface.fieldassist.IContentProposalListener2#proposalPopupClosed(org.eclipse.jface.fieldassist.ContentProposalAdapter)
+ */
+ public void proposalPopupClosed(ContentProposalAdapter adapter) {
+ IContentProposalProvider provider = adapter.getContentProposalProvider();
+ if (provider instanceof TypeContentProposalProvider) {
+ // Reset state related information used for filtering existing proposals
+ ((TypeContentProposalProvider) provider).reset();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jface.fieldassist.IContentProposalListener2#proposalPopupOpened(org.eclipse.jface.fieldassist.ContentProposalAdapter)
+ */
+ public void proposalPopupOpened(ContentProposalAdapter adapter) {
+ // NO-OP
+ }
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposalListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposalProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposalProvider.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposalProvider.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -0,0 +1,216 @@
+/*******************************************************************************
+ * 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.contentassist;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.ListIterator;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jface.fieldassist.IContentProposal;
+import org.eclipse.jface.fieldassist.IContentProposalProvider;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * @author Dart
+ *
+ */
+public class TypeContentProposalProvider extends TypePackageCompletionProcessor
implements
+ IContentProposalProvider {
+ public static final char F_DOT = '.';
+
+ private IProject fProject;
+
+ private int fTypeScope;
+
+ private ArrayList<Object> fInitialContentProposals;
+
+ private String fInitialContent;
+
+ private Comparator<Object> fComparator;
+
+ /**
+ *
+ */
+ public TypeContentProposalProvider(IProject project, int scope) {
+ fProject = project;
+ fTypeScope = scope;
+ fComparator = new TypeComparator();
+
+ reset();
+ }
+
+ /**
+ * TypeComparator
+ *
+ */
+ private static class TypeComparator implements Comparator<Object> {
+
+ /**
+ *
+ */
+ public TypeComparator() {
+ // NO-OP
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+ */
+ public int compare(Object arg0, Object arg1) {
+ String proposalSortKey1 = ((IContentProposal) arg0).getLabel();
+ String proposalSortKey2 = ((IContentProposal) arg1).getLabel();
+ return proposalSortKey1.compareToIgnoreCase(proposalSortKey2);
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.fieldassist.IContentProposalProvider#getProposals(java
+ * .lang.String, int)
+ */
+ public IContentProposal[] getProposals(String contents, int position) {
+ // Generate a list of proposals based on the current contents
+ ArrayList<Object> currentContentProposals = null;
+ // Determine method to obtain proposals based on current field contents
+ if (position == 0) {
+ // If the document offset is at the 0 position (i.e. no input
+ // entered),
+ // do not perform content assist. The operation is too expensive
+ // because all classes and interfaces (depending on the specified
+ // scope)
+ // will need to be resolved as proposals
+ currentContentProposals = null;
+ } else if ((fInitialContentProposals == null) || (contents.length() <
fInitialContent.length())
+ || (endsWithDot(contents))) {
+ // Generate new proposals if the content assist session was just
+ // started
+ // Or generate new proposals if the current contents of the field
+ // is less than the initial contents of the field used to
+ // generate the original proposals; thus, widening the search
+ // scope. This can occur when the user types backspace
+ // Or generate new proposals if the current contents ends with a
+ // dot
+ currentContentProposals = generateContentProposals(contents);
+ } else {
+ // Filter existing proposals from a prevous search; thus, narrowing
+ // the search scope. This can occur when the user types additional
+ // characters in the field causing new characters to be appended to
+ // the initial field contents
+ currentContentProposals = filterContentProposals(contents);
+ }
+
+ return convertResultsToSortedProposals(currentContentProposals);
+ }
+
+ /**
+ *
+ */
+ public void reset() {
+ fInitialContentProposals = null;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.eclipse.pde.internal.ui.editor.contentassist.
+ * TypePackageCompletionProcessor
+ * #addProposalToCollection(java.util.Collection, int, int,
+ * java.lang.String, java.lang.String, org.eclipse.swt.graphics.Image)
+ */
+ protected void addProposalToCollection(Collection<Object> collection, int
startOffset, int length, String label,
+ String content, Image image) {
+ // Create content proposals for field assist
+ // start offset and length not required
+ IContentProposal proposal = new TypeContentProposal(label, content, null, image);
+ // Add the proposal to the list of proposals
+ collection.add(proposal);
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private boolean endsWithDot(String string) {
+ int index = string.lastIndexOf(F_DOT);
+ if ((index + 1) == string.length()) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @param currentContent
+ * @return
+ */
+ private ArrayList<Object> generateContentProposals(String currentContent) {
+ fInitialContentProposals = new ArrayList<Object>();
+ // Store the initial field contents to determine if we need to
+ // widen the scope later
+ fInitialContent = currentContent;
+ generateTypePackageProposals(currentContent, fProject, fInitialContentProposals, 0,
fTypeScope, true);
+ return fInitialContentProposals;
+ }
+
+ /**
+ * @param list
+ * @return
+ */
+ private IContentProposal[] convertResultsToSortedProposals(ArrayList<Object> list)
{
+ IContentProposal[] proposals = null;
+ if ((list != null) && (list.size() != 0)) {
+ // Convert the results array list into an array of completion
+ // proposals
+ proposals = (IContentProposal[]) list.toArray(new IContentProposal[list.size()]);
+ // Sort the proposals alphabetically
+ Arrays.sort(proposals, fComparator);
+ } else {
+ proposals = new IContentProposal[0];
+ }
+ return proposals;
+ }
+
+ /**
+ * @param currentContent
+ * @return
+ */
+ private ArrayList<Object> filterContentProposals(String currentContent) {
+ String lowerCaseCurrentContent = currentContent.toLowerCase();
+ ListIterator<Object> iterator = fInitialContentProposals.listIterator();
+ // Maintain a list of filtered search results
+ ArrayList<Object> filteredContentProposals = new ArrayList<Object>();
+ // Iterate over the initial search results
+ while (iterator.hasNext()) {
+ Object object = iterator.next();
+ IContentProposal proposal = (IContentProposal) object;
+ String compareString = null;
+ if (lowerCaseCurrentContent.indexOf(F_DOT) == -1) {
+ // Use only the type name
+ compareString = proposal.getLabel().toLowerCase();
+ } else {
+ // Use the fully qualified type name
+ compareString = proposal.getContent().toLowerCase();
+ }
+ // Filter out any proposal not matching the current contents
+ // except for the edge case where the proposal is identical to the
+ // current contents
+ if (compareString.startsWith(lowerCaseCurrentContent, 0)) {
+ filteredContentProposals.add(proposal);
+ }
+ }
+ return filteredContentProposals;
+ }
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeContentProposalProvider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypePackageCompletionProcessor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypePackageCompletionProcessor.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypePackageCompletionProcessor.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -0,0 +1,288 @@
+/*******************************************************************************
+ * 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.contentassist;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Comparator;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jdt.core.CompletionProposal;
+import org.eclipse.jdt.core.CompletionRequestor;
+import org.eclipse.jdt.core.Flags;
+import org.eclipse.jdt.core.IBuffer;
+import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.core.search.IJavaSearchConstants;
+import org.eclipse.jdt.core.search.IJavaSearchScope;
+import org.eclipse.jdt.core.search.SearchEngine;
+import org.eclipse.jdt.core.search.SearchPattern;
+import org.eclipse.jdt.core.search.TypeNameRequestor;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.jface.text.contentassist.IContextInformationValidator;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
+import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+
+/**
+ * @author Dart
+ *
+ */
+public class TypePackageCompletionProcessor implements IContentAssistProcessor {
+
+ private String fErrorMessage;
+ private SearchEngine fSearchEngine;
+ private Comparator<? super Object> fComparator;
+
+ abstract class ProposalGenerator {
+ abstract protected ICompletionProposal generateClassCompletion(String pName, String
cName, boolean isClass);
+
+ abstract protected ICompletionProposal generatePackageCompletion(String pName);
+ }
+
+ public TypePackageCompletionProcessor() {
+ fSearchEngine = new SearchEngine();
+ }
+
+ public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int offset)
{
+ return null;
+ }
+
+ public IContextInformation[] computeContextInformation(ITextViewer viewer, int offset)
{
+ return null;
+ }
+
+ public char[] getCompletionProposalAutoActivationCharacters() {
+ return null;
+ }
+
+ public char[] getContextInformationAutoActivationCharacters() {
+ return null;
+ }
+
+ public IContextInformationValidator getContextInformationValidator() {
+ return null;
+ }
+
+ public String getErrorMessage() {
+ return fErrorMessage;
+ }
+
+ protected void generateTypePackageProposals(String currentContent, IProject project,
Collection<Object> c,
+ int startOffset, int typeScope) {
+ generateTypePackageProposals(currentContent, project, c, startOffset, typeScope,
false);
+ }
+
+ protected void generateTypePackageProposals(String currentContent, IProject project,
Collection<Object> c,
+ int startOffset, int typeScope, boolean replaceEntireContents) {
+ currentContent = removeLeadingSpaces(currentContent);
+ if (c == null || currentContent.length() == 0)
+ return;
+ int length = (replaceEntireContents) ? -1 : currentContent.length();
+ generateProposals(currentContent, project, c, startOffset, length, typeScope);
+ }
+
+ private void generateProposals(String currentContent, IProject project, final
Collection<Object> c,
+ final int startOffset, final int length, final int typeScope) {
+
+ class TypePackageCompletionRequestor extends CompletionRequestor {
+
+ public TypePackageCompletionRequestor() {
+ super(true);
+ setIgnored(CompletionProposal.PACKAGE_REF, false);
+ setIgnored(CompletionProposal.TYPE_REF, false);
+ }
+
+ public void accept(CompletionProposal proposal) {
+ if (proposal.getKind() == CompletionProposal.PACKAGE_REF) {
+ String pkgName = new String(proposal.getCompletion());
+ addProposalToCollection(c, startOffset, length, pkgName, pkgName,
SmooksConfigurationActivator
+ .getDefault().getImageRegistry().get(GraphicsConstants.IMAGE_PACKAGE_OBJECT));
+ } else {
+ boolean isInterface = Flags.isInterface(proposal.getFlags());
+ String completion = new String(proposal.getCompletion());
+ if (isInterface && typeScope == IJavaSearchConstants.CLASS
+ || (!isInterface && typeScope == IJavaSearchConstants.INTERFACE)
+ || completion.equals("Dummy2")) //$NON-NLS-1$
+ // don't want Dummy class showing up as option.
+ return;
+ int period = completion.lastIndexOf('.');
+ String cName = null, pName = null;
+ if (period == -1) {
+ cName = completion;
+ } else {
+ cName = completion.substring(period + 1);
+ pName = completion.substring(0, period);
+ }
+ Image image = isInterface ?
SmooksConfigurationActivator.getDefault().getImageRegistry().get(
+ GraphicsConstants.IMAGE_JAVA_INTERFACE) :
SmooksConfigurationActivator.getDefault()
+ .getImageRegistry().get(GraphicsConstants.IMAGE_JAVA_OBJECT);
+ addProposalToCollection(c, startOffset, length, cName + " - " + pName,
//$NON-NLS-1$
+ completion, image);
+ }
+ }
+
+ }
+
+ try {
+ ICompilationUnit unit = getWorkingCopy(project);
+ if (unit == null) {
+ generateTypeProposals(currentContent, project, c, startOffset, length, 1);
+ return;
+ }
+ IBuffer buff = unit.getBuffer();
+ buff.setContents("class Dummy2 { " + currentContent); //$NON-NLS-1$
+
+ CompletionRequestor req = new TypePackageCompletionRequestor();
+ unit.codeComplete(15 + currentContent.length(), req);
+ unit.discardWorkingCopy();
+ } catch (JavaModelException e) {
+ }
+ }
+
+ private ICompilationUnit getWorkingCopy(IProject project) throws JavaModelException {
+ IPackageFragmentRoot[] roots = JavaCore.create(project).getPackageFragmentRoots();
+ if (roots.length > 0) {
+ IPackageFragment frag = null;
+ for (int i = 0; i < roots.length; i++)
+ if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE
+ || project.equals(roots[i].getCorrespondingResource())
+ || (roots[i].isArchive() && !roots[i].isExternal())) {
+ IJavaElement[] elems = roots[i].getChildren();
+ if ((elems.length > 0) && (i < elems.length) && (elems[i]
instanceof IPackageFragment)) {
+ frag = (IPackageFragment) elems[i];
+ break;
+ }
+ }
+ if (frag != null)
+ return frag.getCompilationUnit("Dummy2.java").getWorkingCopy(new
NullProgressMonitor()); //$NON-NLS-1$
+ }
+ return null;
+ }
+
+ protected void generateTypeProposals(String currentContent, IProject project, final
Collection<Object> c,
+ final int startOffset, final int length, int typeScope) {
+ // Dynamically adjust the search scope depending on the current
+ // state of the project
+ IJavaSearchScope scope = SmooksUIUtils.getSearchScope(project);
+ char[] packageName = null;
+ char[] typeName = null;
+ int index = currentContent.lastIndexOf('.');
+
+ if (index == -1) {
+ // There is no package qualification
+ // Perform the search only on the type name
+ typeName = currentContent.toCharArray();
+ } else if ((index + 1) == currentContent.length()) {
+ // There is a package qualification and the last character is a
+ // dot
+ // Perform the search for all types under the given package
+ // Pattern for all types
+ typeName = "".toCharArray(); //$NON-NLS-1$
+ // Package name without the trailing dot
+ packageName = currentContent.substring(0, index).toCharArray();
+ } else {
+ // There is a package qualification, followed by a dot, and
+ // a type fragment
+ // Type name without the package qualification
+ typeName = currentContent.substring(index + 1).toCharArray();
+ // Package name without the trailing dot
+ packageName = currentContent.substring(0, index).toCharArray();
+ }
+
+ try {
+ TypeNameRequestor req = new TypeNameRequestor() {
+ public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName,
+ char[][] enclosingTypeNames, String path) {
+ // Accept search results from the JDT SearchEngine
+ String cName = new String(simpleTypeName);
+ String pName = new String(packageName);
+ String label = cName + " - " + pName; //$NON-NLS-1$
+ String content = pName + "." + cName; //$NON-NLS-1$
+ Image image = (Flags.isInterface(modifiers)) ?
SmooksConfigurationActivator.getDefault()
+ .getImageRegistry().get(GraphicsConstants.IMAGE_JAVA_INTERFACE)
+ : SmooksConfigurationActivator.getDefault().getImageRegistry().get(
+ GraphicsConstants.IMAGE_JAVA_OBJECT);
+ addProposalToCollection(c, startOffset, length, label, content, image);
+ }
+ };
+ // Note: Do not use the search() method, its performance is
+ // bad compared to the searchAllTypeNames() method
+ fSearchEngine.searchAllTypeNames(packageName, SearchPattern.R_EXACT_MATCH, typeName,
+ SearchPattern.R_PREFIX_MATCH, typeScope, scope, req,
+ IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, null);
+ } catch (CoreException e) {
+ fErrorMessage = e.getMessage();
+ }
+ }
+
+ public void sortCompletions(ICompletionProposal[] proposals) {
+ Arrays.sort(proposals, getComparator());
+ }
+
+ private Comparator<? super Object> getComparator() {
+ if (fComparator == null) {
+ fComparator = new Comparator<? super Object>() {
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.util.Comparator#compare(java.lang.Object,
+ * java.lang.Object)
+ */
+ public int compare(Object arg0, Object arg1) {
+ ICompletionProposal p1 = (ICompletionProposal) arg0;
+ ICompletionProposal p2 = (ICompletionProposal) arg1;
+
+ return getSortKey(p1).compareToIgnoreCase(getSortKey(p2));
+ }
+
+ protected String getSortKey(ICompletionProposal p) {
+ return p.getDisplayString();
+ }
+ };
+ }
+ return fComparator;
+ }
+
+ protected final String removeLeadingSpaces(String value) {
+ char[] valueArray = value.toCharArray();
+ int i = 0;
+ for (; i < valueArray.length; i++)
+ if (!Character.isWhitespace(valueArray[i]))
+ break;
+ return (i == valueArray.length) ? "" : new String(valueArray, i,
valueArray.length - i); //$NON-NLS-1$
+ }
+
+ /**
+ * @param c
+ * @param startOffset
+ * @param length
+ * @param label
+ * @param content
+ * @param image
+ */
+ protected void addProposalToCollection(final Collection<Object> c, final int
startOffset, final int length,
+ String label, String content, Image image) {
+ TypeCompletionProposal proposal = new TypeCompletionProposal(content, image, label,
startOffset, length);
+ c.add(proposal);
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypePackageCompletionProcessor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeProposalLabelProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeProposalLabelProvider.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeProposalLabelProvider.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * 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.contentassist;
+
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * @author Dart
+ *
+ */
+public class TypeProposalLabelProvider extends LabelProvider {
+
+ /**
+ *
+ */
+ public TypeProposalLabelProvider() {
+ // NO-OP
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
+ */
+ public Image getImage(Object element) {
+ if (element instanceof TypeContentProposal) {
+ return ((TypeContentProposal) element).getImage();
+ }
+ return null;
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/contentassist/TypeProposalLabelProvider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java 2009-08-20
03:30:29 UTC (rev 17177)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java 2009-08-20
07:20:06 UTC (rev 17178)
@@ -37,16 +37,16 @@
}
public IFigure createFigure() {
-// TreeNodeConnection model = (TreeNodeConnection) getModel();
-// AbstractSmooksGraphicalModel sourceModel = model.getSourceNode();
-// AbstractSmooksGraphicalModel targetModel = model.getTargetNode();
-// PolylineConnection connection1 = new PolylineConnection() {
-// @Override
-// public void paintFigure(Graphics graphics) {
-// graphics.setAlpha(alpha);
-// super.paintFigure(graphics);
-// }
-// };
+ // TreeNodeConnection model = (TreeNodeConnection) getModel();
+ // AbstractSmooksGraphicalModel sourceModel = model.getSourceNode();
+ // AbstractSmooksGraphicalModel targetModel = model.getTargetNode();
+ // PolylineConnection connection1 = new PolylineConnection() {
+ // @Override
+ // public void paintFigure(Graphics graphics) {
+ // graphics.setAlpha(alpha);
+ // super.paintFigure(graphics);
+ // }
+ // };
// if (sourceModel instanceof TreeContainerModel || targetModel
// instanceof TreeContainerModel) {
// // connection1.setConnectionRouter(new ManhattanConnectionRouter());
@@ -183,7 +183,7 @@
pointList.addPoint(p3);
graphics.fillPolygon(pointList);
graphics.drawPolygon(pointList);
- }else{
+ } else {
Point p = this.getBounds().getTopRight();
Point p2 = this.getBounds().getBottomRight();
Point p3 = this.getBounds().getTopLeft();
@@ -200,8 +200,8 @@
}
};
- targetFlagFigure.setSize(5, 5);
- sourceFlagFigure.setSize(5, 5);
+ targetFlagFigure.setSize(7, 7);
+ sourceFlagFigure.setSize(7, 7);
ConnectionLocator targetLocator = new ConnectionLocator(connection,
ConnectionLocator.TARGET);
connection.add(targetFlagFigure, targetLocator);
ConnectionLocator sourceLocator = new ConnectionLocator(connection,
ConnectionLocator.SOURCE);