Author Topic: [Solved] Adding Elements but theyre not visible  (Read 3622 times)

blue5teel

  • EA User
  • **
  • Posts: 25
  • Karma: +0/-0
    • View Profile
[Solved] Adding Elements but theyre not visible
« on: September 29, 2010, 07:02:16 pm »
Hello community,

i am adding an diagram and some elements to my project with EA API.

My elements and diagram show up in the repository tree but my diagram does not contain any of my elements.

See below for my code:

Code: [Select]
private void processRequirements()
        {
            EA.Diagram diagram = (EA.Diagram)selectedPackage.Diagrams.AddNew("Anforderungsdiagramm", "Logical");
            selectedPackage.Update();

            foreach (Requirement r in requirementList)
            {

                EA.Element packageElement = (EA.Element)selectedPackage.Elements.AddNew(r.ID, "Class");

                packageElement.Notes = r.description;

                packageElement.Update();
                packageElement.Refresh();

                selectedPackage.Update();

                string position = ("l=200;r=400;t=200;b=600;");

                EA.DiagramObject diagramObject = (EA.DiagramObject)diagram.DiagramObjects.AddNew(position, "Class");

                diagramObject.ElementID = packageElement.ElementID;
                diagramObject.Update();
                selectedPackage.Update();
                selectedPackage.Elements.Refresh();
                diagram.Update();
                diagram.DiagramObjects.Refresh();
            }

I appreciate any hints. thx  :-/
« Last Edit: September 29, 2010, 07:18:52 pm by blue5teel »

stao

  • EA User
  • **
  • Posts: 137
  • Karma: +0/-0
    • View Profile
Re: Adding Elements but theyre not visible in diag
« Reply #1 on: September 29, 2010, 07:09:47 pm »
tried to reload the diagram?
Repository.ReloadDiagram(int DiagramId)...
« Last Edit: September 29, 2010, 07:10:39 pm by stao »

blue5teel

  • EA User
  • **
  • Posts: 25
  • Karma: +0/-0
    • View Profile
Re: Adding Elements but theyre not visible in diag
« Reply #2 on: September 29, 2010, 07:14:28 pm »
Got the solution:

Updating the diagramID of my new diagramobjects:

Code: [Select]
EA.DiagramObject diagramObject = (EA.DiagramObject)diagram.DiagramObjects.AddNew(position, "Class");

diagramObject.ElementID = packageElement.ElementID;
diagramObject.DiagramID = diagram.DiagramID;

I think Sparx' employees should update their code samples. Sample "Add and Manage Diagrams" doesnt say anything about setting the DiagramID.

Thx for your help.
« Last Edit: September 29, 2010, 07:17:39 pm by blue5teel »

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13387
  • Karma: +566/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: [Solved] Adding Elements but theyre not visibl
« Reply #3 on: September 29, 2010, 10:01:46 pm »
This seems like a bug to me.
If you add a diagramObject to the Diagrams DiagramObjects collection it should at least already fill in the DiagramID on the new DiagramObject.
It already does so for other collections...

Geert