Example #1
0
        public void CreateValue(string keyPath, RegValueData value)
        {
            TreeNode key = GetTreeNode(keyPath);

            if (key != null)
            {
                lstRegistryValues.Invoke((MethodInvoker) delegate
                {
                    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;
                });
            }
        }
Example #2
0
        public void AddValueToList(string keyPath, RegValueData value)
        {
            TreeNode key = GetTreeNode(keyPath);

            if (key != null)
            {
                lstRegistryKeys.Invoke((MethodInvoker) delegate
                {
                    List <RegValueData> ValuesFromNode = null;
                    if (key.Tag != null && key.Tag.GetType() == typeof(RegValueData[]))
                    {
                        ValuesFromNode = ((RegValueData[])key.Tag).ToList();
                        ValuesFromNode.Add(value);
                        key.Tag = ValuesFromNode.ToArray();
                    }
                    else
                    {
                        //The tag has a incorrect element or is missing data
                        ValuesFromNode = new List <RegValueData>();
                        ValuesFromNode.Add(value);
                        key.Tag = ValuesFromNode.ToArray();
                    }

                    //Deactivate sorting
                    lstRegistryKeys.Sorting = SortOrder.None;

                    if (tvRegistryDirectory.SelectedNode == key)
                    {
                        string kind = value.Kind.RegistryTypeToString();
                        string data = value.Kind.RegistryTypeToString(value.Data);
                        RegistryValueLstItem item = new RegistryValueLstItem(value.Name, kind, data);
                        //unselect all
                        lstRegistryKeys.SelectedIndices.Clear();
                        lstRegistryKeys.Items.Add(item);
                        item.Selected             = true;
                        lstRegistryKeys.LabelEdit = true;
                        item.BeginEdit();
                    }
                    else
                    {
                        tvRegistryDirectory.SelectedNode = key;
                    }
                });
            }
        }
        public void AddValueToList(string keyPath, RegValueData value)
        {
            TreeNode key = GetTreeNode(keyPath);

            if (key != null)
            {
                lstRegistryKeys.Invoke((MethodInvoker) delegate
                {
                    List <RegValueData> ValuesFromNode = null;
                    if (key.Tag != null && key.Tag.GetType() == typeof(List <RegValueData>))
                    {
                        ValuesFromNode = (List <RegValueData>)key.Tag;
                        ValuesFromNode.Add(value);
                    }
                    else
                    {
                        ValuesFromNode = new List <RegValueData>();
                        ValuesFromNode.Add(value);
                        key.Tag = ValuesFromNode;
                    }
                    lstRegistryKeys.Sorting = SortOrder.None;

                    if (tvRegistryDirectory.SelectedNode == key)
                    {
                        RegistryValueLstItem item = new RegistryValueLstItem(value.Name, value.GetKindAsString(), value.GetDataAsString());
                        lstRegistryKeys.SelectedIndices.Clear();
                        lstRegistryKeys.Items.Add(item);
                        item.Selected             = true;
                        lstRegistryKeys.LabelEdit = true;
                        item.BeginEdit();
                    }
                    else
                    {
                        tvRegistryDirectory.SelectedNode = key;
                    }
                });
            }
        }
Example #4
0
        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;
            }
        }