IAction und KeyBinding

Status
Nicht offen für weitere Antworten.

dzim

Top Contributor
Hi @all

Bereits seit längerem arbeite ich mit KeyBindings - ohe die würde eine Applikation ja mitunter auch recht sinnfrei sein.
Ich habe Auch in Bezug auf meine Arbeit mit Eclipse Forms versucht der IAction ein KeyBinding zu geben.

Bei mir soll dieses Keybinding nicht in irgendwelche Menüs, sondern nur innerhalb des Editor gültig sein, der die entsprechende Action unter anderem seiner Toolbar hinzufügt.

setAccelerator(int) wird nicht mehr empfohlen, aber die in der JavaDoc genannten Klassen sind teilweise schon deprecated und die finalre Referenz, die Site aus dem Editor hat die genannten Methoden nicht...

Wie also kann ich ein nur innerhalb des Editor gültiges KeyBinding erstellen?
Nur noch über die Extensions?

Danke wieder einmal für eure Hilfe!

Daniel
 

dzim

Top Contributor
Hi Lars,

also ich finde das Thema mittlerweile recht komplex, weil man ja mitllerweise - wieviel? vier? - massig Extensions verwalten muss - actions, commands, bindings, menus, ...

Ich wollte das ja gar nicht so extem... ich will meine IActions ja an eine Form anbinden - nicht an den ganzen EditorPart.
Aber dennoch wird mir dein Tutorial sicher weiterhelfen, da ich derzeit noch im ApplicationActionBar-dingens die erweiterbare Toolbar Programmatisch eingebaut habe und nicht komfortabler per Extensions...

In einem anderen Thread hast du geschrieben, das Actions nicht mehr verwendet werden - meinst du damit die programatische Anbindung von Actions an Toolbars/... sondern das alles nur noch über extensions läuft?

Vielen Dank jedenfalls soweit - ich hatte schon nicht mehr geglaubt, das noch jemand auf meinen Post reagiert :)

Daniel
 

vogella

Bekanntes Mitglied
Hallo,

ich meine, daß Actions gar nicht mehr verwendet werden sollten, sondern nur noch Commands. Schau mal in mein Tutorial...
 

dzim

Top Contributor
Ach so... ich glaub ich hab dich da etwas missverstanden:

Ich dachte du meinst IAction-Klassen, die man programatisch an Toolbars in einer UI anhängt, aber ich glaube du meinst die Actions aus den Extensions.
Aber wie macht man dann so was wie ActionSets, wenn man sie nicht verwendet?
 

dzim

Top Contributor
Hi Lars,

ich hab ein bisschen damit gespielt und stimme dir jetzt in Punkto verwendbarkeit zu, aber ich sehe noch ein zwei kleine Problem, die es mir bislang nicht lösen konnte und ich sehe auch dazu bisher noch keinen weg das zu umgehen.
Perspective-Customizing: Die so hinzugefügten Toolbars sind unbenannt - bei ActionSets holen sie sich den Namen aus der Extension. Im Reiter "Command Groups Availability" taucht natürlich auch kein zu (de-)aktivierendes ActionSet auf (ok, das ist logisch, aber so ist man voll und ganz auf die unbenannten "Toolbar Visibilities" und "Menu Visibilities" angewiesen, wenn man etwas aktivieren oder deaktivieren will).
Darüber hinaus ist mir noch nicht klar, wie man in "System"-Menüs, wie etwa File etwas einfügen kann, da ein eigenes "File" separat zu dem original stehen würde und ich nicht alle Menüs selbst nachbauen will (zumal einige Plugins per Default Items in bestimmte Menüs hinein schreiben...
Gibt es da auch einen Weg?

Viele Grüße,
Daniel
 

vogella

Bekanntes Mitglied
Deine erste Teilfrage verstehe ich nicht. Zum zweiten Punkt: Du kannst Einträge zum existierenden Menu hinzufügen, wenn Du die gleiche ID verwendest.
 

dzim

Top Contributor
Hallo Lars,

vielen Dank für die Antwort! Das mit den ID's hätt ich mir auch selbst denken können - es klappt natürlich!

Mit der anderen Frage meinte ich vor allem, das im "Perspective Customizing" die Toolbars nicht benannt sind, nachdem ich sie über org.eclipse.ui.menus hinzugefügt habe. Gibt es da eine Möglichkeit, diese mit einem Namen zu versehen?

Der rest ist vermultich nicht so wichtig...

Vielen dank noch mal und Grüße,
Daniel
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben