private void MoveMacroActionItem(MacroActionItem macroActionItem, bool up) { int index = flowLayoutPanelMacroActions.Controls.IndexOf(macroActionItem); if (up && index > 0) { flowLayoutPanelMacroActions.Controls.SetChildIndex(macroActionItem, index - 1); } else if (!up && index < flowLayoutPanelMacroActions.Controls.Count - 1) { flowLayoutPanelMacroActions.Controls.SetChildIndex(macroActionItem, index + 1); } index = _macroActionItems.IndexOf(macroActionItem); if (up && index > 0) { _macroActionItems.RemoveAt(index); _macroActionItems.Insert(index - 1, macroActionItem); } else if (!up && index < _macroActionItems.Count - 1) { _macroActionItems.RemoveAt(index); _macroActionItems.Insert(index + 1, macroActionItem); } }
private void RemoveMacroActionItem(MacroActionItem macroActionItem) { _macroActionItems.Remove(macroActionItem); flowLayoutPanelMacroActions.Controls.Remove(macroActionItem); macroActionItem.MacroActionItemChanged -= MacroActionItem_MacroActionItemChanged; macroActionItem.MacroActionItemRemoved -= MacroActionItem_MacroActionItemRemoved; macroActionItem.MacroActionItemMovedUp -= MacroActionItem_MacroActionItemMovedUp; macroActionItem.MacroActionItemMovedDown -= MacroActionItem_MacroActionItemMovedDown; macroActionItem.Dispose(); }
private MacroActionItem CreateMacroActionItem(MacroActionBundle actionBundle = null) { MacroActionItem macroActionItem = new MacroActionItem(actionBundle?.Clone()); macroActionItem.MacroActionItemChanged += MacroActionItem_MacroActionItemChanged; macroActionItem.MacroActionItemRemoved += MacroActionItem_MacroActionItemRemoved; macroActionItem.MacroActionItemMovedUp += MacroActionItem_MacroActionItemMovedUp; macroActionItem.MacroActionItemMovedDown += MacroActionItem_MacroActionItemMovedDown; macroActionItem.SetWidth(flowLayoutPanelMacroActions.Width - SCROLLBAR_WIDTH); _macroActionItems.Add(macroActionItem); return(macroActionItem); }