fabian_koenig
I'm new here

Wie funktioniert der Skript-Aufruf per MenuItem?

Jump to solution

Hallo,

ich habe ein Modul, welches ich per Right-Click-Context aufrufen kann. Jetzt möchte ich das Skript aber vom FS Menü aus aufrufen. Die Umstellung in FS ist ja ganz einfach, damit das Skript im Menü erscheint. Aber wie muss ich nun mein Modul anpassen?

In meiner Klasse habe ich eine execute()-Funktion:

public Object execute(ContextMenuContext context) throws ExecutionException {}

Stimmt hier überhaupt ContextMenuContext?

Allerdings bringt der Klassenname dann eine Fehlermeldung:

"The type CLASSNAME must implement the inherited abstract method Executable.execute(Map<String,Object>)"

Vielen Dank und Liebe Grüße!

0 Kudos
1 Solution

Accepted Solutions

Habs hinbekommen! Ich musste lediglich "ProjectScriptContext" anstatt "GuiScriptContext" benutzen.

ProjectScriptContext context = (ProjectScriptContext) params.get("context");

View solution in original post

0 Kudos
5 Replies
thmarx
I'm new here

Hallo Fabian,

du kannst dich per Java nur an den hier beschriebenen Stellen einklinken: Interactive Features

Möchtest du in das "Normale Menü", könntest du ein Skript schreiben, welches einfach deine Executable aufruft.

Viele Grüße

Thorsten Marx

0 Kudos

Hallo Thorsten,

erstmal vielen Dank für die Antwort. Ich komme leider nicht auf den Link, da ich keine Login-Daten habe.

Genau, ich möchte meine Executable-Funktion mit dem "normalen Menü" aufrufen, weiß aber nicht was ich nun umbauen muss.

So sieht der Aufruf für den Rechts-Click aus:

public Object execute(Map<String, Object> params) throws ExecutionException {

                    GuiScriptContext context = (GuiScriptContext) params.get("context");

0 Kudos

Hallo Fabian,

hier findest du die Zugangsdaten: https://community.e-spirit.com/docs/DOC-1041

Gruß

Thorsten

0 Kudos

Vielen Dank!

Allerdings wird auf der Seite nur das Context-Menu und Toolbar-Menu gezeigt. Ich möchte mein Skript aber über das Menü ausführen (siehe Screen).

Dazu finde ich keine Informationen.Screenshot 2015-09-11 11.44.11.png

UPDATE:

Meine Execute-Funktion wird ausgeführt, allerdings bekomme ich mein Element mit getElement() nicht mehr. Da wird immer null zurückgeliefert.

GuiScriptContext context = (GuiScriptContext) params.get("context");

context.getElement() (Ergebnis: NULL)

0 Kudos

Habs hinbekommen! Ich musste lediglich "ProjectScriptContext" anstatt "GuiScriptContext" benutzen.

ProjectScriptContext context = (ProjectScriptContext) params.get("context");

0 Kudos