summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java')
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java49
1 files changed, 47 insertions, 2 deletions
diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java
index efcdd148d57b..1fa2bd95defe 100644
--- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java
+++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java
@@ -72,6 +72,7 @@ public final class ToolWindowImpl implements ToolWindowEx {
private boolean myPlaceholderMode;
private ToolWindowFactory myContentFactory;
+ @NotNull
private ActionCallback myActivation = new ActionCallback.Done();
private final BusyObject.Impl myShowing = new BusyObject.Impl() {
@Override
@@ -115,18 +116,22 @@ public final class ToolWindowImpl implements ToolWindowEx {
myChangeSupport.addPropertyChangeListener(l);
}
+ @Override
public final void removePropertyChangeListener(final PropertyChangeListener l) {
myChangeSupport.removePropertyChangeListener(l);
}
+ @Override
public final void activate(final Runnable runnable) {
activate(runnable, true);
}
+ @Override
public void activate(@Nullable final Runnable runnable, final boolean autoFocusContents) {
activate(runnable, autoFocusContents, true);
}
+ @Override
public void activate(@Nullable final Runnable runnable, boolean autoFocusContents, boolean forced) {
ApplicationManager.getApplication().assertIsDispatchThread();
@@ -136,6 +141,7 @@ public final class ToolWindowImpl implements ToolWindowEx {
myToolWindowManager.activateToolWindow(myId, forced, autoFocusContents);
getActivation().doWhenDone(new Runnable() {
+ @Override
public void run() {
myToolWindowManager.invokeLater(new Runnable() {
@Override
@@ -150,6 +156,7 @@ public final class ToolWindowImpl implements ToolWindowEx {
});
}
+ @Override
public final boolean isActive() {
ApplicationManager.getApplication().assertIsDispatchThread();
if (myToolWindowManager.isEditorComponentActive()) return false;
@@ -182,11 +189,13 @@ public final class ToolWindowImpl implements ToolWindowEx {
return result;
}
+ @Override
public final void show(final Runnable runnable) {
ApplicationManager.getApplication().assertIsDispatchThread();
myToolWindowManager.showToolWindow(myId);
if (runnable != null) {
getActivation().doWhenDone(new Runnable() {
+ @Override
public void run() {
myToolWindowManager.invokeLater(runnable);
}
@@ -194,6 +203,7 @@ public final class ToolWindowImpl implements ToolWindowEx {
}
}
+ @Override
public final void hide(@Nullable final Runnable runnable) {
ApplicationManager.getApplication().assertIsDispatchThread();
myToolWindowManager.hideToolWindow(myId, false);
@@ -202,14 +212,17 @@ public final class ToolWindowImpl implements ToolWindowEx {
}
}
+ @Override
public final boolean isVisible() {
return myToolWindowManager.isToolWindowVisible(myId);
}
+ @Override
public final ToolWindowAnchor getAnchor() {
return myToolWindowManager.getToolWindowAnchor(myId);
}
+ @Override
public final void setAnchor(final ToolWindowAnchor anchor, @Nullable final Runnable runnable) {
ApplicationManager.getApplication().assertIsDispatchThread();
myToolWindowManager.setToolWindowAnchor(myId, anchor);
@@ -218,11 +231,13 @@ public final class ToolWindowImpl implements ToolWindowEx {
}
}
+ @Override
public boolean isSplitMode() {
ApplicationManager.getApplication().assertIsDispatchThread();
return myToolWindowManager.isSplitMode(myId);
}
+ @Override
public void setContentUiType(ToolWindowContentUiType type, @Nullable Runnable runnable) {
ApplicationManager.getApplication().assertIsDispatchThread();
myToolWindowManager.setContentUiType(myId, type);
@@ -231,15 +246,18 @@ public final class ToolWindowImpl implements ToolWindowEx {
}
}
+ @Override
public void setDefaultContentUiType(@NotNull ToolWindowContentUiType type) {
myToolWindowManager.setDefaultContentUiType(this, type);
}
+ @Override
public ToolWindowContentUiType getContentUiType() {
ApplicationManager.getApplication().assertIsDispatchThread();
return myToolWindowManager.getContentUiType(myId);
}
+ @Override
public void setSplitMode(final boolean isSideTool, @Nullable final Runnable runnable) {
ApplicationManager.getApplication().assertIsDispatchThread();
myToolWindowManager.setSideTool(myId, isSideTool);
@@ -248,20 +266,24 @@ public final class ToolWindowImpl implements ToolWindowEx {
}
}
+ @Override
public final void setAutoHide(final boolean state) {
ApplicationManager.getApplication().assertIsDispatchThread();
myToolWindowManager.setToolWindowAutoHide(myId, state);
}
+ @Override
public final boolean isAutoHide() {
ApplicationManager.getApplication().assertIsDispatchThread();
return myToolWindowManager.isToolWindowAutoHide(myId);
}
+ @Override
public final ToolWindowType getType() {
return myToolWindowManager.getToolWindowType(myId);
}
+ @Override
public final void setType(final ToolWindowType type, @Nullable final Runnable runnable) {
ApplicationManager.getApplication().assertIsDispatchThread();
myToolWindowManager.setToolWindowType(myId, type);
@@ -270,19 +292,23 @@ public final class ToolWindowImpl implements ToolWindowEx {
}
}
+ @Override
public final ToolWindowType getInternalType() {
ApplicationManager.getApplication().assertIsDispatchThread();
return myToolWindowManager.getToolWindowInternalType(myId);
}
+ @Override
public void stretchWidth(int value) {
myToolWindowManager.stretchWidth(this, value);
}
+ @Override
public void stretchHeight(int value) {
myToolWindowManager.stretchHeight(this, value);
}
+ @Override
public InternalDecorator getDecorator() {
return myDecorator;
}
@@ -297,6 +323,7 @@ public final class ToolWindowImpl implements ToolWindowEx {
getDecorator().setTitleActions(actions);
}
+ @Override
public final void setAvailable(final boolean available, final Runnable runnable) {
ApplicationManager.getApplication().assertIsDispatchThread();
final Boolean oldAvailable = myAvailable ? Boolean.TRUE : Boolean.FALSE;
@@ -307,6 +334,7 @@ public final class ToolWindowImpl implements ToolWindowEx {
}
}
+ @Override
public void installWatcher(ContentManager contentManager) {
new ContentManagerWatcher(this, contentManager);
}
@@ -316,14 +344,17 @@ public final class ToolWindowImpl implements ToolWindowEx {
* <code>ContentManager</code> class. Otherwise it delegates the functionality to the
* passed content manager.
*/
+ @Override
public final boolean isAvailable() {
return myAvailable && myComponent != null;
}
+ @Override
public final JComponent getComponent() {
return myComponent;
}
+ @Override
public ContentManager getContentManager() {
return myContentManager;
}
@@ -332,6 +363,7 @@ public final class ToolWindowImpl implements ToolWindowEx {
return myContentUI;
}
+ @Override
public final Icon getIcon() {
ApplicationManager.getApplication().assertIsDispatchThread();
return myIcon;
@@ -342,17 +374,20 @@ public final class ToolWindowImpl implements ToolWindowEx {
return myId;
}
+ @Override
public final String getTitle() {
ApplicationManager.getApplication().assertIsDispatchThread();
return getSelectedContent().getDisplayName();
}
+ @Override
@NotNull
public final String getStripeTitle() {
ApplicationManager.getApplication().assertIsDispatchThread();
return ObjectUtils.notNull(myStripeTitle, myId);
}
+ @Override
public final void setIcon(final Icon icon) {
ApplicationManager.getApplication().assertIsDispatchThread();
final Icon oldIcon = getIcon();
@@ -364,6 +399,7 @@ public final class ToolWindowImpl implements ToolWindowEx {
myChangeSupport.firePropertyChange(PROP_ICON, oldIcon, icon);
}
+ @Override
public final void setTitle(String title) {
ApplicationManager.getApplication().assertIsDispatchThread();
String oldTitle = getTitle();
@@ -371,6 +407,7 @@ public final class ToolWindowImpl implements ToolWindowEx {
myChangeSupport.firePropertyChange(PROP_TITLE, oldTitle, title);
}
+ @Override
public final void setStripeTitle(@NotNull String stripeTitle) {
ApplicationManager.getApplication().assertIsDispatchThread();
String oldTitle = myStripeTitle;
@@ -415,18 +452,22 @@ public final class ToolWindowImpl implements ToolWindowEx {
return myDecorator != null ? myDecorator.createPopupGroup() : null;
}
+ @Override
public void setDefaultState(@Nullable final ToolWindowAnchor anchor, @Nullable final ToolWindowType type, @Nullable final Rectangle floatingBounds) {
myToolWindowManager.setDefaultState(this, anchor, type, floatingBounds);
}
+ @Override
public void setToHideOnEmptyContent(final boolean hideOnEmpty) {
myHideOnEmptyContent = hideOnEmpty;
}
+ @Override
public boolean isToHideOnEmptyContent() {
return myHideOnEmptyContent;
}
+ @Override
public boolean isDisposed() {
return myContentManager.isDisposed();
}
@@ -439,12 +480,15 @@ public final class ToolWindowImpl implements ToolWindowEx {
myPlaceholderMode = placeholderMode;
}
+ @Override
+ @NotNull
public ActionCallback getActivation() {
return myActivation;
}
- public ActionCallback setActivation(ActionCallback activation) {
- if (myActivation != null && !myActivation.isProcessed() && !myActivation.equals(activation)) {
+ @NotNull
+ public ActionCallback setActivation(@NotNull ActionCallback activation) {
+ if (!myActivation.isProcessed() && !myActivation.equals(activation)) {
myActivation.setRejected();
}
@@ -467,6 +511,7 @@ public final class ToolWindowImpl implements ToolWindowEx {
}
}
+ @Override
public void showContentPopup(InputEvent inputEvent) {
myContentUI.toggleContentPopup();
}