private void OnValueDeletedEventHandler(RegistryEditorAdapterHandler adapterHandler, string keyPath, string valueName) { TreeNode key = GetTreeNode(keyPath); if (key != null) { if (!RegValueHelper.IsDefaultValue(valueName)) { //Remove the values that have the specified name key.Tag = ((RegValueData[])key.Tag).Where(value => value.Name != valueName).ToArray(); if (tvRegistryDirectory.SelectedNode == key) { lstRegistryValues.Items.RemoveByKey(valueName); } } else //Handle delete of default value { var regValue = ((RegValueData[])key.Tag).First(item => item.Name == valueName); if (tvRegistryDirectory.SelectedNode == key) { var valueItem = lstRegistryValues.Items.Cast <RegistryValueLstItem>() .SingleOrDefault(item => item.Name == valueName); if (valueItem != null) { valueItem.Data = regValue.Kind.RegistryTypeToString(null); } } } tvRegistryDirectory.SelectedNode = key; } }
private void OnKeysReceivedEventHandler(RegistryEditorAdapterHandler adapterHandler, string rootKey, RegSeekerMatch[] matches) { if (string.IsNullOrEmpty(rootKey)) { tvRegistryDirectory.BeginUpdate(); foreach (var match in matches) { AddRootKey(match); } tvRegistryDirectory.SelectedNode = tvRegistryDirectory.Nodes[0]; tvRegistryDirectory.EndUpdate(); } else { TreeNode parent = GetTreeNode(rootKey); if (parent != null) { tvRegistryDirectory.BeginUpdate(); foreach (var match in matches) { AddKeyToTree(parent, match); } parent.Expand(); tvRegistryDirectory.EndUpdate(); } } }
private void OnKeyDeletedEventHandler(RegistryEditorAdapterHandler adapterHandler, string parentPath, string subKey) { TreeNode parent = GetTreeNode(parentPath); if (parent.Nodes.ContainsKey(subKey)) { parent.Nodes.RemoveByKey(subKey); } }
private void OnKeyRenamedEventHandler(RegistryEditorAdapterHandler adapterHandler, string parentPath, string oldSubKey, string newSubKey) { TreeNode parent = GetTreeNode(parentPath); if (parent.Nodes.ContainsKey(oldSubKey)) { parent.Nodes[oldSubKey].Text = newSubKey; parent.Nodes[oldSubKey].Name = newSubKey; tvRegistryDirectory.SelectedNode = parent.Nodes[newSubKey]; } }
private void OnKeyCreatedEventHandler(RegistryEditorAdapterHandler adapterHandler, string parentPath, RegSeekerMatch match) { TreeNode parent = GetTreeNode(parentPath); TreeNode node = AddKeyToTree(parent, match); node.EnsureVisible(); tvRegistryDirectory.SelectedNode = node; node.Expand(); tvRegistryDirectory.LabelEdit = true; node.BeginEdit(); }
private void OnValueChangedEventHandler(RegistryEditorAdapterHandler adapterHandler, string keyPath, RegValueData value) { TreeNode key = GetTreeNode(keyPath); if (key != null) { var regValue = ((RegValueData[])key.Tag).First(item => item.Name == value.Name); ChangeRegistryValue(value, regValue); if (tvRegistryDirectory.SelectedNode == key) { var valueItem = lstRegistryValues.Items.Cast <RegistryValueLstItem>() .SingleOrDefault(item => item.Name == value.Name); if (valueItem != null) { valueItem.Data = RegValueHelper.RegistryValueToString(value); } } tvRegistryDirectory.SelectedNode = key; } }
private void OnValueRenamedEventHandler(RegistryEditorAdapterHandler adapterHandler, string keyPath, string oldValueName, string newValueName) { TreeNode key = GetTreeNode(keyPath); if (key != null) { var value = ((RegValueData[])key.Tag).First(item => item.Name == oldValueName); value.Name = newValueName; if (tvRegistryDirectory.SelectedNode == key) { var valueItem = lstRegistryValues.Items.Cast <RegistryValueLstItem>() .SingleOrDefault(item => item.Name == oldValueName); if (valueItem != null) { valueItem.RegName = newValueName; } } tvRegistryDirectory.SelectedNode = key; } }
private void OnValueCreatedEventHandler(RegistryEditorAdapterHandler adapterHandler, string keyPath, RegValueData value) { TreeNode key = GetTreeNode(keyPath); if (key != null) { List <RegValueData> valuesFromNode = ((RegValueData[])key.Tag).ToList(); valuesFromNode.Add(value); key.Tag = valuesFromNode.ToArray(); if (tvRegistryDirectory.SelectedNode == key) { RegistryValueLstItem item = new RegistryValueLstItem(value); lstRegistryValues.Items.Add(item); //Unselect all lstRegistryValues.SelectedIndices.Clear(); item.Selected = true; lstRegistryValues.LabelEdit = true; item.BeginEdit(); } tvRegistryDirectory.SelectedNode = key; } }