Author Topic: Adding existing elements to a diagram  (Read 4744 times)

lopata

  • EA Novice
  • *
  • Posts: 11
  • Karma: +0/-0
    • View Profile
Adding existing elements to a diagram
« on: March 29, 2004, 05:36:29 am »
Hello folks!
I would like to perform a simple task. I have a package with elements which I'd like to copy to a newly created or an existing diagram.
First I thought this would be a simple task - the documentation includes an example where a similiar task is performed, I'm quoting:

Add and Manage Diagrams
     
public Object  

 
''an example of how to create a diagram and add an element to it  

''note the optional use of element rectangle setting using  

''left,right,top and bottom dimensions in AddNew call  

 

Sub DiagramLifeCycle  

 

    Dim diagram as object  

    Dim v as object  

    Dim o as object  

    Dim package as object  

     

    Dim idx as Integer  

    Dim idx2 as integer  

     

    package = m_Repository.GetPackageByID(5)  

     

    diagram = package.Diagrams.AddNew("Logical Diagram","Logical")  

    If not diagram.Update Then  

        Console.WriteLine(diagram.GetLastError)  

    End if  

     

    diagram.Notes = "Hello there this is a test"  

    diagram.update()  

     

    o = package.Elements.AddNew("ReferenceType","Class")  

    o.Update  

     

    '' add element to diagram - supply optional rectangle co-ordinates  

 

    v = diagram.DiagramObjects.AddNew("l=200;r=400;t=200;b=600;","")  

    v.ElementID = o.ElementID  

    v.Update  

     

    Console.WriteLine(diagram.DiagramID)  

     

 

End Sub  
-- end of example

 
This looks very promising, however to my surprise this example is simply wrong! The attribute ElementID of the Element interface is read-only, which means that the assigment from the example will not work!

So, my question is, how to add an existing element from a package to a diagram? Do I have to deepcopy all the writeable attributes and collections from the package-element to a newly cerated diagram-element? Would it even work this way?

Thanks for help.

Hynek Cihlar
A && L Soft
www.alsoft.cz
www.flexlanguage.com


Hynek Cihlar
A
 L Soft
www.alsoft.cz
www.flexlanguage.com

Bruno.Cossi

  • EA User
  • **
  • Posts: 803
  • Karma: +0/-0
    • View Profile
Re: Adding existing elements to a diagram
« Reply #1 on: March 29, 2004, 05:40:28 am »
Hi,

the example actually works. For diagram objects, ElementID is not read only.

Bruno
« Last Edit: March 29, 2004, 05:41:46 am by Bruno.Cossi »

lopata

  • EA Novice
  • *
  • Posts: 11
  • Karma: +0/-0
    • View Profile
Re: Adding existing elements to a diagram
« Reply #2 on: March 29, 2004, 09:59:17 pm »
I see! I was casting it to an Element!
Thanks for help.

Hynek Cihlar
A && L Soft www.alsoft.cz www.flexlanguage.com
Hynek Cihlar
A
 L Soft
www.alsoft.cz
www.flexlanguage.com

Bruno.Cossi

  • EA User
  • **
  • Posts: 803
  • Karma: +0/-0
    • View Profile
Re: Adding existing elements to a diagram
« Reply #3 on: March 29, 2004, 10:01:47 pm »
Not a problem :-) It gets a little confusing.

Bruno