package com.siberika.idea.pascal.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.DefaultModuleConfigurationEditorFactory; import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationEditorProvider; import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationState; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; /** * Author: George Bakhtadze * Date: 13/01/2013 */ public class PascalModuleConfigEditorProvider implements ModuleConfigurationEditorProvider { public ModuleConfigurationEditor[] createEditors(@NotNull final ModuleConfigurationState state) { final Module module = state.getRootModel().getModule(); if (!PascalModuleType.isPascalModule(module)) return ModuleConfigurationEditor.EMPTY; final DefaultModuleConfigurationEditorFactory editorFactory = DefaultModuleConfigurationEditorFactory.getInstance(); final List<ModuleConfigurationEditor> editors = new ArrayList<ModuleConfigurationEditor>(); editors.add(editorFactory.createModuleContentRootsEditor(state)); editors.add(editorFactory.createOutputEditor(state)); editors.add(editorFactory.createClasspathEditor(state)); editors.add(new PascalModuleOptionsEditor(state, module)); return editors.toArray(new ModuleConfigurationEditor[editors.size()]); } }