From 3a839ecb3bd517e7d2eafa74598c2e32561ba544 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Thu, 3 Apr 2008 17:53:57 +0000 Subject: [PATCH] [225506] [api][breaking] RSE UI leaks non-API types --- ...CascadingNewFilterPoolReferenceAction.java | 7 ++--- ...dingNewFilterPoolReferenceFPMgrAction.java | 7 ++--- .../ui/actions/SystemSubMenuManager.java | 7 +++-- .../ui/view/SystemViewMenuListener.java | 11 ++++---- .../ui/actions/ISystemViewMenuListener.java | 26 +++++++++++++++++++ .../ui/actions/SystemBaseSubMenuAction.java | 8 +++--- .../SystemCompileCascadeByProfileAction.java | 4 ++- .../uda/SystemUDACascadeByProfileAction.java | 3 ++- 8 files changed, 51 insertions(+), 22 deletions(-) create mode 100644 rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/ISystemViewMenuListener.java diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemFilterCascadingNewFilterPoolReferenceAction.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemFilterCascadingNewFilterPoolReferenceAction.java index 2e2cf14ac60..82c929a7d65 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemFilterCascadingNewFilterPoolReferenceAction.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemFilterCascadingNewFilterPoolReferenceAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2007 IBM Corporation and others. + * Copyright (c) 2002, 2008 IBM Corporation 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 @@ -12,7 +12,7 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types *******************************************************************************/ package org.eclipse.rse.internal.ui.actions; @@ -25,6 +25,7 @@ import org.eclipse.rse.internal.ui.view.SystemViewMenuListener; import org.eclipse.rse.ui.ISystemContextMenuConstants; import org.eclipse.rse.ui.ISystemIconConstants; import org.eclipse.rse.ui.RSEUIPlugin; +import org.eclipse.rse.ui.actions.ISystemViewMenuListener; import org.eclipse.rse.ui.actions.SystemBaseAction; import org.eclipse.rse.ui.actions.SystemBaseSubMenuAction; import org.eclipse.swt.widgets.Shell; @@ -128,7 +129,7 @@ public class SystemFilterCascadingNewFilterPoolReferenceAction * Overridable method from parent that instantiates the menu listener who job is to add mnemonics. * @param setMnemonicsOnlyOnce true if the menu is static and so mnemonics need only be set once. False if it is dynamic */ - protected SystemViewMenuListener createMnemonicsListener(boolean setMnemonicsOnlyOnce) + protected ISystemViewMenuListener createMnemonicsListener(boolean setMnemonicsOnlyOnce) { return new SystemViewMenuListener(false); // our menu is re-built dynamically each time } diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemFilterCascadingNewFilterPoolReferenceFPMgrAction.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemFilterCascadingNewFilterPoolReferenceFPMgrAction.java index 35d09568a0f..8fa6fcc20ee 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemFilterCascadingNewFilterPoolReferenceFPMgrAction.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemFilterCascadingNewFilterPoolReferenceFPMgrAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2007 IBM Corporation and others. + * Copyright (c) 2002, 2008 IBM Corporation 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 @@ -12,7 +12,7 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types *******************************************************************************/ package org.eclipse.rse.internal.ui.actions; @@ -22,6 +22,7 @@ import org.eclipse.rse.core.filters.ISystemFilterPool; import org.eclipse.rse.core.filters.ISystemFilterPoolManager; import org.eclipse.rse.core.filters.ISystemFilterPoolReferenceManager; import org.eclipse.rse.internal.ui.view.SystemViewMenuListener; +import org.eclipse.rse.ui.actions.ISystemViewMenuListener; import org.eclipse.rse.ui.actions.SystemBaseAction; import org.eclipse.rse.ui.actions.SystemBaseSubMenuAction; import org.eclipse.swt.widgets.Shell; @@ -120,7 +121,7 @@ public class SystemFilterCascadingNewFilterPoolReferenceFPMgrAction * Overridable method from parent that instantiates the menu listener who job is to add mnemonics. * @param setMnemonicsOnlyOnce true if the menu is static and so mnemonics need only be set once. False if it is dynamic */ - protected SystemViewMenuListener createMnemonicsListener(boolean setMnemonicsOnlyOnce) + protected ISystemViewMenuListener createMnemonicsListener(boolean setMnemonicsOnlyOnce) { return new SystemViewMenuListener(false); // our menu is re-built dynamically each time } diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemSubMenuManager.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemSubMenuManager.java index c752bf711d1..cfe34b63ce6 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemSubMenuManager.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/actions/SystemSubMenuManager.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2008 IBM Corporation 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 @@ -12,6 +12,7 @@ * * Contributors: * Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin + * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types ********************************************************************************/ package org.eclipse.rse.internal.ui.actions; @@ -38,9 +39,7 @@ import org.eclipse.swt.widgets.Shell; * The state-setting methods including setShell, setSelection and setValue. */ public class SystemSubMenuManager - extends MenuManager - //implements ISelectionChangedListener - //implements ISystemAction + extends MenuManager { protected String toolTipText; protected ImageDescriptor image = null; diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMenuListener.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMenuListener.java index b182bb26e8a..fb4a2ce7c87 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMenuListener.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMenuListener.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2008 IBM Corporation 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 @@ -12,21 +12,19 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types *******************************************************************************/ package org.eclipse.rse.internal.ui.view; import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.rse.internal.ui.actions.SystemSubMenuManager; import org.eclipse.rse.ui.Mnemonics; +import org.eclipse.rse.ui.actions.ISystemViewMenuListener; import org.eclipse.rse.ui.messages.ISystemMessageLine; import org.eclipse.swt.events.ArmEvent; -import org.eclipse.swt.events.ArmListener; import org.eclipse.swt.events.MenuEvent; -import org.eclipse.swt.events.MenuListener; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Widget; @@ -36,7 +34,8 @@ import org.eclipse.swt.widgets.Widget; * A class that listens for menu show events for the purpose of applying mnemonics * to the menu items. */ -public class SystemViewMenuListener implements IMenuListener, MenuListener, ArmListener +public class SystemViewMenuListener +implements ISystemViewMenuListener { diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/ISystemViewMenuListener.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/ISystemViewMenuListener.java new file mode 100644 index 00000000000..f45fbb9057e --- /dev/null +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/ISystemViewMenuListener.java @@ -0,0 +1,26 @@ +/******************************************************************************** + * Copyright (c) 2008 IBM Corporation. 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 + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types + ********************************************************************************/ +package org.eclipse.rse.ui.actions; + +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.swt.events.ArmListener; +import org.eclipse.swt.events.MenuListener; + +/** + * An interface to be implemented for listening for menu show events for + * the purpose of applying mnemonics to the menu items. + */ +public interface ISystemViewMenuListener extends IMenuListener, MenuListener, ArmListener +{ +} diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemBaseSubMenuAction.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemBaseSubMenuAction.java index 96953268ea3..fa778575c84 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemBaseSubMenuAction.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemBaseSubMenuAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2007 IBM Corporation and others. + * Copyright (c) 2002, 2008 IBM Corporation 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 @@ -12,7 +12,7 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types *******************************************************************************/ package org.eclipse.rse.ui.actions; @@ -269,12 +269,12 @@ public abstract class SystemBaseSubMenuAction * Overridable method that instantiates the menu listener who job is to add mnemonics. * @param setMnemonicsOnlyOnce true if the menu is static and so mnemonics need only be set once. False if it is dynamic */ - protected SystemViewMenuListener createMnemonicsListener(boolean setMnemonicsOnlyOnce) + protected ISystemViewMenuListener createMnemonicsListener(boolean setMnemonicsOnlyOnce) { return new SystemViewMenuListener(setMnemonicsOnlyOnce); } - /** + /** * Sets the parent shell for this action. This is an override of our parent's method so we can * cascade it to each sub-action. */ diff --git a/rse/plugins/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/ui/compile/SystemCompileCascadeByProfileAction.java b/rse/plugins/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/ui/compile/SystemCompileCascadeByProfileAction.java index 116c1a52857..a14ffa36ce5 100644 --- a/rse/plugins/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/ui/compile/SystemCompileCascadeByProfileAction.java +++ b/rse/plugins/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/ui/compile/SystemCompileCascadeByProfileAction.java @@ -9,6 +9,7 @@ * IBM Corporation - initial API and implementation * Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin * David Dykstal (IBM) - [186589] move user actions API out of org.eclipse.rse.ui + * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types *******************************************************************************/ package org.eclipse.rse.internal.useractions.ui.compile; @@ -21,6 +22,7 @@ import org.eclipse.rse.core.subsystems.ISubSystemConfiguration; import org.eclipse.rse.internal.ui.view.SystemViewMenuListener; import org.eclipse.rse.ui.ISystemIconConstants; import org.eclipse.rse.ui.RSEUIPlugin; +import org.eclipse.rse.ui.actions.ISystemViewMenuListener; import org.eclipse.rse.ui.actions.SystemBaseDummyAction; import org.eclipse.rse.ui.actions.SystemBaseSubMenuAction; import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; @@ -78,7 +80,7 @@ public class SystemCompileCascadeByProfileAction extends SystemBaseSubMenuAction * Overridable method from parent that instantiates the menu listener who job is to add mnemonics. * @param setMnemonicsOnlyOnce true if the menu is static and so mnemonics need only be set once. False if it is dynamic */ - protected SystemViewMenuListener createMnemonicsListener(boolean setMnemonicsOnlyOnce) { + protected ISystemViewMenuListener createMnemonicsListener(boolean setMnemonicsOnlyOnce) { return new SystemViewMenuListener(false); // our menu is re-built dynamically each time } diff --git a/rse/plugins/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/ui/uda/SystemUDACascadeByProfileAction.java b/rse/plugins/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/ui/uda/SystemUDACascadeByProfileAction.java index 86cf92eda91..cf08e5ac48a 100644 --- a/rse/plugins/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/ui/uda/SystemUDACascadeByProfileAction.java +++ b/rse/plugins/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/ui/uda/SystemUDACascadeByProfileAction.java @@ -17,6 +17,7 @@ import org.eclipse.rse.core.model.ISystemProfile; import org.eclipse.rse.internal.ui.view.SystemViewMenuListener; import org.eclipse.rse.ui.ISystemIconConstants; import org.eclipse.rse.ui.RSEUIPlugin; +import org.eclipse.rse.ui.actions.ISystemViewMenuListener; import org.eclipse.rse.ui.actions.SystemBaseDummyAction; import org.eclipse.rse.ui.actions.SystemBaseSubMenuAction; import org.eclipse.swt.widgets.Shell; @@ -70,7 +71,7 @@ public class SystemUDACascadeByProfileAction extends SystemBaseSubMenuAction imp * Overridable method from parent that instantiates the menu listener who job is to add mnemonics. * @param setMnemonicsOnlyOnce true if the menu is static and so mnemonics need only be set once. False if it is dynamic */ - protected SystemViewMenuListener createMnemonicsListener(boolean setMnemonicsOnlyOnce) { + protected ISystemViewMenuListener createMnemonicsListener(boolean setMnemonicsOnlyOnce) { return new SystemViewMenuListener(false); // our menu is re-built dynamically each time } }