public static void PerformDefaultAction <T>(OperationsList <T> operations, T obj) { foreach (var operation in operations) { if (operation.CheckCondition(obj) && operation.IsDefault) { operation.Operation(obj); return; } } }
public static void PopulateContextMenu <T>(OperationsList <T> operations, ContextMenuStrip contextMenu, T obj) { foreach (var operation in operations) { if (operation.CheckCondition(obj)) { var currentOperation = operation; ToolStripMenuItem item = new ToolStripMenuItem(currentOperation.Text, null, new EventHandler(delegate(Object o, EventArgs a) { currentOperation.Operation(obj); }), operation.KeyboardShortcut); contextMenu.Items.Add(item); } } }
public static void PerformActionByKey <T>(OperationsList <T> operations, OperationsList <T> shortcutOperations, Keys key, T obj) { foreach (var operation in operations) { if (operation.CheckCondition(obj) && operation.KeyboardShortcut != Keys.None && operation.KeyboardShortcut == key) { operation.Operation(obj); return; } } foreach (var operation in shortcutOperations) { if (operation.CheckCondition(obj) && operation.KeyboardShortcut == key) { operation.Operation(obj); return; } } }