# Package Explorer get Selection



## ManIHang (30. Mrz 2012)

Hallo Leute, 

bin gerade dabei aus Testzwecken ein kleines Plugin zu erstellen. Was ich erreichen möchte ist: Wenn eine Datei im PackageExplorer ausgewählt wird, sollte es mir innerhalb einer anderen View den Pfad des ausgewählten Objektes anzeigen.

Das ganze sollte ähnlich der Properties View sein wo ich bei der Auswahl der Datei den Pfadnamen und weitere Informationen erhalte. Realisiert aber mit einem Table Viewer. Derzeit hätte ich es mit einem ISelectionListener probiert, problem ist, dass ich nicht auf meinen Dateinamen, bzw. Dateipfad komme.


```
ISelectionListener listener = new ISelectionListener() {
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
if (part.getTitle().equals("Package Explorer")) {
System.out.println(selection.toString());
}
}
};
```

Ausgabe: 

```
<empty selection>
[Test
  src
    <default> (...)
  C:\Program Files\Java\jre6u26\lib\resources.jar (not open)
  C:\Program Files\Java\jre6u26\lib\rt.jar (not open)
  C:\Program Files\Java\jre6u26\lib\jsse.jar (not open)
  C:\Program Files\Java\jre6u26\lib\jce.jar (not open)
  C:\Program Files\Java\jre6u26\lib\charsets.jar (not open)
  C:\Program Files\Java\jre6u26\lib\ext\dnsns.jar (not open)
  C:\Program Files\Java\jre6u26\lib\ext\localedata.jar (not open)
  C:\Program Files\Java\jre6u26\lib\ext\sunjce_provider.jar (not open)
  C:\Program Files\Java\jre6u26\lib\ext\sunmscapi.jar (not open)
  C:\Program Files\Java\jre6u26\lib\ext\sunpkcs11.jar (not open)]
[src [in Test]
  <default> (...)]
[org.eclipse.jdt.internal.ui.packageview.ClassPathContainer@59c70bb1]
[org.eclipse.jdt.internal.ui.packageview.ClassPathContainer@59c70bb1]
[<default> [in src [in Test]]
  test.java (not open)
  [Working copy] hello.java
    class hello]
[[Working copy] hello.java [in <default> [in src [in Test]]]
  class hello]
[test.java [in <default> [in src [in Test]]]
  class test]
[[Working copy] hello.java [in <default> [in src [in Test]]]
  class hello]
[test.java [in <default> [in src [in Test]]]
  class test]
[[Working copy] hello.java [in <default> [in src [in Test]]]
  class hello]
```

Es sollte aber so funktionionieren, hierbei wurde aber das Ausgewählte Element in der Editor View verwendet:

```
String fileId = "java";
IFile file = (IFile) part.getSite().getPage().getActiveEditor().getEditorInput().getAdapter(IFile.class);
if (file != null) {
IPath filePath = file.getProjectRelativePath();
if (filePath.getFileExtension().contains(fileId)) {
System.out.println(filePath.toString());
}
}
```

Viele Grüße, ManIHang


----------



## maestr0 (30. Mrz 2012)

Hey ManIHang,

hatte ein ähnliches Problem,schau dir mal die Seite an Eclipse Workbench: Using the Selection Service.
Relativ weit unten findest du das *com.mountainminds.eclipse.selectionsample_1.1.0.jar* Plugin,welches du in eclipse importierst und dir dann mal den quellcode anschaust.solltest dann schnell drauf kommen wie das ganze funktioniert.


----------



## ManIHang (30. Mrz 2012)

Danke für den Link, das Beispiel hat mir sehr geholfen.


----------

