// public void EA_MenuClick(EA.Repository repository, string Location, string MenuName, string ItemName) { outputTabActive(repository); switch (ItemName) { case MENU_SHOW_PROPERTIES: repository.ClearOutput(OUTPUT_NAME); this.showProperties(repository); break; case MENU_CLEAR_OUTPUT_TAB: repository.ClearOutput(OUTPUT_NAME); break; case MENU_PAINT_CLIENT: IS_TO_PAINT = true; MessageBox.Show(MESSAGE_PAINT_CLIENT); break; case MENU_NOT_PAINT_CLIENT: IS_TO_PAINT = false; MessageBox.Show(MESSAGE_NOT_PAINT_CLIENT); break; } }
// Called when user makes a selection in the menu. // This is your main exit point to the rest of your Add-in public void EA_MenuClick(EA.Repository Repository, string Location, string MenuName, string ItemName) { switch( ItemName ) { case "&Audio Configuration": String writerString; writerString = "Please select an audio diagram"; Repository.CreateOutputTab("Audio Configuration"); Repository.EnsureOutputVisible("Audio Configuration"); Repository.ClearOutput("Audio Configuration"); /* works on currently selected diagram */ if (Repository.GetTreeSelectedItemType() == EA.ObjectType.otDiagram) { EA.Diagram theDiagram; theDiagram = (EA.Diagram)Repository.GetTreeSelectedObject(); writerString = "Name = " + theDiagram.Name.ToString() + " " + theDiagram.Type.ToString() + System.Environment.NewLine; Repository.WriteOutput("Audio Configuration", writerString, 0); foreach (EA.DiagramObject theDiagramObject in theDiagram.DiagramObjects) { EA.Element theElement = Repository.GetElementByID(theDiagramObject.ElementID); /* consider only instances */ if (theElement.ClassfierID != 0) { // get classifier, in our case it is sink or source classes EA.Element theClassfierElement = Repository.GetElementByID(theElement.ClassfierID); writerString = theElement.Name.ToString() + " " + theClassfierElement.Name.ToString(); //writerString = theDiagramObject.ObjectType.ToString() + System.Environment.NewLine; Repository.WriteOutput("Audio Configuration", writerString, 0); writerString = theElement.RunState; Repository.WriteOutput("Audio Configuration", writerString, 0); // parse embedded elements foreach (EA.Element theEmbeddedElement in theElement.EmbeddedElements) { writerString = "\t" + theEmbeddedElement.Name.ToString(); Repository.WriteOutput("Audio Configuration", writerString, 0); foreach (EA.Connector theConnector in theEmbeddedElement.Connectors) { writerString = "\t\t" + theConnector.Name.ToString(); Repository.WriteOutput("Audio Configuration", writerString, 0); } } } } } break; case "&Menu2": break; case "About...": Form1 anAbout = new Form1(); anAbout.ShowDialog(); break; } }