//Sets all the controls in the Property Manager from the Selected Node public void FillPropertyManager(LinkNode node) { PMTextBoxLinkName.Text = node.Link.Name; PMNumberBoxChildCount.Value = node.Nodes.Count; //Selecting the associated link components CommonSwOperations.SelectComponents(ActiveSWModel, node.Link.SWComponents, true, PMSelection.Mark); //Setting joint properties if (!node.IsBaseNode && node.Parent != null) { //Combobox needs to be blanked before de-activating SelectComboBox(PMComboBoxGlobalCoordsys, ""); //Labels need to be activated before changing them EnableControls(!node.IsBaseNode); PMTextBoxJointName.Text = node.Link.Joint.Name; PMLabelParentLink.Caption = node.Parent.Name; FillComboBox(PMComboBoxCoordSys, Exporter.GetRefCoordinateSystems()); FillComboBox(PMComboBoxAxes, Exporter.GetRefAxes()); PMComboBoxAxes.AddItems("None"); SelectComboBox(PMComboBoxCoordSys, node.Link.Joint.CoordinateSystemName); SelectComboBox(PMComboBoxAxes, node.Link.Joint.AxisName); SelectComboBox(PMComboBoxJointType, node.Link.Joint.Type); } else { //Labels and text box have be blanked before de-activating them PMLabelParentLink.Caption = " "; SelectComboBox(PMComboBoxCoordSys, ""); SelectComboBox(PMComboBoxAxes, ""); SelectComboBox(PMComboBoxJointType, ""); //Activate controls before changing them EnableControls(!node.IsBaseNode); FillComboBox(PMComboBoxGlobalCoordsys, Exporter.GetRefCoordinateSystems()); SelectComboBox(PMComboBoxGlobalCoordsys, node.Link.Joint.CoordinateSystemName); } }
// When the selected node is changed, the previously active node needs to be saved public void SaveActiveNode() { if (previouslySelectedNode != null) { previouslySelectedNode.Link.Name = PMTextBoxLinkName.Text; if (!previouslySelectedNode.IsBaseNode) { previouslySelectedNode.Link.Joint.Name = PMTextBoxJointName.Text; previouslySelectedNode.Link.Joint.AxisName = PMComboBoxAxes.get_ItemText(-1); previouslySelectedNode.Link.Joint.CoordinateSystemName = PMComboBoxCoordSys.get_ItemText(-1); previouslySelectedNode.Link.Joint.Type = PMComboBoxJointType.get_ItemText(-1); } else { previouslySelectedNode.Link.Joint.CoordinateSystemName = PMComboBoxGlobalCoordsys.get_ItemText(-1); } CommonSwOperations.GetSelectedComponents( ActiveSWModel, previouslySelectedNode.Link.SWComponents, PMSelection.Mark); } }