import com.intellij.util.Alarm;
import com.intellij.util.PlatformIcons;
import com.intellij.util.ui.AbstractLayoutManager;
-import com.intellij.util.ui.AsyncProcessIcon;
import com.intellij.util.ui.ButtonlessScrollBarUI;
import com.intellij.util.ui.JBUI;
import org.jetbrains.annotations.NotNull;
private final JLabel mySortingLabel = new JLabel();
private final JScrollPane myScrollPane;
private final JButton myScrollBarIncreaseButton;
- private final AsyncProcessIcon myProcessIcon = new AsyncProcessIcon("Completion progress");
- private final JPanel myIconPanel = new JPanel(new BorderLayout());
private final LookupLayeredPane myLayeredPane = new LookupLayeredPane();
private LookupHint myElementHint = null;
myList = list;
myProject = project;
- myIconPanel.setVisible(false);
- myIconPanel.setBackground(Color.LIGHT_GRAY);
- myIconPanel.add(myProcessIcon);
-
JComponent adComponent = advertiser.getAdComponent();
adComponent.setBorder(new EmptyBorder(0, 1, 1, 2 + AllIcons.Ide.LookupRelevance.getIconWidth()));
myLayeredPane.mainPanel.add(adComponent, BorderLayout.SOUTH);
updateScrollbarVisibility();
- Disposer.register(lookup, myProcessIcon);
Disposer.register(lookup, myHintAlarm);
}
Runnable setVisible = new Runnable() {
@Override
public void run() {
- myIconPanel.setVisible(myLookup.isCalculating());
+ myList.setPaintBusy(myLookup.isCalculating());
}
};
if (myLookup.isCalculating()) {
} else {
setVisible.run();
}
-
- if (calculating) {
- myProcessIcon.resume();
- } else {
- myProcessIcon.suspend();
- }
}
private void updateSorting() {
private LookupLayeredPane() {
add(mainPanel, 0, 0);
- add(myIconPanel, 42, 0);
add(mySortingLabel, 10, 0);
setLayout(new AbstractLayoutManager() {
vScrollBar.revalidate();
vScrollBar.repaint();
- final Dimension iconSize = myProcessIcon.getPreferredSize();
- myIconPanel.setBounds(getWidth() - iconSize.width - (vScrollBar.isVisible() ? vScrollBar.getWidth() : 0), 0, iconSize.width,
- iconSize.height);
-
final Dimension sortSize = mySortingLabel.getPreferredSize();
final int sortWidth = vScrollBar.isVisible() ? vScrollBar.getWidth() : sortSize.width;
final int sortHeight = Math.max(sortSize.height, adHeight);