|
From: <bh...@us...> - 2006-10-19 17:47:20
|
Revision: 302
http://svn.sourceforge.net/cishell/?rev=302&view=rev
Author: bh2
Date: 2006-10-19 10:47:11 -0700 (Thu, 19 Oct 2006)
Log Message:
-----------
fixed File/View to work on Linux correctly
Modified Paths:
--------------
trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/view/FileView.java
Modified: trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/view/FileView.java
===================================================================
--- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/view/FileView.java 2006-10-19 17:46:36 UTC (rev 301)
+++ trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/view/FileView.java 2006-10-19 17:47:11 UTC (rev 302)
@@ -7,20 +7,18 @@
import java.nio.channels.FileChannel;
import java.util.Dictionary;
-import org.osgi.service.log.LogService;
-
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.IWorkbenchWindow;
-
import org.cishell.framework.CIShellContext;
import org.cishell.framework.algorithm.Algorithm;
import org.cishell.framework.data.Data;
+import org.cishell.service.conversion.Converter;
import org.cishell.service.conversion.DataConversionService;
import org.cishell.service.guibuilder.GUIBuilderService;
-import org.cishell.service.conversion.Converter;
+import org.eclipse.swt.program.Program;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.osgi.service.log.LogService;
/*
* @author Weixia(Bonnie) Huang (hu...@in...)
@@ -32,8 +30,9 @@
DataConversionService conversionManager;
static GUIBuilderService guiBuilder;
LogService logger;
+ Program program;
+ File tempFile;
-
public FileView(Data[] data, Dictionary parameters, CIShellContext context) {
this.data = data;
this.parameters = parameters;
@@ -67,12 +66,11 @@
public Data[] execute() {
boolean lastSaveSuccessful = false;
String format;
- File tempFile;
+
Display display;
IWorkbenchWindow[] windows;
final Shell parentShell;
-
windows = PlatformUI.getWorkbench().getWorkbenchWindows();
if (windows.length == 0){
return null;
@@ -107,19 +105,26 @@
}
}
}
- //display the file content
- Program program = Program.findProgram("txt");
+
+
+ Display.getDefault().syncExec(new Runnable() {
+ public void run() {
+ program = Program.findProgram("txt");
+ }});
+
if (program == null) {
guiBuilder.showError("No Text Viewer",
"No valid text viewer for the .txt file. " +
"The file is located at: "+tempFile.getAbsolutePath(),
"Unable to open default text viewer. File is located at: "+
tempFile.getAbsolutePath());
- return null;
}
else {
if (lastSaveSuccessful == true) {
- program.execute(tempFile.getAbsolutePath());
+ Display.getDefault().syncExec(new Runnable() {
+ public void run() {
+ program.execute(tempFile.getAbsolutePath());
+ }});
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|