Questions & Answers

SOLVED
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

Type a product name