Update Injections view for new Settings dialog

This commit is contained in:
Sergey Malenkov
2014-10-02 22:44:37 +04:00
parent cd6345554b
commit 9815bf779e
2 changed files with 11 additions and 22 deletions
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="org.intellij.plugins.intelliLang.AdvancedSettingsUI.AdvancedSettingsPanel">
<grid id="27dc6" binding="myRoot" layout-manager="GridLayoutManager" row-count="6" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="5" left="8" bottom="5" right="8"/>
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<xy x="20" y="20" width="562" height="527"/>
</constraints>
@@ -21,6 +21,7 @@ import com.intellij.ide.DataManager;
import com.intellij.ide.ui.SplitterProportionsDataImpl;
import com.intellij.lang.Language;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.fileChooser.FileChooser;
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
import com.intellij.openapi.fileChooser.FileChooserFactory;
@@ -33,14 +34,17 @@ import com.intellij.openapi.options.SearchableConfigurable;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.ui.OnePixelDivider;
import com.intellij.openapi.ui.SplitterProportionsData;
import com.intellij.openapi.ui.popup.JBPopupFactory;
import com.intellij.openapi.util.*;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileWrapper;
import com.intellij.psi.injection.ReferenceInjector;
import com.intellij.ui.*;
import com.intellij.ui.border.CustomLineBorder;
import com.intellij.ui.speedSearch.SpeedSearchSupply;
import com.intellij.ui.table.TableView;
import com.intellij.util.*;
@@ -74,7 +78,7 @@ import java.util.List;
/**
* @author Gregory.Shrago
*/
public class InjectionsSettingsUI implements SearchableConfigurable.Parent, Configurable.NoScroll {
public class InjectionsSettingsUI extends SearchableConfigurable.Parent.Abstract implements Configurable.NoMargin, Configurable.NoScroll {
private final Project myProject;
private final CfgInfo[] myInfos;
@@ -86,7 +90,6 @@ public class InjectionsSettingsUI implements SearchableConfigurable.Parent, Conf
private final List<AnAction> myAddActions = ContainerUtil.newArrayList();
private final JLabel myCountLabel;
private Configurable[] myConfigurables;
private Configuration myConfiguration;
public InjectionsSettingsUI(final Project project, final Configuration configuration) {
@@ -105,6 +108,9 @@ public class InjectionsSettingsUI implements SearchableConfigurable.Parent, Conf
ToolbarDecorator decorator = ToolbarDecorator.createDecorator(myInjectionsTable);
createActions(decorator);
if (ApplicationManager.getApplication().isInternal() && Registry.is("ide.new.settings.view")) {
decorator.setPanelBorder(new CustomLineBorder(OnePixelDivider.BACKGROUND, 0, 0, 1, 0));
}
//myRoot.add(new TitledSeparator("Languages injection places"), BorderLayout.NORTH);
myRoot.add(decorator.createPanel(), BorderLayout.CENTER);
@@ -372,13 +378,7 @@ public class InjectionsSettingsUI implements SearchableConfigurable.Parent, Conf
}
@Override
public boolean isVisible() {
return true;
}
@Override
public Configurable[] getConfigurables() {
if (myConfigurables == null) {
protected Configurable[] buildConfigurables() {
final ArrayList<Configurable> configurables = new ArrayList<Configurable>();
for (LanguageInjectionSupport support : InjectorUtils.getActiveInjectionSupports()) {
ContainerUtil.addAll(configurables, support.createSettings(myProject, myConfiguration));
@@ -388,10 +388,7 @@ public class InjectionsSettingsUI implements SearchableConfigurable.Parent, Conf
return Comparing.compare(o1.getDisplayName(), o2.getDisplayName());
}
});
myConfigurables = configurables.toArray(new Configurable[configurables.size()]);
}
return myConfigurables;
return configurables.toArray(new Configurable[configurables.size()]);
}
@NotNull
@@ -400,11 +397,6 @@ public class InjectionsSettingsUI implements SearchableConfigurable.Parent, Conf
return "IntelliLang.Configuration";
}
@Override
public Runnable enableSearch(String option) {
return null;
}
private static void sortInjections(final List<BaseInjection> injections) {
Collections.sort(injections, new Comparator<BaseInjection>() {
public int compare(final BaseInjection o1, final BaseInjection o2) {
@@ -429,9 +421,6 @@ public class InjectionsSettingsUI implements SearchableConfigurable.Parent, Conf
updateCountLabel();
}
public void disposeUIResources() {
}
public void apply() {
for (CfgInfo info : myInfos) {
info.apply();