diff --git a/platform/platform-api/src/com/intellij/ui/components/JBTabbedPane.java b/platform/platform-api/src/com/intellij/ui/components/JBTabbedPane.java index 49ad44abf968..88f0bc2e1a8e 100644 --- a/platform/platform-api/src/com/intellij/ui/components/JBTabbedPane.java +++ b/platform/platform-api/src/com/intellij/ui/components/JBTabbedPane.java @@ -18,6 +18,7 @@ package com.intellij.ui.components; import com.intellij.openapi.util.SystemInfo; import com.intellij.ui.JBColor; import com.intellij.ui.ScreenUtil; +import com.intellij.util.ui.JBSwingUtilities; import com.intellij.util.ui.UIUtil; import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NonNls; @@ -123,4 +124,9 @@ public class JBTabbedPane extends JTabbedPane implements HierarchyListener { getComponentAt(i).removeHierarchyListener(this); } } + + @Override + protected Graphics getComponentGraphics(Graphics graphics) { + return JBSwingUtilities.runGlobalCGTransform(this, super.getComponentGraphics(graphics)); + } } diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeBackgroundUtil.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeBackgroundUtil.java index a65fd0160d1b..3322dc6c6a09 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeBackgroundUtil.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeBackgroundUtil.java @@ -100,6 +100,7 @@ public class IdeBackgroundUtil { component instanceof JList ? "list" : component instanceof JTable ? "table" : component instanceof JViewport ? "viewport" : + component instanceof JTabbedPane ? "tabs" : component instanceof JButton ? "button" : component instanceof ActionToolbar ? "toolbar" : component instanceof EditorsSplitters ? "frame" : diff --git a/platform/usageView/src/com/intellij/usages/impl/UsageContextPanelBase.java b/platform/usageView/src/com/intellij/usages/impl/UsageContextPanelBase.java index 35457f8bb636..ad06eddcc13d 100644 --- a/platform/usageView/src/com/intellij/usages/impl/UsageContextPanelBase.java +++ b/platform/usageView/src/com/intellij/usages/impl/UsageContextPanelBase.java @@ -18,6 +18,7 @@ package com.intellij.usages.impl; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDocumentManager; +import com.intellij.ui.components.JBPanelWithEmptyText; import com.intellij.usageView.UsageInfo; import com.intellij.usages.UsageContextPanel; import com.intellij.usages.UsageViewPresentation; @@ -32,7 +33,7 @@ import java.util.List; /** * @author cdr */ -public abstract class UsageContextPanelBase extends JPanel implements UsageContextPanel { +public abstract class UsageContextPanelBase extends JBPanelWithEmptyText implements UsageContextPanel { protected final Project myProject; @NotNull protected final UsageViewPresentation myPresentation; protected volatile boolean isDisposed; diff --git a/platform/usageView/src/com/intellij/usages/impl/UsagePreviewPanel.java b/platform/usageView/src/com/intellij/usages/impl/UsagePreviewPanel.java index 25143f3a0bbf..f9353b5d07d4 100644 --- a/platform/usageView/src/com/intellij/usages/impl/UsagePreviewPanel.java +++ b/platform/usageView/src/com/intellij/usages/impl/UsagePreviewPanel.java @@ -17,7 +17,8 @@ package com.intellij.usages.impl; import com.intellij.lang.injection.InjectedLanguageManager; -import com.intellij.openapi.actionSystem.*; +import com.intellij.openapi.actionSystem.CommonDataKeys; +import com.intellij.openapi.actionSystem.DataProvider; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.*; @@ -38,7 +39,6 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import javax.swing.*; import java.awt.*; import java.util.List; @@ -249,8 +249,7 @@ public class UsagePreviewPanel extends UsageContextPanelBase implements DataProv if (cannotPreviewMessage != null) { releaseEditor(); removeAll(); - JComponent titleComp = new JLabel(cannotPreviewMessage, SwingConstants.CENTER); - add(titleComp, BorderLayout.CENTER); + getEmptyText().setText(cannotPreviewMessage); revalidate(); } else { diff --git a/platform/usageView/src/com/intellij/usages/impl/UsageViewImpl.java b/platform/usageView/src/com/intellij/usages/impl/UsageViewImpl.java index 4cdce38a1835..84d69785af2c 100644 --- a/platform/usageView/src/com/intellij/usages/impl/UsageViewImpl.java +++ b/platform/usageView/src/com/intellij/usages/impl/UsageViewImpl.java @@ -48,6 +48,7 @@ import com.intellij.psi.SmartPointerManager; import com.intellij.psi.SmartPsiElementPointer; import com.intellij.psi.impl.PsiDocumentManagerBase; import com.intellij.ui.*; +import com.intellij.ui.components.JBPanelWithEmptyText; import com.intellij.ui.components.JBTabbedPane; import com.intellij.ui.content.Content; import com.intellij.ui.treeStructure.Tree; @@ -548,7 +549,9 @@ public class UsageViewImpl implements UsageView { } }); tabbedPane.setBorder(IdeBorderFactory.createBorder(SideBorder.LEFT)); - myPreviewSplitter.setSecondComponent(tabbedPane); + JBPanelWithEmptyText panel = new JBPanelWithEmptyText(new BorderLayout()); + panel.add(tabbedPane, BorderLayout.CENTER); + myPreviewSplitter.setSecondComponent(panel); } else { myPreviewSplitter.setProportion(1);