JSFrameworkType: J2K

This commit is contained in:
Dmitry Jemerov
2017-07-19 15:21:32 +02:00
parent 57a501ebce
commit 6eff8c7b4b
3 changed files with 15 additions and 31 deletions
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.idea.KotlinPluginUtil
import javax.swing.JComponent import javax.swing.JComponent
class JSFrameworkSupportProvider : FrameworkSupportInModuleProvider() { class JSFrameworkSupportProvider : FrameworkSupportInModuleProvider() {
override fun getFrameworkType(): FrameworkTypeEx = JSFrameworkType.getInstance() override fun getFrameworkType(): FrameworkTypeEx = JSFrameworkType.instance
override fun createConfigurable(model: FrameworkSupportModel): FrameworkSupportInModuleConfigurable { override fun createConfigurable(model: FrameworkSupportModel): FrameworkSupportInModuleConfigurable {
return object : FrameworkSupportInModuleConfigurable() { return object : FrameworkSupportInModuleConfigurable() {
@@ -14,39 +14,23 @@
* 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.FrameworkSupportInModuleProvider; import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider
import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.idea.KotlinIcons
import org.jetbrains.kotlin.idea.KotlinIcons; import javax.swing.Icon
import javax.swing.*; class JSFrameworkType : FrameworkTypeEx("kotlin-js-framework-id") {
public class JSFrameworkType extends FrameworkTypeEx { override fun createProvider(): FrameworkSupportInModuleProvider = JSFrameworkSupportProvider()
public static JSFrameworkType getInstance() {
return FrameworkTypeEx.EP_NAME.findExtension(JSFrameworkType.class);
}
public JSFrameworkType() { override fun getPresentableName() = "Kotlin (JavaScript)"
super("kotlin-js-framework-id");
}
@NotNull override fun getIcon(): Icon = KotlinIcons.SMALL_LOGO
@Override
public FrameworkSupportInModuleProvider createProvider() {
return new JSFrameworkSupportProvider();
}
@NotNull companion object {
@Override val instance: JSFrameworkType
public String getPresentableName() { get() = FrameworkTypeEx.EP_NAME.findExtension(JSFrameworkType::class.java)
return "Kotlin (JavaScript)";
}
@NotNull
@Override
public Icon getIcon() {
return KotlinIcons.SMALL_LOGO;
} }
} }
@@ -53,14 +53,14 @@ internal class JavaFrameworkSupportProvider : FrameworkSupportInModuleProvider()
FrameworksCompatibilityUtils.suggestRemoveIncompatibleFramework( FrameworksCompatibilityUtils.suggestRemoveIncompatibleFramework(
rootModel, rootModel,
JSLibraryStdDescription.SUITABLE_LIBRARY_KINDS, JSLibraryStdDescription.SUITABLE_LIBRARY_KINDS,
JSFrameworkType.getInstance()) JSFrameworkType.instance)
description!!.finishLibConfiguration(module, rootModel) description!!.finishLibConfiguration(module, rootModel)
} }
override fun onFrameworkSelectionChanged(selected: Boolean) { override fun onFrameworkSelectionChanged(selected: Boolean) {
if (selected) { if (selected) {
val providerId = JSFrameworkType.getInstance().id val providerId = JSFrameworkType.instance.id
if (model.isFrameworkSelected(providerId)) { if (model.isFrameworkSelected(providerId)) {
model.setFrameworkComponentEnabled(providerId, false) model.setFrameworkComponentEnabled(providerId, false)
} }