2016-05-10 14 views
0

Ich arbeite an einer RCP-Anwendung und möchte etwas beim Öffnen einer Datei im Editor machen. Dazu schrieb ich folgende:Wie kann ich meine eigene Klasse verbinden?

public class MyFileEditorInput extends FileEditorInput { 

    public MyFileEditorInput(IFile file) { 
     super(file); 
     // TODO Auto-generated constructor stub 
    } 
} 

Diese Klasse erweitert die FileEditorInput Klasse aber zu Beginn meiner Anwendung, es ist FileEditorInput, die geöffnet wird. Wie kann ich nach meiner eigenen Methode ersetzen?

+0

Wie wird die Datei geöffnet? –

+2

Welcher Editortyp? Zeigen Sie, was Sie sonst noch gemacht haben, wie z. B. die Registrierung von Erweiterungspunkten. Die Plug-In-Architektur von Eclipse bedeutet, dass Sie nicht nur Schnittstellen implementieren können, sondern sich auch an die Architektur "anschließen" müssen. –

Antwort

0

Wenn Ihr Editor von Eclipse mit einem der normalen Mechanismen geöffnet wird (z. B. Doppelklick auf die Datei oder 'Öffnen mit ...'), wird immer FileEditorInput verwendet. Du kannst das nicht ändern.

Wenn Sie öffnen Sie die Datei mit einem der IDE Klasse

IEditorPart openEditor(IWorkbenchPage page, IEditorInput input, String editorId) 

IEditorPart openEditor(IWorkbenchPage page, IEditorInput input, String editorId, boolean activate) 

Methoden oder die verschiedenen IWorkbenchPageopenEditor Methoden, die nehmen ein IEditorInput dann können Sie Ihre Editor Eingangsklasse angeben.

0

@ greg-449: Haben Sie ein Tutorial, um dies zu tun? Ich versuche, meinen eigenen Editor zu erstellen. Ich mache das in meinem Eclipse.platform.custom Plugin, ist es der gute Weg? Project Architecture