@Override
	public void fieldLocationChanged(FieldLocation location, Field field, EventTrigger trigger) {
		if (!(field instanceof ListingField lf)) {
			return;
		}

		if (isHeaderShowing()) {
			FieldFactory selectedFieldFactory = headerPanel.getSelectedFieldFactory();
			if (lf.getFieldFactory() != selectedFieldFactory) {
				headerPanel.setSelectedFieldFactory(lf.getFieldFactory());
				headerPanel.repaint();
			}
			headerPanel.setTabLock(false);
		}

		if (programLocationListener != null) {
			ProgramLocation pLoc = layoutModel.getProgramLocation(location, field);
			if (pLoc != null) {
				programLocationListener.programLocationChanged(pLoc, trigger);
			}
		}
	}
Sets the program to be displayed by this listing panel

@param program the program to display.
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/listingpanel/ListingPanel.java