From c6e901a23d0d42aa917b7da7f400dd66ccf93f67 Mon Sep 17 00:00:00 2001 From: irengrig Date: Mon, 15 Jun 2015 15:09:40 +0200 Subject: [PATCH] v8 log processing, filter call trees by 1% by default --- .../ui/components/SliderSelectorAction.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ui/components/SliderSelectorAction.java b/platform/platform-impl/src/com/intellij/ui/components/SliderSelectorAction.java index 0fedfacb5b8e..e687664bce3a 100644 --- a/platform/platform-impl/src/com/intellij/ui/components/SliderSelectorAction.java +++ b/platform/platform-impl/src/com/intellij/ui/components/SliderSelectorAction.java @@ -66,14 +66,32 @@ public class SliderSelectorAction extends DumbAwareAction { JPanel wrapper = new JPanel(new BorderLayout()); wrapper.add(label, BorderLayout.NORTH); - final JSlider slider = new JSlider(SwingConstants.HORIZONTAL, myConfiguration.getMin(), myConfiguration.getMax(), myConfiguration.getSelected()); + final Dictionary dictionary = myConfiguration.getDictionary(); + final Enumeration elements = dictionary.elements(); + final JSlider slider = new JSlider(SwingConstants.HORIZONTAL, myConfiguration.getMin(), myConfiguration.getMax(), myConfiguration.getSelected()) { + Integer myWidth = null; + @Override + public Dimension getPreferredSize() { + final Dimension size = super.getPreferredSize(); + if (myWidth == null) { + myWidth = 10; + final FontMetrics fm = getFontMetrics(getFont()); + while (elements.hasMoreElements()) { + String text = ((JLabel)elements.nextElement()).getText(); + myWidth += fm.stringWidth(text + "W"); + } + } + return new Dimension(myWidth, size.height); + } + }; + slider.setMinorTickSpacing(1); slider.setPaintTicks(true); slider.setPaintTrack(true); slider.setSnapToTicks(true); UIUtil.setSliderIsFilled(slider, true); slider.setPaintLabels(true); - slider.setLabelTable(myConfiguration.getDictionary()); + slider.setLabelTable(dictionary); if (! myConfiguration.isShowOk()) { result.add(wrapper, BorderLayout.WEST);