Common settings UI

This commit is contained in:
林万程
2023-11-16 22:50:07 +08:00
parent d5813e57a7
commit 1d77389b74
5 changed files with 25 additions and 26 deletions

View File

@@ -25,8 +25,16 @@ public abstract class AbstractSettingsComponent {
private final JBTextArea projectDoc = new JBTextArea();
@NotNull
protected JPanel commonLineEndFilter(FormBuilder formBuilder) {
formBuilder = formBuilder
protected JPanel commonPanel() {
return FormBuilder.createFormBuilder()
.addComponent(lineEndPanel(), 1)
.addComponent(treePanel(), 1)
.getPanel();
}
@NotNull
protected JPanel lineEndPanel() {
FormBuilder builder = FormBuilder.createFormBuilder()
.addComponent(new JBLabel(ShowBundle.message("regexp.tip")))
.addSeparator()
.addLabeledComponent(new JBLabel(ShowBundle.message("sign.include.regexp")), lineInclude, 1, true)
@@ -35,16 +43,19 @@ public abstract class AbstractSettingsComponent {
.addLabeledComponent(new JBLabel(ShowBundle.message("comment.include.regexp")), docInclude, 1, true)
.addLabeledComponent(new JBLabel(ShowBundle.message("comment.exclude.regexp")), docExclude, 1, true)
.addSeparator();
formBuilder = add(formBuilder, docGetEffect, docGet, ShowBundle.message("get.doc.regexp"));
formBuilder = add(formBuilder, projectDocEffect, projectDoc, ShowBundle.message("project.doc.regexp"));
JPanel lineEndFilter = formBuilder.getPanel();
lineEndFilter.setBorder(IdeBorderFactory.createTitledBorder(ShowBundle.message("line.end.comment")));
return lineEndFilter;
JPanel label = JPanelFactory.of(docGetEffect, new JBLabel(ShowBundle.message("get.doc.regexp")));
JPanel panel = builder
.addLabeledComponent(label, docGet, 1, true).getPanel();
panel.setBorder(IdeBorderFactory.createTitledBorder(ShowBundle.message("line.end.comment")));
return panel;
}
protected FormBuilder add(@NotNull FormBuilder formBuilder, JBCheckBox jbCheckBox,
@NotNull JTextComponent jTextComponent, @NotNull String tip) {
return formBuilder.addLabeledComponent(JPanelFactory.of(jbCheckBox, new JBLabel(tip)), jTextComponent, 1, true);
private JPanel treePanel() {
JPanel label = JPanelFactory.of(projectDocEffect, new JBLabel(ShowBundle.message("project.doc.regexp")));
JPanel panel = FormBuilder.createFormBuilder()
.addLabeledComponent(label, projectDoc, 1, true).getPanel();
panel.setBorder(IdeBorderFactory.createTitledBorder(ShowBundle.message("tree.comment")));
return panel;
}
@NotNull

View File

@@ -13,18 +13,11 @@ public class GlobalSettingsComponent extends AbstractSettingsComponent {
resetDefault.addActionListener(e -> GlobalSettingsConfigurable.reset(GlobalSettingsState.DEFAULT_SETTING, this));
myMainPanel = FormBuilder.createFormBuilder()
.addComponent(JPanelFactory.of(resetDefault), 1)
.addComponent(lineEndFilterPanel(), 1)
.addComponent(commonPanel(), 1)
.addComponentFillVertically(new JPanel(), 0)
.getPanel();
}
@NotNull
protected JPanel lineEndFilterPanel() {
FormBuilder formBuilder = FormBuilder.createFormBuilder()
.addSeparator();
return commonLineEndFilter(formBuilder);
}
public JPanel getPanel() {
return myMainPanel;
}

View File

@@ -17,18 +17,11 @@ public class ProjectSettingsComponent extends AbstractSettingsComponent {
resetDefault.addActionListener(e -> ProjectSettingsConfigurable.reset(ProjectSettingsState.DEFAULT_SETTING, this));
myMainPanel = FormBuilder.createFormBuilder()
.addComponent(JPanelFactory.of(resetDefault, globalFilterEffective, projectFilterEffective), 1)
.addComponent(lineEndFilterPanel(), 1)
.addComponent(commonPanel(), 1)
.addComponentFillVertically(new JPanel(), 0)
.getPanel();
}
@NotNull
protected JPanel lineEndFilterPanel() {
FormBuilder formBuilder = FormBuilder.createFormBuilder()
.addSeparator();
return commonLineEndFilter(formBuilder);
}
public JPanel getPanel() {
return myMainPanel;
}

View File

@@ -20,6 +20,7 @@ text.color.json=json text color:
prefix=prefix:
line.end.comment=Line End Comment
tree.comment=Tree Comment
regexp.tip=Separated by '|' (Regexp), use '' to include all or exclude none.
sign.include.regexp=className#memberName include Regexp:
sign.exclude.regexp=className#memberName exclude Regexp:

View File

@@ -20,6 +20,7 @@ text.color.json=json \u6587\u672C\u989C\u8272\uFF1A
prefix=\u524D\u7F00\uFF1A
line.end.comment=\u884C\u672B\u6CE8\u91CA
tree.comment=\u6811\u6CE8\u91CA
regexp.tip=| \u5206\u9694 (\u6B63\u5219), \u7A7A\u5B57\u7B26\u4E32\u4EE3\u8868\u5305\u62EC\u6240\u6709\u6216\u4E0D\u6392\u9664
sign.include.regexp=\u7C7B#\u65B9\u6CD5 \u5305\u542B \u6B63\u5219\uFF1A
sign.exclude.regexp=\u7C7B#\u65B9\u6CD5 \u6392\u9664 \u6B63\u5219\uFF1A