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:
Diffstat (limited to 'bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/SurroundWithNewElementQuickAssistProposal.java')
-rw-r--r--bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/SurroundWithNewElementQuickAssistProposal.java154
1 files changed, 0 insertions, 154 deletions
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/SurroundWithNewElementQuickAssistProposal.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/SurroundWithNewElementQuickAssistProposal.java
deleted file mode 100644
index 0e8457fee9..0000000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/SurroundWithNewElementQuickAssistProposal.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * IBM Corporation - initial API and implementation
- * Jens Lukowski/Innoopract - initial renaming/restructuring
- *
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.internal.correction;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITextViewerExtension;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.link.LinkedModeModel;
-import org.eclipse.jface.text.link.LinkedModeUI;
-import org.eclipse.jface.text.link.LinkedPosition;
-import org.eclipse.jface.text.link.LinkedPositionGroup;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.ui.texteditor.link.EditorLinkedModeUI;
-import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.provisional.format.FormatProcessorXML;
-import org.eclipse.wst.xml.ui.internal.Logger;
-import org.eclipse.wst.xml.ui.internal.XMLUIMessages;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.w3c.dom.Node;
-
-public class SurroundWithNewElementQuickAssistProposal extends RenameInFileQuickAssistProposal {
- private static final String ELEMENT_NAME = "element"; //$NON-NLS-1$
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#apply(org.eclipse.jface.text.ITextViewer,
- * char, int, int)
- */
- public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
- try {
- int startTagOffset = offset;
- int endTagOffset = offset + viewer.getSelectedRange().y;
-
- // surround the node if no selection
- if (startTagOffset == endTagOffset) {
- IDOMNode cursorNode = (IDOMNode) ContentAssistUtils.getNodeAt(viewer, offset);
- // use parent node if text node is empty
- if ((cursorNode.getNodeType() == Node.TEXT_NODE) && (cursorNode.getNodeValue().trim().length() == 0)) {
- cursorNode = (IDOMNode) cursorNode.getParentNode();
- }
-
- startTagOffset = cursorNode.getStartOffset();
- endTagOffset = cursorNode.getEndOffset();
- }
-
- // insert new element
- MultiTextEdit multiTextEdit = new MultiTextEdit();
- // element tag name cannot be DBCS, do not translate "<element>"
- // and "</element>"
- final String startElement = "<" + ELEMENT_NAME + ">"; //$NON-NLS-1$ //$NON-NLS-2$
- multiTextEdit.addChild(new InsertEdit(startTagOffset, startElement));
- multiTextEdit.addChild(new InsertEdit(endTagOffset, "</"+ELEMENT_NAME +">")); //$NON-NLS-1$ //$NON-NLS-2$
- multiTextEdit.apply(viewer.getDocument());
- Position start = new Position(startTagOffset);
- Position end = new Position(endTagOffset + startElement.length());
-
- try {
- viewer.getDocument().addPosition(start);
- viewer.getDocument().addPosition(end);
-
- // get new element node
- IDOMNode newElementNode = (IDOMNode) ContentAssistUtils.getNodeAt(viewer, startTagOffset);
- IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
- formatProcessor.formatNode(newElementNode);
-
- // rename new element
- apply(viewer, trigger, stateMask, start, end, ELEMENT_NAME.length());
- } finally {
- viewer.getDocument().removePosition(start);
- viewer.getDocument().removePosition(end);
- }
- }
- catch (MalformedTreeException e) {
- // log for now, unless find reason not to
- Logger.log(Logger.INFO, e.getMessage());
- }
- catch (BadLocationException e) {
- // log for now, unless find reason not to
- Logger.log(Logger.INFO, e.getMessage());
- }
- }
-
- private void apply(ITextViewer viewer, char trigger, int stateMask, Position start, Position end, int length) {
- IDocument document = viewer.getDocument();
- LinkedPositionGroup group = new LinkedPositionGroup();
- try {
- group.addPosition(new LinkedPosition(document, start.offset + 1, length, 0)); // offset by 1 for <
- group.addPosition(new LinkedPosition(document, end.offset + 2, length, 1)); // offset by 2 for </
-
- if(viewer instanceof ITextViewerExtension)
- ((ITextViewerExtension) viewer).setRedraw(true);
-
- LinkedModeModel linkedModeModel = new LinkedModeModel();
- linkedModeModel.addGroup(group);
- linkedModeModel.forceInstall();
-
- LinkedModeUI ui = new EditorLinkedModeUI(linkedModeModel, viewer);
- ui.setExitPosition(viewer, start.offset, 0, LinkedPositionGroup.NO_STOP);
- ui.enter();
-
- fSelectedRegion = ui.getSelectedRegion();
- }
- catch (BadLocationException e) {
- // log for now, unless find reason not to
- Logger.log(Logger.INFO, e.getMessage());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
- */
- public String getAdditionalProposalInfo() {
- return XMLUIMessages.SurroundWithNewElementQuickAssistProposal_0;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
- */
- public String getDisplayString() {
- return XMLUIMessages.SurroundWithNewElementQuickAssistProposal_1;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
- */
- public Image getImage() {
- // return JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL);
- return XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ADD_CORRECTION);
- }
-}

Back to the top