mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-04 06:45:43 +02:00
[225509][api][breaking] RSE useractions API leaks non-API types (apply patch from Xuan Chen)
This commit is contained in:
parent
bfdd68937f
commit
9b6fcf7ebd
14 changed files with 171 additions and 99 deletions
|
@ -12,7 +12,7 @@ feature@org.eclipse.rse.ssh=v20080505,:pserver:anonymous:none@dev.eclipse.org:/c
|
||||||
feature@org.eclipse.rse.telnet=v20080411,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.telnet-feature
|
feature@org.eclipse.rse.telnet=v20080411,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.telnet-feature
|
||||||
feature@org.eclipse.rse.terminals=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.terminals-feature
|
feature@org.eclipse.rse.terminals=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.terminals-feature
|
||||||
feature@org.eclipse.rse.tests=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/tests/org.eclipse.rse.tests-feature
|
feature@org.eclipse.rse.tests=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/tests/org.eclipse.rse.tests-feature
|
||||||
feature@org.eclipse.rse.useractions=v20080409,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.useractions-feature
|
feature@org.eclipse.rse.useractions=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.useractions-feature
|
||||||
plugin@org.eclipse.dstore.core=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.dstore.core
|
plugin@org.eclipse.dstore.core=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.dstore.core
|
||||||
plugin@org.eclipse.dstore.doc.isv=v20080411,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/doc/org.eclipse.dstore.doc.isv
|
plugin@org.eclipse.dstore.doc.isv=v20080411,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/doc/org.eclipse.dstore.doc.isv
|
||||||
plugin@org.eclipse.dstore.extra=v20080406,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.dstore.extra
|
plugin@org.eclipse.dstore.extra=v20080406,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.dstore.extra
|
||||||
|
@ -61,4 +61,4 @@ plugin@org.eclipse.rse.terminals.ui=v20080505,:pserver:anonymous:none@dev.eclips
|
||||||
plugin@org.eclipse.rse.tests=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/tests/org.eclipse.rse.tests
|
plugin@org.eclipse.rse.tests=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/tests/org.eclipse.rse.tests
|
||||||
plugin@org.eclipse.rse.tests.framework=v20080331,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/tests/org.eclipse.rse.tests.framework
|
plugin@org.eclipse.rse.tests.framework=v20080331,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/tests/org.eclipse.rse.tests.framework
|
||||||
plugin@org.eclipse.rse.ui=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.ui
|
plugin@org.eclipse.rse.ui=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.ui
|
||||||
plugin@org.eclipse.rse.useractions=v20080409,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.useractions
|
plugin@org.eclipse.rse.useractions=v20080505,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.useractions
|
|
@ -21,6 +21,10 @@ Require-Bundle: org.eclipse.core.resources,
|
||||||
Bundle-ActivationPolicy: lazy
|
Bundle-ActivationPolicy: lazy
|
||||||
Eclipse-LazyStart: true
|
Eclipse-LazyStart: true
|
||||||
Export-Package: org.eclipse.rse.internal.useractions;x-internal:=true,
|
Export-Package: org.eclipse.rse.internal.useractions;x-internal:=true,
|
||||||
|
org.eclipse.rse.internal.useractions.api.files.compile;x-internal:=true,
|
||||||
|
org.eclipse.rse.internal.useractions.api.files.uda;x-internal:=true,
|
||||||
|
org.eclipse.rse.internal.useractions.api.ui.compile;x-internal:=true,
|
||||||
|
org.eclipse.rse.internal.useractions.api.ui.uda;x-internal:=true,
|
||||||
org.eclipse.rse.internal.useractions.files.compile;x-internal:=true,
|
org.eclipse.rse.internal.useractions.files.compile;x-internal:=true,
|
||||||
org.eclipse.rse.internal.useractions.files.uda;x-internal:=true,
|
org.eclipse.rse.internal.useractions.files.uda;x-internal:=true,
|
||||||
org.eclipse.rse.internal.useractions.ui;x-internal:=true,
|
org.eclipse.rse.internal.useractions.ui;x-internal:=true,
|
||||||
|
@ -28,10 +32,6 @@ Export-Package: org.eclipse.rse.internal.useractions;x-internal:=true,
|
||||||
org.eclipse.rse.internal.useractions.ui.uda;x-internal:=true,
|
org.eclipse.rse.internal.useractions.ui.uda;x-internal:=true,
|
||||||
org.eclipse.rse.internal.useractions.ui.uda.actions;x-internal:=true,
|
org.eclipse.rse.internal.useractions.ui.uda.actions;x-internal:=true,
|
||||||
org.eclipse.rse.internal.useractions.ui.uda.util;x-internal:=true,
|
org.eclipse.rse.internal.useractions.ui.uda.util;x-internal:=true,
|
||||||
org.eclipse.rse.internal.useractions.ui.validators;x-internal:=true,
|
org.eclipse.rse.internal.useractions.ui.validators;x-internal:=true
|
||||||
org.eclipse.rse.useractions.files.compile,
|
|
||||||
org.eclipse.rse.useractions.files.uda,
|
|
||||||
org.eclipse.rse.useractions.ui.compile,
|
|
||||||
org.eclipse.rse.useractions.ui.uda
|
|
||||||
Bundle-Vendor: %providerName
|
Bundle-Vendor: %providerName
|
||||||
Bundle-RequiredExecutionEnvironment: J2SE-1.4
|
Bundle-RequiredExecutionEnvironment: J2SE-1.4
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<menuContribution locationURI="popup:org.eclipse.rse.ui.view.systemView">
|
<menuContribution locationURI="popup:org.eclipse.rse.ui.view.systemView">
|
||||||
<menu id="org.eclipse.rse.ui.useractions.compile.menu"
|
<menu id="org.eclipse.rse.ui.useractions.compile.menu"
|
||||||
label="%DynamicLabel.CompileActionNode">
|
label="%DynamicLabel.CompileActionNode">
|
||||||
<dynamic class="org.eclipse.rse.useractions.ui.compile.SystemDynamicCompileMenu"
|
<dynamic class="org.eclipse.rse.internal.useractions.api.ui.compile.SystemDynamicCompileMenu"
|
||||||
id="org.eclipse.ui.rse.ui.views.dynamiccompilemenu">
|
id="org.eclipse.ui.rse.ui.views.dynamiccompilemenu">
|
||||||
</dynamic>
|
</dynamic>
|
||||||
<visibleWhen>
|
<visibleWhen>
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
</menu>
|
</menu>
|
||||||
<menu id="org.eclipse.rse.ui.useractions.useraction.menu"
|
<menu id="org.eclipse.rse.ui.useractions.useraction.menu"
|
||||||
label="%DynamicLabel.UserActionNode">
|
label="%DynamicLabel.UserActionNode">
|
||||||
<dynamic class="org.eclipse.rse.useractions.ui.uda.SystemDynamicUserActionMenu"
|
<dynamic class="org.eclipse.rse.internal.useractions.api.ui.uda.SystemDynamicUserActionMenu"
|
||||||
id="org.eclipse.ui.rse.ui.views.dynamicuseractionmenu">
|
id="org.eclipse.ui.rse.ui.views.dynamicuseractionmenu">
|
||||||
</dynamic>
|
</dynamic>
|
||||||
<visibleWhen>
|
<visibleWhen>
|
||||||
|
|
|
@ -1,18 +1,26 @@
|
||||||
/*********************************************************************************
|
/*********************************************************************************
|
||||||
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Xuan Chen (IBM) - [222470] initial contribution.
|
* Xuan Chen (IBM) - [222470] initial contribution.
|
||||||
*********************************************************************************/
|
*********************************************************************************/
|
||||||
package org.eclipse.rse.useractions.files.compile;
|
package org.eclipse.rse.internal.useractions.api.files.compile;
|
||||||
|
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileManager;
|
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compile Manager Adapter Interface.
|
||||||
|
* <p>
|
||||||
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||||
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
|
* it will remain the same. Please do not use this API without consulting with
|
||||||
|
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
public interface ISystemCompileManagerAdapter {
|
public interface ISystemCompileManagerAdapter {
|
||||||
|
|
||||||
public SystemCompileManager getSystemCompileManager(ISubSystemConfiguration ssc);
|
public SystemCompileManager getSystemCompileManager(ISubSystemConfiguration ssc);
|
|
@ -1,13 +1,13 @@
|
||||||
/*********************************************************************************
|
/*********************************************************************************
|
||||||
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Xuan Chen (IBM) - [222470] initial contribution.
|
* Xuan Chen (IBM) - [222470] initial contribution.
|
||||||
*********************************************************************************/
|
*********************************************************************************/
|
||||||
package org.eclipse.rse.useractions.files.compile;
|
package org.eclipse.rse.internal.useractions.api.files.compile;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
@ -15,13 +15,22 @@ import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
import org.eclipse.rse.internal.useractions.files.compile.UniversalCompileManager;
|
import org.eclipse.rse.internal.useractions.files.compile.UniversalCompileManager;
|
||||||
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileManager;
|
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Universal Compile Manager Adapter.
|
||||||
|
* <p>
|
||||||
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||||
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
|
* it will remain the same. Please do not use this API without consulting with
|
||||||
|
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
public class UniversalCompileManagerAdapter implements
|
public class UniversalCompileManagerAdapter implements
|
||||||
ISystemCompileManagerAdapter {
|
ISystemCompileManagerAdapter {
|
||||||
private HashMap compileManagers = new HashMap();
|
private HashMap compileManagers = new HashMap();
|
||||||
|
|
||||||
public SystemCompileManager getSystemCompileManager(ISubSystemConfiguration ssc) {
|
public SystemCompileManager getSystemCompileManager(ISubSystemConfiguration ssc) {
|
||||||
String configID = ssc.getId();
|
String configID = ssc.getId();
|
||||||
|
|
||||||
SystemCompileManager thisCompileManager = (SystemCompileManager)compileManagers.get(configID);
|
SystemCompileManager thisCompileManager = (SystemCompileManager)compileManagers.get(configID);
|
||||||
if (thisCompileManager == null)
|
if (thisCompileManager == null)
|
||||||
{
|
{
|
||||||
|
@ -29,7 +38,7 @@ public class UniversalCompileManagerAdapter implements
|
||||||
thisCompileManager.setSubSystemFactory(ssc);
|
thisCompileManager.setSubSystemFactory(ssc);
|
||||||
compileManagers.put(configID, thisCompileManager);
|
compileManagers.put(configID, thisCompileManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
return thisCompileManager;
|
return thisCompileManager;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,27 @@
|
||||||
/*********************************************************************************
|
/*********************************************************************************
|
||||||
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Xuan Chen (IBM) - [222470] initial contribution.
|
* Xuan Chen (IBM) - [222470] initial contribution.
|
||||||
*********************************************************************************/
|
*********************************************************************************/
|
||||||
package org.eclipse.rse.useractions.files.uda;
|
package org.eclipse.rse.internal.useractions.api.files.uda;
|
||||||
|
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
import org.eclipse.rse.internal.useractions.ui.uda.SystemUDActionSubsystem;
|
import org.eclipse.rse.internal.useractions.ui.uda.SystemUDActionSubsystem;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User-defined Action Subsystem Adapter Interface.
|
||||||
|
* <p>
|
||||||
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||||
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
|
* it will remain the same. Please do not use this API without consulting with
|
||||||
|
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
public interface ISystemUDActionSubsystemAdapter {
|
public interface ISystemUDActionSubsystemAdapter {
|
||||||
|
|
||||||
public SystemUDActionSubsystem getSystemUDActionSubsystem(ISubSystemConfiguration ssc);
|
public SystemUDActionSubsystem getSystemUDActionSubsystem(ISubSystemConfiguration ssc);
|
|
@ -1,13 +1,13 @@
|
||||||
/*********************************************************************************
|
/*********************************************************************************
|
||||||
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Xuan Chen (IBM) - [222470] initial contribution.
|
* Xuan Chen (IBM) - [222470] initial contribution.
|
||||||
*********************************************************************************/
|
*********************************************************************************/
|
||||||
package org.eclipse.rse.useractions.files.uda;
|
package org.eclipse.rse.internal.useractions.api.files.uda;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
@ -15,12 +15,21 @@ import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
import org.eclipse.rse.internal.useractions.files.uda.UDActionSubsystemUniversalFiles;
|
import org.eclipse.rse.internal.useractions.files.uda.UDActionSubsystemUniversalFiles;
|
||||||
import org.eclipse.rse.internal.useractions.ui.uda.SystemUDActionSubsystem;
|
import org.eclipse.rse.internal.useractions.ui.uda.SystemUDActionSubsystem;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Universal User-defined Action Subsystem Adapter.
|
||||||
|
* <p>
|
||||||
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||||
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
|
* it will remain the same. Please do not use this API without consulting with
|
||||||
|
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
public class UniversalSystemUDActionSubsystemAdapter implements ISystemUDActionSubsystemAdapter {
|
public class UniversalSystemUDActionSubsystemAdapter implements ISystemUDActionSubsystemAdapter {
|
||||||
private HashMap uDActionSubsystems = new HashMap();
|
private HashMap uDActionSubsystems = new HashMap();
|
||||||
|
|
||||||
public SystemUDActionSubsystem getSystemUDActionSubsystem(ISubSystemConfiguration ssc) {
|
public SystemUDActionSubsystem getSystemUDActionSubsystem(ISubSystemConfiguration ssc) {
|
||||||
String configID = ssc.getId();
|
String configID = ssc.getId();
|
||||||
|
|
||||||
SystemUDActionSubsystem thisuDActionSubsystem = (SystemUDActionSubsystem)uDActionSubsystems.get(configID);
|
SystemUDActionSubsystem thisuDActionSubsystem = (SystemUDActionSubsystem)uDActionSubsystems.get(configID);
|
||||||
if (thisuDActionSubsystem == null)
|
if (thisuDActionSubsystem == null)
|
||||||
{
|
{
|
||||||
|
@ -28,7 +37,7 @@ public class UniversalSystemUDActionSubsystemAdapter implements ISystemUDActionS
|
||||||
thisuDActionSubsystem.setSubSystemFactory(ssc);
|
thisuDActionSubsystem.setSubSystemFactory(ssc);
|
||||||
uDActionSubsystems.put(configID, thisuDActionSubsystem);
|
uDActionSubsystems.put(configID, thisuDActionSubsystem);
|
||||||
}
|
}
|
||||||
|
|
||||||
return thisuDActionSubsystem;
|
return thisuDActionSubsystem;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
* IBM Corporation - initial API and implementation
|
* IBM Corporation - initial API and implementation
|
||||||
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
|
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.rse.useractions.ui.compile;
|
package org.eclipse.rse.internal.useractions.api.ui.compile;
|
||||||
|
|
||||||
import org.eclipse.jface.action.IMenuListener;
|
import org.eclipse.jface.action.IMenuListener;
|
||||||
import org.eclipse.jface.action.IMenuManager;
|
import org.eclipse.jface.action.IMenuManager;
|
||||||
|
@ -28,6 +28,12 @@ import org.eclipse.swt.widgets.Shell;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cascading Compile-> menu for remote compilable resources.
|
* Cascading Compile-> menu for remote compilable resources.
|
||||||
|
* <p>
|
||||||
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||||
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
|
* it will remain the same. Please do not use this API without consulting with
|
||||||
|
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
|
* </p>
|
||||||
*/
|
*/
|
||||||
public class SystemCascadingCompileAction extends SystemBaseSubMenuAction implements IMenuListener {
|
public class SystemCascadingCompileAction extends SystemBaseSubMenuAction implements IMenuListener {
|
||||||
private boolean isPrompt;
|
private boolean isPrompt;
|
|
@ -8,10 +8,10 @@
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* IBM Corporation - initial API and implementation
|
* IBM Corporation - initial API and implementation
|
||||||
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
* 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 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
|
* David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.rse.useractions.ui.compile;
|
package org.eclipse.rse.internal.useractions.api.ui.compile;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -38,15 +38,22 @@ import org.eclipse.ui.model.AdaptableList;
|
||||||
import org.eclipse.ui.model.WorkbenchContentProvider;
|
import org.eclipse.ui.model.WorkbenchContentProvider;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the action for an individual compile command, either prompted or not prompted.
|
* This is the action for an individual compile command, either prompted or not
|
||||||
* The label for the action is simply the compile command's label. If promptable, then "..." is appended.
|
* prompted. The label for the action is simply the compile command's label. If
|
||||||
|
* promptable, then "..." is appended.
|
||||||
|
* <p>
|
||||||
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||||
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
|
* it will remain the same. Please do not use this API without consulting with
|
||||||
|
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
|
* </p>
|
||||||
*/
|
*/
|
||||||
public class SystemCompileAction extends SystemBaseAction {
|
public class SystemCompileAction extends SystemBaseAction {
|
||||||
private SystemCompileCommand compileCmd;
|
private SystemCompileCommand compileCmd;
|
||||||
private boolean isPrompt;
|
private boolean isPrompt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*/
|
*/
|
||||||
public SystemCompileAction(Shell shell, SystemCompileCommand compileCommand, boolean isPrompt) {
|
public SystemCompileAction(Shell shell, SystemCompileCommand compileCommand, boolean isPrompt) {
|
||||||
super(
|
super(
|
|
@ -1,13 +1,13 @@
|
||||||
/*********************************************************************************
|
/*********************************************************************************
|
||||||
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Xuan Chen (IBM) - [222470] initial contribution.
|
* Xuan Chen (IBM) - [222470] initial contribution.
|
||||||
*********************************************************************************/
|
*********************************************************************************/
|
||||||
package org.eclipse.rse.useractions.ui.compile;
|
package org.eclipse.rse.internal.useractions.api.ui.compile;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ import org.eclipse.rse.core.RSECorePlugin;
|
||||||
import org.eclipse.rse.core.model.ISystemProfile;
|
import org.eclipse.rse.core.model.ISystemProfile;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
|
import org.eclipse.rse.internal.useractions.api.files.compile.ISystemCompileManagerAdapter;
|
||||||
import org.eclipse.rse.internal.useractions.files.compile.UniversalCompileManager;
|
import org.eclipse.rse.internal.useractions.files.compile.UniversalCompileManager;
|
||||||
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileCommand;
|
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileCommand;
|
||||||
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileManager;
|
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileManager;
|
||||||
|
@ -31,25 +32,33 @@ import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||||
import org.eclipse.rse.ui.SystemBasePlugin;
|
import org.eclipse.rse.ui.SystemBasePlugin;
|
||||||
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
||||||
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
||||||
import org.eclipse.rse.useractions.files.compile.ISystemCompileManagerAdapter;
|
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
import org.eclipse.ui.IWorkbenchWindow;
|
import org.eclipse.ui.IWorkbenchWindow;
|
||||||
import org.eclipse.ui.PlatformUI;
|
import org.eclipse.ui.PlatformUI;
|
||||||
import org.eclipse.ui.actions.CompoundContributionItem;
|
import org.eclipse.ui.actions.CompoundContributionItem;
|
||||||
|
|
||||||
public class SystemDynamicCompileMenu extends CompoundContributionItem
|
/**
|
||||||
|
* Dynamic Compile Menu.
|
||||||
|
* <p>
|
||||||
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||||
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
|
* it will remain the same. Please do not use this API without consulting with
|
||||||
|
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public class SystemDynamicCompileMenu extends CompoundContributionItem
|
||||||
{
|
{
|
||||||
private class TestContribution extends ActionContributionItem {
|
private class TestContribution extends ActionContributionItem {
|
||||||
|
|
||||||
public TestContribution(Action action)
|
public TestContribution(Action action)
|
||||||
{
|
{
|
||||||
super(action);
|
super(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
public void fill(Menu menu, int index)
|
public void fill(Menu menu, int index)
|
||||||
{
|
{
|
||||||
|
|
||||||
MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
|
MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
|
||||||
menuItem.setText("My First Contribution");
|
menuItem.setText("My First Contribution");
|
||||||
}
|
}
|
||||||
|
@ -57,9 +66,9 @@ public class SystemDynamicCompileMenu extends CompoundContributionItem
|
||||||
}
|
}
|
||||||
|
|
||||||
protected IContributionItem[] getContributionItems() {
|
protected IContributionItem[] getContributionItems() {
|
||||||
|
|
||||||
ArrayList returnedItemList = new ArrayList();
|
ArrayList returnedItemList = new ArrayList();
|
||||||
|
|
||||||
ISystemProfile[] activeProfiles = RSECorePlugin.getTheSystemRegistry().getActiveSystemProfiles();
|
ISystemProfile[] activeProfiles = RSECorePlugin.getTheSystemRegistry().getActiveSystemProfiles();
|
||||||
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
|
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
|
||||||
ISelection selection = window.getSelectionService().getSelection();
|
ISelection selection = window.getSelectionService().getSelection();
|
||||||
|
@ -69,13 +78,13 @@ public class SystemDynamicCompileMenu extends CompoundContributionItem
|
||||||
return new IContributionItem[0];
|
return new IContributionItem[0];
|
||||||
}
|
}
|
||||||
Shell shell = SystemBasePlugin.getActiveWorkbenchShell();
|
Shell shell = SystemBasePlugin.getActiveWorkbenchShell();
|
||||||
|
|
||||||
ISystemRemoteElementAdapter rmtAdapter = SystemAdapterHelpers.getRemoteAdapter(firstSelection);
|
ISystemRemoteElementAdapter rmtAdapter = SystemAdapterHelpers.getRemoteAdapter(firstSelection);
|
||||||
ISubSystem subsystem = rmtAdapter.getSubSystem(firstSelection);
|
ISubSystem subsystem = rmtAdapter.getSubSystem(firstSelection);
|
||||||
ISubSystemConfiguration ssc = subsystem.getSubSystemConfiguration();
|
ISubSystemConfiguration ssc = subsystem.getSubSystemConfiguration();
|
||||||
|
|
||||||
SystemCompileManager compileManager = null;
|
SystemCompileManager compileManager = null;
|
||||||
|
|
||||||
if (firstSelection instanceof IAdaptable) {
|
if (firstSelection instanceof IAdaptable) {
|
||||||
ISystemCompileManagerAdapter adapter = (ISystemCompileManagerAdapter)((IAdaptable)firstSelection).getAdapter(ISystemCompileManagerAdapter.class);
|
ISystemCompileManagerAdapter adapter = (ISystemCompileManagerAdapter)((IAdaptable)firstSelection).getAdapter(ISystemCompileManagerAdapter.class);
|
||||||
if (null != adapter)
|
if (null != adapter)
|
||||||
|
@ -83,13 +92,13 @@ public class SystemDynamicCompileMenu extends CompoundContributionItem
|
||||||
compileManager = adapter.getSystemCompileManager(ssc);
|
compileManager = adapter.getSystemCompileManager(ssc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null == compileManager)
|
if (null == compileManager)
|
||||||
{
|
{
|
||||||
compileManager = new UniversalCompileManager();
|
compileManager = new UniversalCompileManager();
|
||||||
compileManager.setSubSystemFactory(ssc);
|
compileManager.setSubSystemFactory(ssc);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int idx = 0; idx < activeProfiles.length; idx++)
|
for (int idx = 0; idx < activeProfiles.length; idx++)
|
||||||
{
|
{
|
||||||
String srcType = null;
|
String srcType = null;
|
||||||
|
@ -99,15 +108,15 @@ public class SystemDynamicCompileMenu extends CompoundContributionItem
|
||||||
srcType = "null"; //$NON-NLS-1$
|
srcType = "null"; //$NON-NLS-1$
|
||||||
else if (srcType.equals("")) //$NON-NLS-1$
|
else if (srcType.equals("")) //$NON-NLS-1$
|
||||||
srcType = "blank"; //$NON-NLS-1$
|
srcType = "blank"; //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null != compileManager)
|
if (null != compileManager)
|
||||||
{
|
{
|
||||||
SystemCompileManager thisCompileManager = compileManager;
|
SystemCompileManager thisCompileManager = compileManager;
|
||||||
SystemCompileProfile compileProfile = thisCompileManager.getCompileProfile(activeProfiles[idx]);
|
SystemCompileProfile compileProfile = thisCompileManager.getCompileProfile(activeProfiles[idx]);
|
||||||
// compileProfile.addContributions(firstSelection);
|
// compileProfile.addContributions(firstSelection);
|
||||||
SystemCompileType compileType = compileProfile.getCompileType(srcType);
|
SystemCompileType compileType = compileProfile.getCompileType(srcType);
|
||||||
|
|
||||||
if (compileType != null)
|
if (compileType != null)
|
||||||
{
|
{
|
||||||
SystemCompileCommand[] cmds = compileType.getCompileCommandsArray();
|
SystemCompileCommand[] cmds = compileType.getCompileCommandsArray();
|
||||||
|
@ -121,15 +130,15 @@ public class SystemDynamicCompileMenu extends CompoundContributionItem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// add a separator before Work With Compile Commands... menu item
|
// add a separator before Work With Compile Commands... menu item
|
||||||
//ourSubMenu.add(new Separator());
|
//ourSubMenu.add(new Separator());
|
||||||
// add Work With Commands... action
|
// add Work With Commands... action
|
||||||
if (returnedItemList.size() > 0)
|
if (returnedItemList.size() > 0)
|
||||||
returnedItemList.add(new Separator());
|
returnedItemList.add(new Separator());
|
||||||
|
|
||||||
// Here's where you would dynamically generate your list
|
// Here's where you would dynamically generate your list
|
||||||
SystemWorkWithCompileCommandsAction workWithCompileCommandAction = new SystemWorkWithCompileCommandsAction(shell, true, subsystem, compileManager);
|
SystemWorkWithCompileCommandsAction workWithCompileCommandAction = new SystemWorkWithCompileCommandsAction(shell, true, subsystem, compileManager);
|
||||||
workWithCompileCommandAction.setSelection(selection);
|
workWithCompileCommandAction.setSelection(selection);
|
||||||
|
@ -143,4 +152,4 @@ public class SystemDynamicCompileMenu extends CompoundContributionItem
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -12,7 +12,7 @@
|
||||||
* API to the user actions plugin
|
* API to the user actions plugin
|
||||||
* Xuan Chen (IBM) - [225617] [useraction][api] Remove Team view support inside user action.
|
* Xuan Chen (IBM) - [225617] [useraction][api] Remove Team view support inside user action.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.rse.useractions.ui.compile;
|
package org.eclipse.rse.internal.useractions.api.ui.compile;
|
||||||
|
|
||||||
import org.eclipse.core.runtime.IAdaptable;
|
import org.eclipse.core.runtime.IAdaptable;
|
||||||
import org.eclipse.jface.dialogs.Dialog;
|
import org.eclipse.jface.dialogs.Dialog;
|
||||||
|
@ -21,6 +21,7 @@ import org.eclipse.rse.core.model.ISystemProfile;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
import org.eclipse.rse.internal.useractions.IUserActionsImageIds;
|
import org.eclipse.rse.internal.useractions.IUserActionsImageIds;
|
||||||
|
import org.eclipse.rse.internal.useractions.api.files.compile.ISystemCompileManagerAdapter;
|
||||||
import org.eclipse.rse.internal.useractions.files.compile.UniversalCompileManager;
|
import org.eclipse.rse.internal.useractions.files.compile.UniversalCompileManager;
|
||||||
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileManager;
|
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileManager;
|
||||||
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileProfile;
|
import org.eclipse.rse.internal.useractions.ui.compile.SystemCompileProfile;
|
||||||
|
@ -31,19 +32,24 @@ import org.eclipse.rse.ui.RSEUIPlugin;
|
||||||
import org.eclipse.rse.ui.actions.SystemBaseDialogAction;
|
import org.eclipse.rse.ui.actions.SystemBaseDialogAction;
|
||||||
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
||||||
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
||||||
import org.eclipse.rse.useractions.files.compile.ISystemCompileManagerAdapter;
|
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The action that displays the Work With -> Compile Commands menu item
|
* The action that displays the Work With -> Compile Commands menu item
|
||||||
|
* <p>
|
||||||
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||||
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
|
* it will remain the same. Please do not use this API without consulting with
|
||||||
|
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
|
* </p>
|
||||||
*/
|
*/
|
||||||
public class SystemWorkWithCompileCommandsAction extends SystemBaseDialogAction {
|
public class SystemWorkWithCompileCommandsAction extends SystemBaseDialogAction {
|
||||||
|
|
||||||
private ISubSystem subsystem = null;
|
private ISubSystem subsystem = null;
|
||||||
private ISubSystemConfiguration subsystemFactory = null;
|
private ISubSystemConfiguration subsystemFactory = null;
|
||||||
private ISystemProfile profile = null;
|
private ISystemProfile profile = null;
|
||||||
private SystemCompileManager compileManager = null;
|
private SystemCompileManager compileManager = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
* @param shell The Shell of the parent UI for this dialog
|
* @param shell The Shell of the parent UI for this dialog
|
||||||
|
@ -61,7 +67,7 @@ public class SystemWorkWithCompileCommandsAction extends SystemBaseDialogAction
|
||||||
setHelp(RSEUIPlugin.HELPPREFIX + "actnwwcc"); //$NON-NLS-1$
|
setHelp(RSEUIPlugin.HELPPREFIX + "actnwwcc"); //$NON-NLS-1$
|
||||||
setAvailableOffline(true);
|
setAvailableOffline(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SystemWorkWithCompileCommandsAction(Shell shell, boolean fromCascadingCompileAction, ISubSystem subSystem, SystemCompileManager compileManager)
|
public SystemWorkWithCompileCommandsAction(Shell shell, boolean fromCascadingCompileAction, ISubSystem subSystem, SystemCompileManager compileManager)
|
||||||
{
|
{
|
||||||
this(shell, fromCascadingCompileAction);
|
this(shell, fromCascadingCompileAction);
|
||||||
|
@ -72,7 +78,7 @@ public class SystemWorkWithCompileCommandsAction extends SystemBaseDialogAction
|
||||||
subsystemFactory = subsystem.getSubSystemConfiguration();
|
subsystemFactory = subsystem.getSubSystemConfiguration();
|
||||||
profile = subSystem.getSystemProfile();
|
profile = subSystem.getSystemProfile();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,7 +123,7 @@ public class SystemWorkWithCompileCommandsAction extends SystemBaseDialogAction
|
||||||
subsystemFactory = ((SystemTeamViewSubSystemConfigurationNode) inputObject).getSubSystemConfiguration();
|
subsystemFactory = ((SystemTeamViewSubSystemConfigurationNode) inputObject).getSubSystemConfiguration();
|
||||||
profile = ((SystemTeamViewSubSystemConfigurationNode) inputObject).getProfile();
|
profile = ((SystemTeamViewSubSystemConfigurationNode) inputObject).getProfile();
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
else {
|
else {
|
||||||
ISystemRemoteElementAdapter rmtAdapter = SystemAdapterHelpers.getRemoteAdapter(inputObject);
|
ISystemRemoteElementAdapter rmtAdapter = SystemAdapterHelpers.getRemoteAdapter(inputObject);
|
||||||
if (rmtAdapter != null) subsystem = rmtAdapter.getSubSystem(inputObject);
|
if (rmtAdapter != null) subsystem = rmtAdapter.getSubSystem(inputObject);
|
||||||
|
@ -130,9 +136,9 @@ public class SystemWorkWithCompileCommandsAction extends SystemBaseDialogAction
|
||||||
if (subsystemFactory == null) subsystemFactory = subsystem.getSubSystemConfiguration();
|
if (subsystemFactory == null) subsystemFactory = subsystem.getSubSystemConfiguration();
|
||||||
if (profile == null) profile = subsystem.getSystemProfile();
|
if (profile == null) profile = subsystem.getSystemProfile();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null == compileManager)
|
if (null == compileManager)
|
||||||
{
|
{
|
||||||
if (inputObject instanceof IAdaptable) {
|
if (inputObject instanceof IAdaptable) {
|
||||||
ISystemCompileManagerAdapter adapter = (ISystemCompileManagerAdapter)((IAdaptable)inputObject).getAdapter(ISystemCompileManagerAdapter.class);
|
ISystemCompileManagerAdapter adapter = (ISystemCompileManagerAdapter)((IAdaptable)inputObject).getAdapter(ISystemCompileManagerAdapter.class);
|
||||||
if (null != adapter)
|
if (null != adapter)
|
||||||
|
@ -141,13 +147,13 @@ public class SystemWorkWithCompileCommandsAction extends SystemBaseDialogAction
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null == compileManager)
|
if (null == compileManager)
|
||||||
{
|
{
|
||||||
compileManager = new UniversalCompileManager();
|
compileManager = new UniversalCompileManager();
|
||||||
compileManager.setSubSystemFactory(subsystemFactory);
|
compileManager.setSubSystemFactory(subsystemFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null != compileManager)
|
if (null != compileManager)
|
||||||
{
|
{
|
||||||
if (profile != null)
|
if (profile != null)
|
||||||
|
@ -155,9 +161,9 @@ public class SystemWorkWithCompileCommandsAction extends SystemBaseDialogAction
|
||||||
currProfile = compileManager.getCompileProfile(profile);
|
currProfile = compileManager.getCompileProfile(profile);
|
||||||
currProfiles = compileManager.getAllCompileProfiles();
|
currProfiles = compileManager.getAllCompileProfiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
caseSensitive = subsystemFactory.isCaseSensitive();
|
caseSensitive = subsystemFactory.isCaseSensitive();
|
||||||
|
|
||||||
SystemWorkWithCompileCommandsDialog dlg = new SystemWorkWithCompileCommandsDialog(shell, compileManager, currProfile);
|
SystemWorkWithCompileCommandsDialog dlg = new SystemWorkWithCompileCommandsDialog(shell, compileManager, currProfile);
|
||||||
/* FIXME - currProfiles cannot be null since above stuff was commented out
|
/* FIXME - currProfiles cannot be null since above stuff was commented out
|
||||||
if (currProfiles != null) {
|
if (currProfiles != null) {
|
||||||
|
@ -166,7 +172,7 @@ public class SystemWorkWithCompileCommandsAction extends SystemBaseDialogAction
|
||||||
*/
|
*/
|
||||||
dlg.setProfiles(currProfiles);
|
dlg.setProfiles(currProfiles);
|
||||||
dlg.setCaseSensitive(caseSensitive);
|
dlg.setCaseSensitive(caseSensitive);
|
||||||
|
|
||||||
return dlg;
|
return dlg;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
|
@ -1,13 +1,13 @@
|
||||||
/*********************************************************************************
|
/*********************************************************************************
|
||||||
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
* Copyright (c) 2008 IBM Corporation. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Xuan Chen (IBM) - [222470] initial contribution.
|
* Xuan Chen (IBM) - [222470] initial contribution.
|
||||||
*********************************************************************************/
|
*********************************************************************************/
|
||||||
package org.eclipse.rse.useractions.ui.uda;
|
package org.eclipse.rse.internal.useractions.api.ui.uda;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ import org.eclipse.rse.core.RSECorePlugin;
|
||||||
import org.eclipse.rse.core.model.ISystemProfile;
|
import org.eclipse.rse.core.model.ISystemProfile;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
|
import org.eclipse.rse.internal.useractions.api.files.uda.ISystemUDActionSubsystemAdapter;
|
||||||
import org.eclipse.rse.internal.useractions.files.uda.UDActionSubsystemUniversalFiles;
|
import org.eclipse.rse.internal.useractions.files.uda.UDActionSubsystemUniversalFiles;
|
||||||
import org.eclipse.rse.internal.useractions.ui.uda.SystemUDAResources;
|
import org.eclipse.rse.internal.useractions.ui.uda.SystemUDAResources;
|
||||||
import org.eclipse.rse.internal.useractions.ui.uda.SystemUDActionSubsystem;
|
import org.eclipse.rse.internal.useractions.ui.uda.SystemUDActionSubsystem;
|
||||||
|
@ -30,25 +31,33 @@ import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||||
import org.eclipse.rse.ui.SystemBasePlugin;
|
import org.eclipse.rse.ui.SystemBasePlugin;
|
||||||
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
||||||
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
||||||
import org.eclipse.rse.useractions.files.uda.ISystemUDActionSubsystemAdapter;
|
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
import org.eclipse.ui.IWorkbenchWindow;
|
import org.eclipse.ui.IWorkbenchWindow;
|
||||||
import org.eclipse.ui.PlatformUI;
|
import org.eclipse.ui.PlatformUI;
|
||||||
import org.eclipse.ui.actions.CompoundContributionItem;
|
import org.eclipse.ui.actions.CompoundContributionItem;
|
||||||
|
|
||||||
public class SystemDynamicUserActionMenu extends CompoundContributionItem
|
/**
|
||||||
|
* Dynamic User-defined Action Menu.
|
||||||
|
* <p>
|
||||||
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||||
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
|
* it will remain the same. Please do not use this API without consulting with
|
||||||
|
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public class SystemDynamicUserActionMenu extends CompoundContributionItem
|
||||||
{
|
{
|
||||||
private class UserActionContribution extends ActionContributionItem {
|
private class UserActionContribution extends ActionContributionItem {
|
||||||
|
|
||||||
public UserActionContribution(Action action)
|
public UserActionContribution(Action action)
|
||||||
{
|
{
|
||||||
super(action);
|
super(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
public void fill(Menu menu, int index)
|
public void fill(Menu menu, int index)
|
||||||
{
|
{
|
||||||
|
|
||||||
MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
|
MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
|
||||||
menuItem.setText("My First Contribution");
|
menuItem.setText("My First Contribution");
|
||||||
}
|
}
|
||||||
|
@ -56,9 +65,9 @@ public class SystemDynamicUserActionMenu extends CompoundContributionItem
|
||||||
}
|
}
|
||||||
|
|
||||||
protected IContributionItem[] getContributionItems() {
|
protected IContributionItem[] getContributionItems() {
|
||||||
|
|
||||||
ArrayList returnedItemList = new ArrayList();
|
ArrayList returnedItemList = new ArrayList();
|
||||||
|
|
||||||
ISystemProfile[] activeProfiles = RSECorePlugin.getTheSystemRegistry().getActiveSystemProfiles();
|
ISystemProfile[] activeProfiles = RSECorePlugin.getTheSystemRegistry().getActiveSystemProfiles();
|
||||||
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
|
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
|
||||||
ISelection selection = window.getSelectionService().getSelection();
|
ISelection selection = window.getSelectionService().getSelection();
|
||||||
|
@ -68,12 +77,12 @@ public class SystemDynamicUserActionMenu extends CompoundContributionItem
|
||||||
return new IContributionItem[0];
|
return new IContributionItem[0];
|
||||||
}
|
}
|
||||||
ISystemRemoteElementAdapter rmtAdapter = SystemAdapterHelpers.getRemoteAdapter(firstSelection);
|
ISystemRemoteElementAdapter rmtAdapter = SystemAdapterHelpers.getRemoteAdapter(firstSelection);
|
||||||
|
|
||||||
ISubSystem subsystem = rmtAdapter.getSubSystem(firstSelection);
|
ISubSystem subsystem = rmtAdapter.getSubSystem(firstSelection);
|
||||||
ISubSystemConfiguration ssc = subsystem.getSubSystemConfiguration();
|
ISubSystemConfiguration ssc = subsystem.getSubSystemConfiguration();
|
||||||
|
|
||||||
SystemUDActionSubsystem systemUDActionSubsystem = null;
|
SystemUDActionSubsystem systemUDActionSubsystem = null;
|
||||||
|
|
||||||
if (firstSelection instanceof IAdaptable) {
|
if (firstSelection instanceof IAdaptable) {
|
||||||
ISystemUDActionSubsystemAdapter adapter = (ISystemUDActionSubsystemAdapter)((IAdaptable)firstSelection).getAdapter(ISystemUDActionSubsystemAdapter.class);
|
ISystemUDActionSubsystemAdapter adapter = (ISystemUDActionSubsystemAdapter)((IAdaptable)firstSelection).getAdapter(ISystemUDActionSubsystemAdapter.class);
|
||||||
if (null != adapter)
|
if (null != adapter)
|
||||||
|
@ -82,14 +91,14 @@ public class SystemDynamicUserActionMenu extends CompoundContributionItem
|
||||||
systemUDActionSubsystem.setSubsystem(subsystem);
|
systemUDActionSubsystem.setSubsystem(subsystem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null == systemUDActionSubsystem)
|
if (null == systemUDActionSubsystem)
|
||||||
{
|
{
|
||||||
systemUDActionSubsystem = new UDActionSubsystemUniversalFiles();
|
systemUDActionSubsystem = new UDActionSubsystemUniversalFiles();
|
||||||
systemUDActionSubsystem.setSubSystemFactory(ssc);
|
systemUDActionSubsystem.setSubSystemFactory(ssc);
|
||||||
systemUDActionSubsystem.setSubsystem(subsystem);
|
systemUDActionSubsystem.setSubsystem(subsystem);
|
||||||
}
|
}
|
||||||
|
|
||||||
Shell shell = SystemBasePlugin.getActiveWorkbenchShell();
|
Shell shell = SystemBasePlugin.getActiveWorkbenchShell();
|
||||||
for (int idx = 0; idx < activeProfiles.length; idx++)
|
for (int idx = 0; idx < activeProfiles.length; idx++)
|
||||||
{
|
{
|
||||||
|
@ -98,7 +107,7 @@ public class SystemDynamicUserActionMenu extends CompoundContributionItem
|
||||||
if (null != systemUDActionSubsystem)
|
if (null != systemUDActionSubsystem)
|
||||||
{
|
{
|
||||||
Action[] list = systemUDActionSubsystem.addUserActions(null, (IStructuredSelection)selection, activeProfiles[idx], shell);
|
Action[] list = systemUDActionSubsystem.addUserActions(null, (IStructuredSelection)selection, activeProfiles[idx], shell);
|
||||||
|
|
||||||
for (int i = 0; i < list.length; i++)
|
for (int i = 0; i < list.length; i++)
|
||||||
{
|
{
|
||||||
UserActionContribution testContribution = new UserActionContribution(list[i]);
|
UserActionContribution testContribution = new UserActionContribution(list[i]);
|
||||||
|
@ -106,13 +115,13 @@ public class SystemDynamicUserActionMenu extends CompoundContributionItem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// add a separator before Work With Compile Commands... menu item
|
// add a separator before Work With Compile Commands... menu item
|
||||||
//ourSubMenu.add(new Separator());
|
//ourSubMenu.add(new Separator());
|
||||||
// add Work With Commands... action
|
// add Work With Commands... action
|
||||||
if (returnedItemList.size() > 0)
|
if (returnedItemList.size() > 0)
|
||||||
returnedItemList.add(new Separator());
|
returnedItemList.add(new Separator());
|
||||||
|
|
||||||
SystemWorkWithUDAsAction wwAction;
|
SystemWorkWithUDAsAction wwAction;
|
||||||
wwAction = new SystemWorkWithUDAsAction(shell, systemUDActionSubsystem.getSubsystem(), systemUDActionSubsystem);
|
wwAction = new SystemWorkWithUDAsAction(shell, systemUDActionSubsystem.getSubsystem(), systemUDActionSubsystem);
|
||||||
wwAction.setText(SystemUDAResources.RESID_WORKWITH_UDAS_ACTION_LABEL);
|
wwAction.setText(SystemUDAResources.RESID_WORKWITH_UDAS_ACTION_LABEL);
|
||||||
|
@ -121,9 +130,9 @@ public class SystemDynamicUserActionMenu extends CompoundContributionItem
|
||||||
wwAction.setSelection(selection);
|
wwAction.setSelection(selection);
|
||||||
UserActionContribution userActionContribution = new UserActionContribution(wwAction);
|
UserActionContribution userActionContribution = new UserActionContribution(wwAction);
|
||||||
returnedItemList.add(userActionContribution);
|
returnedItemList.add(userActionContribution);
|
||||||
|
|
||||||
IContributionItem[] list = (IContributionItem[])returnedItemList.toArray(new IContributionItem[]{});
|
IContributionItem[] list = (IContributionItem[])returnedItemList.toArray(new IContributionItem[]{});
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -20,6 +20,8 @@ import org.eclipse.rse.core.model.ISystemProfile;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
import org.eclipse.rse.internal.ui.view.SystemViewMenuListener;
|
import org.eclipse.rse.internal.ui.view.SystemViewMenuListener;
|
||||||
|
import org.eclipse.rse.internal.useractions.api.files.compile.ISystemCompileManagerAdapter;
|
||||||
|
import org.eclipse.rse.internal.useractions.api.ui.compile.SystemCompileAction;
|
||||||
import org.eclipse.rse.ui.ISystemIconConstants;
|
import org.eclipse.rse.ui.ISystemIconConstants;
|
||||||
import org.eclipse.rse.ui.RSEUIPlugin;
|
import org.eclipse.rse.ui.RSEUIPlugin;
|
||||||
import org.eclipse.rse.ui.actions.ISystemViewMenuListener;
|
import org.eclipse.rse.ui.actions.ISystemViewMenuListener;
|
||||||
|
@ -27,8 +29,6 @@ import org.eclipse.rse.ui.actions.SystemBaseDummyAction;
|
||||||
import org.eclipse.rse.ui.actions.SystemBaseSubMenuAction;
|
import org.eclipse.rse.ui.actions.SystemBaseSubMenuAction;
|
||||||
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
||||||
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
||||||
import org.eclipse.rse.useractions.files.compile.ISystemCompileManagerAdapter;
|
|
||||||
import org.eclipse.rse.useractions.ui.compile.SystemCompileAction;
|
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -25,6 +25,7 @@ import org.eclipse.rse.core.model.IHost;
|
||||||
import org.eclipse.rse.core.model.ISystemProfile;
|
import org.eclipse.rse.core.model.ISystemProfile;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
import org.eclipse.rse.internal.useractions.UserActionsPersistenceUtil;
|
import org.eclipse.rse.internal.useractions.UserActionsPersistenceUtil;
|
||||||
|
import org.eclipse.rse.internal.useractions.api.ui.compile.SystemCascadingCompileAction;
|
||||||
import org.eclipse.rse.internal.useractions.ui.SystemCmdSubstVarList;
|
import org.eclipse.rse.internal.useractions.ui.SystemCmdSubstVarList;
|
||||||
import org.eclipse.rse.internal.useractions.ui.uda.SystemUDAResources;
|
import org.eclipse.rse.internal.useractions.ui.uda.SystemUDAResources;
|
||||||
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
||||||
|
@ -36,7 +37,6 @@ import org.eclipse.rse.ui.SystemMenuManager;
|
||||||
import org.eclipse.rse.ui.messages.SystemMessageDialog;
|
import org.eclipse.rse.ui.messages.SystemMessageDialog;
|
||||||
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
||||||
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
||||||
import org.eclipse.rse.useractions.ui.compile.SystemCascadingCompileAction;
|
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue