// Copyright 2000-2018 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.

package com.intellij.application.options.colors;

import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.options.colors.ColorSettingsPage;
import org.jetbrains.annotations.NotNull;

/**
 * Generalises {@link ColorSettingsPage} in a way that allows to provide custom {@link PreviewPanel preview panel}.
 * 
 * @author yole
 */
public interface ColorAndFontPanelFactory {

  ExtensionPointName<ColorAndFontPanelFactory> EP_NAME = ExtensionPointName.create("com.intellij.colorAndFontPanelFactory");
  
  @NotNull
  NewColorAndFontPanel createPanel(@NotNull ColorAndFontOptions options);
  
  @NotNull
  String getPanelDisplayName();

  /**
   * @see {@link com.intellij.openapi.options.SearchableConfigurable#getOriginalClass()}
   */
  @NotNull
  default Class<?> getOriginalClass() {
    return this.getClass();
  }
}

@@ -18,9 +18,9 @@
 -201
-8
+9
  Jet
@@ -306,16 +306,54 @@
 gsPage;%0A
+import org.jetbrains.annotations.Nls;%0A
 import o
@@ -509,17 +509,16 @@
 nel%7D.%0A *
- 
 %0A * @aut
@@ -700,19 +700,17 @@
 tory%22);%0A
-  
 %0A
+
   @NotNu
@@ -786,18 +786,16 @@
 tions);%0A
-  
 %0A  @NotN
@@ -798,16 +798,66 @@
 NotNull%0A
+  @Nls(capitalization = Nls.Capitalization.Title)%0A
   String

add @Nls capitalization