private void DeleteItem(object sender, RoutedEventArgs e) { NsTreeItem node = (NsTreeItem)TreeNamespace.SelectedItem; if (node == null) { return; } var ns = node.Namespace; if (string.IsNullOrWhiteSpace(ns)) { return; } if (node.Parent == null) { CurrentTreeItems.Remove(node); } else { var nodes = node.Parent.Items as List <NsTreeItem>; nodes.Remove(node); // node.Parent.IsSelected = true; } allSettings.RemoveAll(o => o.Namespace.StartsWith(ns)); RefreshTree(); }
private void TreeNamespace_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { selectedNode = (NsTreeItem)e.NewValue; if (selectedNode == null) { itemMenu.IsEnabled = false; return; } // selectedNode.IsExpanded = true; itemMenu.IsEnabled = true; var clickedNamespace = selectedNode.Namespace; if (selectedNode.HasItems) { clickedNamespace += "."; } if (string.IsNullOrWhiteSpace(clickedNamespace)) { return; } SearchFilterTextbox.Text = clickedNamespace; }
private void NewItem(object sender, RoutedEventArgs e) { NsTreeItem node = (NsTreeItem)TreeNamespace.SelectedItem; var ns = node == null ? string.Empty : node.Namespace; var dialog = new Prompt("New Translation", "Enter the translation name below.", ns); if (dialog.ShowDialog() != true) { return; } if (string.IsNullOrWhiteSpace(dialog.ResponseText)) { return; } if (allSettings.NoEmpty().Any(setting => setting.Namespace.Contains(dialog.ResponseText))) { MessageBox.Show("Duplicate name"); return; } var languages = allSettings.ToLanguages().ToList(); foreach (var language in languages) { var val = string.Empty; allSettings.Add(new LanguageSetting() { Namespace = dialog.ResponseText, Value = val, Language = language }); } RefreshTree(dialog.ResponseText); UpdateSummaryInfo(); }
public void AddChild(NsTreeItem child) { _storage.Add(child); }