PY-25962 The documentation window in Scientific mode can take up all the editor space

move documentation manager used in edu to the python
This commit is contained in:
Ekaterina Tuzova
2017-09-13 16:04:02 +03:00
parent 9215b79963
commit 17caf3238c
4 changed files with 14 additions and 20 deletions
@@ -157,8 +157,6 @@
</actions>
<extensions defaultExtensionNs="com.intellij">
<projectService serviceInterface="com.intellij.codeInsight.documentation.DocumentationManager"
serviceImplementation="com.jetbrains.edu.learning.StudyDocumentationManager" overrides="true"/>
<applicationConfigurable groupId="tools" instance="com.jetbrains.edu.learning.settings.StudyConfigurable"
id="com.jetbrains.edu.learning.settings.StudyConfigurable"
displayName="Education"/>
@@ -105,6 +105,9 @@
<projectService serviceImplementation="com.jetbrains.python.findUsages.PyFindUsagesOptions"/>
<projectService serviceInterface="com.intellij.codeInsight.documentation.DocumentationManager"
serviceImplementation="com.jetbrains.python.PyDocumentationManager" overrides="true"/>
<applicationService serviceInterface="com.jetbrains.python.packaging.PyPackageService"
serviceImplementation="com.jetbrains.python.packaging.PyPackageService"/>
<applicationService serviceInterface="com.jetbrains.python.packaging.PyCondaPackageService"
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.jetbrains.edu.learning;
package com.jetbrains.python;
import com.intellij.codeInsight.TargetElementUtil;
import com.intellij.codeInsight.documentation.DocumentationManager;
@@ -26,15 +26,17 @@ import com.intellij.openapi.wm.WindowManager;
import java.awt.*;
public class StudyDocumentationManager extends DocumentationManager {
public class PyDocumentationManager extends DocumentationManager {
public StudyDocumentationManager(Project project, ActionManager manager, TargetElementUtil targetElementUtil) {
public PyDocumentationManager(Project project, ActionManager manager, TargetElementUtil targetElementUtil) {
super(project, manager, targetElementUtil);
}
@Override
protected void setToolwindowDefaultState() {
final Rectangle rectangle = WindowManager.getInstance().getIdeFrame(myProject).suggestChildFrameBounds();
myToolWindow.setDefaultState(ToolWindowAnchor.RIGHT, ToolWindowType.DOCKED, new Rectangle(rectangle.width/2, rectangle.height));
myToolWindow.setDefaultState(ToolWindowAnchor.RIGHT, ToolWindowType.DOCKED, new Rectangle(rectangle.width/4, rectangle.height));
myToolWindow.setType(ToolWindowType.DOCKED, null);
myToolWindow.setAutoHide(false);
}
}
@@ -32,7 +32,10 @@ import com.intellij.openapi.options.FontSize;
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.openapi.wm.ToolWindow;
import com.intellij.openapi.wm.ToolWindowId;
import com.intellij.openapi.wm.ToolWindowManager;
import com.intellij.openapi.wm.ToolWindowType;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiManager;
import com.intellij.util.ui.UIUtil;
@@ -52,8 +55,6 @@ public class PySciViewAction extends ToggleAction implements DumbAware {
private static final String TEXT_SCI_VIEW = "Scientific Mode";
private boolean wasConsoleVisible = false;
private ToolWindowType myDocumentationType = ToolWindowType.FLOATING;
private boolean myDocumentationAutoHide = true;
public static final String ACTION_ID = "PySciView";
private ToolWindowType myDataViewType = ToolWindowType.FLOATING;
@@ -135,14 +136,6 @@ public class PySciViewAction extends ToggleAction implements DumbAware {
}
setDocFontSize();
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(ToolWindowId.DOCUMENTATION);
if (window != null) {
window.setAnchor(ToolWindowAnchor.RIGHT, null);
myDocumentationType = window.getType();
myDocumentationAutoHide = window.isAutoHide();
window.setType(ToolWindowType.DOCKED, null);
window.setAutoHide(false);
}
}
private static void setDocFontSize() {
@@ -167,8 +160,6 @@ public class PySciViewAction extends ToggleAction implements DumbAware {
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(ToolWindowId.DOCUMENTATION);
if (window != null) {
window.setType(myDocumentationType, null);
window.setAutoHide(myDocumentationAutoHide);
DocumentationManager.getInstance(project).restorePopupBehavior();
final JBPopup hint = DocumentationManager.getInstance(project).getDocInfoHint();
if (hint != null) {