package fr.adrienbrault.idea.symfony2plugin; import com.intellij.openapi.components.ApplicationComponent; import com.intellij.openapi.editor.EditorFactory; import fr.adrienbrault.idea.symfony2plugin.codeInsight.caret.overlay.CaretTextOverlayListener; import org.jetbrains.annotations.NotNull; /** * @author Daniel Espendiller <daniel@espendiller.net> */ public class SymfonyApplicationComponent implements ApplicationComponent { private final EditorFactory editorFactory; private CaretTextOverlayListener overlayerCaretListener; public SymfonyApplicationComponent(@NotNull EditorFactory editorFactory) { this.editorFactory = editorFactory; } @Override public void initComponent() { editorFactory.getEventMulticaster().addCaretListener(this.overlayerCaretListener = new CaretTextOverlayListener()); } @Override public void disposeComponent() { if(overlayerCaretListener != null) { overlayerCaretListener.clear(); editorFactory.getEventMulticaster().removeCaretListener(overlayerCaretListener); } } @NotNull @Override public String getComponentName() { return "SymfonyApplicationComponent"; } }