package com.intellij.lang.javascript.flex.projectStructure.ui; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleConfigurationEditor; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.roots.ContentEntry; import com.intellij.openapi.roots.ui.configuration.CommonContentEntriesEditor; import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationState; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.ui.JBUI; import org.jetbrains.annotations.Nls; import org.jetbrains.jps.model.java.JavaSourceRootType; import javax.swing.*; import java.util.List; /** * @author ksafonov */ public class FlexModuleEditor implements ModuleConfigurationEditor { public static final String DISPLAY_NAME = "Flex"; private final CommonContentEntriesEditor myEntriesEditor; public FlexModuleEditor(ModuleConfigurationState state) { Module module = state.getRootModel().getModule(); myEntriesEditor = new CommonContentEntriesEditor(module.getName(), state, JavaSourceRootType.SOURCE, JavaSourceRootType.TEST_SOURCE) { @Override protected List<ContentEntry> addContentEntries(VirtualFile[] files) { List<ContentEntry> entries = super.addContentEntries(files); addContentEntryPanels(entries.toArray(new ContentEntry[entries.size()])); return entries; } }; myEntriesEditor.getComponent().setBorder(JBUI.Borders.empty()); } @Nls @Override public String getDisplayName() { return DISPLAY_NAME; } @Override public String getHelpTopic() { return "projectStructure.modules.flex"; } @Override public JComponent createComponent() { return myEntriesEditor.createComponent(); } //public static FlexModuleEditor getInstance(Module module) { // ModuleEditor e = // ModuleStructureConfigurable.getInstance(module.getProject()).getContext().getModulesConfigurator().getModuleEditor(module); // e.getPanel(); // create editors // return (FlexModuleEditor)e.getEditor(DISPLAY_NAME); //} @Override public boolean isModified() { if (myEntriesEditor.isModified()) return true; //ModifiableRootModel modifiableRootModel = // ModuleStructureConfigurable.getInstance(myModule.getProject()).getContext().getModulesConfigurator().getOrCreateModuleEditor(myModule) // .getModifiableRootModelProxy(); //if (modifiableRootModel.isChanged()) return true; return false; } @Override public void reset() { myEntriesEditor.reset(); } @Override public void apply() throws ConfigurationException { myEntriesEditor.apply(); } @Override public void disposeUIResources() { myEntriesEditor.disposeUIResources(); } }