SWT Drag&Drop: Eclipse FileTransfer mit Icons

  • Themenstarter Themenstarter ThomasKiii
  • Beginndatum Beginndatum
T

ThomasKiii

Gast
Hi,

ich hab hier eine DragDrop Klasse, die mir für Java-source files beim Droppen die Pfade der Dateien liefert. Ich möchte aber zusätzlich an die Icons ran, die neben jedem Sourcefile in Eclipse angezeigt werden.

Also nicht nur die Pfade zu den Dateien, sondern auch welches Icon (wenn vorhanden) mit einer Datei assoziiert wird. Ich nehme derzeit als Transfertyp den FileTransfer.getInstance(), der kan das scheinbar nicht - gibt es einen vordefinierten Transfertyp der mir die Icons mit liefert?
 
Das Icon wird ja auch nicht mit übertragen, das stellt Eclipse nur so da. Die Source-Files sind ganz normale Datein mit der Endung .java, da steckt nirgends ein Icon drin
 
hm,

habe ich den sonst eine Möglichkeit da irgendwie dran zu kommen? Ich würde das Icon halt schon gerne haben. Haben die ggf. fixe relative positionen wo ich mir das icon dann von laden kann?
Ich möchte halt diverse Dinge mit referenz und icon in einer view speichern. Die icons dienen halt zur besseren Orientierung und dem wiedererkennen.
 
hm,

habe ich den sonst eine Möglichkeit da irgendwie dran zu kommen? Ich würde das Icon halt schon gerne haben. Haben die ggf. fixe relative positionen wo ich mir das icon dann von laden kann?
Ich möchte halt diverse Dinge mit referenz und icon in einer view speichern. Die icons dienen halt zur besseren Orientierung und dem wiedererkennen.

Ich check dein Problem nicht.
Such das Icon in dem Plugin und leg es in deines hinein.
Liegt in dem plugin org.eclipse.jdt.ui icons/full/obj16/jcu_obj.gif.
Oder lad es aus Plugin per java code raus, musst mal wildcard fragen wie man images aus anderen plugins heraus laden kann, geht bestimmt irgendwie
 
Zuletzt bearbeitet von einem Moderator:
Hi,

ich mach das zum ersten mal, sry für die vermutlich offensichtlichen Fragen, aber ich konnte dazu nichts finden.

Wie sag ich dem Package-Explorer z.B., dass er mir das icon für ein source-file rausrücken soll (wenn ich da hinaus drage) ?
 
Hi,

ich mach das zum ersten mal, sry für die vermutlich offensichtlichen Fragen, aber ich konnte dazu nichts finden.

Wie sag ich dem Package-Explorer z.B., dass er mir das icon für ein source-file rausrücken soll (wenn ich da hinaus drage) ?

Gar nicht. Das ist ein ganz normales File, daran ist doch kein Icon gehängt.
 
Wie krieg ich den das icon, dass Eclipse mit Java-Source files assoziiert, irgendwo müssen die ja liegen?
 
Ahh, ok. sorry, überlesen.

wie lade ich den diese icons relativ zur plugin/projekt position :/?
 
Ja sorry,

also ich hab einen icons ordner, der liegt im root von meinem projekt. Die icons die dort drin liegen will ich laden. Ich hab recht viel gelesen über ImageRegistry, ImageDescriptor und lazyloading usw.

Nur, was ich gefunden hab impliziert, dass die bilder im selben package liegen müssen, wie eine Klasse deren position ich im parameter angeben muss.

z.B.:

Code:
registry.put("folder", ImageDescriptor.createFromFile(SomeClass.class, "folder.gif"));

Das finde ich "nicht richtig", ich muss doch einen richtigen Ordner angeben können, von wo das geladen werden kann?
 
Ah, ok.

Der Zugriff auf meinen root-level ordner icosn, um die imageDescriptoren zu erzeugen mach ich dann über Platform.getBundle("com.xxxx").... oder gibts da einen schöneren Weg? Eclipse markiert mir das nämlich kräftig mit gelb um mir zu sagen, dass das wohl nicht der Beste weg ist?
 
Hm, der Zugriff auf meine activator-klasse gelingt mir irgendwie nicht

Code:
// The shared instance
	private static Activator plugin;

	public void start(BundleContext context) throws Exception {
		super.start(context);
		plugin = this;
	}

	public void stop(BundleContext context) throws Exception {
		plugin = null;
		super.stop(context);
	}

	public static Activator getDefault() {
		return plugin;
	}

Wenn ich im code getDefault aufrufe, ist plug-in immer "null", was mach ich falsch? Ich komme nicht an die Sachen ran, die ich von AbstractUIPlugin erbe
 
man muss im manifest aktivieren, dass das plugin geladen wird, sobald eine klasse des plugins geladen wird.......hoch effiziente Zeitvernichtung -.-
 

Zurück
Oben