Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java')
-rw-r--r--plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java246
1 files changed, 0 insertions, 246 deletions
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java
deleted file mode 100644
index 458b5bf04..000000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/TextAction.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 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
- *******************************************************************************/
-package org.eclipse.wst.server.ui.internal.editor;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.server.ui.internal.Trace;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Text;
-/**
- * Text actions (cut, copy, paste) for the Web browser.
- */
-public class TextAction extends Action {
- protected Display display;
- protected Clipboard clipboard;
- protected byte type;
-
- public static final byte CUT_ACTION = 0;
- public static final byte COPY_ACTION = 1;
- public static final byte PASTE_ACTION = 2;
-
- /**
- * TextAction constructor comment.
- */
- protected TextAction(Display display, byte type) {
- super("Text action: " + type);
- this.display = display;
- clipboard = new Clipboard(display);
- this.type = type;
- }
-
- protected Control getControl() {
- Control control = display.getFocusControl();
- return control;
- }
-
- protected Point getControlSelection() {
- Control control = getControl();
- if (control == null)
- return null;
-
- if (control instanceof Text) {
- Text text = (Text) control;
- return text.getSelection();
- } else if (control instanceof Combo) {
- Combo combo = (Combo) control;
- return combo.getSelection();
- } else
- return null;
- }
-
- protected void setControlSelection(Point sel) {
- Control control = getControl();
- if (control == null)
- return;
-
- if (control instanceof Text) {
- Text text = (Text) control;
- text.setSelection(sel);
- } else if (control instanceof Combo) {
- Combo combo = (Combo) control;
- combo.setSelection(sel);
- }
- }
-
- protected String getControlText() {
- Control control = getControl();
- if (control == null)
- return null;
-
- if (control instanceof Text) {
- Text text = (Text) control;
- return text.getText();
- } else if (control instanceof Combo) {
- Combo combo = (Combo) control;
- return combo.getText();
- } else
- return null;
- }
-
- protected void setControlText(String text) {
- Control control = getControl();
- if (control == null)
- return;
-
- if (control instanceof Text) {
- Text text2 = (Text) control;
- text2.setText(text);
- } else if (control instanceof Combo) {
- Combo combo = (Combo) control;
- combo.setText(text);
- }
- }
-
- /**
- * Copies the selected text to the clipboard. The text will be put in the
- * clipboard in plain text format.
- */
- public void copy() {
- Point selection = getControlSelection();
- String text = getControlText();
- if (selection == null || text == null)
- return;
-
- int length = selection.y - selection.x;
- if (length > 0) {
- TextTransfer plainTextTransfer = TextTransfer.getInstance();
- try {
- clipboard.setContents(
- new String[] { text.substring(selection.x, selection.y) },
- new Transfer[] { plainTextTransfer });
- } catch (SWTError error) {
- // Copy to clipboard failed. This happens when another application
- // is accessing the clipboard while we copy. Ignore the error.
- }
- }
- }
-
- /**
- * Moves the selected text to the clipboard. The text will be put in the
- * clipboard in plain text format and RTF format.
- */
- public void cut(){
- Point selection = getControlSelection();
- if (selection == null)
- return;
-
- if (selection.y > selection.x) {
- copy();
- delete();
- }
- }
-
- /**
- * Deletes the character to the right of the caret. Delete the selected text if any.
- */
- public void delete() {
- Point selection = getControlSelection();
- String text = getControlText();
- if (selection == null || text == null)
- return;
-
- if (selection.x != selection.y) {
- text = text.substring(0, selection.x) + text.substring(selection.y);
- setControlText(text);
- setControlSelection(new Point(selection.x, selection.x));
- }
- }
-
- /**
- * Replaces the selection with the clipboard text or insert the text at
- * the current caret offset if there is no selection.
- * If the widget has the SWT.SINGLE style and the clipboard text contains
- * more than one line, only the first line without line delimiters is
- * inserted in the widget.
- */
- public void paste() {
- TextTransfer transfer = TextTransfer.getInstance();
- Point selection = getControlSelection();
- String text = getControlText();
- if (selection == null)
- return;
-
- String newText = (String) clipboard.getContents(transfer);
- if (newText != null && newText.length() > 0) {
- if (text == null)
- text = newText;
- else
- text = text.substring(0, selection.x) + newText + text.substring(selection.y);
- setControlText(text);
-
- // set the selection to the end of the paste
- int x = selection.x + newText.length();
- setControlSelection(new Point(x, x));
- }
- }
-
- /**
- * Execute the action.
- */
- public void run() {
- if (display == null)
- return;
- if (type == CUT_ACTION)
- cut();
- else if (type == COPY_ACTION)
- copy();
- else if (type == PASTE_ACTION)
- paste();
- }
-
- /**
- * Update the actions enabled/disabled state.
- */
- protected void update() {
- if (getControl() == null) {
- setEnabled(false);
- return;
- }
- Point selection = getControlSelection();
- String text = getControlText();
-
- try {
- if (type == CUT_ACTION)
- setEnabled(text != null && text.length() > 0 && selection != null && selection.x < selection.y);
- else if (type == COPY_ACTION)
- setEnabled(text != null && text.length() > 0 && selection != null && selection.x < selection.y);
- else if (type == PASTE_ACTION) {
- Control control = getControl();
- if (!control.isEnabled()) {
- setEnabled(false);
- return;
- }
- if (!(control instanceof Text)) {
- setEnabled(false);
- return;
- }
-
- Text text2 = (Text) control;
- if (!text2.getEditable()) {
- setEnabled(false);
- return;
- }
- TextTransfer transfer = TextTransfer.getInstance();
- String newText = (String) clipboard.getContents(transfer);
- setEnabled(newText != null && newText.length() > 0);
- }
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error updating text action", e);
- }
- }
-} \ No newline at end of file

Back to the top