| <?xml version="1.0" encoding="UTF-8"?> |
| <cheatsheet |
| title="Create a script that runs on a Papyrus UML Model"> |
| <intro> |
| <description> |
| This cheat sheet shows how to create a simple python script that shows the name of the selected element in a UML model. |
| |
| This guide supposes you've already have a Papyrus UML model. |
| </description> |
| </intro> |
| <item |
| title="Open the model"> |
| <description> |
| If you're not already in the Papyrus perspective, in the main meny select <b>Window</b> > <b>Open Perspective</b> > <b>Java</b> or click on the "Click to Perform" link below. |
| <br></br> |
| After you are in the Papyrus perspective, select the model where you want to execute a script. |
| </description> |
| <command |
| required="false" |
| serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.papyrus.infra.core.perspective)"/> |
| </item> |
| |
| <item |
| title="Create a script folder"> |
| <description> |
| One way of organizing the structure of the project is having a separate folder for the script files that will contain the functionalities used. |
| <br></br> |
| In the Project Explorer view, go to your Papyrus project and create a new folder called "Scripts". |
| </description> |
| </item> |
| |
| <item |
| title="Mark the folder as a script location"> |
| <description> |
| You need to indicate that the folder you've just created contains scripts that need to be available to the EASE environment. In order to do that go to <b>Window</b> > <b>Preferences</b> > <b>Scripting</b> > <b>Script Locations</b> |
| <br></br> |
| There click on the <b>Add Workspace...</b> button and pick the folder created in the previous step. |
| </description> |
| <command |
| required="true" |
| serialization="org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.ease.preferences.scriptLocations)"/> |
| </item> |
| |
| <item |
| title="Create the script"> |
| <description> |
| Now you are set up for creating the script and specifying a new simple functionality. |
| <br></br> |
| Create the file "script.py" in your script folder, and add the following code: |
| <br></br> |
| <br> </br> |
| <b># name: Show Name</b> |
| <br> </br> |
| <b># papypopup : enableFor(org.eclipse.uml2.uml.Element)</b> |
| <br> </br> |
| <b># sengine: org.eclipse.ease.javascript.nashorn</b> |
| <br> </br> |
| <br> </br> |
| <b>PAPYRUS = loadModule("/Modeling/Papyrus")</b> |
| <br> </br> |
| <b>UI = loadModule("/System/UI")</b> |
| <br> </br> |
| <br> </br> |
| <b>elm = PAPYRUS.getSelectionElement()</b> |
| <br> </br> |
| <b>UI.showInfoDialog(elm.getName(), "Element Name...")</b> |
| <br> </br> |
| </description> |
| </item> |
| |
| <item |
| title="Run the script"> |
| <description> |
| You should now be able to test the script. The entry point of the sample script is configured to be at a contextual menu when you right-click any UML element. |
| <br></br> |
| So, in the Model Explorer, go to any UML Element, click with the right button and you should see a new command called "Show Element Name". |
| </description> |
| </item> |
| </cheatsheet> |