private void AddTypeExtension(ITypeVisualizer visualizer) { string item_name = visualizer.Name + "..."; MenuItem mi = new MenuItem(item_name); visualizers.Add(mi, visualizer); mi.Activated += delegate(object obj, EventArgs args) { TypeDefinition td = (GetSelectedObject() as TypeDefinition); if (td == null) { return; } ITypeVisualizer tv = visualizers [(obj as MenuItem)] as ITypeVisualizer; if (tv == null) { return; } string title = String.Format("{0} for {1}", tv.Name, td.Name); Tab tab = new Tab(title); tab.Content = tv.GetWidget(td); 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_types.Append(mi); popup_types.ShowAll(); }
private void AddTypeExtension (ITypeVisualizer visualizer) { string item_name = visualizer.Name + "..."; MenuItem mi = new MenuItem (item_name); visualizers.Add (mi, visualizer); mi.Activated += delegate (object obj, EventArgs args) { TypeDefinition td = (GetSelectedObject () as TypeDefinition); if (td == null) return; ITypeVisualizer tv = visualizers [(obj as MenuItem)] as ITypeVisualizer; if (tv == null) return; string title = String.Format ("{0} for {1}", tv.Name, td.Name); Tab tab = new Tab (title); tab.Content = tv.GetWidget (td); 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_types.Append (mi); popup_types.ShowAll (); }