Example usage for com.intellij.openapi.wm ToolWindow getAnchor

List of usage examples for com.intellij.openapi.wm ToolWindow getAnchor

Introduction

In this page you can find the example usage for com.intellij.openapi.wm ToolWindow getAnchor.

Prototype

ToolWindowAnchor getAnchor();

Source Link

Usage

From source file:com.intellij.ide.actions.ResizeToolWindowAction.java

License:Apache License

protected void stretch(ToolWindow wnd, boolean isHorizontalStretching, boolean isIncrementAction) {
    ToolWindowScrollable scrollable = getScrollable(wnd, isHorizontalStretching);
    if (scrollable == null)
        return;/*from w  w w. j a v a  2  s . c  om*/

    ToolWindowAnchor anchor = wnd.getAnchor();
    if (isHorizontalStretching && !anchor.isHorizontal()) {
        incWidth(wnd, scrollable.getNextHorizontalScroll(),
                (anchor == ToolWindowAnchor.LEFT) == isIncrementAction);
    } else if (!isHorizontalStretching && anchor.isHorizontal()) {
        incHeight(wnd, scrollable.getNextVerticalScroll(),
                (anchor == ToolWindowAnchor.TOP) != isIncrementAction);
    }
}

From source file:com.intellij.slicer.SlicePanel.java

License:Apache License

public SlicePanel(@NotNull final Project project, boolean dataFlowToThis, @NotNull SliceNode rootNode,
        boolean splitByLeafExpressions, @NotNull final ToolWindow toolWindow) {
    super(new BorderLayout());
    myToolWindow = toolWindow;/*from ww  w.  j ava2 s.  c om*/
    final ToolWindowManagerListener listener = new ToolWindowManagerListener() {
        ToolWindowAnchor myAnchor = toolWindow.getAnchor();

        @Override
        public void toolWindowRegistered(@NotNull String id) {
        }

        @Override
        public void stateChanged() {
            if (!project.isOpen()) {
                return;
            }
            if (toolWindow.getAnchor() != myAnchor) {
                myAnchor = myToolWindow.getAnchor();
                layoutPanel();
            }
        }
    };
    ToolWindowManagerEx.getInstanceEx(project).addToolWindowManagerListener(listener);
    Disposer.register(this, new Disposable() {
        @Override
        public void dispose() {
            ToolWindowManagerEx.getInstanceEx(project).removeToolWindowManagerListener(listener);
        }
    });

    ApplicationManager.getApplication().assertIsDispatchThread();
    myProject = project;
    myTree = createTree();

    myBuilder = new SliceTreeBuilder(myTree, project, dataFlowToThis, rootNode, splitByLeafExpressions);
    myBuilder.setCanYieldUpdate(!ApplicationManager.getApplication().isUnitTestMode());

    Disposer.register(this, myBuilder);

    myBuilder.addSubtreeToUpdate((DefaultMutableTreeNode) myTree.getModel().getRoot(), new Runnable() {
        @Override
        public void run() {
            if (isDisposed || myBuilder.isDisposed() || myProject.isDisposed()) {
                return;
            }
            final SliceNode rootNode = myBuilder.getRootSliceNode();
            myBuilder.expand(rootNode, new Runnable() {
                @Override
                public void run() {
                    if (isDisposed || myBuilder.isDisposed() || myProject.isDisposed()) {
                        return;
                    }
                    myBuilder.select(rootNode.myCachedChildren.get(0)); //first there is ony one child
                }
            });
            treeSelectionChanged();
        }
    });

    layoutPanel();
}