From: incastrix Date: Wed, 30 Jan 2008 00:45:10 +0000 (+0000) Subject: Merged xdebug from 1.3.x X-Git-Url: http://git.phpeclipse.com Merged xdebug from 1.3.x --- diff --git a/net.sourceforge.phpeclipse.xdebug.ui/src/net/sourceforge/phpeclipse/xdebug/ui/php/launching/CopyOfPHPDebugModelPresentation.java b/net.sourceforge.phpeclipse.xdebug.ui/src/net/sourceforge/phpeclipse/xdebug/ui/php/launching/CopyOfPHPDebugModelPresentation.java new file mode 100644 index 0000000..dedaaad --- /dev/null +++ b/net.sourceforge.phpeclipse.xdebug.ui/src/net/sourceforge/phpeclipse/xdebug/ui/php/launching/CopyOfPHPDebugModelPresentation.java @@ -0,0 +1,181 @@ +package net.sourceforge.phpeclipse.xdebug.ui.php.launching; + + + +import java.io.File; + +import net.sourceforge.phpeclipse.xdebug.php.model.XDebugLineBreakpoint; +import net.sourceforge.phpeclipse.xdebug.php.model.XDebugStackFrame; +import net.sourceforge.phpeclipse.xdebug.php.model.XDebugTarget; +import net.sourceforge.phpeclipse.xdebug.php.model.XDebugThread; +import net.sourceforge.phpeclipse.xdebug.php.model.XDebugValue; +import net.sourceforge.phpeclipse.xdebug.php.model.XDebugVariable; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IStorage; +import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.debug.core.model.ILineBreakpoint; +import org.eclipse.debug.core.model.IValue; +import org.eclipse.debug.core.sourcelookup.containers.LocalFileStorage; +import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.debug.ui.IDebugModelPresentation; +import org.eclipse.debug.ui.IDebugUIConstants; +import org.eclipse.debug.ui.IValueDetailListener; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.ILabelProviderListener; +import org.eclipse.swt.graphics.Image; +import org.eclipse.ui.IEditorDescriptor; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorRegistry; +import org.eclipse.ui.IPersistableElement; +import org.eclipse.ui.IStorageEditorInput; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.part.FileEditorInput; + +public class CopyOfPHPDebugModelPresentation implements IDebugModelPresentation { + + class StorageEditorInput extends PlatformObject implements + IStorageEditorInput { + private File fFile; + + private IStorage fStorage; + + public StorageEditorInput(IStorage storage, File file) { + super(); + fStorage = storage; + fFile = file; + } + + public IStorage getStorage() { + return fStorage; + } + + public ImageDescriptor getImageDescriptor() { + return null; + } + + public String getName() { + return getStorage().getName(); + } + + public IPersistableElement getPersistable() { + return null; + } + + public String getToolTipText() { + return getStorage().getFullPath().toOSString(); + } + + public boolean equals(Object object) { + return object instanceof StorageEditorInput + && getStorage().equals( + ((StorageEditorInput) object).getStorage()); + } + + public int hashCode() { + return getStorage().hashCode(); + } + + public boolean exists() { + return fFile.exists(); + } + } + + + public void setAttribute(String attribute, Object value) { + // TODO Auto-generated method stub + + } + + /** + * @see IDebugModelPresentation#getImage(Object) + */ + public Image getImage(Object element) { + if (element instanceof XDebugLineBreakpoint) { + return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_BREAKPOINT); + } else if (element instanceof IMarker) { + return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_BREAKPOINT); + } else if (element instanceof XDebugStackFrame || element instanceof XDebugThread || element instanceof XDebugTarget) { + return null; + } else if (element instanceof XDebugVariable) { + return getVariableImage((XDebugVariable)element); + } else if (element instanceof XDebugValue) { + return getValueImage((XDebugValue)element); + } + return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_BREAKPOINT); + } + private Image getVariableImage(XDebugVariable phpVar) { + /* if (phpVar != null) { + if (phpVar.isLocal()) + return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_VARIABLE); + if (phpVar.isHashValue()) + return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_VARIABLE); + } + */ + return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_VARIABLE); + } + + private Image getValueImage(XDebugValue phpVar) { + if (phpVar != null) { + return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_VARIABLE); + } + return DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_VARIABLE); + } + + + public String getText(Object element) { + // TODO Auto-generated method stub + return null; + } + + public void computeDetail(IValue value, IValueDetailListener listener) { + // TODO Auto-generated method stub + + } + + public void addListener(ILabelProviderListener listener) { + // TODO Auto-generated method stub + + } + + public void dispose() { + // TODO Auto-generated method stub + + } + + public boolean isLabelProperty(Object element, String property) { + // TODO Auto-generated method stub + return false; + } + + public void removeListener(ILabelProviderListener listener) { + // TODO Auto-generated method stub + + } + + public IEditorInput getEditorInput(Object element) { + + if (element instanceof IFile) { + return new FileEditorInput((IFile)element); + } + if( element instanceof LocalFileStorage) { + LocalFileStorage lfc= (LocalFileStorage)element; + return new StorageEditorInput(lfc,lfc.getFile()); + } + if (element instanceof ILineBreakpoint) { + return new FileEditorInput((IFile)((ILineBreakpoint)element).getMarker().getResource()); + } + return null; + } + + public String getEditorId(IEditorInput input, Object element) { + IEditorRegistry registry= PlatformUI.getWorkbench().getEditorRegistry(); + IEditorDescriptor descriptor= registry.getDefaultEditor(input.getName()); + if (descriptor != null) + return descriptor.getId(); + + return null; + } + +}