JSFrameworkSupportProvider: J2K

This commit is contained in:
Dmitry Jemerov
2017-04-06 19:22:43 +02:00
parent ee5ebb8ab7
commit f1e96709a8
@@ -14,81 +14,58 @@
* limitations under the License. * limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.framework; package org.jetbrains.kotlin.idea.framework
import com.intellij.framework.FrameworkTypeEx; import com.intellij.framework.FrameworkTypeEx
import com.intellij.framework.addSupport.FrameworkSupportInModuleConfigurable; import com.intellij.framework.addSupport.FrameworkSupportInModuleConfigurable
import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider; import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider
import com.intellij.ide.util.frameworkSupport.FrameworkSupportModel; import com.intellij.ide.util.frameworkSupport.FrameworkSupportModel
import com.intellij.openapi.module.JavaModuleType; import com.intellij.openapi.module.JavaModuleType
import com.intellij.openapi.module.Module; import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleType; import com.intellij.openapi.module.ModuleType
import com.intellij.openapi.roots.ModifiableModelsProvider; import com.intellij.openapi.roots.ModifiableModelsProvider
import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.ModifiableRootModel
import com.intellij.openapi.roots.ui.configuration.libraries.CustomLibraryDescription; import com.intellij.openapi.roots.ui.configuration.libraries.CustomLibraryDescription
import org.jetbrains.annotations.NotNull; import javax.swing.JComponent
import org.jetbrains.annotations.Nullable;
import javax.swing.*; class JSFrameworkSupportProvider : FrameworkSupportInModuleProvider() {
override fun getFrameworkType(): FrameworkTypeEx = JSFrameworkType.getInstance()
public class JSFrameworkSupportProvider extends FrameworkSupportInModuleProvider { override fun createConfigurable(model: FrameworkSupportModel): FrameworkSupportInModuleConfigurable {
@NotNull return object : FrameworkSupportInModuleConfigurable() {
@Override lateinit var description: JSLibraryStdDescription
public FrameworkTypeEx getFrameworkType() {
return JSFrameworkType.getInstance();
}
@NotNull override fun createLibraryDescription(): CustomLibraryDescription? {
@Override description = JSLibraryStdDescription(model.project)
public FrameworkSupportInModuleConfigurable createConfigurable(@NotNull final FrameworkSupportModel model) { return description
return new FrameworkSupportInModuleConfigurable() {
public JSLibraryStdDescription description;
@Nullable
@Override
public CustomLibraryDescription createLibraryDescription() {
description = new JSLibraryStdDescription(model.getProject());
return description;
} }
@Nullable override fun createComponent(): JComponent? = null
@Override
public JComponent createComponent() {
return null;
}
@Override override fun isOnlyLibraryAdded(): Boolean = true
public boolean isOnlyLibraryAdded() {
return true;
}
@Override override fun addSupport(
public void addSupport( module: Module,
@NotNull Module module, rootModel: ModifiableRootModel,
@NotNull ModifiableRootModel rootModel, modifiableModelsProvider: ModifiableModelsProvider) {
@NotNull ModifiableModelsProvider modifiableModelsProvider) {
FrameworksCompatibilityUtils.suggestRemoveIncompatibleFramework( FrameworksCompatibilityUtils.suggestRemoveIncompatibleFramework(
rootModel, rootModel,
JavaRuntimeLibraryDescription.SUITABLE_LIBRARY_KINDS, JavaRuntimeLibraryDescription.SUITABLE_LIBRARY_KINDS,
JavaFrameworkType.getInstance()); JavaFrameworkType.getInstance())
description.finishLibConfiguration(module, rootModel); description.finishLibConfiguration(module, rootModel)
} }
@Override override fun onFrameworkSelectionChanged(selected: Boolean) {
public void onFrameworkSelectionChanged(boolean selected) {
if (selected) { if (selected) {
String providerId = JavaFrameworkType.getInstance().getId(); val providerId = JavaFrameworkType.getInstance().id
if (model.isFrameworkSelected(providerId)) { if (model.isFrameworkSelected(providerId)) {
model.setFrameworkComponentEnabled(providerId, false); model.setFrameworkComponentEnabled(providerId, false)
} }
} }
} }
}; }
} }
@Override override fun isEnabledForModuleType(moduleType: ModuleType<*>): Boolean = moduleType is JavaModuleType
public boolean isEnabledForModuleType(@NotNull ModuleType moduleType) {
return moduleType instanceof JavaModuleType;
}
} }