public override void PopupShowAsyncImpl(HeapCellArrayWithStatistics aCells, HeapStatistics aStats, Point aLocalControlCoordinates, Point aScreenCoordinates, Size aOffsetBy, System.Windows.Forms.KeyEventHandler aKeyHandler) { PopupHide(); // if (aCells.Count == 1) { HeapCell cell = aCells[0]; // switch (cell.Type) { default: case HeapCell.TType.EAllocated: if (cell.Symbol != null) { iActivePopup = new PopupCellAllocatedSymbols(); } else { iActivePopup = new PopupCellAllocatedRaw(); } break; case HeapCell.TType.EFree: iActivePopup = new PopupCellFree(); break; } } else if (aCells.Count > 1) { iActivePopup = new PopupMultiCellSelection(); iActivePopup.VisibilityDelay = 0; } // iActivePopup.PopupShowAsync(aScreenCoordinates, aCells, aStats, aOffsetBy, aKeyHandler); }
public override void PopupShowAsyncImpl(HeapCellArrayWithStatistics aCells, HeapStatistics aStats, Point aLocalControlCoordinates, Point aScreenCoordinates, Size aCellBoxSizeIncludingPadding, System.Windows.Forms.KeyEventHandler aKeyHandler) { PopupHide(); // if (aCells.Count == 1) { HeapCell cell = aCells[0]; // If there's a free cell with a symbol (possible, if the user wanted to decode free cell contents) // then we should just display the allocated symbol popup (even though it's a free cell!) if (cell.Symbol != null) { if (cell.Type == HeapCell.TType.EFree) { int x = 0; x++; } iActivePopup = new PopupCellAllocatedSymbols(); } else if (cell.Type == HeapCell.TType.EAllocated) { iActivePopup = new PopupCellAllocatedRaw(); } else if (cell.Type == HeapCell.TType.EFree) { iActivePopup = new PopupCellFree(); } iActivePopup.ColourFromHoverCoordinate = true; } else if (aCells.Count > 1) { iActivePopup = new PopupMultiCellSelection(); iActivePopup.VisibilityDelay = 0; } // iActivePopup.PopupShowAsync(aScreenCoordinates, aCells, aStats, aCellBoxSizeIncludingPadding, aKeyHandler); }