diff options
Diffstat (limited to 'bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java')
-rw-r--r-- | bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java | 227 |
1 files changed, 0 insertions, 227 deletions
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 deleted file mode 100644 index 8cdb84fc5b..0000000000 --- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.java +++ /dev/null @@ -1,227 +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.sse.ui.internal.debug; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.IBreakpointManager; -import org.eclipse.debug.core.model.IBreakpoint; -import org.eclipse.debug.ui.DebugUITools; -import org.eclipse.debug.ui.IDebugUIConstants; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.source.IVerticalRulerInfo; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.ISelectionListener; -import org.eclipse.ui.texteditor.IDocumentProvider; -import org.eclipse.ui.texteditor.IDocumentProviderExtension4; -import org.eclipse.ui.texteditor.ITextEditor; -import org.eclipse.wst.sse.core.StructuredModelManager; -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.util.Debug; -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.ISourceEditingTextTools; -import org.eclipse.wst.sse.ui.internal.provisional.extensions.breakpoint.IBreakpointProvider; - -/** - * ToggleBreakpointAction - */ -public class ToggleBreakpointAction extends BreakpointRulerAction { - IAction fFallbackAction; - - /** - * @param editor - * @param rulerInfo - */ - public ToggleBreakpointAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) { - super(editor, rulerInfo); - setText(SSEUIMessages.ToggleBreakpointAction_0); //$NON-NLS-1$ - } - - public ToggleBreakpointAction(ITextEditor editor, IVerticalRulerInfo rulerInfo, IAction fallbackAction) { - this(editor, rulerInfo); - fFallbackAction = fallbackAction; - } - - protected boolean createBreakpoints(int lineNumber) { - /* - * Note: we'll always allow processing to continue, even for a "read - * only" IStorageEditorInput, for the ActiveScript debugger. But this - * means sometimes the ActiveScript provider might get an input from - * CVS or something that is not related to debugging. - */ - - ITextEditor editor = getTextEditor(); - IEditorInput input = editor.getEditorInput(); - IDocument document = editor.getDocumentProvider().getDocument(input); - if (document == null) - return false; - - String contentType = getContentType(document); - IBreakpointProvider[] providers = BreakpointProviderBuilder.getInstance().getBreakpointProviders(editor, contentType, getFileExtension(input)); - - int pos = -1; - ISourceEditingTextTools tools = (ISourceEditingTextTools) editor.getAdapter(ISourceEditingTextTools.class); - if (tools != null) { - pos = tools.getCaretOffset(); - } - - final int n = providers.length; - List errors = new ArrayList(0); - for (int i = 0; i < n; i++) { - try { - if (Debug.debugBreakpoints) - System.out.println(providers[i].getClass().getName() + " adding breakpoint to line " + lineNumber); //$NON-NLS-1$ - IStatus status = providers[i].addBreakpoint(document, input, lineNumber, pos); - if (status != null && !status.isOK()) { - errors.add(status); - } - } - catch (CoreException e) { - errors.add(e.getStatus()); - } - catch (Exception t) { - Logger.logException("exception while adding breakpoint", t); //$NON-NLS-1$ - } - } - - IStatus status = null; - if (errors.size() > 0) { - Shell shell = editor.getSite().getShell(); - if (errors.size() > 1) { - status = new MultiStatus(SSEUIPlugin.ID, IStatus.OK, (IStatus[]) errors.toArray(new IStatus[0]), SSEUIMessages.ManageBreakpoints_error_adding_message1, null); //$NON-NLS-1$ - } - else { - status = (IStatus) errors.get(0); - } - if ((status.getSeverity() > IStatus.INFO) || (Platform.inDebugMode() && !status.isOK())) { - Platform.getLog(SSEUIPlugin.getDefault().getBundle()).log(status); - } - /* - * Show for conditions more severe than INFO or when no - * breakpoints were created - */ - if (status.getSeverity() > IStatus.INFO && getBreakpoints(getMarkers()).length < 1) { - ErrorDialog.openError(shell, SSEUIMessages.ManageBreakpoints_error_adding_title1, status.getMessage(), status); //$NON-NLS-1$ //$NON-NLS-2$ - return false; - } - } - /* - * Although no errors were reported, no breakpoints exist on this line - * after having run the existing providers. Run the fallback action. - */ - if ((status == null || status.getSeverity() < IStatus.WARNING) && fFallbackAction != null && !hasMarkers()) { - if (fFallbackAction instanceof ISelectionListener) { - ((ISelectionListener) fFallbackAction).selectionChanged(null, null); - } - fFallbackAction.run(); - } - return true; - } - - protected String getContentType(IDocument document) { - IModelManager mgr = StructuredModelManager.getModelManager(); - String contentType = null; - - IDocumentProvider provider = fTextEditor.getDocumentProvider(); - if (provider instanceof IDocumentProviderExtension4) { - try { - IContentType type = ((IDocumentProviderExtension4) provider).getContentType(fTextEditor.getEditorInput()); - if (type != null) - contentType = type.getId(); - } - catch (CoreException e) { - /* - * A failure accessing the underlying store really isn't - * interesting, although it can be a problem for - * IStorageEditorInputs. - */ - } - } - - if (contentType == null) { - IStructuredModel model = null; - try { - model = mgr.getExistingModelForRead(document); - if (model != null) { - contentType = model.getContentTypeIdentifier(); - } - } - finally { - if (model != null) { - model.releaseFromRead(); - } - } - } - return contentType; - } - - protected void removeBreakpoints(int lineNumber) { - IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager(); - IBreakpoint[] breakpoints = getBreakpoints(getMarkers()); - for (int i = 0; i < breakpoints.length; i++) { - try { - breakpointManager.removeBreakpoint(breakpoints[i], true); - } - catch (CoreException e) { - Logger.logException(e); - } - } - } - - public void run() { - int lineNumber = fRulerInfo.getLineOfLastMouseButtonActivity() + 1; - boolean doAdd = !hasMarkers(); - if (doAdd) - createBreakpoints(lineNumber); - else - removeBreakpoints(lineNumber); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.ui.texteditor.IUpdate#update() - */ - public void update() { - } - - /* - * (non-Javadoc) - * @see org.eclipse.jface.action.Action#getImageDescriptor() - * overriding for lazy loading - */ - public ImageDescriptor getImageDescriptor() { - - ImageDescriptor image = super.getImageDescriptor(); - if (image == null){ - image = DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_BREAKPOINT); - setImageDescriptor(image); - } - return image; - } -} |