public static void Main(string[] args) { if (args.Length != 1) { Console.WriteLine(@"This application takes one parameter."); return; } IObjectRegistry registry = new ReloadableObjectRegistry("modules"); IObjectTree tree = registry.Tree; if (args[0].Contains("::")) { string name = args[0]; var oid = registry.Translate(name); var id = new ObjectIdentifier(oid); Console.WriteLine(id); } else { string oid = args[0]; var o = tree.Search(ObjectIdentifier.Convert(oid)); string textual = o.AlternativeText; Console.WriteLine(textual); if (o.GetRemaining().Count == 0) { Console.WriteLine(o.Definition.Type.ToString()); } } }
private void RefreshPanel(object sender, EventArgs e) { if (InvokeRequired) { Invoke((MethodInvoker)(() => RefreshPanel(sender, e))); return; } ReloadableObjectRegistry repository = (ReloadableObjectRegistry)sender; treeView1.Nodes.Clear(); TreeNode root = Wrap(repository.Tree.Root); // FIXME: worked around a Mono bug. treeView1.Nodes.AddRange(root.Nodes.Cast <TreeNode>().ToArray()); }
private void ActRemoveExecute(object sender, EventArgs e) { ReloadableObjectRegistry reg = (ReloadableObjectRegistry)Objects; string index = Path.Combine(reg.Path, "index"); foreach (ListViewItem item in listView1.SelectedItems) { string name = item.Text.ToUpperInvariant(); // TODO: bad performance. improve later. List <string> list = new List <string>(File.ReadAllLines(index)); if (!list.Contains(name)) { continue; } list.Remove(name); File.WriteAllLines(index, list.ToArray()); } reg.Reload(); }
private void RefreshPanel(object sender, EventArgs e) { if (InvokeRequired) { Invoke((MethodInvoker)(() => RefreshPanel(sender, e))); return; } ReloadableObjectRegistry reg = (ReloadableObjectRegistry)sender; SuspendLayout(); listView1.Items.Clear(); List <string> loaded = new List <string>(reg.Tree.LoadedModules); loaded.Sort(); foreach (ListViewItem item in loaded.Select(module => listView1.Items.Add(module))) { item.Group = listView1.Groups["lvgLoaded"]; } string[] files = Directory.GetFiles(reg.Path, Filter); foreach (ListViewItem item in from file in files select Path.GetFileNameWithoutExtension(file) into name where !loaded.Contains(name) select listView1.Items.Add(name)) { item.BackColor = Color.LightGray; item.Group = listView1.Groups["lvgPending"]; } ResumeLayout(); listView1.Groups["lvgLoaded"].Header = string.Format(CultureInfo.CurrentCulture, "Loaded ({0})", listView1.Groups["lvgLoaded"].Items.Count); listView1.Groups["lvgPending"].Header = string.Format(CultureInfo.CurrentCulture, "Unloaded ({0})", listView1.Groups["lvgPending"].Items.Count); tslblCount.Text = string.Format(CultureInfo.InvariantCulture, "loaded: {0}; unloaded: {1}", listView1.Groups["lvgLoaded"].Items.Count, listView1.Groups["lvgPending"].Items.Count); }