Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Chen2012-05-03 09:38:50 +0000
committerWilliam Chen2012-05-03 09:38:50 +0000
commit8a95f2529a739c273c58fe83f155775dbdd6b861 (patch)
tree3c52fc9cae0b72504f4d0eb4ee357619a16ef05f /target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui
parent240c99910fe7a47deddd5ebd6fae3ac035c8276d (diff)
downloadorg.eclipse.tcf-8a95f2529a739c273c58fe83f155775dbdd6b861.tar.gz
org.eclipse.tcf-8a95f2529a739c273c58fe83f155775dbdd6b861.tar.xz
org.eclipse.tcf-8a95f2529a739c273c58fe83f155775dbdd6b861.zip
Target Explorer: Rework refresh handlers (removing delegate) of file
system and process monitor.
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui')
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/plugin.xml79
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/adapters/AdapterFactory.java9
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/handler/RefreshHandler.java27
3 files changed, 102 insertions, 13 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/plugin.xml b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/plugin.xml
index 794e97395..c4ba9e1e9 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/plugin.xml
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/plugin.xml
@@ -9,7 +9,6 @@
class="org.eclipse.tcf.te.tcf.processes.ui.internal.adapters.AdapterFactory">
<adapter type="org.eclipse.jface.viewers.ILabelProvider"/>
<adapter type="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel"/>
- <adapter type="org.eclipse.tcf.te.ui.views.interfaces.handler.IRefreshHandlerDelegate"/>
</factory>
</extension>
@@ -209,10 +208,9 @@
<iterate
ifEmpty="false"
operator="and">
- <test
- property="org.eclipse.tcf.te.ui.views.isRefreshableElement"
- value="true">
- </test>
+ <instanceof
+ value="org.eclipse.tcf.te.tcf.processes.core.model.ProcessTreeNode">
+ </instanceof>
</iterate>
</with>
</visibleWhen>
@@ -279,6 +277,33 @@
</visibleWhen>
</command>
</menuContribution>
+ <menuContribution
+ locationURI="popup:org.eclipse.tcf.te.ui.views.View#Popup?after=group.refresh">
+ <command
+ commandId="org.eclipse.tcf.te.ui.command.refresh"
+ id="org.eclipse.tcf.te.ui.commands.refresh"
+ label="%command.refresh.label.1"
+ mnemonic="f"
+ style="push"
+ tooltip="%command.refresh.tooltip.1">
+ <visibleWhen
+ checkEnabled="false">
+ <with
+ variable="selection">
+ <count
+ value="+">
+ </count>
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <instanceof
+ value="org.eclipse.tcf.te.tcf.processes.core.model.ProcessTreeNode">
+ </instanceof>
+ </iterate>
+ </with>
+ </visibleWhen>
+ </command>
+ </menuContribution>
</extension>
<!-- Command contributions -->
@@ -422,6 +447,50 @@
</with>
</enabledWhen>
</handler>
+ <handler
+ class="org.eclipse.tcf.te.tcf.processes.ui.internal.handler.RefreshHandler"
+ commandId="org.eclipse.tcf.te.ui.command.refresh">
+ <activeWhen>
+ <and>
+ <with
+ variable="activePartId">
+ <or>
+ <equals
+ value="org.eclipse.tcf.te.ui.views.View">
+ </equals>
+ <equals
+ value="org.eclipse.tcf.te.ui.views.Editor">
+ </equals>
+ </or>
+ </with>
+ <with
+ variable="selection">
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <instanceof
+ value="org.eclipse.tcf.te.tcf.processes.core.model.ProcessTreeNode">
+ </instanceof>
+ </iterate>
+ </with>
+ </and>
+ </activeWhen>
+ <enabledWhen>
+ <with
+ variable="selection">
+ <count
+ value="+">
+ </count>
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <instanceof
+ value="org.eclipse.tcf.te.tcf.processes.core.model.ProcessTreeNode">
+ </instanceof>
+ </iterate>
+ </with>
+ </enabledWhen>
+ </handler>
</extension>
<!-- Reusable core expression fragments -->
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/adapters/AdapterFactory.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/adapters/AdapterFactory.java
index a96cb9e34..cbed1e7f7 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/adapters/AdapterFactory.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/adapters/AdapterFactory.java
@@ -14,7 +14,6 @@ import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
import org.eclipse.tcf.te.tcf.processes.core.model.ProcessTreeNode;
import org.eclipse.tcf.te.tcf.processes.ui.internal.columns.ProcessLabelProvider;
-import org.eclipse.tcf.te.ui.views.interfaces.handler.IRefreshHandlerDelegate;
/**
* Adapter factory implementation.
@@ -22,8 +21,6 @@ import org.eclipse.tcf.te.ui.views.interfaces.handler.IRefreshHandlerDelegate;
public class AdapterFactory implements IAdapterFactory {
// The adapter for ILabelProvider.class
private ILabelProvider labelProvider = new ProcessLabelProvider();
- // The refresh handler delegate adapter
- private IRefreshHandlerDelegate refreshDelegate = new RefreshHandlerDelegate();
/* (non-Javadoc)
* @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
@@ -37,9 +34,6 @@ public class AdapterFactory implements IAdapterFactory {
if (IPeerModel.class.equals(adapterType)) {
return ((ProcessTreeNode)adaptableObject).peerNode;
}
- if (IRefreshHandlerDelegate.class.equals(adapterType)) {
- return refreshDelegate;
- }
}
return null;
}
@@ -51,8 +45,7 @@ public class AdapterFactory implements IAdapterFactory {
public Class[] getAdapterList() {
return new Class<?>[] {
ILabelProvider.class,
- IPeerModel.class,
- IRefreshHandlerDelegate.class
+ IPeerModel.class
};
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/handler/RefreshHandler.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/handler/RefreshHandler.java
new file mode 100644
index 000000000..ec12a2826
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/handler/RefreshHandler.java
@@ -0,0 +1,27 @@
+package org.eclipse.tcf.te.tcf.processes.ui.internal.handler;
+
+import java.util.List;
+
+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.tcf.te.tcf.processes.core.model.ProcessModel;
+import org.eclipse.tcf.te.tcf.processes.core.model.ProcessTreeNode;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+public class RefreshHandler extends AbstractHandler {
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ ISelection selection = HandlerUtil.getCurrentSelection(event);
+ if (selection instanceof IStructuredSelection && !selection.isEmpty()) {
+ List<ProcessTreeNode> processes = ((IStructuredSelection) selection).toList();
+ for(ProcessTreeNode process : processes) {
+ ProcessModel model = ProcessModel.getProcessModel(process.peerNode);
+ model.refresh(process);
+ }
+ }
+ return null;
+ }
+}

Back to the top