override fun apply()

in src/main/kotlin/com/jetbrains/micropython/settings/MicroPythonModuleConfigurable.kt [56:82]


  override fun apply() {
    val facet = module.microPythonFacet
    val application = ApplicationManager.getApplication()
    val facetManager = FacetManager.getInstance(module)

    if (enabledCheckbox.isSelected) {
      if (facet != null) {
        panel.apply(facet.configuration, facet)
        FacetManager.getInstance(module).facetConfigurationChanged(facet)
        facet.updateLibrary()
      }
      else {
        val facetType = MicroPythonFacetType.getInstance()
        val newFacet = facetManager.createFacet(facetType, facetType.defaultFacetName, null)
        panel.apply(newFacet.configuration, newFacet)

        val facetModel = facetManager.createModifiableModel()
        facetModel.addFacet(newFacet)
        application.runWriteAction { facetModel.commit() }
      }
    }
    else if (facet != null) {
      val facetModel = facetManager.createModifiableModel()
      facetModel.removeFacet(facet)
      application.runWriteAction { facetModel.commit() }
    }
  }