Pomocí skriptu lze vložit do nabídky Obslužné programy jednu nebo více položek nabídky. K tomu se v příslušném skriptu používá atribut [DeclareMenu] a tímto atributem se vyvolá funkce MenuFunction(). Až se pak skript načte, vygeneruje se položka nabídky stanovená funkcí AddMenuItem.
Obecná struktura příslušného skriptu C# pak vypadá následovně:
public class <ScriptName> { [DeclareMenu] public void MenuFunction() { Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); oMenu.AddMenuItem("<MenuText>","<ActionName>"); } }
Položka nabídky je vždy propojena s akcí, která je vyvolána, když se položka nabídky vykoná. To znamená, že buď skript ohlásí další akci (pomocí [DeclareAction]) nebo že položka nabídky bude přiřazena již existující akci.
Následující příklad uvádí skript v C#, který ohlásí akci a položku nabídky:
public class RegisterScriptMenu { [DeclareAction("MyScriptActionWithMenu")] public void MyFunctionAsAction() { MessageBox.Show("MyFunctionAsAction was called!", "RegisterScriptMenu"); return; } [DeclareMenu] public void MenuFunction() { Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); oMenu.AddMenuItem("MyMenuText", "MyScriptActionWithMenu"); } }
Ve výše uvedeném příkladu vygeneruje funkce AddMenuItem() ze třídy Eplan.EplApi.Gui.Menu novou položku nabídky MyMenuText a propojí ji s akcí MyScriptActionWithMenu.
Stejný příklad vypadá ve Visual Basic.Net následovně:
Public Class RegisterScriptMenu <DeclareAction("MyScriptActionWithMenu")> _ Public Sub MyFunctionAsAction() MessageBox.Show("MyFunctionAsAction was called!", "RegisterScriptMenu") Return End Sub 'MyFunctionAsAction <DeclareMenu()> _ Public Sub MenuFunction() Dim oMenu As New Eplan.EplApi.Gui.Menu() oMenu.AddMenuItem("MyMenuText", "MyScriptActionWithMenu") End Sub 'MenuFunction End Class 'RegisterScriptMenu
Viz také