Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornitind2005-06-03 20:33:54 +0000
committernitind2005-06-03 20:33:54 +0000
commit5089700c5de6f82975e3f89af8cdf411771f9e48 (patch)
tree122da8804ee574995697d8a2c11b15d6a281fc36 /bundles/org.eclipse.wst.sse.ui/src/org/eclipse
parent074cc3268c0aa84a7ede3e3814a6c3b34a518294 (diff)
downloadwebtools.sourceediting-5089700c5de6f82975e3f89af8cdf411771f9e48.tar.gz
webtools.sourceediting-5089700c5de6f82975e3f89af8cdf411771f9e48.tar.xz
webtools.sourceediting-5089700c5de6f82975e3f89af8cdf411771f9e48.zip
Switch to ISourceEditingTextTools adapters instead of extra interfaces on editor part
Diffstat (limited to 'bundles/org.eclipse.wst.sse.ui/src/org/eclipse')
-rw-r--r--bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/AbstractDropAction.java68
-rw-r--r--bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ExtendedEditorDropTargetAdapter.java10
-rw-r--r--bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/FileDropAction.java7
-rw-r--r--bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/IDropAction.java3
-rw-r--r--bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/TextDropAction.java9
-rw-r--r--bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java12
-rw-r--r--bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/BreakpointProviderBuilder.java6
7 files changed, 54 insertions, 61 deletions
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/AbstractDropAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/AbstractDropAction.java
index c5d034c827..d1771aad77 100644
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/AbstractDropAction.java
+++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/AbstractDropAction.java
@@ -15,68 +15,80 @@ package org.eclipse.wst.sse.ui.internal;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.text.TextSelection;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.graphics.Point;
+import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.texteditor.ITextEditor;
+import org.eclipse.wst.sse.ui.internal.provisional.extensions.ISourceEditingTextTools;
/**
*/
public abstract class AbstractDropAction implements IDropAction {
/*
- * replace targetEditor's current selection by "text"
+ * Replaces targetEditor's current selection by "text"
*/
- protected boolean insert(String text, IExtendedSimpleEditor targetEditor) {
+ protected boolean insert(String text, IEditorPart targetEditor) {
if (text == null || text.length() == 0) {
- return false;
+ return true;
}
- Point pt = targetEditor.getSelectionRange();
- IDocument doc = targetEditor.getDocument();
+ ITextSelection textSelection = null;
+ IDocument doc = null;
+ ISelection selection = null;
- try {
- doc.replace(pt.x, pt.y, text);
- } catch (BadLocationException e) {
- return false;
+ ISourceEditingTextTools tools = (ISourceEditingTextTools) targetEditor.getAdapter(ISourceEditingTextTools.class);
+ if (tools != null) {
+ doc = tools.getDocument();
+ selection = tools.getSelection();
}
ITextEditor textEditor = null;
-
if (targetEditor instanceof ITextEditor) {
textEditor = (ITextEditor) targetEditor;
}
- if (textEditor == null && targetEditor.getEditorPart() instanceof ITextEditor) {
- textEditor = (ITextEditor) targetEditor.getEditorPart();
- }
- if (textEditor == null && targetEditor instanceof IAdaptable) {
+ if (textEditor == null) {
textEditor = (ITextEditor) ((IAdaptable) targetEditor).getAdapter(ITextEditor.class);
}
- if (textEditor == null) {
- textEditor = (ITextEditor) targetEditor.getEditorPart().getAdapter(ITextEditor.class);
+ if (textEditor == null && tools != null && tools.getEditorPart() instanceof ITextEditor) {
+ textEditor = (ITextEditor) tools.getEditorPart();
+ }
+ if (textEditor == null && tools != null && tools.getEditorPart() != null) {
+ textEditor = (ITextEditor) tools.getEditorPart().getAdapter(ITextEditor.class);
+ }
+
+ if (selection == null && textEditor != null) {
+ selection = textEditor.getSelectionProvider().getSelection();
}
- if (textEditor != null) {
+ if (doc == null && textEditor != null) {
+ doc = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
+ }
+
+ if (selection instanceof ITextSelection) {
+ textSelection = (ITextSelection) selection;
+ try {
+ doc.replace(textSelection.getOffset(), textSelection.getLength(), text);
+ }
+ catch (BadLocationException e) {
+ return false;
+ }
+ }
+ if (textEditor != null && textSelection != null) {
ISelectionProvider sp = textEditor.getSelectionProvider();
- ISelection sel = new TextSelection(pt.x, text.length());
+ ITextSelection sel = new TextSelection(textSelection.getOffset(), text.length());
sp.setSelection(sel);
- textEditor.selectAndReveal(pt.x, text.length());
+ textEditor.selectAndReveal(sel.getOffset(), sel.getLength());
}
return true;
}
-
- /**
- * @see IDropAction#isSupportedData(Object)
- */
public boolean isSupportedData(Object data) {
return true;
}
- /**
- * @see IDropAction#run(DropTargetEvent, IExtendedSimpleEditor)
- */
- public abstract boolean run(DropTargetEvent event, IExtendedSimpleEditor targetEditor);
+ public abstract boolean run(DropTargetEvent event, IEditorPart targetEditor);
}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ExtendedEditorDropTargetAdapter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ExtendedEditorDropTargetAdapter.java
index ef2d90806d..17335ae3f0 100644
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ExtendedEditorDropTargetAdapter.java
+++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ExtendedEditorDropTargetAdapter.java
@@ -12,8 +12,6 @@
*******************************************************************************/
package org.eclipse.wst.sse.ui.internal;
-
-
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IRegion;
import org.eclipse.jface.text.ITextViewer;
@@ -30,7 +28,7 @@ import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Caret;
-
+import org.eclipse.ui.IEditorPart;
/**
* ExtendedEditorDropTargetAdapter
@@ -40,7 +38,7 @@ public class ExtendedEditorDropTargetAdapter extends DropTargetAdapter {
private Point caret = null;
private String[] editorIds;
private int orgOffset = 0;
- private IExtendedSimpleEditor targetEditor = null;
+ private IEditorPart targetEditor = null;
private ITextViewer textViewer = null;
private Transfer[] transfers = null;
@@ -273,7 +271,7 @@ public class ExtendedEditorDropTargetAdapter extends DropTargetAdapter {
return offset;
}
- public IExtendedSimpleEditor getTargetEditor() {
+ public IEditorPart getTargetEditor() {
return targetEditor;
}
@@ -297,7 +295,7 @@ public class ExtendedEditorDropTargetAdapter extends DropTargetAdapter {
/**
*/
- public void setTargetEditor(IExtendedSimpleEditor targetEditor) {
+ public void setTargetEditor(IEditorPart targetEditor) {
this.targetEditor = targetEditor;
}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/FileDropAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/FileDropAction.java
index 557ddad98f..c8a3b31e52 100644
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/FileDropAction.java
+++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/FileDropAction.java
@@ -12,22 +12,19 @@
*******************************************************************************/
package org.eclipse.wst.sse.ui.internal;
-
-
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.swt.dnd.DropTargetEvent;
+import org.eclipse.ui.IEditorPart;
/**
* Action for file drop
*/
public class FileDropAction extends AbstractDropAction {
-
-
- public boolean run(DropTargetEvent event, IExtendedSimpleEditor targetEditor) {
+ public boolean run(DropTargetEvent event, IEditorPart targetEditor) {
String[] strs = (String[]) event.data;
if (strs == null || strs.length == 0) {
return false;
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/IDropAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/IDropAction.java
index 6f517dcae8..ac2a70bd35 100644
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/IDropAction.java
+++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/IDropAction.java
@@ -15,6 +15,7 @@ package org.eclipse.wst.sse.ui.internal;
import org.eclipse.swt.dnd.DropTargetEvent;
+import org.eclipse.ui.IEditorPart;
/**
*/
@@ -32,5 +33,5 @@ public interface IDropAction {
* @return boolean true for the action is actually processed false for the
* action is not processed.
*/
- public boolean run(DropTargetEvent event, IExtendedSimpleEditor targetEditor);
+ public boolean run(DropTargetEvent event, IEditorPart targetEditor);
}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/TextDropAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/TextDropAction.java
index 7854652356..27d196e33d 100644
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/TextDropAction.java
+++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/TextDropAction.java
@@ -15,18 +15,13 @@ package org.eclipse.wst.sse.ui.internal;
import org.eclipse.swt.dnd.DropTargetEvent;
+import org.eclipse.ui.IEditorPart;
/**
* TextDropAction
*/
public class TextDropAction extends AbstractDropAction {
-
-
- /**
- * @see AbstractDropAction#run(DropTargetEvent, IExtendedSimpleEditor)
- */
- public boolean run(DropTargetEvent event, IExtendedSimpleEditor targetEditor) {
+ public boolean run(DropTargetEvent event, IEditorPart targetEditor) {
return insert((String) event.data, targetEditor);
}
-
}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java
index f9182fedcb..de3c2e9661 100644
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java
+++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java
@@ -31,15 +31,12 @@ import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
import org.eclipse.wst.sse.core.internal.util.Debug;
-import org.eclipse.wst.sse.ui.internal.IExtendedMarkupEditor;
import org.eclipse.wst.sse.ui.internal.IExtendedSimpleEditor;
import org.eclipse.wst.sse.ui.internal.Logger;
import org.eclipse.wst.sse.ui.internal.SSEUIMessages;
import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
import org.eclipse.wst.sse.ui.internal.extension.BreakpointProviderBuilder;
import org.eclipse.wst.sse.ui.internal.provisional.extensions.breakpoint.IBreakpointProvider;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
/**
* ToggleBreakpointAction
@@ -70,13 +67,6 @@ public class ToggleBreakpointAction extends BreakpointRulerAction {
String contentType = getContentType(document);
IBreakpointProvider[] providers = BreakpointProviderBuilder.getInstance().getBreakpointProviders(editor, contentType, getFileExtension(input));
- Document doc = null;
- Node node = null;
- if (editor instanceof IExtendedMarkupEditor) {
- doc = ((IExtendedMarkupEditor) editor).getDOMDocument();
- node = ((IExtendedMarkupEditor) editor).getCaretNode();
- }
-
int pos = -1;
if (editor instanceof IExtendedSimpleEditor) {
pos = ((IExtendedSimpleEditor) editor).getCaretPosition();
@@ -88,7 +78,7 @@ public class ToggleBreakpointAction extends BreakpointRulerAction {
try {
if (Debug.debugBreakpoints)
System.out.println(providers[i].getClass().getName() + " adding breakpoint to line " + lineNumber); //$NON-NLS-1$
- IStatus status = providers[i].addBreakpoint(doc, document, input, node, lineNumber, pos);
+ IStatus status = providers[i].addBreakpoint(document, input, lineNumber, pos);
if (status != null && !status.isOK()) {
errors.add(status);
}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/BreakpointProviderBuilder.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/BreakpointProviderBuilder.java
index 059a20ac5a..c2a4183fec 100644
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/BreakpointProviderBuilder.java
+++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/BreakpointProviderBuilder.java
@@ -32,8 +32,8 @@ import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
import org.eclipse.wst.sse.ui.internal.Logger;
+import org.eclipse.wst.sse.ui.internal.provisional.extensions.ISourceEditingTextTools;
import org.eclipse.wst.sse.ui.internal.provisional.extensions.breakpoint.IBreakpointProvider;
-import org.eclipse.wst.sse.ui.internal.provisional.extensions.breakpoint.SourceEditingTextTools;
import org.osgi.framework.Bundle;
@@ -320,9 +320,9 @@ public class BreakpointProviderBuilder extends RegistryReader {
IBreakpointProvider[] providers = new IBreakpointProvider[s.size()];
Iterator itr = s.iterator();
int i = 0;
- SourceEditingTextTools tools = null;
+ ISourceEditingTextTools tools = null;
if (editorpart != null && itr.hasNext())
- tools = (SourceEditingTextTools) editorpart.getAdapter(SourceEditingTextTools.class);
+ tools = (ISourceEditingTextTools) editorpart.getAdapter(ISourceEditingTextTools.class);
while (itr.hasNext()) {
providers[i] = (IBreakpointProvider) itr.next();
providers[i].setSourceEditingTextTools(tools);

Back to the top