mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 11:53:49 +07:00
[java] Fix PackagePanel UI
#IDEA-359163 GitOrigin-RevId: 6d8ebadc2c2cf33e7fe3fef097bfa65e2d7b1ec6
This commit is contained in:
committed by
intellij-monorepo-bot
parent
a2383b8fc8
commit
7167a30f5a
@@ -38,7 +38,6 @@ public abstract class ImportLayoutPanel extends JPanel {
|
||||
private final JBCheckBox myCbLayoutStaticImportsSeparately =
|
||||
new JBCheckBox(JavaBundle.message("import.layout.static.imports.separately"));
|
||||
private final JBTable myImportLayoutTable;
|
||||
private final ImportLayoutPanelUI myUI;
|
||||
|
||||
private final PackageEntryTable myImportLayoutList = new PackageEntryTable();
|
||||
|
||||
@@ -87,7 +86,7 @@ public abstract class ImportLayoutPanel extends JPanel {
|
||||
});
|
||||
|
||||
ActionGroup addGroup = new DefaultActionGroup(new AddPackageAction(), new AddBlankLineAction());
|
||||
addGroup.getTemplatePresentation().setIcon(LayeredIcon.ADD_WITH_DROPDOWN);
|
||||
addGroup.getTemplatePresentation().setIcon(AllIcons.General.Add);
|
||||
addGroup.getTemplatePresentation().setText(JavaBundle.messagePointer("button.add"));
|
||||
addGroup.getTemplatePresentation().setPopupGroup(true);
|
||||
addGroup.registerCustomShortcutSet(CommonShortcuts.getNewForDialogs(), null);
|
||||
@@ -109,8 +108,8 @@ public abstract class ImportLayoutPanel extends JPanel {
|
||||
.setPreferredSize(new Dimension(-1, JBUI.scale(180)))
|
||||
.createPanel();
|
||||
|
||||
myUI = new ImportLayoutPanelUI(myCbLayoutStaticImportsSeparately, importLayoutPanel);
|
||||
add(myUI.getPanel(), BorderLayout.CENTER);
|
||||
final ImportLayoutPanelUI UI = new ImportLayoutPanelUI(myCbLayoutStaticImportsSeparately, importLayoutPanel);
|
||||
add(UI.getPanel(), BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
private class AddPackageAction extends DumbAwareAction {
|
||||
|
||||
@@ -1,24 +1,22 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.application.options;
|
||||
|
||||
import com.intellij.java.JavaBundle;
|
||||
import com.intellij.psi.codeStyle.PackageEntry;
|
||||
import com.intellij.psi.codeStyle.PackageEntryTable;
|
||||
import com.intellij.ui.*;
|
||||
import com.intellij.ui.TableUtil;
|
||||
import com.intellij.ui.table.JBTable;
|
||||
import com.intellij.util.ui.JBUI;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.table.AbstractTableModel;
|
||||
import java.awt.*;
|
||||
|
||||
import static com.intellij.application.options.PackagePanelUIKt.doCreatePackagesPanel;
|
||||
|
||||
/**
|
||||
* @author Max Medvedev
|
||||
*/
|
||||
public final class PackagePanel {
|
||||
|
||||
private static void addPackageToPackages(JBTable table, PackageEntryTable list) {
|
||||
static void addPackageToPackages(JBTable table, PackageEntryTable list) {
|
||||
int selected = table.getSelectedRow() + 1;
|
||||
if (selected < 0) {
|
||||
selected = list.getEntryCount();
|
||||
@@ -28,7 +26,7 @@ public final class PackagePanel {
|
||||
ImportLayoutPanel.refreshTableModel(selected, table);
|
||||
}
|
||||
|
||||
private static void removeEntryFromPackages(JBTable table, PackageEntryTable list) {
|
||||
static void removeEntryFromPackages(JBTable table, PackageEntryTable list) {
|
||||
int selected = table.getSelectedRow();
|
||||
if (selected < 0) return;
|
||||
TableUtil.stopEditing(table);
|
||||
@@ -44,21 +42,6 @@ public final class PackagePanel {
|
||||
}
|
||||
|
||||
public static JPanel createPackagesPanel(final JBTable packageTable, final PackageEntryTable packageList) {
|
||||
JPanel panel = ToolbarDecorator.createDecorator(packageTable)
|
||||
.setAddAction(new AnActionButtonRunnable() {
|
||||
@Override
|
||||
public void run(AnActionButton button) {
|
||||
addPackageToPackages(packageTable, packageList);
|
||||
}
|
||||
}).setRemoveAction(new AnActionButtonRunnable() {
|
||||
@Override
|
||||
public void run(AnActionButton button) {
|
||||
removeEntryFromPackages(packageTable, packageList);
|
||||
}
|
||||
}).disableUpDownActions().setPreferredSize(new Dimension(-1, JBUI.scale(180))).createPanel();
|
||||
|
||||
UIUtil.addBorder(panel, IdeBorderFactory.createTitledBorder(JavaBundle.message("title.packages.to.use.import.with"), false));
|
||||
|
||||
return panel;
|
||||
return doCreatePackagesPanel(packageTable, packageList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.application.options
|
||||
|
||||
import com.intellij.java.JavaBundle
|
||||
import com.intellij.psi.codeStyle.PackageEntryTable
|
||||
import com.intellij.ui.ToolbarDecorator
|
||||
import com.intellij.ui.dsl.builder.Align
|
||||
import com.intellij.ui.dsl.builder.LabelPosition
|
||||
import com.intellij.ui.dsl.builder.panel
|
||||
import com.intellij.ui.table.JBTable
|
||||
import com.intellij.util.ui.JBUI
|
||||
import java.awt.Dimension
|
||||
|
||||
internal fun doCreatePackagesPanel(packageTable: JBTable, packageList: PackageEntryTable) = panel {
|
||||
val panel = ToolbarDecorator.createDecorator(packageTable)
|
||||
.setAddAction {
|
||||
PackagePanel.addPackageToPackages(packageTable, packageList)
|
||||
}
|
||||
.setRemoveAction {
|
||||
PackagePanel.removeEntryFromPackages(packageTable, packageList)
|
||||
}
|
||||
.disableUpDownActions()
|
||||
.setPreferredSize(Dimension(-1, JBUI.scale(180)))
|
||||
.createPanel()
|
||||
|
||||
row {
|
||||
cell(panel)
|
||||
.align(Align.FILL)
|
||||
.label(JavaBundle.message("title.packages.to.use.import.with"), LabelPosition.TOP)
|
||||
}
|
||||
.resizableRow()
|
||||
}
|
||||
@@ -1327,7 +1327,7 @@ title.naming.variable=Variable
|
||||
title.naming.functional.expressions=Lambda Body
|
||||
title.package.not.found=Package Not Found
|
||||
title.packages=Packages
|
||||
title.packages.to.use.import.with=Packages to Use Import with '*'
|
||||
title.packages.to.use.import.with=Packages to Use Import with '*':
|
||||
to.import.a.method.statically.press.0=To import a method statically, press {0}
|
||||
unscramble.detect.analyze.threaddump.from.clipboard.item=Automatically detect and analyze thread dumps copied to the clipboard outside of IntelliJ IDEA
|
||||
unscramble.log.path.label=&Log file:
|
||||
|
||||
Reference in New Issue
Block a user