[yocto] [PATCH] [eclipse-poky][master]Display progress bar while running systemtap script
Ioana Grigoropol
ioanax.grigoropol at intel.com
Wed Apr 24 05:15:54 PDT 2013
[Yocto #4270]
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol at intel.com>
---
.../sdk/remotetools/actions/SystemtapHandler.java | 35 ++++++++++----------
1 file changed, 18 insertions(+), 17 deletions(-)
diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java
index 21bd3ef..87094ee 100644
--- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java
+++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java
@@ -12,11 +12,12 @@ package org.yocto.sdk.remotetools.actions;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.progress.IProgressService;
public class SystemtapHandler extends AbstractHandler {
protected SystemtapSettingDialog setting;
@@ -33,27 +34,27 @@ public class SystemtapHandler extends AbstractHandler {
);
setting.open();
- if (!setting.isOKPressed())
- return false;
String metadata_location = ((SystemtapSettingDialog)setting).getMetadataLocation();
String remote_host = ((SystemtapSettingDialog)setting).getRemoteHost();
String user_id = ((SystemtapSettingDialog)setting).getUserID();
String systemtap_script = ((SystemtapSettingDialog)setting).getSystemtapScript();
String systemtap_args = ((SystemtapSettingDialog)setting).getSystemtapArgs();
-
-
- SystemtapModel op=new SystemtapModel(metadata_location,remote_host, user_id, systemtap_script,
- systemtap_args,window.getShell().getDisplay());
- try {
- op.process(new NullProgressMonitor());
- return true;
- }catch (Exception e) {
- e.printStackTrace();
- MessageDialog.openError(window.getShell(),
- "Systemtap",
- e.getMessage());
+
+ if(setting.open() == BaseSettingDialog.OK) {
+ IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
+ SystemtapModel op = new SystemtapModel(metadata_location,remote_host, user_id, systemtap_script,
+ systemtap_args,window.getShell().getDisplay());
+ try {
+ progressService.busyCursorWhile(op);
+ }catch (InterruptedException e) {
+ //user cancelled
+ }catch (Exception e) {
+ e.printStackTrace();
+ MessageDialog.openError(window.getShell(),
+ "Systemtap",
+ e.getMessage());
+ }
}
-
return false;
}
--
1.7.9.5
More information about the yocto
mailing list