mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-25304 White background in messages (nimbus)
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user