From 770bad545cc808ce2882fb0d14aea7605e6f4583 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 8 May 2015 09:23:04 +0200 Subject: [PATCH] View: Bug 466644 - A "Could not create the view:" error appears after updating from TCF Terminals to TM Terrminal --- .../plugin.xml | 29 +++++++++++++- .../view/ui/internal/PropertyTester.java | 4 ++ .../view/ui/view/OldTerminalsViewHandler.java | 3 +- .../ui/view/OldTerminalsViewHandler2.java | 40 +++++++++++++++++++ 4 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index 3cfc61ccecc..d0e996165f9 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -20,6 +20,16 @@ id="org.eclipse.tm.terminal.view.ui.TerminalsView" name="%TerminalsView.name"> + + + + @@ -128,7 +138,7 @@ class="org.eclipse.tm.terminal.view.ui.internal.PropertyTester" id="org.eclipse.tm.terminal.view.ui.PropertyTester" namespace="org.eclipse.tm.terminal.view.ui" - properties="hasApplicableLauncherDelegates,canDisconnect" + properties="oldViewActivityEnabled,hasApplicableLauncherDelegates,canDisconnect" type="java.lang.Object"> @@ -325,6 +335,23 @@ + + + + + + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java index d6eb2f5802e..861cb8b50e6 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java @@ -31,6 +31,10 @@ public class PropertyTester extends org.eclipse.core.expressions.PropertyTester @SuppressWarnings("cast") @Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + if ("oldViewActivityEnabled".equals(property)) { //$NON-NLS-1$ + return true; + } + if ("hasApplicableLauncherDelegates".equals(property)) { //$NON-NLS-1$ ISelection selection = receiver instanceof ISelection ? (ISelection)receiver : new StructuredSelection(receiver); return expectedValue.equals(Boolean.valueOf(LauncherDelegateManager.getInstance().getApplicableLauncherDelegates(selection).length > 0)); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java index 7c7df67ad7a..eeb6d890555 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java @@ -40,7 +40,7 @@ public class OldTerminalsViewHandler extends PerspectiveAdapter implements IStar if (page != null) handleOldTerminalsView(page); // Register ourself as perspective listener - window.addPerspectiveListener(this); + if (window != null) window.addPerspectiveListener(this); } /* (non-Javadoc) @@ -69,6 +69,7 @@ public class OldTerminalsViewHandler extends PerspectiveAdapter implements IStar while (oldView != null) { page.hideView(oldView); showNewView = true; + oldView = page.findView(OLD_VIEW_ID); } // Show the new terminals view if necessary diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java new file mode 100644 index 00000000000..be7a640a2d0 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. 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: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.view.ui.view; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.part.ViewPart; + +/** + * + */ +public class OldTerminalsViewHandler2 extends ViewPart { + + /** + * + */ + public OldTerminalsViewHandler2() { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) + */ + @Override + public void createPartControl(Composite parent) { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#setFocus() + */ + @Override + public void setFocus() { + } + +}