- Timestamp:
- 02/19/10 11:45:51 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/ViewContextMenuStrip.cs
r2696 r2837 8 8 9 9 namespace HeuristicLab.MainForm.WindowsForms { 10 public partial class ViewContextMenuStrip : ContextMenuStrip { 11 private object item; 10 public sealed partial class ViewContextMenuStrip : ContextMenuStrip { 12 11 public ViewContextMenuStrip() { 13 12 InitializeComponent(); 13 this.menuItems = new Dictionary<Type, ToolStripMenuItem>(); 14 14 } 15 15 16 public ViewContextMenuStrip(object item) :this() {17 if (item != null) {18 this.item = item;19 IEnumerable<Type> types = MainFormManager.GetViewTypes(item.GetType());20 if (types != null) { 21 foreach (Type t in types) {22 ToolStripMenuItem menuItem = new ToolStripMenuItem(){23 Text = t.Name,24 Tag = t25 };26 this.Items.Add(menuItem);27 }16 public ViewContextMenuStrip(object item) 17 : this() { 18 this.Item = item; 19 } 20 21 private object item; 22 public object Item { 23 get { return this.item; } 24 set { 25 if (this.item != value) { 26 this.item = value; 27 this.RefreshMenuItems(); 28 28 } 29 29 } 30 30 } 31 31 32 private void ViewContextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { 33 if (item != null) { 34 Type viewType = e.ClickedItem.Tag as Type; 35 IView view = MainFormManager.CreateView(viewType, this.item); 36 view.Show(); 32 private Dictionary<Type, ToolStripMenuItem> menuItems; 33 public IEnumerable<KeyValuePair<Type, ToolStripMenuItem>> MenuItems { 34 get { return this.menuItems; } 35 } 36 37 private void RefreshMenuItems() { 38 this.Items.Clear(); 39 this.menuItems.Clear(); 40 41 if (this.item != null) { 42 ToolStripMenuItem menuItem; 43 IEnumerable<Type> types = MainFormManager.GetViewTypes(item.GetType()); 44 foreach (Type t in types) { 45 menuItem = new ToolStripMenuItem(); 46 menuItem.Tag = t; 47 menuItem.Text = ViewAttribute.GetViewName(t); 48 49 this.menuItems.Add(t, menuItem); 50 this.Items.Add(menuItem); 51 } 37 52 } 38 53 } 39 40 54 } 41 55 }
Note: See TracChangeset
for help on using the changeset viewer.