Book a Demo

Author Topic: Add Text Element to Diagram  (Read 4931 times)

DerekC

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Add Text Element to Diagram
« on: January 08, 2016, 09:31:11 pm »
Hi
I’m trying to add a Text element, using vbScript, to a diagram so that I can display a set of user notes. The code snippet below adds a package, an element, a diagram and place the element on the diagram. All good to that point, but when I go to add a Text element to the diagram it appears to get created but is not visible on the diagram, but is selectable with CTRL-A, what am I missing?

Below is the code I have been using, the bits highlighted between the ************** are the ones that are relevant.

Sub addPackages (thePackage) 'currently selected package passed as the starting parameter
   dim newPackage as EA.Package
   
   'create new package
   set newPackage=thePackage.Packages.AddNew("TestPackage","Package")
   newPackage.Update
   
   'create the artifact
   dim artElement as EA.Element
   set artElement = newPackage.Elements.AddNew("TestArtifact", "Artifact")
   artElement.Update
   artElement.Refresh
   
   '*****************************************************
   'add a notes element 'I want to create a notes element for the diagram and put instructions in it
   dim testElem as EA.Element
   set testElem = newPackage.Elements.AddNew("","Text")
   testElem.Notes "This is my note"
   testElem.Update
   '******************************************************
   
   'create new diagram
   dim rptDiagram as EA.Diagram
   set rptDiagram = newPackage.Diagrams.AddNew("TestDiagram","Custom")
   rptDiagram.ShowDetails True 'show diagram details
   rptDiagram.Update
   
   'add the artifact element created
   dim rptDiagramObject as EA.DiagramObject
   set rptDiagramObject = rptDiagram.DiagramObjects.AddNew("l=200;r=600;t=200;b=300;","")
   rptDiagramObject.ElementID(artElement.ElementID)
   rptDiagramObject.Update
   
   '*************************************************
   'add text element
   set rptDiagramObject = rptDiagram.DiagramObjects.AddNew("l=200;r=120;t=100;b=60;","")
   rptDiagramObject.ElementID(testElem.ElementID)
   rptDiagramObject.Update
   '*******************************************************

   'tidy up
   set artElement=Nothing
   set testElem=Nothing
   set rptDiagramObject=Nothing
   set rptDiagram=Nothing
   
   'Package generation completed now refresh the project browser
   newPackage.Packages.Refresh
   set newPackage=Nothing
   Session.Prompt "Packages created!", promptOk
end sub

Many thanks
Derek.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Add Text Element to Diagram
« Reply #1 on: January 08, 2016, 09:45:42 pm »
It's too narrow
Quote
  set rptDiagramObject = rptDiagram.DiagramObjects.AddNew("l=200;r=120;t=100;b=60;","")
r must be grater than l

q.

DerekC

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Add Text Element to Diagram
« Reply #2 on: January 08, 2016, 10:03:48 pm »
Sometimes you just can't see the wood for the trees  :o

Many thanks!!

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Add Text Element to Diagram
« Reply #3 on: January 08, 2016, 10:33:46 pm »
How nice it would be if EA would check plausibilities and issue debug warnings. Just hallucinating.

q.