@Override
	public ActionContext getActionContext(MouseEvent event) {
		Object source = (event != null) ? event.getSource() : null;
		Component sourceComponent = (source instanceof Component) ? (Component) source : null;
		// If action is on the markup table, return a markup item context for markup popup actions.
		if (event == null || tablePanel.isAncestorOf(sourceComponent)) {
			List<VTMarkupItem> selectedItems = getSelectedMarkupItems();
			VTMarkupItemContext vtMarkupItemContext = new VTMarkupItemContext(this, selectedItems);
			if (functionComparisonPanel.isVisible()) {
				CodeComparisonPanel displayedPanel =
					functionComparisonPanel.getDisplayedPanel();
				vtMarkupItemContext.setCodeComparisonPanel(displayedPanel);
			}
			return vtMarkupItemContext;
		}
		// Is the action being taken on the dual listing.
		ListingCodeComparisonPanel dualListingPanel = functionComparisonPanel.getDualListingPanel();
		if (dualListingPanel != null && dualListingPanel.isAncestorOf(sourceComponent)) {
			// If the action is on one of the listings in the ListingCodeComparisonPanel
			// then return a special version tracking listing context. This will allow
			// popup actions for the ListingDiff and also the markup item actions for the
			// current markup item.
			if (sourceComponent instanceof FieldPanel) {
				ListingPanel listingPanel =
					dualListingPanel.getListingPanel((FieldPanel) sourceComponent);
				if (listingPanel != null) {
					VTListingNavigator vtListingNavigator =
						new VTListingNavigator(dualListingPanel, listingPanel);
					VTListingContext vtListingContext =
						new VTListingContext(this, vtListingNavigator);
					vtListingContext.setCodeComparisonPanel(dualListingPanel);
					vtListingContext.setContextObject(dualListingPanel);
					vtListingContext.setSourceObject(source);
					return vtListingContext;
				}
			}
		}
		// Let function comparison panel try to get a generic action context.
		// This will get the listing header and dual listing marker margins.
		return functionComparisonPanel.getActionContext(event, this);
	}
Displays or hides the function comparison panel within the markup items provider.
@param show true indicates to show the function comparison within the provider.
Otherwise, hide it.
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/provider/markuptable/VTMarkupItemsTableProvider.java