mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Fixed NPE (PY-4828).
This commit is contained in:
@@ -79,6 +79,7 @@ public abstract class BaseViewAction extends DumbAwareAction {
|
||||
return cell != null && cell.isDetached();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected static Tab getTabFor(final ViewContext context, final Content[] content) {
|
||||
Grid grid = context.findGridFor(content[0]);
|
||||
return context.getTabFor(grid);
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.intellij.openapi.wm.IdeFocusManager;
|
||||
import com.intellij.ui.content.Content;
|
||||
import com.intellij.ui.content.ContentManager;
|
||||
import com.intellij.execution.ui.RunnerLayoutUi;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface ViewContext extends Disposable {
|
||||
|
||||
@@ -40,6 +41,7 @@ public interface ViewContext extends Disposable {
|
||||
|
||||
CellTransform.Facade getCellTransform();
|
||||
|
||||
@Nullable
|
||||
Tab getTabFor(final Grid grid);
|
||||
|
||||
View getStateFor(Content content);
|
||||
|
||||
+8
-3
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.intellij.execution.ui.layout.actions;
|
||||
|
||||
import com.intellij.execution.ui.layout.Tab;
|
||||
import com.intellij.execution.ui.layout.ViewContext;
|
||||
import com.intellij.execution.ui.actions.BaseViewAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
@@ -44,9 +45,13 @@ public class MinimizeViewAction extends BaseViewAction {
|
||||
|
||||
if (ViewContext.TAB_TOOLBAR_PLACE.equals(place) || ViewContext.TAB_POPUP_PLACE.equals(place)) {
|
||||
return false;
|
||||
} else {
|
||||
return getTabFor(context, content).isDefault();
|
||||
}
|
||||
else {
|
||||
Tab tab = getTabFor(context, content);
|
||||
if (tab == null) {
|
||||
return false;
|
||||
}
|
||||
return tab.isDefault();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ public class MoveToGridAction extends BaseViewAction {
|
||||
return;
|
||||
}
|
||||
Tab tab = context.getTabFor(grid);
|
||||
setEnabled(e, !tab.isDefault() && grid.getContents().size() == 1);
|
||||
setEnabled(e, tab != null && !tab.isDefault() && grid.getContents().size() == 1);
|
||||
}
|
||||
|
||||
protected void actionPerformed(final AnActionEvent e, final ViewContext context, final Content[] content) {
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ public class MoveToTabAction extends BaseViewAction {
|
||||
if (ViewContext.TAB_TOOLBAR_PLACE.equals(e.getPlace())) {
|
||||
setEnabled(e, false);
|
||||
} else {
|
||||
setEnabled(e, tab.isDefault());
|
||||
setEnabled(e, tab != null && tab.isDefault());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,6 @@ public class GridImpl extends Wrapper implements Grid, Disposable, CellTransform
|
||||
myTopSplit.setLastComponent(right);
|
||||
mySplitter.setFirstComponent(myTopSplit);
|
||||
mySplitter.setSecondComponent(bottom);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -115,7 +114,7 @@ public class GridImpl extends Wrapper implements Grid, Disposable, CellTransform
|
||||
}
|
||||
|
||||
private void updateSelection(boolean isShowing) {
|
||||
for (GridCellImpl each: myPlaceInGrid2Cell.values()) {
|
||||
for (GridCellImpl each : myPlaceInGrid2Cell.values()) {
|
||||
each.updateSelection(isShowing);
|
||||
}
|
||||
}
|
||||
@@ -181,6 +180,7 @@ public class GridImpl extends Wrapper implements Grid, Disposable, CellTransform
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Tab getTabIndex() {
|
||||
return getTab();
|
||||
}
|
||||
@@ -202,7 +202,10 @@ public class GridImpl extends Wrapper implements Grid, Disposable, CellTransform
|
||||
public void rebuildTabPopup() {
|
||||
final List<Content> contents = getContents();
|
||||
for (Content each : contents) {
|
||||
findCell(each).rebuildPopupGroup();
|
||||
GridCellImpl cell = findCell(each);
|
||||
if (cell != null) {
|
||||
cell.rebuildPopupGroup();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -253,20 +256,23 @@ public class GridImpl extends Wrapper implements Grid, Disposable, CellTransform
|
||||
|
||||
final TabImpl tab = (TabImpl)getTab();
|
||||
|
||||
switch (placeInGrid) {
|
||||
case left:
|
||||
tab.setLeftProportion(getLeftProportion());
|
||||
break;
|
||||
case right:
|
||||
tab.setRightProportion(getRightProportion());
|
||||
break;
|
||||
case bottom:
|
||||
tab.setBottomProportion(getBottomPropertion());
|
||||
case center:
|
||||
break;
|
||||
if (tab != null) {
|
||||
switch (placeInGrid) {
|
||||
case left:
|
||||
tab.setLeftProportion(getLeftProportion());
|
||||
break;
|
||||
case right:
|
||||
tab.setRightProportion(getRightProportion());
|
||||
break;
|
||||
case bottom:
|
||||
tab.setBottomProportion(getBottomPropertion());
|
||||
case center:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Tab getTab() {
|
||||
return myViewContext.getTabFor(this);
|
||||
}
|
||||
@@ -276,17 +282,19 @@ public class GridImpl extends Wrapper implements Grid, Disposable, CellTransform
|
||||
if (!RunnerContentUi.ensureValid(this)) return;
|
||||
|
||||
final TabImpl tab = (TabImpl)getTab();
|
||||
switch (placeInGrid) {
|
||||
case left:
|
||||
setLeftProportion(tab.getLeftProportion());
|
||||
break;
|
||||
case right:
|
||||
setRightProportion(tab.getRightProportion());
|
||||
break;
|
||||
case bottom:
|
||||
mySplitter.setProportion(tab.getBottomProportion());
|
||||
case center:
|
||||
break;
|
||||
if (tab != null) {
|
||||
switch (placeInGrid) {
|
||||
case left:
|
||||
setLeftProportion(tab.getLeftProportion());
|
||||
break;
|
||||
case right:
|
||||
setRightProportion(tab.getRightProportion());
|
||||
break;
|
||||
case bottom:
|
||||
mySplitter.setProportion(tab.getBottomProportion());
|
||||
case center:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -378,7 +386,8 @@ public class GridImpl extends Wrapper implements Grid, Disposable, CellTransform
|
||||
public Object getData(@NonNls final String dataId) {
|
||||
if (ViewContext.CONTEXT_KEY.is(dataId)) {
|
||||
return myViewContext;
|
||||
} else if (ViewContext.CONTENT_KEY.is(dataId)) {
|
||||
}
|
||||
else if (ViewContext.CONTENT_KEY.is(dataId)) {
|
||||
List<Content> contents = getContents();
|
||||
return contents.toArray(new Content[contents.size()]);
|
||||
}
|
||||
@@ -388,6 +397,8 @@ public class GridImpl extends Wrapper implements Grid, Disposable, CellTransform
|
||||
public String getSessionName() {
|
||||
return mySessionName;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public SwitchTarget getCellFor(Component c) {
|
||||
Component eachParent = c;
|
||||
while (eachParent != null) {
|
||||
|
||||
@@ -73,6 +73,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
JBTabs myTabs;
|
||||
private final Comparator<TabInfo> myTabsComparator = new Comparator<TabInfo>() {
|
||||
public int compare(final TabInfo o1, final TabInfo o2) {
|
||||
//noinspection ConstantConditions
|
||||
return getTabFor(o1).getIndex() - getTabFor(o2).getIndex();
|
||||
}
|
||||
};
|
||||
@@ -149,20 +150,21 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
if (myTabs != null) return;
|
||||
|
||||
myTabs = new JBTabsImpl(myProject, myActionManager, myFocusManager, this)
|
||||
.setDataProvider(new DataProvider() {
|
||||
public Object getData(@NonNls final String dataId) {
|
||||
if (ViewContext.CONTENT_KEY.is(dataId)) {
|
||||
TabInfo info = myTabs.getTargetInfo();
|
||||
if (info != null) {
|
||||
return getGridFor(info).getData(dataId);
|
||||
}
|
||||
.setDataProvider(new DataProvider() {
|
||||
public Object getData(@NonNls final String dataId) {
|
||||
if (ViewContext.CONTENT_KEY.is(dataId)) {
|
||||
TabInfo info = myTabs.getTargetInfo();
|
||||
if (info != null) {
|
||||
return getGridFor(info).getData(dataId);
|
||||
}
|
||||
else if (ViewContext.CONTEXT_KEY.is(dataId)) {
|
||||
return RunnerContentUi.this;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}).setProvideSwitchTargets(false).setInnerInsets(new Insets(1, 0, 0, 0)).setToDrawBorderIfTabsHidden(false).setUiDecorator(new UiDecorator() {
|
||||
else if (ViewContext.CONTEXT_KEY.is(dataId)) {
|
||||
return RunnerContentUi.this;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}).setProvideSwitchTargets(false).setInnerInsets(new Insets(1, 0, 0, 0)).setToDrawBorderIfTabsHidden(false)
|
||||
.setUiDecorator(new UiDecorator() {
|
||||
@NotNull
|
||||
public UiDecoration getDecoration() {
|
||||
return new UiDecoration(null, new Insets(1, 8, 1, 8));
|
||||
@@ -171,7 +173,8 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
rebuildTabPopup();
|
||||
|
||||
|
||||
myTabs.getPresentation().setPaintBorder(0, 0, 0, 0).setTabSidePaintBorder(2).setPaintFocus(false).setRequestFocusOnLastFocusedComponent(true);
|
||||
myTabs.getPresentation().setPaintBorder(0, 0, 0, 0).setTabSidePaintBorder(2).setPaintFocus(false)
|
||||
.setRequestFocusOnLastFocusedComponent(true);
|
||||
|
||||
final NonOpaquePanel wrappper = new NonOpaquePanel(new BorderLayout(0, 0));
|
||||
wrappper.add(myToolbar, BorderLayout.WEST);
|
||||
@@ -191,7 +194,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
}
|
||||
|
||||
public void selectionChanged(final TabInfo oldSelection, final TabInfo newSelection) {
|
||||
if (!myTabs.getComponent().isShowing()) return;
|
||||
if (!myTabs.getComponent().isShowing()) return;
|
||||
|
||||
if (newSelection != null) {
|
||||
newSelection.stopAlerting();
|
||||
@@ -212,7 +215,6 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
for (GridImpl each : grids) {
|
||||
each.rebuildTabPopup();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public ActionGroup getCellPopupGroup(final String place) {
|
||||
@@ -238,7 +240,6 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
group.add(eachAddin);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
group.add(each);
|
||||
@@ -263,10 +264,11 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
final String property = evt.getPropertyName();
|
||||
if (Content.PROP_ALERT.equals(property)) {
|
||||
attract(content, true);
|
||||
} else if (Content.PROP_DISPLAY_NAME.equals(property)
|
||||
|| Content.PROP_ICON.equals(property)
|
||||
|| Content.PROP_ACTIONS.equals(property)
|
||||
|| Content.PROP_DESCRIPTION.equals(property)) {
|
||||
}
|
||||
else if (Content.PROP_DISPLAY_NAME.equals(property)
|
||||
|| Content.PROP_ICON.equals(property)
|
||||
|| Content.PROP_ACTIONS.equals(property)
|
||||
|| Content.PROP_DESCRIPTION.equals(property)) {
|
||||
cell.updateTabPresentation(content);
|
||||
updateTabsUI(false);
|
||||
}
|
||||
@@ -289,10 +291,12 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
tab.setAlertIcon(content.getAlertIcon());
|
||||
if (activate) {
|
||||
tab.fireAlert();
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
tab.stopAlerting();
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
grid.processAlert(content, activate);
|
||||
}
|
||||
}
|
||||
@@ -314,6 +318,10 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
public void contentAdded(final ContentManagerEvent event) {
|
||||
final GridImpl grid = getGridFor(event.getContent(), true);
|
||||
|
||||
if (grid == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
grid.add(event.getContent());
|
||||
|
||||
if (getSelectedGrid() == grid) {
|
||||
@@ -355,6 +363,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
});
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private GridImpl getSelectedGrid() {
|
||||
TabInfo selection = myTabs.getSelectedInfo();
|
||||
return selection != null ? getGridFor(selection) : null;
|
||||
@@ -497,8 +506,13 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
}
|
||||
|
||||
private static boolean updateTabUI(TabInfo tab) {
|
||||
String title = getTabFor(tab).getDisplayName();
|
||||
Icon icon = getTabFor(tab).getIcon();
|
||||
TabImpl t = getTabFor(tab);
|
||||
if (t == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
String title = t.getDisplayName();
|
||||
Icon icon = t.getIcon();
|
||||
|
||||
GridImpl grid = getGridFor(tab);
|
||||
boolean hasToolbarContent = grid.updateGridUI();
|
||||
@@ -521,7 +535,8 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
}
|
||||
|
||||
|
||||
tab.setText(title).setIcon(grid.getTab().isDefault() ? null : icon);
|
||||
Tab gridTab = grid.getTab();
|
||||
tab.setText(title).setIcon(gridTab != null && gridTab.isDefault() ? null : icon);
|
||||
|
||||
return hasToolbarContent;
|
||||
}
|
||||
@@ -532,7 +547,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
try {
|
||||
setStateIsBeingRestored(true, this);
|
||||
|
||||
List<TabInfo> tabs = new ArrayList<TabInfo>();
|
||||
List<TabInfo> tabs = new ArrayList<TabInfo>();
|
||||
tabs.addAll(myTabs.getTabs());
|
||||
|
||||
final ActionCallback result = new ActionCallback(tabs.size());
|
||||
@@ -541,14 +556,14 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
getGridFor(each).restoreLastUiState().notifyWhenDone(result);
|
||||
}
|
||||
|
||||
return result;
|
||||
return result;
|
||||
}
|
||||
finally {
|
||||
setStateIsBeingRestored(false, this);
|
||||
}
|
||||
}
|
||||
|
||||
public void saveUiState() {
|
||||
public void saveUiState() {
|
||||
if (isStateBeingRestored()) return;
|
||||
|
||||
for (TabInfo each : myTabs.getTabs()) {
|
||||
@@ -557,12 +572,17 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Tab getTabFor(final Grid grid) {
|
||||
TabInfo info = myTabs.findInfo((Component)grid);
|
||||
return getTabFor(info);
|
||||
}
|
||||
|
||||
private static TabImpl getTabFor(final TabInfo tab) {
|
||||
@Nullable
|
||||
private static TabImpl getTabFor(@Nullable final TabInfo tab) {
|
||||
if (tab == null) {
|
||||
return null;
|
||||
}
|
||||
return (TabImpl)tab.getObject();
|
||||
}
|
||||
|
||||
@@ -574,7 +594,8 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
public Grid findGridFor(Content content) {
|
||||
TabImpl tab = (TabImpl)getStateFor(content).getTab();
|
||||
for (TabInfo each : myTabs.getTabs()) {
|
||||
if (getTabFor(each).equals(tab)) return getGridFor(each);
|
||||
TabImpl t = getTabFor(each);
|
||||
if (t != null && t.equals(tab)) return getGridFor(each);
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -701,7 +722,9 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
myConditionAttractions.put(condition, policy);
|
||||
}
|
||||
|
||||
private static LayoutAttractionPolicy getOrCreatePolicyFor(String key, Map<String, LayoutAttractionPolicy> map, LayoutAttractionPolicy defaultPolicy) {
|
||||
private static LayoutAttractionPolicy getOrCreatePolicyFor(String key,
|
||||
Map<String, LayoutAttractionPolicy> map,
|
||||
LayoutAttractionPolicy defaultPolicy) {
|
||||
LayoutAttractionPolicy policy = map.get(key);
|
||||
if (policy == null) {
|
||||
policy = defaultPolicy;
|
||||
@@ -710,6 +733,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
return policy;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Content findContent(final String key) {
|
||||
final ContentManager manager = getContentManager();
|
||||
if (manager == null || key == null) return null;
|
||||
@@ -821,14 +845,20 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
}
|
||||
|
||||
public void attractByCondition(String condition, boolean afterInitialized) {
|
||||
processAttraction(myLayoutSettings.getToFocus(condition), myConditionAttractions, myLayoutSettings.getAttractionPolicy(condition), afterInitialized, true);
|
||||
processAttraction(myLayoutSettings.getToFocus(condition), myConditionAttractions, myLayoutSettings.getAttractionPolicy(condition),
|
||||
afterInitialized, true);
|
||||
}
|
||||
|
||||
public void clearAttractionByCondition(String condition, boolean afterInitialized) {
|
||||
processAttraction(myLayoutSettings.getToFocus(condition), myConditionAttractions, new LayoutAttractionPolicy.FocusOnce(), afterInitialized, false);
|
||||
processAttraction(myLayoutSettings.getToFocus(condition), myConditionAttractions, new LayoutAttractionPolicy.FocusOnce(),
|
||||
afterInitialized, false);
|
||||
}
|
||||
|
||||
private void processAttraction(final String contentId, final Map<String, LayoutAttractionPolicy> policyMap, final LayoutAttractionPolicy defaultPolicy, final boolean afterInitialized, final boolean activate) {
|
||||
private void processAttraction(final String contentId,
|
||||
final Map<String, LayoutAttractionPolicy> policyMap,
|
||||
final LayoutAttractionPolicy defaultPolicy,
|
||||
final boolean afterInitialized,
|
||||
final boolean activate) {
|
||||
IdeFocusManager.getInstance(getProject()).doWhenFocusSettlesDown(new Runnable() {
|
||||
public void run() {
|
||||
myInitialized.processOnDone(new Runnable() {
|
||||
@@ -909,7 +939,10 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
for (Content each : content) {
|
||||
GridImpl eachGrid = getGridFor(each, false);
|
||||
if (willBeEmptyOnRemove(eachGrid, contents)) {
|
||||
myTabs.findInfo(eachGrid).setHidden(true);
|
||||
TabInfo info = myTabs.findInfo(eachGrid);
|
||||
if (info != null) {
|
||||
info.setHidden(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -971,7 +1004,6 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
saveUiState();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1017,7 +1049,8 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
if (requestFocus) {
|
||||
grid.select(content, requestFocus).notifyWhenDone(result);
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
myTabs.select(info, false).doWhenDone(new Runnable() {
|
||||
public void run() {
|
||||
grid.select(content, requestFocus).notifyWhenDone(result);
|
||||
@@ -1105,7 +1138,6 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
|
||||
toMakeVerticallyInCenter(myLeft, parent);
|
||||
toMakeVerticallyInCenter(myRight, parent);
|
||||
|
||||
}
|
||||
|
||||
private static void toMakeVerticallyInCenter(JComponent comp, Container parent) {
|
||||
@@ -1118,7 +1150,6 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
|
||||
int y = (int)Math.floor(parentHeight / 2.0 - compHeight / 2.0);
|
||||
comp.setBounds(compBounds.x, y, compBounds.width, compHeight);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1148,18 +1179,25 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
|
||||
if (owner == null) return myTabs.getCurrentTarget();
|
||||
|
||||
GridImpl grid = getSelectedGrid();
|
||||
if (grid.getContents().size() <= 1) return myTabs.getCurrentTarget();
|
||||
if (grid != null && grid.getContents().size() <= 1) return myTabs.getCurrentTarget();
|
||||
|
||||
SwitchTarget cell = grid.getCellFor(owner);
|
||||
|
||||
return cell != null ? cell : myTabs.getCurrentTarget();
|
||||
if (grid != null) {
|
||||
SwitchTarget cell = grid.getCellFor(owner);
|
||||
return cell != null ? cell : myTabs.getCurrentTarget();
|
||||
}
|
||||
else {
|
||||
return myTabs.getCurrentTarget();
|
||||
}
|
||||
}
|
||||
|
||||
public List<SwitchTarget> getTargets(boolean onlyVisible, boolean originalProvider) {
|
||||
List<SwitchTarget> result = new ArrayList<SwitchTarget>();
|
||||
|
||||
result.addAll(myTabs.getTargets(true, false));
|
||||
result.addAll(getSelectedGrid().getTargets(onlyVisible));
|
||||
GridImpl grid = getSelectedGrid();
|
||||
if (grid != null) {
|
||||
result.addAll(grid.getTargets(onlyVisible));
|
||||
}
|
||||
|
||||
for (Wrapper wrapper : myMinimizedButtonsPlaceholder.values()) {
|
||||
if (!wrapper.isShowing()) continue;
|
||||
|
||||
Reference in New Issue
Block a user