public override ContextMenuStrip GetContextMenuStrip() { if (_contextMenuStrip == null) { List <string> itemNames = new List <string>() { "Setting 1", "Setting 2", "Setting 3" }; List <PuGridlineSetting> itemValues = EnumUtilities.GetEnumValues <PuGridlineSetting>(typeof(PuGridlineSetting)); Action <PuGridlineSetting> setterAction = (PuGridlineSetting setting) => _setting = setting; PuGridlineSetting startingValue = _setting; (List <ToolStripMenuItem> itemList, Action <PuGridlineSetting> valueAction) = ControlUtilities.CreateCheckableItems( itemNames, itemValues, setterAction, startingValue); _contextMenuStrip = new ContextMenuStrip(); itemList.ForEach(item => _contextMenuStrip.Items.Add(item)); } return(_contextMenuStrip); }
public override ContextMenuStrip GetContextMenuStrip() { if (_contextMenuStrip == null) { List <string> itemNames = new List <string>() { "Setting 1", "Setting 2", "Setting 3" }; List <PuGridlineSetting> itemValues = EnumUtilities.GetEnumValues <PuGridlineSetting>(typeof(PuGridlineSetting)); Action <PuGridlineSetting> setterAction = (PuGridlineSetting setting) => { MapObjectSettings settings = new MapObjectSettings( changePuGridlinesSetting: true, newPuGridlinesSetting: setting.ToString()); GetParentMapTracker().ApplySettings(settings); }; PuGridlineSetting startingValue = _setting; (List <ToolStripMenuItem> itemList, Action <PuGridlineSetting> valueAction) = ControlUtilities.CreateCheckableItems( itemNames, itemValues, setterAction, startingValue); _itemUseMarioAsOrigin = new ToolStripMenuItem("Use Mario as Origin"); _itemUseMarioAsOrigin.Click += (sender, e) => { MapObjectSettings settings = new MapObjectSettings( changeUseMarioAsOrigin: true, newUseMarioAsOrigin: !_useMarioAsOrigin); GetParentMapTracker().ApplySettings(settings); }; _contextMenuStrip = new ContextMenuStrip(); itemList.ForEach(item => _contextMenuStrip.Items.Add(item)); _contextMenuStrip.Items.Add(_itemUseMarioAsOrigin); _contextMenuStrip.Items.Add(new ToolStripSeparator()); GetGridlinesToolStripMenuItems().ForEach(item => _contextMenuStrip.Items.Add(item)); } return(_contextMenuStrip); }