Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Geert Bellekens

Pages: 1 ... 477 478 [479] 480 481 ... 548
7171
Automation Interface, Add-Ins and Tools / Re: Using EA as CMDB Repository
« on: February 28, 2012, 05:25:27 pm »
EA scales pretty good, as long as you don't add too many features (1000+) to an element.
But the question is: what it this information you are trying to load into EA and does this type of information belong in a UML modelling tool?

Geert

7172
You mean the operation on the class in a class diagram?
I don't think so.
I managed to make my addin select a message in a sequence diagram, but that's about as it goes I'm afraid.

Geert

7173
Automation Interface, Add-Ins and Tools / Re: Callback mechanism
« on: February 24, 2012, 11:12:02 pm »
The starting point is here:
https://github.com/GeertBellekens/Enterprise-Architect-Toolpack/blob/master/EANavigator/EAAddin.cs
On line 345
Code: [Select]
     public override void EA_OnContextItemChanged(global::EA.Repository Repository, string GUID, global::EA.ObjectType ot)
    {
        if (fullyLoaded && this.model != null )
        {      
            if (this.model.selectedItem != null)
            {
                  this.navigate(this.model.selectedItem) ;
            }
        }
    }

      private void navigate(UML.UMLItem item)
      {
            if (fullyLoaded)
        {
            if (this.navigatorControl == null)
            {
                this.navigatorControl = this.model.addWindow("Navigate", "TSF.UmlToolingFramework.EANavigator.NavigatorControl") as NavigatorControl;
                this.navigatorControl.BeforeExpand += new TreeViewCancelEventHandler(this.NavigatorTreeBeforeExpand);
                this.navigatorControl.NodeDoubleClick += new TreeNodeMouseClickEventHandler(this.NavigatorTreeNodeDoubleClick);
            }
            if (this.navigatorControl != null && this.model != null)
            {
                if (item != null)
                {
                    this.navigatorControl.setElement(item);
                }

            }
        }
      }

Geert

7174
Automation Interface, Add-Ins and Tools / Re: Callback mechanism
« on: February 24, 2012, 10:38:52 pm »
I don't think a custom tooltip is possible, but a custom window certainly is.
I use that feature to for the  EA Navigator.
The complete code can be found here:
https://github.com/GeertBellekens/Enterprise-Architect-Toolpack
https://github.com/GeertBellekens/Enterprise-Architect-Add-in-Framework
https://github.com/GeertBellekens/UML-Tooling-Framework

Geert

7175
The EA Navigator does that for you, and since it's open source you can borrow the code for it.
You can find the operation here:
https://github.com/GeertBellekens/Enterprise-Architect-Add-in-Framework/blob/master/EAAddinFramework/EAWrappers/Operation.cs at line 265
Code: [Select]
   /// <summary>
    /// returns all CallOperationActions that call this operation
    /// </summary>
    /// <returns>all CallOperationActions that call this operation</returns>
    public HashSet<UML.Actions.BasicActions.CallOperationAction> getDependentCallOperationActions()
    {
          string sqlCallOperationActions =
                @"SELECT a.Object_ID FROM t_operation op
                  inner join t_object a on op.ea_guid = a.Classifier_guid
                  where op.OperationID = " +this.wrappedOperation.MethodID;
          return new HashSet<UML.Actions.BasicActions.CallOperationAction>(this.model.getElementWrappersByQuery(sqlCallOperationActions).Cast<UML.Actions.BasicActions.CallOperationAction>());
    }

Geert

7176
Murat,

AFAIK there nothing in the EA API that could help you with that. So I guess EA behaves like any other application. If you manage to run any other application in your own window you should be able to do the same with EA.

Geert

7177
Murat,

There's nothing there that says you can run the EA as a plugin in another application.

You can create your own plugin into EA, but I don't think you can do it the other way round.

see here: http://geertbellekens.wordpress.com/2011/01/29/tutorial-create-your-first-c-enterprise-architect-addin-in-10-minutes/ for more info on how to create add-ins.

Geert

7178
Murat,

Are you sure this is supposed to work?
I've never seen any reference to something like this.

Geert

7179
John,

What have you tried so far?
Seems like indeed you need to get an scc plugin for bazaar and then just setup version control in EA.

Just take into account that EA only works with exclusive locks.

Geert

7180
How I would try to find out:

-Start a new model with only one sequence diagram
-Put both a message that starts from a nested location, and a message that starts from the lifeline base on the diagram
- Open the eap file with ms-access (or any other sql client that can read access files) and inspect the tables to figure out what exactly is different. (start at t_connector and t_diagramlinks)
- If you have found the difference in the database then try to match the column with a field on the API object.

Then post the results of your investigation on this forum :)

Geert

7181
Cool, thanks!

Geert

7182
Let us know if you find out.
I can imagine I would need that one day as well.

Geert

7183
Could be that one of the standard .Net control events is being triggered, but that is something you would have to test.
I don't think there's an EA specific event that you can use.

Geert

7184
Allright, as long as you are aware of the issue..

Geert

7185
Have you tested that with sub-packages as well?
Because packages are a bit strange, they are both package and element...

Geert

Pages: 1 ... 477 478 [479] 480 481 ... 548