Coverage Summary for Class: AppSettingsConfigurable (ru.eda.plgn.bizgen.plugin.ui)

Class Method, % Branch, % Line, % Instruction, %
AppSettingsConfigurable 0% (0/7) 0% (0/2) 0% (0/10) 0% (0/30)
AppSettingsConfigurable$Companion
Total 0% (0/7) 0% (0/2) 0% (0/10) 0% (0/30)


 package ru.eda.plgn.bizgen.plugin.ui
 
 import com.intellij.openapi.options.Configurable
 import com.intellij.openapi.util.Disposer
 import org.jetbrains.annotations.Nls
 import javax.swing.JComponent
 
 /**
  * Основной UI компонент, описывающий блок настроек для плагина.
  *
  * @author Dmitry_Emelyanenko
  */
 class AppSettingsConfigurable : Configurable {
   private var component: AppSettingsComponent? = null
 
   /**
    * Наименование плагина, которое будет отображаться в секции настроек.
    *
    * @return наименование, отображаемое в секции настроек
    */
   @Nls(capitalization = Nls.Capitalization.Title)
   override fun getDisplayName(): String {
     return SETTINGS_DISPLAY_NAME
   }
 
   /**
    * Создание основного UI компонента, описывающий блок настроек для плагина.
    *
    * @return UI компонент блока настроек
    */
   override fun createComponent(): JComponent {
     val component = AppSettingsComponent()
     this.component = component
     return component.createComponent()
   }
 
   /**
    * Признак, что были изменения в компоненте.
    *
    * В текущей парадигме всегда будет возвращаться false, так как все изменения сохраняются сразу.
    *
    * @return true - были изменения.
    */
   override fun isModified(): Boolean = false
 
   /** Сохраняет значения настроек из Swing-формы в конфигурируемый компонент. Метод вызывается в EDT по запросу пользователя. */
   override fun apply() = Unit
 
   /**
    * Загружает настройки из конфигурируемого компонента в форму Swing. Метод вызывается в EDT сразу после создания формы или позже по
    * запросу пользователя.
    */
   override fun reset() = Unit
 
   /** Освобождение UI ресурса. */
   override fun disposeUIResources() {
     component?.let { Disposer.dispose(it) }
     component = null
   }
 
   private companion object {
     const val SETTINGS_DISPLAY_NAME: String = "Ru BizGen"
   }
 }