public void Initialize(EA.Repository repository, TextOutputInterface output, IDLClassSelector classSelector, HashSet<string> uncheckedElements) { _currentRepository = repository; _currentOutput = output; _uncheckedElements = uncheckedElements; _classSelector = classSelector; this.OnIdlVersionAction(IDLVersions.defaultVersion); }
// 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(Repository repository, string location, string menuName, string itemName) { switch (itemName) { case MENU_ITEM_GENERATE_IDL: IDLGenAction idlGenAction = new IDLGenAction(); IDLClassSelector idlClassSelector = new IDLClassSelector(idlGenAction); TextBoxOutputAdapter output = new TextBoxOutputAdapter(idlClassSelector.getTextBox()); HashSet<string> uncheckedElements = new HashSet<string>(); idlGenAction.Initialize(repository, output, idlClassSelector, uncheckedElements); // GenerateIDL(repository, output); PopulateRepositoryClassSelector(idlClassSelector, repository); idlClassSelector.Text = "IDL4 (RTI Connext DDS) - Select classes for IDL generation - Plugin revision " + IDL_GENERATOR_REVISION; idlClassSelector.Show(); //idlGenAction.OnCodegenAction(); break; } }
public static void PopulateRepositoryClassSelector(IDLClassSelector classSelector, Repository repository) { TreeNodeCollection treeNodes = classSelector.getTreeView().Nodes; foreach (Package model in repository.Models) { TreeNode newNode = new TreeNode(model.Name); newNode.Checked = true; newNode.Expand(); newNode.Tag = model.Name; treeNodes.Add(newNode); foreach (Package package in model.Packages) { PopulateClassSelector(newNode, package); } } // Disble because feature is not fully implemeted yet //classSelector.getTreeView().AfterExpand += new TreeViewEventHandler(ClassSelector_TreeViewAfterExpand); }
public static void PopulateClassSelector(IDLClassSelector classSelector, Repository repository) { TreeNodeCollection treeNodes = classSelector.getTreeView().Nodes; foreach (Package model in repository.Models) { TreeNode newNode = new TreeNode(model.Name); newNode.Checked = true; newNode.Expand(); treeNodes.Add(newNode); foreach (Package package in model.Packages) { PopulateClassSelector(newNode, package); } } }