private void AddAssemblyExtension(IAssemblyVisualizer visualizer) { string item_name = visualizer.Name + "..."; MenuItem mi = new MenuItem(item_name); visualizers.Add(mi, visualizer); mi.Activated += delegate(object obj, EventArgs args) { AssemblyDefinition ad = (GetSelectedObject() as AssemblyDefinition); if (ad == null) { return; } IAssemblyVisualizer av = visualizers [(obj as MenuItem)] as IAssemblyVisualizer; if (av == null) { return; } string title = String.Format("{0} for {1}", av.Name, ad.Name); Tab tab = new Tab(title); tab.Content = av.GetWidget(ad); tab.CloseButtonClicked += delegate(object o, EventArgs ea) { notebook.Remove((o as Tab).Content); }; int new_page = notebook.AppendPage(tab.Content, tab); notebook.Page = new_page; }; popup_assemblies.Append(mi); popup_assemblies.ShowAll(); }
private void AddAssemblyExtension (IAssemblyVisualizer visualizer) { string item_name = visualizer.Name + "..."; MenuItem mi = new MenuItem (item_name); visualizers.Add (mi, visualizer); mi.Activated += delegate (object obj, EventArgs args) { AssemblyDefinition ad = (GetSelectedObject () as AssemblyDefinition); if (ad == null) return; IAssemblyVisualizer av = visualizers [(obj as MenuItem)] as IAssemblyVisualizer; if (av == null) return; string title = String.Format ("{0} for {1}", av.Name, ad.Name); Tab tab = new Tab (title); tab.Content = av.GetWidget (ad); tab.CloseButtonClicked += delegate (object o, EventArgs ea) { notebook.Remove ((o as Tab).Content); }; int new_page = notebook.AppendPage (tab.Content, tab); notebook.Page = new_page; }; popup_assemblies.Append (mi); popup_assemblies.ShowAll (); }