package sk.stuba.fiit.perconik.core.debug.listeners; import org.eclipse.ui.IPerspectiveDescriptor; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPartReference; import sk.stuba.fiit.perconik.core.debug.AbstractDebugListener; import sk.stuba.fiit.perconik.core.debug.Debug; import sk.stuba.fiit.perconik.core.debug.runtime.DebugConsole; import sk.stuba.fiit.perconik.core.listeners.PerspectiveListener; public final class PerspectiveDebugListener extends AbstractDebugListener implements PerspectiveListener { public PerspectiveDebugListener() {} public PerspectiveDebugListener(final DebugConsole console) { super(console); } public void perspectiveOpened(final IWorkbenchPage page, final IPerspectiveDescriptor descriptor) { this.printHeader("Perspective opened"); this.printPage(page); this.printPerspectiveDescriptor(descriptor); } public void perspectiveClosed(final IWorkbenchPage page, final IPerspectiveDescriptor descriptor) { this.printHeader("Perspective closed"); this.printPage(page); this.printPerspectiveDescriptor(descriptor); } public void perspectiveActivated(final IWorkbenchPage page, final IPerspectiveDescriptor descriptor) { this.printHeader("Perspective activated"); this.printPage(page); this.printPerspectiveDescriptor(descriptor); } public void perspectiveDeactivated(final IWorkbenchPage page, final IPerspectiveDescriptor descriptor) { this.printHeader("Perspective deactivated"); this.printPage(page); this.printPerspectiveDescriptor(descriptor); } public void perspectivePreDeactivate(final IWorkbenchPage page, final IPerspectiveDescriptor descriptor) { this.printHeader("Perspective pre deactivate"); this.printPage(page); this.printPerspectiveDescriptor(descriptor); } public void perspectiveChanged(final IWorkbenchPage page, final IPerspectiveDescriptor descriptor, final String change) {} public void perspectiveChanged(final IWorkbenchPage page, final IPerspectiveDescriptor descriptor, final IWorkbenchPartReference reference, final String change) { this.printHeader("Perspective changed"); this.printPage(page); this.printPerspectiveDescriptor(descriptor); this.printPartReference(reference); this.printLine("change", change); } public void perspectiveSavedAs(final IWorkbenchPage page, final IPerspectiveDescriptor before, final IPerspectiveDescriptor after) { this.printHeader("Perspective saved"); this.printPage(page); this.put(Debug.dumpBlock("before:", Debug.dumpPerspectiveDescriptor(before))); this.put(Debug.dumpBlock("after:", Debug.dumpPerspectiveDescriptor(after))); } private void printPage(final IWorkbenchPage page) { this.put(Debug.dumpPage(page)); } private void printPartReference(final IWorkbenchPartReference reference) { this.put(Debug.dumpPartReference(reference)); } private void printPerspectiveDescriptor(final IPerspectiveDescriptor descriptor) { this.put(Debug.dumpPerspectiveDescriptor(descriptor)); } }