/// <summary> /// Creates a new strategy layout using Data.Strategy /// </summary> protected void RebuildStrategyLayout() { strategyLayout.RebuildStrategyControls(Data.Strategy.Clone()); strategyLayout.pnlProperties.Click += new EventHandler(PnlAveraging_Click); for (int iSlot = 0; iSlot < Data.Strategy.Slots; iSlot++) { ToolStripMenuItem miEdit = new ToolStripMenuItem(); miEdit.Text = Language.T("Edit") + "..."; miEdit.Image = Properties.Resources.edit; miEdit.Name = "Edit"; miEdit.Tag = iSlot; miEdit.Click += new EventHandler(SlotContextMenu_Click); ToolStripMenuItem miUpwards = new ToolStripMenuItem(); miUpwards.Text = Language.T("Move Up"); miUpwards.Image = Properties.Resources.up_arrow; miUpwards.Name = "Upwards"; miUpwards.Tag = iSlot; miUpwards.Click += new EventHandler(SlotContextMenu_Click); miUpwards.Enabled = (iSlot > 1 && Data.Strategy.Slot[iSlot].SlotType == Data.Strategy.Slot[iSlot - 1].SlotType); ToolStripMenuItem miDownwards = new ToolStripMenuItem(); miDownwards.Text = Language.T("Move Down"); miDownwards.Image = Properties.Resources.down_arrow; miDownwards.Name = "Downwards"; miDownwards.Tag = iSlot; miDownwards.Click += new EventHandler(SlotContextMenu_Click); miDownwards.Enabled = (iSlot < Data.Strategy.Slots - 1 && Data.Strategy.Slot[iSlot].SlotType == Data.Strategy.Slot[iSlot + 1].SlotType); ToolStripMenuItem miDuplicate = new ToolStripMenuItem(); miDuplicate.Text = Language.T("Duplicate"); miDuplicate.Image = Properties.Resources.duplicate; miDuplicate.Name = "Duplicate"; miDuplicate.Tag = iSlot; miDuplicate.Click += new EventHandler(SlotContextMenu_Click); miDuplicate.Enabled = (Data.Strategy.Slot[iSlot].SlotType == SlotTypes.OpenFilter && Data.Strategy.OpenFilters < Strategy.MaxOpenFilters || Data.Strategy.Slot[iSlot].SlotType == SlotTypes.CloseFilter && Data.Strategy.CloseFilters < Strategy.MaxCloseFilters); ToolStripMenuItem miDelete = new ToolStripMenuItem(); miDelete.Text = Language.T("Delete"); miDelete.Image = Properties.Resources.close_button; miDelete.Name = "Delete"; miDelete.Tag = iSlot; miDelete.Click += new EventHandler(SlotContextMenu_Click); miDelete.Enabled = (Data.Strategy.Slot[iSlot].SlotType == SlotTypes.OpenFilter || Data.Strategy.Slot[iSlot].SlotType == SlotTypes.CloseFilter); strategyLayout.apnlSlot[iSlot].ContextMenuStrip = new ContextMenuStrip(); strategyLayout.apnlSlot[iSlot].ContextMenuStrip.Items.AddRange(new ToolStripMenuItem[] { miEdit, miUpwards, miDownwards, miDuplicate, miDelete }); strategyLayout.apnlSlot[iSlot].MouseClick += new MouseEventHandler(PnlSlot_MouseUp); if (iSlot != Data.Strategy.OpenSlot && iSlot != Data.Strategy.CloseSlot) { strategyLayout.abtnRemoveSlot[iSlot].Click += new EventHandler(BtnRemoveSlot_Click); } } SetSrategyDescriptionButton(); }