proper color for documentation background

This commit is contained in:
Ekaterina Tuzova
2017-09-01 13:30:04 +03:00
parent ff193191d3
commit df4dd29135
2 changed files with 20 additions and 0 deletions
@@ -29,6 +29,8 @@ import com.intellij.openapi.components.AbstractProjectComponent;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
import com.intellij.openapi.editor.colors.EditorColorsManager;
import com.intellij.openapi.editor.colors.EditorColorsScheme;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtilCore;
import com.intellij.openapi.project.Project;
@@ -36,6 +38,7 @@ import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.startup.StartupManager;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiManager;
import com.intellij.util.ui.UIUtil;
import com.jetbrains.python.packaging.PyPackage;
import com.jetbrains.python.packaging.PyPackageUtil;
import com.jetbrains.python.sdk.PythonSdkType;
@@ -44,6 +47,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.List;
import static com.intellij.codeInsight.documentation.DocumentationComponent.COLOR_KEY;
import static com.jetbrains.python.actions.PySciViewAction.ACTION_ID;
@State(name = "PySciProjectComponent", storages = @Storage("other.xml"))
@@ -73,6 +77,9 @@ public class PySciProjectComponent extends AbstractProjectComponent implements P
public void projectOpened() {
if (myState.PY_SCI_VIEW) {
StartupManager.getInstance(myProject).runWhenProjectIsInitialized(() -> {
EditorColorsScheme scheme = EditorColorsManager.getInstance().getGlobalScheme();
scheme.setColor(COLOR_KEY, UIUtil.getEditorPaneBackground());
final PsiDirectory directory = PsiManager.getInstance(myProject).findDirectory(myProject.getBaseDir());
if (directory != null) {
DocumentationManager.getInstance(myProject).showJavaDocInfo(directory, directory);
@@ -21,15 +21,21 @@ import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.actionSystem.ToggleAction;
import com.intellij.openapi.editor.colors.EditorColorsManager;
import com.intellij.openapi.editor.colors.EditorColorsScheme;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.popup.JBPopup;
import com.intellij.openapi.wm.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiManager;
import com.intellij.util.ui.UIUtil;
import com.jetbrains.python.console.PythonConsoleToolWindow;
import org.jetbrains.annotations.NotNull;
import java.awt.*;
import static com.intellij.codeInsight.documentation.DocumentationComponent.COLOR_KEY;
import static com.jetbrains.python.debugger.containerview.PyDataView.DATA_VIEWER_ID;
public class PySciViewAction extends ToggleAction implements DumbAware {
@@ -41,6 +47,7 @@ public class PySciViewAction extends ToggleAction implements DumbAware {
public static final String ACTION_ID = "PySciView";
private ToolWindowType myDataViewType = ToolWindowType.FLOATING;
private Color myDocumentationBackgroundColor;
public PySciViewAction() {
super(TEXT_SCI_VIEW);
@@ -86,6 +93,10 @@ public class PySciViewAction extends ToggleAction implements DumbAware {
private void showDocumentationToolwindow(Project project, PsiElement element) {
final String showInToolWindowProperty = DocumentationManager.getInstance(project).getShowInToolWindowProperty();
EditorColorsScheme scheme = EditorColorsManager.getInstance().getGlobalScheme();
myDocumentationBackgroundColor = scheme.getColor(COLOR_KEY);
scheme.setColor(COLOR_KEY, UIUtil.getEditorPaneBackground());
PropertiesComponent.getInstance().setValue(showInToolWindowProperty, true);
PropertiesComponent.getInstance().setValue(DocumentationManager.getInstance(project).getAutoUpdateEnabledProperty(), true);
@@ -104,6 +115,8 @@ public class PySciViewAction extends ToggleAction implements DumbAware {
private void restoreDocumentationPopup(Project project) {
PropertiesComponent.getInstance().setValue(DocumentationManager.getInstance(project).getAutoUpdateEnabledProperty(), false);
EditorColorsScheme scheme = EditorColorsManager.getInstance().getGlobalScheme();
scheme.setColor(COLOR_KEY, myDocumentationBackgroundColor);
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(ToolWindowId.DOCUMENTATION);
if (window != null) {