Changeset 10042 for branches/Breadcrumbs/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewContextMenuStrip.cs
- Timestamp:
- 10/15/13 16:11:27 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Breadcrumbs/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewContextMenuStrip.cs
r9456 r10042 30 30 public ViewContextMenuStrip() { 31 31 InitializeComponent(); 32 this.menuItems = new Dictionary<Type, ToolStripMenuItem>();33 this.ignoredViewTypes = new List<Type>();32 menuItems = new Dictionary<Type, ToolStripMenuItem>(); 33 ignoredViewTypes = new List<Type>(); 34 34 } 35 35 36 36 public ViewContextMenuStrip(IContainer container) 37 37 : base(container) { 38 InitializeComponent(); 39 this.menuItems = new Dictionary<Type, ToolStripMenuItem>(); 40 this.ignoredViewTypes = new List<Type>(); 38 InitializeComponent(); 39 menuItems = new Dictionary<Type, ToolStripMenuItem>(); 40 ignoredViewTypes = new List<Type>(); 41 ShowBreadcrumbsToolStripMenuItem = new ToolStripMenuItem("Show Breadcrumbs"); 42 ShowBreadcrumbsToolStripMenuItem.Click += ShowBreadcrumbsToolStripMenuItem_Click; 43 ShowBreadcrumbsToolStripMenuItem.CheckedChanged += ShowBreadcrumbsToolStripMenuItem_CheckedChanged; 41 44 } 42 45 43 46 private object item; 44 47 public object Item { 45 get { return this.item; }48 get { return item; } 46 49 set { 47 if ( this.item != value) {48 this.item = value;49 this.RefreshMenuItems();50 if (item != value) { 51 item = value; 52 RefreshMenuItems(); 50 53 } 51 54 } … … 54 57 private List<Type> ignoredViewTypes; 55 58 public IEnumerable<Type> IgnoredViewTypes { 56 get { return this.ignoredViewTypes; }57 set { this.ignoredViewTypes = new List<Type>(value); RefreshMenuItems(); }59 get { return ignoredViewTypes; } 60 set { ignoredViewTypes = new List<Type>(value); RefreshMenuItems(); } 58 61 } 59 62 60 63 private Dictionary<Type, ToolStripMenuItem> menuItems; 61 64 public IEnumerable<KeyValuePair<Type, ToolStripMenuItem>> MenuItems { 62 get { return this.menuItems; }65 get { return menuItems; } 63 66 } 67 68 public ToolStripMenuItem ShowBreadcrumbsToolStripMenuItem { get; private set; } 64 69 65 70 private void RefreshMenuItems() { … … 68 73 foreach (ToolStripMenuItem m in menuItems.Values) 69 74 m.Dispose(); 70 this.Items.Clear();71 this.menuItems.Clear();75 Items.Clear(); 76 menuItems.Clear(); 72 77 73 if ( this.item != null) {78 if (item != null) { 74 79 ToolStripMenuItem menuItem; 75 80 IEnumerable<Type> types = MainFormManager.GetViewTypes(item.GetType(), true); … … 79 84 menuItem.Text = ViewAttribute.GetViewName(t); 80 85 81 this.menuItems.Add(t, menuItem);82 this.Items.Add(menuItem);86 menuItems.Add(t, menuItem); 87 Items.Add(menuItem); 83 88 } 89 if (Items.Count > 0) 90 Items.Add(new ToolStripSeparator()); 91 Items.Add(ShowBreadcrumbsToolStripMenuItem); 84 92 } 85 93 } 86 94 } 95 96 public event EventHandler ShowBreadcrumbsChanged; 97 private void OnShowBreadcrumbsChanged() { 98 var handler = ShowBreadcrumbsChanged; 99 if (handler != null) handler(this, EventArgs.Empty); 100 } 101 102 private void ShowBreadcrumbsToolStripMenuItem_CheckedChanged(object sender, EventArgs e) { 103 OnShowBreadcrumbsChanged(); 104 } 105 106 private void ShowBreadcrumbsToolStripMenuItem_Click(object sender, EventArgs e) { 107 ShowBreadcrumbsToolStripMenuItem.Checked = !ShowBreadcrumbsToolStripMenuItem.Checked; 108 } 87 109 } 88 110 }
Note: See TracChangeset
for help on using the changeset viewer.