/// <summary> /// Initializes a new instance of the RegisterTreeNodeComboBox class. /// </summary> /// <param name="registerAddress"> /// Fixed register address of tree node. See x_IMU_API.RegisterAddresses. /// </param> /// <param name="text"> /// The text of the new tree node. /// </param> public RegisterTreeNodeComboBox(x_IMU_API.RegisterAddresses registerAddress, string text) : base(registerAddress, text) { ComboBox = new ComboBox(); ComboBox.Leave += new EventHandler(delegate { ComboBox.Parent.Controls.Remove(ComboBox); }); ComboBox.DropDownClosed += new EventHandler(delegate { ComboBox.Parent.Controls.Remove(ComboBox); }); }
/// <summary> /// Finds RegisterTreeNode with register address. /// </summary> /// <param name="registerAddress"> /// Register address of tree node. /// </param> /// <returns> /// RegisterTreeNode. /// </returns> private RegisterTreeNode FindRegisterTreeNode(x_IMU_API.RegisterAddresses registerAddress) { foreach (TreeNode childNode in Nodes) { RegisterTreeNode registerTreeNode = FindRegisterTreeNode(childNode, registerAddress); if (registerTreeNode != null) { return(registerTreeNode); } } return(null); }
/// <summary> /// Initializes a new instance of the RegisterTreeNodeTextBox class. /// </summary> /// <param name="registerAddress"> /// Fixed register address of tree node. See x_IMU_API.RegisterAddresses. /// </param> /// <param name="text"> /// The text of the new tree node. /// </param> /// <param name="numberFormat"> /// Composite format string used by string.Format() method. /// </param> public RegisterTreeNodeTextBox(x_IMU_API.RegisterAddresses registerAddress, string text, string numberFormat) : base(registerAddress, text) { TextBox = new TextBox(); TextBox.Leave += new EventHandler(delegate { TextBox.Parent.Controls.Remove(TextBox); }); TextBox.KeyPress += new KeyPressEventHandler(delegate(object sender, KeyPressEventArgs e) { if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar) && (e.KeyChar != '.') && (e.KeyChar != '-')) { e.Handled = true; } if (e.KeyChar == '\r') { TextBox.Parent.Controls.Remove(TextBox); } }); TextBox.GotFocus += new EventHandler(delegate { TextBox.SelectAll(); }); NumberFormat = numberFormat; }
/// <summary> /// Recursively searches for RegisterTreeNode with register address starting from a root TreeNode. /// </summary> /// <param name="rootNode"> /// Root TreeNode that recursive search starts from. /// </param> /// <param name="registerAddress"> /// Register address of tree node. See x_IMU_API.RegisterAddresses. /// </param> /// <returns> /// RegisterTreeNode. /// </returns> private RegisterTreeNode FindRegisterTreeNode(TreeNode rootNode, x_IMU_API.RegisterAddresses registerAddress) { foreach (TreeNode childNode in rootNode.Nodes) { if (childNode is RegisterTreeNode) { if ((childNode as RegisterTreeNode).RegisterAddress == registerAddress) { return(childNode as RegisterTreeNode); } } else if (childNode.Nodes.Count > 0) { RegisterTreeNode registerTreeNode = FindRegisterTreeNode(childNode, registerAddress); // for all child nodes recursively if (registerTreeNode != null) { return(registerTreeNode); } } } return(null); }
/// <summary> /// Initializes a new instance of the RegisterTreeNodeTextBox class. /// </summary> /// <param name="registerAddress"> /// Fixed register address of tree node. See x_IMU_API.RegisterAddresses. /// </param> /// <param name="text"> /// The text of the new tree node. /// </param> public RegisterTreeNodeTextBox(x_IMU_API.RegisterAddresses registerAddress, string text) : this(registerAddress, text, "{0:g}") { }
/// <summary> /// Initializes a new instance of the RegisterTreeNode class. /// </summary> /// <param name="registerAddress"> /// Fixed register address of tree node. See x_IMU_API.RegisterAddresses. /// </param> /// <param name="text"> /// The text of the new tree node. /// </param> public RegisterTreeNode(x_IMU_API.RegisterAddresses registerAddress, string text) : base(text) { RegisterAddress = registerAddress; confirmedRegisterText = ""; }