1 // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2 package com.intellij.diff.util
4 import com.intellij.codeHighlighting.BackgroundEditorHighlighter
5 import com.intellij.openapi.fileEditor.*
6 import com.intellij.openapi.util.UserDataHolderBase
7 import com.intellij.ui.docking.impl.DockManagerImpl
8 import java.beans.PropertyChangeListener
9 import java.beans.PropertyChangeSupport
11 abstract class FileEditorBase : UserDataHolderBase(), FileEditor {
17 private fun configureDefaults() {
18 putUserData(FileEditorManager.USE_MAIN_WINDOW, true)
19 putUserData(DockManagerImpl.SHOW_NORTH_PANEL, false)
22 protected val propertyChangeSupport = PropertyChangeSupport(this)
24 override fun dispose() {}
25 override fun isValid(): Boolean = true
27 override fun selectNotify() {}
28 override fun deselectNotify() {}
30 override fun addPropertyChangeListener(listener: PropertyChangeListener) {
31 propertyChangeSupport.addPropertyChangeListener(listener)
34 override fun removePropertyChangeListener(listener: PropertyChangeListener) {
35 propertyChangeSupport.removePropertyChangeListener(listener)
42 override fun getState(level: FileEditorStateLevel): FileEditorState = FileEditorState.INSTANCE
43 override fun setState(state: FileEditorState) {}
44 override fun isModified(): Boolean = false
46 override fun getBackgroundHighlighter(): BackgroundEditorHighlighter? = null
47 override fun getCurrentLocation(): FileEditorLocation? = null