Posts

With EA-Matic you can develop add-ins for Enterprise Architect using the built-in scripting feature of EA.

This example shows how to make diagrams that maintain themselves to make sure they are always up-to-date.

The idea is that we want a diagram that shows all the relations of the owning object. The diagram should always be up-to-date without manual intervention.

EA-Matic auto_diagram

To indicate that this diagram is an automatic diagram we nest it under the class and prefix it with AUTO_ and on the diagram we place the owning object and its related elements

EA-Matic self-maintaining diagram

Usage of Enterprise Architect Add-in Framework

This script also illustrates how you can use the Enterprise Architect Add-in Framework within your script.… Read more

With EA-Matic you can develop add-ins for Enterprise Architect using the built-in scripting feature of EA.

This example shows how you can prevent deleting elements that are still being used as a type in either an attribute or parameter.

The script uses the EA_OnPreDeleteElement event to first check whether the element is not still used.

If an attribute using this element as type is found then the element is not deleted and the user is informed with a messagebox.

EA-Matic cannot delete attribute

If it isn’t used as attribute but is used as a type in a parameter or the return type of an operation you get the following messagebox:

EA-Matic cannot delete parameter

Usage of Enterprise Architect Add-in Framework

This script also illustrates how you can use the Enterprise Architect Add-in Framework within your script.… Read more

With EA-Matic you can develop add-ins for Enterprise Architect using the built-in scripting feature of EA.

This example shows how to use the add-in menu to add your own menu and menu option, and react to the user clicking such a menu option.

With this script you can use menu options as a regular add-in would

EA-Matic Menu in Action

Download the complete script: EA-Matic MenuHandling

Step 1: defining the menu

'EA-Matic
'Tell EA what the menu options should be
function EA_GetMenuItems(MenuLocation, MenuName)
	if MenuName = "" then
		'Menu Header
		EA_GetMenuItems = "-&MyAddinMenu"
	else
		if MenuName = "-&MyAddinMenu" then
			'Menu items
			Dim menuItems(1)
			 menuItems(0) = "TreeViewMenu"
			 menuItems(1) = "DiagramMenu"
			 EA_GetMenuItems = menuItems
		 end if
	end if
end function

Step 2: define the menu state

'Define the state of the menu options
function EA_GetMenuState(MenuLocation, MenuName, ItemName, IsEnabled, IsChecked)
	if MenuName = "-&MyAddinMenu" then
		Select Case ItemName
			case "TreeViewMenu"
				if MenuLocation = "TreeView" then
					IsEnabled = true
				else
					IsEnabled = false
				end if
			case "DiagramMenu"
				if MenuLocation = "Diagram" then
					IsEnabled = true
				else
					IsEnabled = false
				end if
		end select
	end if
	'to return out parameter values we should return an array with all parameters
	EA_GetMenuState = Array(MenuLocation, MenuName, ItemName, IsEnabled, IsChecked)
end function

Step 3: React to user clicking a menu option

'react to user clicking a menu option
function EA_MenuClick(MenuLocation, MenuName, ItemName)
	 	if MenuName = "-&MyAddinMenu" then
		Select Case ItemName
			case "TreeViewMenu"
				Dim Package
				Set Package = Repository.GetTreeSelectedPackage()
Read more

Since I started writing the EA Navigator and other tools the code has been open source and available on Github. The code is split up in a tool-specific part for the EA Navigator and some other tools, and a framework that can be used to build your own tool.

 Downloading

The code for the framework and the tools is published on GitHub, a version control repository “in the cloud”, which is free for public repositories. The easiest way to download the code is to install GitHub for Windows.… Read more

The main new feature of the version 2.4 of the EA Navigator is the Quicksearch. The Quicksearch feature is undoubtedly the fastest way to find anything in a (large) EA model. It is the type of feature which makes you wonder how you could live without it all that time before.

Developing the Quicksearch function was far from easy. I wanted something that resembles what Google does when you start typing, and I started things with a standard Windows Forms ComboBox.… Read more

The focus of version 2.3 of the EA Navigator is usability.

As a user myself I’m in a good position to evaluate the user-experience of the tool, and I felt the EA Navigator was coming short on that aspect. So I decided to do something about that.

One of the most important improvements, and also the most difficult one, is the switch to background processing.

With all the new features in the latest version I (and other users too) noticed that the EA Navigator was seriously slowing down EA itself.… Read more

Since the release of version 2.1 the EA Navigator has been quite stable. Not much need for major improvements or bugfixes.

So version 2.2 has been about little changes and updates.

The most remarkable new feature is the new context menu with the ability to open the properties dialog of an element. Not remarkable because of the feature itself, but because of the loops and holes I had to jump through to get that part working. Opening the properties dialog is not really a supported API function of EA, so I had to resort to using an undocumented CustomCommand function to hack my way into it.… Read more

I’m proud to announce that the EA Navigator has made the “official” Sparx Systems 3rd party add-in list.

Sparx Systems doesn’t just publish any add-in for Enterprise Architect. Each add-in on the list has been demonstrated to the the people of Sparx, and only if they approve it it will be added to the list.

So a couple of week ago I had an appointment to do a web conference with Sparx to do a little demo of my add-in.… Read more

With the current release 2.1 the EA Navigator has now matured into a real product that will make the life of any Enterprise Architect user a lot easier.
I can know, as it’s primary user I use it constantly during my daily modelling tasks, and I can assure you that it has already saved me heaps of time.

And because any real product should have a logo, so I proudly present to you: The EA navigator logo.

After the complete re-factoring  of version 2.0 version 2.1 has been more about polishing and refining.… Read more

One of my hobbies is working on my own open source project, the EA Navigator, an add-in for Sparx Systems Enterprise Architect.

In the release 2.0 I added a graphical user interface as a docked window in EA to make it more user friendly to navigate.
The selected element is put into a treeview with each menu option as a subnode.

Getting the navigation options this way is indeed a lot easier then having to right click, and select the correct menu option.… Read more

Pages

Nothing Found

Sorry, no posts matched your criteria