more correct laf change

This commit is contained in:
Anton Makeev
2010-07-05 11:16:47 +04:00
parent 7190cca9a6
commit cd4207d955
2 changed files with 16 additions and 2 deletions
@@ -60,6 +60,7 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.ui.GuiUtils;
import com.intellij.ui.LightweightHint;
import com.intellij.ui.UI;
import com.intellij.ui.components.JBScrollBar;
import com.intellij.ui.components.JBScrollPane;
import com.intellij.util.Alarm;
@@ -80,6 +81,7 @@ import javax.swing.*;
import javax.swing.Timer;
import javax.swing.border.EmptyBorder;
import javax.swing.plaf.ScrollBarUI;
import javax.swing.plaf.ScrollPaneUI;
import javax.swing.plaf.basic.BasicScrollBarUI;
import java.awt.*;
import java.awt.datatransfer.Clipboard;
@@ -3334,11 +3336,23 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
@NonNls private static final String DECREASE_BUTTON_FIELD = "decrButton";
@NonNls private static final String INCREASE_BUTTON_FIELD = "incrButton";
@NonNls private static final String APPLE_LAF_AQUA_SCROLL_BAR_UI_CLASS = "apple.laf.AquaScrollBarUI";
private ScrollBarUI myPersistentUI;
private MyScrollBar(int orientation) {
super(orientation);
}
public void setPersistendUI(ScrollBarUI ui) {
myPersistentUI = ui;
setUI(ui);
}
@Override
public void setUI(ScrollBarUI ui) {
if (myPersistentUI == null) myPersistentUI = ui;
super.setUI(myPersistentUI);
}
/**
* This is helper method. It returns height of the top (decrease) scroll bar
* button. Please note, that it's possible to return real height only if scroll bar
@@ -463,10 +463,10 @@ public class EditorMarkupModelImpl extends MarkupModelImpl implements EditorMark
public void setErrorStripeVisible(boolean val) {
if (val) {
myEditor.getVerticalScrollBar().setUI(new MyErrorPanel());
myEditor.getVerticalScrollBar().setPersistendUI(new MyErrorPanel());
}
else {
myEditor.getVerticalScrollBar().setUI(ButtonlessScrollBarUI.createNormal());
myEditor.getVerticalScrollBar().setPersistendUI(ButtonlessScrollBarUI.createNormal());
}
}