List of usage examples for com.intellij.openapi.ui MasterDetailsComponent setHistory
public void setHistory(final History history)
From source file:com.android.tools.idea.structure.dialog.ProjectStructureConfigurable.java
License:Apache License
@Override @NotNull/*from w ww .ja v a 2 s . c o m*/ public ActionCallback navigateTo(@Nullable Place place, boolean requestFocus) { if (place == null) { return ActionCallback.DONE; } Configurable toSelect; Object displayName = place.getPath(CATEGORY_NAME); if (displayName instanceof String) { toSelect = findConfigurable((String) displayName); } else { toSelect = (Configurable) place.getPath(CATEGORY); } JComponent detailsContent = myDetails.getTargetComponent(); if (mySelectedConfigurable != toSelect) { saveSideProportion(); removeSelected(); } if (toSelect != null) { detailsContent = toSelect.createComponent(); myDetails.setContent(detailsContent); } mySelectedConfigurable = toSelect; if (mySelectedConfigurable != null) { myUiState.lastEditedConfigurable = mySelectedConfigurable.getDisplayName(); } if (toSelect instanceof MasterDetailsComponent) { MasterDetailsComponent masterDetails = (MasterDetailsComponent) toSelect; if (myUiState.sideProportion > 0) { masterDetails.getSplitter().setProportion(myUiState.sideProportion); } masterDetails.setHistory(myHistory); } else if (toSelect == mySdksConfigurable) { mySdksConfigurable.setHistory(myHistory); } if (toSelect != null) { mySidePanel.select(createPlaceFor(toSelect)); } JComponent toFocus = null; if (mySelectedConfigurable instanceof BaseConfigurable) { BaseConfigurable configurable = (BaseConfigurable) mySelectedConfigurable; toFocus = configurable.getPreferredFocusedComponent(); } else if (mySelectedConfigurable instanceof MasterDetailsComponent) { MasterDetailsComponent configurable = (MasterDetailsComponent) mySelectedConfigurable; toFocus = configurable.getMaster(); } if (toFocus == null && detailsContent != null) { toFocus = IdeFocusTraversalPolicy.getPreferredFocusedComponent(detailsContent); if (toFocus == null) { toFocus = detailsContent; } } myToFocus = toFocus; if (myToFocus != null) { requestFocus(myToFocus); } ActionCallback result = new ActionCallback(); goFurther(toSelect, place, requestFocus).notifyWhenDone(result); myDetails.revalidate(); myDetails.repaint(); if (!myHistory.isNavigatingNow() && mySelectedConfigurable != null) { myHistory.pushQueryPlace(); } return result; }