Search in sources :

Example 1 with UIUtil

use of com.intellij.util.ui.UIUtil in project android by JetBrains.

the class AndroidRunConfigurationEditor method createUIComponents.

private void createUIComponents() {
    // JBColor keeps a strong reference to its parameter func, so, using a lambda avoids this reference and fixes a leak
    myOldVersionLabel = new HyperlinkLabel("", JBColor.RED, new JBColor(UIUtil::getLabelBackground), PlatformColors.BLUE);
    setSyncLinkMessage("");
    myOldVersionLabel.addHyperlinkListener(this);
}
Also used : JBColor(com.intellij.ui.JBColor) HyperlinkLabel(com.intellij.ui.HyperlinkLabel) UIUtil(com.intellij.util.ui.UIUtil)

Example 2 with UIUtil

use of com.intellij.util.ui.UIUtil in project intellij-community by JetBrains.

the class ContentChooser method createCenterPanel.

@Override
protected JComponent createCenterPanel() {
    final int selectionMode = myAllowMultipleSelections ? ListSelectionModel.MULTIPLE_INTERVAL_SELECTION : ListSelectionModel.SINGLE_SELECTION;
    myList.setSelectionMode(selectionMode);
    if (myUseIdeaEditor) {
        EditorColorsScheme scheme = EditorColorsManager.getInstance().getGlobalScheme();
        myList.setFont(scheme.getFont(EditorFontType.PLAIN));
        Color fg = ObjectUtils.chooseNotNull(scheme.getDefaultForeground(), new JBColor(UIUtil::getListForeground));
        Color bg = ObjectUtils.chooseNotNull(scheme.getDefaultBackground(), new JBColor(UIUtil::getListBackground));
        myList.setForeground(fg);
        myList.setBackground(bg);
    }
    new DoubleClickListener() {

        @Override
        protected boolean onDoubleClick(MouseEvent e) {
            close(OK_EXIT_CODE);
            return true;
        }
    }.installOn(myList);
    MyListCellRenderer renderer = new MyListCellRenderer();
    myList.setCellRenderer(renderer);
    myList.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_DELETE) {
                int newSelectionIndex = -1;
                for (Object o : myList.getSelectedValuesList()) {
                    int i = ((Item) o).index;
                    removeContentAt(myAllContents.get(i));
                    if (newSelectionIndex < 0) {
                        newSelectionIndex = i;
                    }
                }
                rebuildListContent();
                if (myAllContents.isEmpty()) {
                    close(CANCEL_EXIT_CODE);
                    return;
                }
                newSelectionIndex = Math.min(newSelectionIndex, myAllContents.size() - 1);
                myList.setSelectedIndex(newSelectionIndex);
            } else if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                doOKAction();
            } else {
                SpeedSearchSupply supply = SpeedSearchSupply.getSupply(myList);
                if (supply != null && supply.isPopupActive())
                    return;
                char aChar = e.getKeyChar();
                if (aChar >= '0' && aChar <= '9') {
                    int idx = aChar == '0' ? 9 : aChar - '1';
                    if (idx < myAllContents.size()) {
                        myList.setSelectedIndex(idx);
                        e.consume();
                        doOKAction();
                    }
                }
            }
        }
    });
    mySplitter.setFirstComponent(ListWithFilter.wrap(myList, ScrollPaneFactory.createScrollPane(myList), o -> o.getShortText(renderer.previewChars)));
    mySplitter.setSecondComponent(new JPanel());
    mySplitter.getFirstComponent().addComponentListener(new ComponentAdapter() {

        @Override
        public void componentResized(ComponentEvent e) {
            FontMetrics metrics = myList.getFontMetrics(myList.getFont());
            int charWidth = metrics.charWidth('m');
            renderer.previewChars = myList.getParent().getParent().getWidth() / charWidth + 10;
        }
    });
    rebuildListContent();
    ScrollingUtil.installActions(myList);
    ScrollingUtil.ensureSelectionExists(myList);
    updateViewerForSelection();
    myList.addListSelectionListener(new ListSelectionListener() {

        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (myUpdateAlarm.isDisposed())
                return;
            myUpdateAlarm.cancelAllRequests();
            myUpdateAlarm.addRequest(() -> updateViewerForSelection(), 100);
        }
    });
    mySplitter.setPreferredSize(JBUI.size(500, 500));
    SplitterProportionsData d = new SplitterProportionsDataImpl();
    d.externalizeToDimensionService(getClass().getName());
    d.restoreSplitterProportions(mySplitter);
    return mySplitter;
}
Also used : UIUtil(com.intellij.util.ui.UIUtil) Arrays(java.util.Arrays) AllIcons(com.intellij.icons.AllIcons) JBIterable(com.intellij.util.containers.JBIterable) Document(com.intellij.openapi.editor.Document) EditorFontType(com.intellij.openapi.editor.colors.EditorFontType) EditorColorsManager(com.intellij.openapi.editor.colors.EditorColorsManager) ListWithFilter(com.intellij.ui.speedSearch.ListWithFilter) ArrayList(java.util.ArrayList) DialogWrapper(com.intellij.openapi.ui.DialogWrapper) JBUI(com.intellij.util.ui.JBUI) CommonBundle(com.intellij.CommonBundle) Project(com.intellij.openapi.project.Project) SpeedSearchUtil(com.intellij.ui.speedSearch.SpeedSearchUtil) FilteringListModel(com.intellij.ui.speedSearch.FilteringListModel) ListSelectionEvent(javax.swing.event.ListSelectionEvent) JBList(com.intellij.ui.components.JBList) SplitterProportionsDataImpl(com.intellij.ide.ui.SplitterProportionsDataImpl) StringUtil(com.intellij.openapi.util.text.StringUtil) EditorColorsScheme(com.intellij.openapi.editor.colors.EditorColorsScheme) Editor(com.intellij.openapi.editor.Editor) com.intellij.ui(com.intellij.ui) SpeedSearchSupply(com.intellij.ui.speedSearch.SpeedSearchSupply) java.awt(java.awt) Nullable(org.jetbrains.annotations.Nullable) List(java.util.List) SplitterProportionsData(com.intellij.openapi.ui.SplitterProportionsData) java.awt.event(java.awt.event) EditorFactory(com.intellij.openapi.editor.EditorFactory) ObjectUtils(com.intellij.util.ObjectUtils) NotNull(org.jetbrains.annotations.NotNull) ListSelectionListener(javax.swing.event.ListSelectionListener) Alarm(com.intellij.util.Alarm) javax.swing(javax.swing) SplitterProportionsData(com.intellij.openapi.ui.SplitterProportionsData) SplitterProportionsDataImpl(com.intellij.ide.ui.SplitterProportionsDataImpl) ListSelectionEvent(javax.swing.event.ListSelectionEvent) ListSelectionListener(javax.swing.event.ListSelectionListener) SpeedSearchSupply(com.intellij.ui.speedSearch.SpeedSearchSupply) EditorColorsScheme(com.intellij.openapi.editor.colors.EditorColorsScheme)

Aggregations

UIUtil (com.intellij.util.ui.UIUtil)2 CommonBundle (com.intellij.CommonBundle)1 AllIcons (com.intellij.icons.AllIcons)1 SplitterProportionsDataImpl (com.intellij.ide.ui.SplitterProportionsDataImpl)1 Document (com.intellij.openapi.editor.Document)1 Editor (com.intellij.openapi.editor.Editor)1 EditorFactory (com.intellij.openapi.editor.EditorFactory)1 EditorColorsManager (com.intellij.openapi.editor.colors.EditorColorsManager)1 EditorColorsScheme (com.intellij.openapi.editor.colors.EditorColorsScheme)1 EditorFontType (com.intellij.openapi.editor.colors.EditorFontType)1 Project (com.intellij.openapi.project.Project)1 DialogWrapper (com.intellij.openapi.ui.DialogWrapper)1 SplitterProportionsData (com.intellij.openapi.ui.SplitterProportionsData)1 StringUtil (com.intellij.openapi.util.text.StringUtil)1 com.intellij.ui (com.intellij.ui)1 HyperlinkLabel (com.intellij.ui.HyperlinkLabel)1 JBColor (com.intellij.ui.JBColor)1 JBList (com.intellij.ui.components.JBList)1 FilteringListModel (com.intellij.ui.speedSearch.FilteringListModel)1 ListWithFilter (com.intellij.ui.speedSearch.ListWithFilter)1