visual switcher - default in toolwindows & jbtabs
authorKirill Kalishev <kirill.kalishev@jetbrains.com>
Fri, 23 Apr 2010 11:46:47 +0000 (15:46 +0400)
committerKirill Kalishev <kirill.kalishev@jetbrains.com>
Fri, 23 Apr 2010 11:46:47 +0000 (15:46 +0400)
platform/platform-api/src/com/intellij/ui/tabs/JBTabsPresentation.java
platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.java
platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ToolWindowContentUi.java

index cfcb66148fec74049d2aba56fa9d1925ecb299f9..cf4b8d05668e5e0033033390e78d6b068e4e83fa 100644 (file)
@@ -95,4 +95,6 @@ public interface JBTabsPresentation {
   
   boolean isTabDraggingEnabled();
 
+  JBTabsPresentation setProvideSwitchTargets(boolean provide);
+
 }
\ No newline at end of file
index 4f862c611d66e306413172ecd5121f8822c65759..edf5f9a4ef250c4fcedd9ef64ffebc37a57587d5 100644 (file)
@@ -30,6 +30,7 @@ import com.intellij.openapi.wm.IdeGlassPaneUtil;
 import com.intellij.openapi.wm.impl.content.GraphicsConfig;
 import com.intellij.ui.CaptionPanel;
 import com.intellij.ui.awt.RelativeRectangle;
+import com.intellij.ui.switcher.SwitchProvider;
 import com.intellij.ui.switcher.SwitchTarget;
 import com.intellij.ui.tabs.*;
 import com.intellij.ui.tabs.impl.singleRow.SingleRowLayout;
@@ -154,6 +155,8 @@ public class JBTabsImpl extends JComponent
   private boolean myNavigationActionsEnabled = true;
   private boolean myUseBufferedPaint = true;
 
+  private boolean myOwnSwitchProvider = true;
+
   public JBTabsImpl(@NotNull Project project) {
     this(project, project);
   }
@@ -2589,6 +2592,10 @@ public class JBTabsImpl extends JComponent
       if (value != null) return value;
     }
 
+    if (SwitchProvider.KEY.getName().equals(dataId) && myOwnSwitchProvider) {
+      return this;
+    }
+
     return NAVIGATION_ACTIONS_KEY.is(dataId) ? this : null;
   }
 
@@ -2689,6 +2696,11 @@ public class JBTabsImpl extends JComponent
     return myTabDraggingEnabled && isSingleRow();
   }
 
+  public JBTabsPresentation setProvideSwitchTargets(boolean provide) {
+    myOwnSwitchProvider = provide;
+    return this;
+  }
+
   void reallocate(TabInfo source, TabInfo target, boolean before) {
     if (source == target || source == null || target == null) return;
 
index f9045bbcc8c039c27673f0cdca1601fdb26cb714..603a46ee5c0d32f49e009ff490b54c80e216d1f5 100644 (file)
@@ -366,6 +366,10 @@ public class ToolWindowContentUi extends JPanel implements ContentUI, PropertyCh
       return computeCloseTarget();
     }
 
+    if (SwitchProvider.KEY.is(dataId) && myType == ToolWindowContentUiType.TABBED) {
+      return this;
+    }
+
     return null;
   }