changeset 194:f3a608f17a39

(no commit message)
author one
date Wed, 31 Dec 2008 16:27:59 +0900
parents 3133040ee4f4
children 4c6f7c6a2180
files src/remoteeditor/action/RemoteEditorAction.java
diffstat 1 files changed, 29 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
--- a/src/remoteeditor/action/RemoteEditorAction.java	Wed Dec 31 15:06:22 2008 +0900
+++ b/src/remoteeditor/action/RemoteEditorAction.java	Wed Dec 31 16:27:59 2008 +0900
@@ -1,49 +1,27 @@
 package remoteeditor.action;
 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.InputStream;
-
-//import org.eclipse.core.resources.IContainer;
-//import org.eclipse.core.resources.IFile;
-//import org.eclipse.core.resources.IProject;
-//import org.eclipse.core.resources.IWorkspace;
-//import org.eclipse.core.resources.IWorkspaceRoot;
-//import org.eclipse.core.resources.ResourcesPlugin;
-//import org.eclipse.core.runtime.CoreException;
-//import org.eclipse.core.runtime.IPath;
-//import org.eclipse.core.runtime.Path;
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
-//import org.eclipse.ui.IViewPart;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.internal.editors.text.UntitledTextFileWizard;
 import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.views.IViewDescriptor;
-//import org.eclipse.ui.internal.Workbench;
-//import org.eclipse.ui.internal.WorkbenchPage;
-//import org.eclipse.ui.views.IViewDescriptor;
 
-import remoteeditor.ui.REPSelectWindow;
-import remoteeditor.ui.RepInputDialog;
+import remoteeditor.editors.REPEditor;
+import remoteeditor.editors.REPTextImpl2;
 
+@SuppressWarnings("restriction")
 public class RemoteEditorAction implements IWorkbenchWindowActionDelegate {
 	
+	private IDocument document;
+
 	public RemoteEditorAction(){
 		
 	}
@@ -57,36 +35,28 @@
 	}
 
 	public void run(IAction action) {
-		
-		
-		
 		System.out.println(action.getId());
 		if(action.getId().equals("EclipseRemoteEditor.action1")){
 			IWorkbench workbench = PlatformUI.getWorkbench();
-			//Display display = workbench.getDisplay();
 			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
 			IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
 			IEditorPart editorPart = workbenchPage.getActiveEditor();
-			//System.out.println(editorPart.getEditorInput().toString());
 			IEditorInput editorinput = editorPart.getEditorInput();
-			workbenchPage.closeEditor(editorPart, true);
+			Display display = workbench.getDisplay();
 			
-			//エディタの外からファイルバッファへアクセスする方法
-//			IPath path = new Path(editorinput.getName());
-//			ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
+//			TextEditor 外部から IDocument を取得する方法
+			ITextEditor editor = (ITextEditor) editorPart;
+			document = editor.getDocumentProvider().getDocument(editorinput);
+			REPEditor repEditor = new REPEditor(new REPTextImpl2(document, display), true);
+			repEditor.start();
+
+//			workbenchPage.closeEditor(editorPart, true);
 //			try {
-//				manager.connect(path, null);
-//			} catch (CoreException e1) {
-//				e1.printStackTrace();
+//				editorPart = workbenchPage.openEditor(editorinput, "remoteeditor.editors.RemoteEditor");
+//			} catch (PartInitException e) {
+//				e.printStackTrace();
 //			}
-//			ITextFileBuffer buffer = manager.getTextFileBuffer(path);
-//			IDocument document = buffer.getDocument();
 			
-			try {
-				editorPart = workbenchPage.openEditor(editorinput, "remoteeditor.editors.RemoteEditor");
-			} catch (PartInitException e) {
-				e.printStackTrace();
-			}
 		}else if(action.getId().equals("EclipseRemoteEditor.action2")){
 			IWorkbench workbench = PlatformUI.getWorkbench();
 		
@@ -98,12 +68,19 @@
 			IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
 			IEditorPart editorPart = workbenchPage.getActiveEditor();
 			IEditorInput editorinput = editorPart.getEditorInput();
-			workbenchPage.closeEditor(editorPart, true);
-			try {
-				editorPart = workbenchPage.openEditor(editorinput, "remoteeditor.editors.RemoteEditor");
-			} catch (PartInitException e) {
-				e.printStackTrace();
-			}
+			Display display = workbench.getDisplay();
+			
+			ITextEditor editor = (ITextEditor) editorPart;
+			document = editor.getDocumentProvider().getDocument(editorinput);
+			REPEditor repEditor = new REPEditor(new REPTextImpl2(document, display), false);
+			repEditor.start();
+			
+//			workbenchPage.closeEditor(editorPart, true);
+//			try {
+//				editorPart = workbenchPage.openEditor(editorinput, "remoteeditor.editors.RemoteEditor");
+//			} catch (PartInitException e) {
+//				e.printStackTrace();
+//			}
 		}
 		/*
 		IWorkbench workbench = PlatformUI.getWorkbench();