Kontextmenü des X++-Editors in Dynamics AX 2012 erweitern

Voreinigen Jahren hatte ich schon mal einen Beitrag über die Klasse EditorScripts geschrieben. Das ist nämlich jene, mit deren Hilfe man die Funktionalität des X++-Editors recht einfach erweitern kann.

Beispielsweise kann man das Kontextmenü des Editors einfach erweitern, in dem man in der Klasse Methoden erstellt.

Diese Methoden müssen lediglich einige Kriterien erfüllen, das sind u.a.:

  • Der erste und einzige Parameter muss vom Typ Editor sein
  • Die Methode muss public sein
  • Die Methode darf nichts retournieren (void)

X++-Editor

Welche weitere Kriterien sie erfüllen muss, kann man in der Methode EditorScripts.isApplicableMethod() nachlesen.

Sind diese Kriterien erfüllt, kann man über die Benennung der Methode sogar die Menüstruktur steuern, dabei wird der Unterstrich "_" als Trennzeichen genutzt.

Die folgende Methode würde beispielsweise ein Untermenü MyExtensions mit einem Eintrag Example erzeugen.

//AOSRunmode::Client
public void MyExtensions_Example(Editor _editor)
{
    //...do something...
}

X++-Editor Example

Auch verschachtelte Untermenüs sind so möglich:

//AOSRunmode::Client
public void MyExtensions_Examples_Example1(Editor _editor)
{
    //...do something...
}

X++-Editor Example

Weiters wird durch die Benennung der Methode  indirekt ein Schlüsselwort definiert, welches im Editor ähnlich wie FOR, WHILE, SWITCH,… in Kombination mit der Tabulatortaste  verwendet werden können.

Das Schlüsselwort ist jenes, nach dem letzten _ des Methodennamen.
Im folgenden Beispiel wäre "devVersion" (Gross-/Kleinschreibung beachten) das Schlüsselwort.

public void template_method_devVersion(Editor _editor)
{
    // do something
}

Über die oben genannte Methode EditorScripts.isApplicableMethod() kann man übrigens auch steuern, wann eine Methode angeboten werden soll.

Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2012

Kommentar hinzufügen
 
 

 

 
 
 
Beiträge des aktuellen Monats
Februar 2020
MoDiMiDoFrSaSo
 12
3456789
10111213141516
17181920212223
242526272829 
 
© 2006-2020 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu