Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 62200
Collapse All | Expand All

(-)DisplayView.java (-68 / +15 lines)
Lines 19-25 Link Here
19
import java.util.Map;
19
import java.util.Map;
20
import java.util.ResourceBundle;
20
import java.util.ResourceBundle;
21
21
22
import org.eclipse.debug.internal.ui.DebugUIPlugin;
23
import org.eclipse.debug.ui.DebugUITools;
22
import org.eclipse.debug.ui.DebugUITools;
24
import org.eclipse.debug.ui.IDebugUIConstants;
23
import org.eclipse.debug.ui.IDebugUIConstants;
25
import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
24
import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
Lines 54-67 Link Here
54
import org.eclipse.swt.widgets.Menu;
53
import org.eclipse.swt.widgets.Menu;
55
import org.eclipse.ui.IActionBars;
54
import org.eclipse.ui.IActionBars;
56
import org.eclipse.ui.IMemento;
55
import org.eclipse.ui.IMemento;
57
import org.eclipse.ui.IPartListener2;
56
import org.eclipse.ui.IPerspectiveDescriptor;
57
import org.eclipse.ui.IPerspectiveListener2;
58
import org.eclipse.ui.IViewReference;
58
import org.eclipse.ui.IViewReference;
59
import org.eclipse.ui.IViewSite;
59
import org.eclipse.ui.IViewSite;
60
import org.eclipse.ui.IWorkbench;
60
import org.eclipse.ui.IWorkbench;
61
import org.eclipse.ui.IWorkbenchActionConstants;
61
import org.eclipse.ui.IWorkbenchActionConstants;
62
import org.eclipse.ui.IWorkbenchPage;
62
import org.eclipse.ui.IWorkbenchPage;
63
import org.eclipse.ui.IWorkbenchPartReference;
63
import org.eclipse.ui.IWorkbenchPartReference;
64
import org.eclipse.ui.IWorkbenchWindow;
65
import org.eclipse.ui.PartInitException;
64
import org.eclipse.ui.PartInitException;
66
import org.eclipse.ui.PlatformUI;
65
import org.eclipse.ui.PlatformUI;
67
import org.eclipse.ui.XMLMemento;
66
import org.eclipse.ui.XMLMemento;
Lines 78-84 Link Here
78
import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
77
import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
79
import org.eclipse.ui.texteditor.IUpdate;
78
import org.eclipse.ui.texteditor.IUpdate;
80
79
81
public class DisplayView extends ViewPart implements ITextInputListener, IPartListener2 {
80
public class DisplayView extends ViewPart implements ITextInputListener, IPerspectiveListener2 {
82
		
81
		
83
	class DataDisplay implements IDataDisplay {
82
	class DataDisplay implements IDataDisplay {
84
		/**
83
		/**
Lines 180-192 Link Here
180
		
179
		
181
		getSite().setSelectionProvider(fSourceViewer.getSelectionProvider());
180
		getSite().setSelectionProvider(fSourceViewer.getSelectionProvider());
182
		WorkbenchHelp.setHelp(fSourceViewer.getTextWidget(), IJavaDebugHelpContextIds.DISPLAY_VIEW);
181
		WorkbenchHelp.setHelp(fSourceViewer.getTextWidget(), IJavaDebugHelpContextIds.DISPLAY_VIEW);
183
		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
182
		getSite().getWorkbenchWindow().addPerspectiveListener(this);
184
		if (window != null) {
185
			IWorkbenchPage page = window.getActivePage();
186
			if (page != null) {
187
				page.addPartListener(this);
188
			}
189
		}
190
	}
183
	}
191
184
192
	protected IDocument getRestoredDocument() {
185
	protected IDocument getRestoredDocument() {
Lines 440-452 Link Here
440
	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
433
	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
441
	 */
434
	 */
442
	public void dispose() {
435
	public void dispose() {
443
		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
436
		getSite().getWorkbenchWindow().removePerspectiveListener(this);
444
		if (window != null) {
445
			IWorkbenchPage page = window.getActivePage();
446
			if (page != null) {
447
				page.removePartListener(this);
448
			}
449
		}
450
		if (fSourceViewer != null) {
437
		if (fSourceViewer != null) {
451
			fSourceViewer.dispose();
438
			fSourceViewer.dispose();
452
		}
439
		}
Lines 459-527 Link Here
459
	}
446
	}
460
447
461
	/* (non-Javadoc)
448
	/* (non-Javadoc)
462
	 * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
449
	 * @see org.eclipse.ui.IPerspectiveListener2#perspectiveChanged(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, org.eclipse.ui.IWorkbenchPartReference, java.lang.String)
463
	 */
450
	 */
464
	public void partHidden(IWorkbenchPartReference partRef) {
451
	public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, IWorkbenchPartReference partRef, String changeId) {
465
		if (partRef instanceof IViewReference) {
452
		if (partRef instanceof IViewReference && changeId.equals(IWorkbenchPage.CHANGE_VIEW_HIDE)) {
466
			String id = ((IViewReference) partRef).getId();
453
			String id = ((IViewReference) partRef).getId();
467
			// partHidden is sent whenever the view is made not
468
			// visible. To tell that the view has been "closed",
469
			// try to find it.
470
			if (id.equals(getViewSite().getId())) {
454
			if (id.equals(getViewSite().getId())) {
471
				// TODO: Uncomment when Bug 60039 is fixed -
455
				// Display view closed. Persist contents.
472
//				IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
456
				tempMemento= XMLMemento.createWriteRoot("DisplayViewMemento"); //$NON-NLS-1$
473
//				if (window != null) {
457
				saveState(tempMemento);
474
//					IWorkbenchPage activePage = window.getActivePage();
475
//					if (activePage != null && activePage.findView(id) == null) {
476
						// Display view closed
477
						tempMemento= XMLMemento.createWriteRoot("DisplayViewMemento"); //$NON-NLS-1$
478
						saveState(tempMemento);
479
//					}
480
//				}				
481
			}
458
			}
482
		}
459
		}
483
	}
460
	}
484
	
485
	/* (non-Javadoc)
486
	 * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference)
487
	 */
488
	public void partActivated(IWorkbenchPartReference partRef) {
489
	}
490
491
	/* (non-Javadoc)
492
	 * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference)
493
	 */
494
	public void partBroughtToTop(IWorkbenchPartReference partRef) {
495
	}
496
497
	/* (non-Javadoc)
498
	 * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
499
	 */
500
	public void partClosed(IWorkbenchPartReference partRef) {
501
	}
502
503
	/* (non-Javadoc)
504
	 * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference)
505
	 */
506
	public void partDeactivated(IWorkbenchPartReference partRef) {
507
	}
508
509
	/* (non-Javadoc)
510
	 * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
511
	 */
512
	public void partOpened(IWorkbenchPartReference partRef) {
513
	}
514
461
515
	/* (non-Javadoc)
462
	/* (non-Javadoc)
516
	 * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference)
463
	 * @see org.eclipse.ui.IPerspectiveListener#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
517
	 */
464
	 */
518
	public void partVisible(IWorkbenchPartReference partRef) {
465
	public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
519
	}
466
	}
520
467
521
	/* (non-Javadoc)
468
	/* (non-Javadoc)
522
	 * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
469
	 * @see org.eclipse.ui.IPerspectiveListener#perspectiveChanged(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, java.lang.String)
523
	 */
470
	 */
524
	public void partInputChanged(IWorkbenchPartReference partRef) {
471
	public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
525
	}
472
	}
526
473
527
}
474
}

Return to bug 62200