diff options
author | Uwe Stieber | 2013-07-10 09:38:21 +0000 |
---|---|---|
committer | Uwe Stieber | 2013-07-10 09:38:21 +0000 |
commit | bff611df7503d073ee9611b38a6c2f6216d2003e (patch) | |
tree | 19eac834c6c20a6b028dc2c2fc1c8f4d223b178a /target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui | |
parent | 9c53a98f7531b3f1911760a3fac142ec12b108f0 (diff) | |
download | org.eclipse.tcf-bff611df7503d073ee9611b38a6c2f6216d2003e.tar.gz org.eclipse.tcf-bff611df7503d073ee9611b38a6c2f6216d2003e.tar.xz org.eclipse.tcf-bff611df7503d073ee9611b38a6c2f6216d2003e.zip |
UI: Fix usage of "HandlerUtil.getActiveWorkbenchWindow(event)" backed up
in case it returns null
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui')
2 files changed, 63 insertions, 59 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/autosave/SaveAllListener.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/autosave/SaveAllListener.java index f5787b7c1..b5258c792 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/autosave/SaveAllListener.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/autosave/SaveAllListener.java @@ -85,6 +85,7 @@ public class SaveAllListener implements IExecutionListener { @Override public void preExecute(String commandId, ExecutionEvent event) { fDirtyNodes.clear(); + // In Eclipse 4.x, the HandlerUtil.getActiveWorkbenchWindow(event) may return null IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event); if (window == null) window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); IWorkbenchPage page = window.getActivePage(); diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/handlers/NewNodeHandler.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/handlers/NewNodeHandler.java index 1d0e4ffbc..245d11d3c 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/handlers/NewNodeHandler.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/handlers/NewNodeHandler.java @@ -1,59 +1,62 @@ -/*******************************************************************************
- * Copyright (c) 2011, 2012 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.tcf.te.tcf.filesystem.ui.internal.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWizard;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * The base handler to create a new file/folder node in the file system of Target Explorer.
- */
-public abstract class NewNodeHandler extends AbstractHandler {
-
- /*
- * (non-Javadoc)
- * @see
- * org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
- IWorkbenchWizard wizard;
- wizard = createWizard();
- ISelection selection = HandlerUtil.getCurrentSelectionChecked(event);
- if (selection instanceof IStructuredSelection) {
- wizard.init(window.getWorkbench(), (IStructuredSelection) selection);
- }
- else {
- wizard.init(window.getWorkbench(), StructuredSelection.EMPTY);
- }
- Shell parent = window.getShell();
- WizardDialog dialog = new WizardDialog(parent, wizard);
- dialog.create();
- dialog.open();
- return null;
- }
-
- /**
- * Create a "New" wizard to for creating a file/folder.
- *
- * @return the wizard to be used for creating a file/folder.
- */
- protected abstract IWorkbenchWizard createWizard();
-}
+/******************************************************************************* + * Copyright (c) 2011, 2012 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.tcf.te.tcf.filesystem.ui.internal.handlers; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.wizard.WizardDialog; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.IWorkbenchWizard; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.handlers.HandlerUtil; + +/** + * The base handler to create a new file/folder node in the file system of Target Explorer. + */ +public abstract class NewNodeHandler extends AbstractHandler { + + /* + * (non-Javadoc) + * @see + * org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + // In Eclipse 4.x, the HandlerUtil.getActiveWorkbenchWindow(event) may return null + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event); + if (window == null) window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + IWorkbenchWizard wizard; + wizard = createWizard(); + ISelection selection = HandlerUtil.getCurrentSelectionChecked(event); + if (selection instanceof IStructuredSelection) { + wizard.init(PlatformUI.getWorkbench(), (IStructuredSelection) selection); + } + else { + wizard.init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY); + } + Shell parent = window != null ? window.getShell() : null; + WizardDialog dialog = new WizardDialog(parent, wizard); + dialog.create(); + dialog.open(); + return null; + } + + /** + * Create a "New" wizard to for creating a file/folder. + * + * @return the wizard to be used for creating a file/folder. + */ + protected abstract IWorkbenchWizard createWizard(); +} |