package org.elixir_lang.module; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleConfigurationEditor; import com.intellij.openapi.module.ModuleType; import com.intellij.openapi.roots.ui.configuration.ClasspathEditor; import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationEditorProvider; import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationState; import com.intellij.openapi.roots.ui.configuration.OutputEditor; import javax.swing.*; /** * Created by zyuyou on 15/6/5. * */ public class DefaultModuleEditorsProvider implements ModuleConfigurationEditorProvider{ @Override public ModuleConfigurationEditor[] createEditors(ModuleConfigurationState state) { Module module = state.getRootModel().getModule(); if(ModuleType.get(module) instanceof ElixirModuleType){ return new ModuleConfigurationEditor[]{ new ElixirContentEntriesEditor(module.getName(), state), new OutputEditorEx(state), new ClasspathEditor(state) }; } return ModuleConfigurationEditor.EMPTY; } public static class OutputEditorEx extends OutputEditor{ protected OutputEditorEx(ModuleConfigurationState state){ super(state); } protected JComponent createComponentImpl(){ JComponent component = super.createComponentImpl(); component.remove(1); // todo: looks ugly return component; } } }