Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrescobar2009-03-19 03:49:54 +0000
committerrescobar2009-03-19 03:49:54 +0000
commit45b3561829b939f15fd3ef4c5befb0d76b157caa (patch)
tree5375955e4f037480ecc8981c6904c79c6882c530 /org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render
parentf3edae3aab5d63c6896069d328a0a7c8b47444ed (diff)
downloadorg.eclipse.osee-45b3561829b939f15fd3ef4c5befb0d76b157caa.tar.gz
org.eclipse.osee-45b3561829b939f15fd3ef4c5befb0d76b157caa.tar.xz
org.eclipse.osee-45b3561829b939f15fd3ef4c5befb0d76b157caa.zip
"Team Workflow" - 9ZM4S - "Add editor selection dialog for native renderers"
Diffstat (limited to 'org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render')
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileRenderer.java1
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileSystemRenderer.java42
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/NativeRenderer.java1
3 files changed, 41 insertions, 3 deletions
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileRenderer.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileRenderer.java
index 26a67a7ef1a..14c1ad4a41b 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileRenderer.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileRenderer.java
@@ -136,5 +136,4 @@ public abstract class FileRenderer extends FileSystemRenderer {
public abstract InputStream getRenderInputStream(Artifact artifact, PresentationType presentationType) throws OseeCoreException;
- public abstract String getAssociatedExtension(Artifact artifact) throws OseeCoreException;
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileSystemRenderer.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileSystemRenderer.java
index f095fae07ae..603e345fd9d 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileSystemRenderer.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileSystemRenderer.java
@@ -21,6 +21,12 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.Branch;
import org.eclipse.osee.framework.ui.plugin.util.OseeData;
import org.eclipse.swt.program.Program;
+import org.eclipse.ui.IEditorDescriptor;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.part.FileEditorInput;
/**
* @author Ryan D. Brooks
@@ -67,12 +73,43 @@ public abstract class FileSystemRenderer extends DefaultArtifactRenderer {
}
private void internalOpen(List<Artifact> artifacts, PresentationType presentationType) throws OseeCoreException {
+ IFile file = getRenderedFile(artifacts, presentationType);
+ if (file != null) {
+ String dummyName = file.getName();
+ if (!artifacts.isEmpty()) {
+ Artifact firstArtifact = artifacts.iterator().next();
+ try {
+ Program program = getAssociatedProgram(firstArtifact);
+ program.execute(file.getLocation().toFile().getAbsolutePath());
+ } catch (Exception ex) {
+ IWorkbench workbench = PlatformUI.getWorkbench();
+ IEditorDescriptor editorDescriptor = workbench.getEditorRegistry().getDefaultEditor(dummyName);
+ if (editorDescriptor != null) {
+ try {
+ IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
+ page.openEditor(new FileEditorInput(file), editorDescriptor.getId());
+ } catch (PartInitException ex1) {
+ throw new OseeArgumentException(
+ "No program associated with the extension " + file.getFileExtension() + " found on your local machine.");
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public IFile getRenderedFileForOpen(List<Artifact> artifacts) throws OseeCoreException {
+ return getRenderedFile(artifacts, PresentationType.SPECIALIZED_EDIT);
+ }
+
+ public IFile getRenderedFile(List<Artifact> artifacts, PresentationType presentationType) throws OseeCoreException {
+ IFile toReturn = null;
if (!artifacts.isEmpty()) {
Artifact firstArtifact = artifacts.iterator().next();
IFolder baseFolder = getRenderFolder(firstArtifact.getBranch(), presentationType);
- IFile file = renderToFileSystem(baseFolder, artifacts, presentationType);
- getAssociatedProgram(firstArtifact).execute(file.getLocation().toFile().getAbsolutePath());
+ toReturn = renderToFileSystem(baseFolder, artifacts, presentationType);
}
+ return toReturn;
}
public static IFolder ensureRenderFolderExists(PresentationType presentationType) throws OseeCoreException {
@@ -133,4 +170,5 @@ public abstract class FileSystemRenderer extends DefaultArtifactRenderer {
public abstract Program getAssociatedProgram(Artifact artifact) throws OseeCoreException;
+ public abstract String getAssociatedExtension(Artifact artifact) throws OseeCoreException;
} \ No newline at end of file
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/NativeRenderer.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/NativeRenderer.java
index 5467815ba1a..5065c12f527 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/NativeRenderer.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/NativeRenderer.java
@@ -42,6 +42,7 @@ public class NativeRenderer extends FileRenderer {
if (presentationType == PresentationType.SPECIALIZED_EDIT) {
commandIds.add("org.eclipse.osee.framework.ui.skynet.nativeeditor.command");
+ commandIds.add("org.eclipse.osee.framework.ui.skynet.othereditor.command");
}
return commandIds;

Back to the top