public void RemoveFilter(int slotToRemove)
{
if (Slot[slotToRemove].SlotType != SlotTypes.OpenFilter &&
Slot[slotToRemove].SlotType != SlotTypes.CloseFilter)
return;
Data.Log("Remove a Filter");
if (slotToRemove < CloseSlot)
OpenFilters--;
else
CloseFilters--;
IndicatorSlot[] indSlotOld = (IndicatorSlot[])indicatorSlot.Clone();
indicatorSlot = new IndicatorSlot[Slots];
// Copy all filters before this that has to be removed.
for (int slot = 0; slot < slotToRemove; slot++)
indicatorSlot[slot] = indSlotOld[slot];
// Copy all filters after this that has to be removed.
for (int slot = slotToRemove; slot < Slots; slot++)
indicatorSlot[slot] = indSlotOld[slot+1];
// Sets the slot numbers.
for (int slot = 0; slot < Slots; slot++)
indicatorSlot[slot].SlotNumber = slot;
return;
}