summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/openapi/options/ex/MixedConfigurableGroup.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/openapi/options/ex/MixedConfigurableGroup.java')
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/options/ex/MixedConfigurableGroup.java178
1 files changed, 0 insertions, 178 deletions
diff --git a/platform/platform-impl/src/com/intellij/openapi/options/ex/MixedConfigurableGroup.java b/platform/platform-impl/src/com/intellij/openapi/options/ex/MixedConfigurableGroup.java
deleted file mode 100644
index e3404ec017cd..000000000000
--- a/platform/platform-impl/src/com/intellij/openapi/options/ex/MixedConfigurableGroup.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright 2000-2014 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.intellij.openapi.options.ex;
-
-import com.intellij.openapi.options.Configurable;
-import com.intellij.openapi.options.ConfigurableGroup;
-import com.intellij.openapi.options.ConfigurationException;
-import com.intellij.openapi.options.OptionsBundle;
-import com.intellij.openapi.options.SearchableConfigurable;
-import com.intellij.openapi.util.text.StringUtil;
-import org.jetbrains.annotations.NotNull;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map.Entry;
-import javax.swing.JComponent;
-
-public final class MixedConfigurableGroup implements SearchableConfigurable, ConfigurableGroup {
- private final String myGroupId;
- private Configurable[] myConfigurables;
-
- private MixedConfigurableGroup(String groupId, ArrayList<Configurable> configurables) {
- myGroupId = groupId;
- myConfigurables = (configurables != null)
- ? configurables.toArray(new Configurable[configurables.size()])
- : new Configurable[0];
- Arrays.sort(myConfigurables, COMPARATOR);
- }
-
- private MixedConfigurableGroup(String groupId, HashMap<String, ArrayList<Configurable>> configurables) {
- this(groupId, configurables.remove(groupId));
- }
-
- @Override
- public JComponent createComponent() {
- return null;
- }
-
- @Override
- public boolean isModified() {
- return false;
- }
-
- @Override
- public void apply() throws ConfigurationException {
- }
-
- @Override
- public void reset() {
- }
-
- @Override
- public void disposeUIResources() {
- myConfigurables = null;
- }
-
- @Override
- public Runnable enableSearch(String option) {
- return null;
- }
-
- @NotNull
- @Override
- public String getId() {
- return "configurable.group." + myGroupId;
- }
-
- @Override
- public String getHelpTopic() {
- return "configurable.group." + myGroupId + ".help.topic";
- }
-
- @Override
- public String getDisplayName() {
- return OptionsBundle.message("configurable.group." + myGroupId + ".settings.display.name");
- }
-
- @Override
- public String getShortName() {
- return getDisplayName();
- }
-
- @Override
- public Configurable[] getConfigurables() {
- return myConfigurables;
- }
-
- public static ConfigurableGroup[] getGroups(Configurable... configurables) {
- HashMap<String, ArrayList<Configurable>> map = new HashMap<String, ArrayList<Configurable>>();
- for (Configurable configurable : configurables) {
- String groupId = null;
- if (configurable instanceof ConfigurableWrapper) {
- groupId = ((ConfigurableWrapper)configurable).getExtensionPoint().groupId;
- }
- ArrayList<Configurable> list = map.get(groupId);
- if (list == null) {
- map.put(groupId, list = new ArrayList<Configurable>());
- }
- list.add(configurable);
- }
- ArrayList<Configurable> buildList = map.get("build");
- if (buildList != null) {
- NodeConfigurable buildTools = new NodeConfigurable("build.tools", 1000);
- buildTools.add(find("MavenSettings", buildList.iterator()));
- buildTools.add(find("reference.settingsdialog.project.gradle", buildList.iterator()));
- buildTools.add(find("reference.settingsdialog.project.gant", buildList.iterator()));
- if (buildTools.getConfigurables() != null) {
- buildList.add(0, buildTools);
- }
- }
- ArrayList<ConfigurableGroup> groups = new ArrayList<ConfigurableGroup>(map.size());
- groups.add(new MixedConfigurableGroup("appearance", map));
- groups.add(new MixedConfigurableGroup("editor", map));
- groups.add(new MixedConfigurableGroup("project", map));
- groups.add(new MixedConfigurableGroup("build", map));
- groups.add(new MixedConfigurableGroup("language", map));
- groups.add(new MixedConfigurableGroup("tools", map));
- ConfigurableGroup other = new MixedConfigurableGroup(null, map);
- for(Entry<String, ArrayList<Configurable>>entry: map.entrySet()){
- groups.add(new MixedConfigurableGroup(entry.getKey(), entry.getValue()));
- }
- groups.add(other);
- return groups.toArray(new ConfigurableGroup[groups.size()]);
- }
-
- private static Configurable find(String id, Iterator<Configurable> iterator) {
- while (iterator.hasNext()) {
- Configurable configurable = iterator.next();
- if (configurable instanceof SearchableConfigurable) {
- SearchableConfigurable sc = (SearchableConfigurable)configurable;
- if (id.equals(sc.getId())) {
- iterator.remove();
- return configurable;
- }
- }
- }
- return null;
- }
-
- public static int getGroupWeight(Configurable configurable) {
- if (configurable instanceof NodeConfigurable) {
- return ((NodeConfigurable)configurable).getGroupWeight();
- }
- if (configurable instanceof ConfigurableWrapper) {
- return ((ConfigurableWrapper)configurable).getExtensionPoint().groupWeight;
- }
- return 0;
- }
-
- private static final Comparator<Configurable> COMPARATOR = new Comparator<Configurable>() {
- @Override
- public int compare(Configurable configurable1, Configurable configurable2) {
- if (configurable1 == null || configurable2 == null) {
- return configurable2 != null ? -1 : configurable1 != null ? 1 : 0;
- }
- int weight1 = getGroupWeight(configurable1);
- int weight2 = getGroupWeight(configurable2);
- return weight1 > weight2 ? -1 : weight1 < weight2 ? 1 : StringUtil.naturalCompare(configurable1.getDisplayName(),
- configurable2.getDisplayName());
- }
- };
-}