RCP Resources Plugin nutzen und erweitern... aber wie?

mandypb86

Mitglied
Hallo zusammen,

ich würde gerne in meiner RCP-Anwendung das Resources-Plugin nutzen und auf meine Bedürfnisse erweitern.

Sagen wir, die Struktur von IProject -> (IFolder) -> IFile würde mit anderen Begriffen auf mein Projekt passen, nämlich Anlässe -> (Jahr) -> Datei ... die Klammersachen wären optional.

Jetzt hab ich gelesen, dass man Resources ja Persistent Properties zuweisen kann. Könnte ich mit dem Ansatz quasi mein "Model" erzeugen? Also dass ich irgendwie die Resources von eclipse nutzen kann (wegen dem ganzen ResourceChanged etc. käme mir das sehr gelegen)?

Ich stell mir das grad irgendwie so vor, dass ich IProject mit der Klasse/Interface Anlässe wrappe (Stichwort Adapter?? ) und über Persistent Resource Properties weitere Eigenschaften hinzufüge...

Macht das überhaupt Sinn oder ist das vollkommener Quatsch?

Und dann wär da noch die Sache mit der Project Explorer View, die ich gerne nutzen würde. Wie krieg ich die geöffnet? ViewID? Und in welchem Plugin steckt die (falls nicht in Resources)?

Im Grunde will ich einfach nicht die ganzen Dateihandling-Sachen neu schreiben müssen, wenn es da ja schon (das Resource?)Plugin für gibt.

Hoffe, ich hab mich nicht allzu unverständlich ausgedrückt.

Lieben Gruß und schönen Abend
M@ndy
 
IFile usw. darfst du schonmal definitiv nicht selbst implementieren, diese Möglichkeit fällt also aus.
Den Project Explorer kannst du aber dennoch verwenden, da er CNF (Common Navigator Framework) basiert ist.
Dieses Stichwort sollte eigentlich schon reichen um dich zu den richtigen Tutorials zu bringen...

Und dann wär da noch die Sache mit der Project Explorer View, die ich gerne nutzen würde. Wie krieg ich die geöffnet? ViewID? Und in welchem Plugin steckt die (falls nicht in Resources)?
Hilfe zur Selbsthilfe: Mit Alt + Shift + F1 öffnet sich der Plugin-Spy diese Tastenkombination muss jeder Eclipse Entwickler kennen 😉
 
Hallo nochmal,

nachdem ich nun ein paar Tage gebastelt hab (CNF war ein gutes Stichwort, hab auch genügend Tutorials gefunden, danke für den Hinweis), stellt sich mir noch eine weitere Frage.

Ich habe ein Tutorial gefunden, was beschreibt, wie man die "Switch Workspace" - Funktion selbst einbindet und das läuft auch soweit. .metadata wird angelegt, also wird der Workspace von meiner App auch als solcher genutzt.

Mal angenommen da sind jetzt schon Dateien und Ordner drin, die aber keine eclipse-Projects sind, also es existiert kein .project oder Ähnliches, ich möchte aber, dass die in meinem Navigator angezeigt werden (sollte mit CNF funktionieren) und beim Bearbeiten und Speichern oder neu anlegen auch wieder im Workspace landen.

Macht eclipse das nun automatisch oder muss ich dafür irgendwie mit IProject, IFolder, IFile rumhantieren? Wenn ich rumhantieren muss, wie realisier ich das am Besten? Vermute mal IAdaptable, aber wenn ich getAdapter(IProject.class) mache, kann ich ja nicht wirklich ein neues IProject "Object" anlegen, weil das ist ja ein Interface und kein "richtiges" Objekt.

Hoffe, mein Anliegen ist klar geworden.

Lieben Gruß und schönen Abend noch
M@ndy
 
Nun, du musst dich entscheiden. Wenn du IFolder/IFile Objekte haben willst, dann musst du eine .project anlegen, anders geht es nicht. Um das zu tun genügt es für alle Verzeichnisse im Workspace (auf Dateisystemebene mit java.io.File) zu iterieren und dann getProject("dirname").create() aufzurufen. Dann wird das Projekt im Workspace sichtbar und eine .project wird angelegt.
Wenn du keine Eclipse Projekte möchtest, dann hast du 2 Möglichkeiten:
1. Wie gesagt CNF, aber mit eigenen Objekten, nicht IFile oder IFolder, die sind für Projekte reserviert
2. Eclipse Filesystem (EFS) verwenden. EFS wird unter anderem verwendet um Remote Dateisysteme in Eclipse einzubinden. Es ist sehr einfach das lokale Dateisystem per EFS zu wrappen.
Wenn du dich für EFS entscheidest bekommst du allerdings auch keine IFiles, sondern IFileStores.
 
Hallo SirWayne [edit: ähm.... Wildcard meinte ich natürlich, SorrySorrySorry 😳],

muss mich hier nochmal für den Hinweis zu EFS bedanken. Habe es kennen und lieben gelernt. Wenn man die ersten Tücken erstmal überwunden hat (URIs mögen keine Backslashes und Spaces), will man gar nichts anderes mehr benutzen.
Schade, dass es dazu bisher noch so wenig Doku-Material gibt, vor allem, wenn man zum Rätsel-Raten eigentlich keine Zeit hat.

Nichtsdestotrotz: feine Sache und genau das, was ich gesucht habe. CNF in Kombination mit EFS in den Models ist jetzt meine Lösung. Danke.

Gruß
M@ndy
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben