# HG changeset patch # User one # Date 1230708479 -32400 # Node ID f3a608f17a39b8da2e271f7edf7021f99d0e0fc4 # Parent 3133040ee4f4a0583ba516a2ba5b4ae67404f5e4 (no commit message) diff -r 3133040ee4f4 -r f3a608f17a39 src/remoteeditor/action/RemoteEditorAction.java --- 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();