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. |