IDEA-25304 White background in messages (nimbus)

This commit is contained in:
Kirill Kalishev
2010-07-16 15:52:34 +04:00
parent dff6f1dbdc
commit a629fb5f14
3 changed files with 27 additions and 4 deletions
@@ -34,13 +34,16 @@ import com.intellij.psi.util.PsiUtilBase;
import com.intellij.ui.ColoredListCellRenderer;
import com.intellij.ui.FileColorManager;
import com.intellij.ui.SimpleTextAttributes;
import com.intellij.ui.components.panels.NonOpaquePanel;
import com.intellij.ui.components.panels.OpaquePanel;
import com.intellij.util.IconUtil;
import com.intellij.util.ui.UIUtil;
import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
public class NavigationItemListCellRenderer extends JPanel implements ListCellRenderer {
public class NavigationItemListCellRenderer extends OpaquePanel implements ListCellRenderer {
public NavigationItemListCellRenderer() {
super(new BorderLayout());
}
@@ -64,6 +67,8 @@ public class NavigationItemListCellRenderer extends JPanel implements ListCellRe
final Color listBg = leftCellRendererComponent.getBackground();
add(leftCellRendererComponent, BorderLayout.WEST);
setBackground(isSelected ? UIUtil.getListSelectionBackground() : UIUtil.getListBackground());
if (hasRightRenderer){
final DefaultListCellRenderer moduleRenderer = factory.getModuleRenderer();
@@ -71,13 +76,13 @@ public class NavigationItemListCellRenderer extends JPanel implements ListCellRe
moduleRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
rightCellRendererComponent.setBackground(listBg);
add(rightCellRendererComponent, BorderLayout.EAST);
final JPanel spacer = new JPanel();
final JPanel spacer = new NonOpaquePanel();
final Dimension size = rightCellRendererComponent.getSize();
spacer.setSize(new Dimension((int)(size.width * 0.015 + leftCellRendererComponent.getSize().width * 0.015), size.height));
spacer.setBackground(isSelected ? UIUtil.getListSelectionBackground() : listBg);
add(spacer, BorderLayout.CENTER);
}
setBackground(isSelected ? UIUtil.getListSelectionBackground() : UIUtil.getListBackground());
return this;
}
@@ -27,6 +27,7 @@ import com.intellij.psi.PsiFile;
import com.intellij.util.ui.UIUtil;
import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
public class PsiElementModuleRenderer extends DefaultListCellRenderer{
@@ -112,9 +113,14 @@ public class PsiElementModuleRenderer extends DefaultListCellRenderer{
setText(value == null ? "" : value.toString());
}*/
setText(myText);
setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 2));
//setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 2));
setHorizontalTextPosition(SwingConstants.LEFT);
setBackground(selected ? UIUtil.getListSelectionBackground() : UIUtil.getListBackground());
setForeground(selected ? UIUtil.getListSelectionForeground() : UIUtil.getInactiveTextColor());
if (UIUtil.isUnderNimbusLookAndFeel()) {
setOpaque(false);
}
}
}
@@ -15,11 +15,15 @@
*/
package com.intellij.ui.components.panels;
import com.intellij.util.ui.UIUtil;
import javax.swing.*;
import java.awt.*;
public class NonOpaquePanel extends Wrapper {
private static final Color TRANSPARENT = new Color(0, 0, 0, 0);
public NonOpaquePanel() {
setOpaque(false);
}
@@ -49,4 +53,12 @@ public class NonOpaquePanel extends Wrapper {
setOpaque(false);
}
@Override
public void setOpaque(boolean isOpaque) {
super.setOpaque(isOpaque);
if (!isOpaque && UIUtil.isUnderNimbusLookAndFeel()) {
setBackground(TRANSPARENT);
}
}
}