}
@Override
public void actionPerformed(ActionEvent event) {
MCTStandardHousing housing = (MCTStandardHousing) context.getTargetHousing();
AbstractComponent c = housing.getContentArea().getHousedViewManifestation().getManifestedComponent();
if (!c.isStale() && c.isDirty()) {
if (!commitOrAbortPendingChanges()) {
return; // Abandon event if user aborts.
}
}
View currentCanvasViewManifestation = housing.getContentArea().getHousedViewManifestation();
if (!viewInfo.equals(currentCanvasViewManifestation.getInfo())) {
// get a component from the persistence provider to ensure the component always reflects the most recent updates
// this also ensures that when changing a view any non saved changes will be lost
AbstractComponent ac = PlatformAccess.getPlatform().getPersistenceProvider().getComponent(currentCanvasViewManifestation.getManifestedComponent().getComponentId());
View v = viewInfo.createView(ac);
housing.getContentArea().setOwnerComponentCanvasManifestation(v);
housing.setTitle(v.getManifestedComponent().getDisplayName()
+ " - " + viewInfo.getViewName() + PLUS);
housing.getContentArea().getHousedViewManifestation().requestFocusInWindow();
}
}