From ffafd05042245ba0f09e27aa43cfbc55e69b0f06 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Tue, 9 Sep 2008 16:13:40 +0400 Subject: [PATCH] borders fixes - todo + changes + usages --- .../com/intellij/usages/impl/UsageViewImpl.java | 10 +++++++-- .../ide/projectView/impl/ProjectViewImpl.java | 2 +- .../newStructureView/StructureViewComponent.java | 2 +- lang-impl/src/com/intellij/ide/todo/TodoPanel.java | 9 ++++---- .../intellij/openapi/ui/SimpleToolWindowPanel.java | 26 ++++++++++++++++------ .../openapi/vcs/changes/ChangesViewManager.java | 12 ++++++---- 6 files changed, 42 insertions(+), 19 deletions(-) diff --git a/UsageView/src/com/intellij/usages/impl/UsageViewImpl.java b/UsageView/src/com/intellij/usages/impl/UsageViewImpl.java index a32dfe5194..94a52ed0e2 100644 --- a/UsageView/src/com/intellij/usages/impl/UsageViewImpl.java +++ b/UsageView/src/com/intellij/usages/impl/UsageViewImpl.java @@ -27,6 +27,7 @@ import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.Splitter; +import com.intellij.openapi.ui.SimpleToolWindowPanel; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Factory; import com.intellij.openapi.util.IconLoader; @@ -177,17 +178,22 @@ public class UsageViewImpl implements UsageView, UsageModelTracker.UsageModelTra myRootPanel.setLayout(new BorderLayout()); + final SimpleToolWindowPanel twPanel = new SimpleToolWindowPanel(false, true); + myRootPanel.add(twPanel, BorderLayout.CENTER); + + JPanel toolbarPanel = new JPanel(new BorderLayout()); toolbarPanel.add(createActionsToolbar(), BorderLayout.WEST); toolbarPanel.add(createFiltersToolbar(), BorderLayout.CENTER); - myRootPanel.add(toolbarPanel, BorderLayout.WEST); + twPanel.setToolbar(toolbarPanel); myCentralPanel = new JPanel(); myCentralPanel.setLayout(new BorderLayout()); - myRootPanel.add(myCentralPanel, BorderLayout.CENTER); setupCentralPanel(); initTree(); + twPanel.setContent(myCentralPanel); + myTree.setCellRenderer(new UsageViewTreeCellRenderer(UsageViewImpl.this)); collapseAll(); diff --git a/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewImpl.java b/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewImpl.java index a8b94a32ad..85ff56de3e 100644 --- a/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewImpl.java +++ b/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewImpl.java @@ -264,7 +264,7 @@ public final class ProjectViewImpl extends ProjectView implements JDOMExternaliz splitter.setFirstComponent(myViewContentPanel); splitter.setSecondComponent(myStructureViewPanel); - myPanel = new SimpleToolWindowPanel(); + myPanel = new SimpleToolWindowPanel(true); myPanel.setToolbar(top); myPanel.setContent(splitter); diff --git a/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java b/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java index a8d473be89..17335f4e71 100644 --- a/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java +++ b/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java @@ -78,7 +78,7 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre final StructureViewModel structureViewModel, final Project project, final boolean showRootNode) { - super(true); + super(true, true); myProject = project; myFileEditor = editor; diff --git a/lang-impl/src/com/intellij/ide/todo/TodoPanel.java b/lang-impl/src/com/intellij/ide/todo/TodoPanel.java index 7e0a4f57ad..d3893f69c6 100644 --- a/lang-impl/src/com/intellij/ide/todo/TodoPanel.java +++ b/lang-impl/src/com/intellij/ide/todo/TodoPanel.java @@ -19,6 +19,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.fileEditor.OpenFileDescriptor; import com.intellij.openapi.options.ShowSettingsUtil; import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.SimpleToolWindowPanel; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.IconLoader; @@ -53,7 +54,7 @@ import java.awt.event.KeyEvent; /** * @author Vladimir Kondratyev */ -abstract class TodoPanel extends JPanel implements OccurenceNavigator, DataProvider { +abstract class TodoPanel extends SimpleToolWindowPanel implements OccurenceNavigator, DataProvider { private static final Logger LOG = Logger.getInstance("#com.intellij.ide.todo.TodoPanel"); protected Project myProject; @@ -75,7 +76,7 @@ abstract class TodoPanel extends JPanel implements OccurenceNavigator, DataProvi TodoPanelSettings settings, boolean currentFileMode, Content content) { - super(new BorderLayout()); + super(false, true); myProject = project; mySettings = settings; myCurrentFileMode = currentFileMode; @@ -130,7 +131,7 @@ abstract class TodoPanel extends JPanel implements OccurenceNavigator, DataProvi } } ); - add(new JScrollPane(myTree), BorderLayout.CENTER); + setContent(new JScrollPane(myTree)); // Create tool bars and register custom shortcuts @@ -181,7 +182,7 @@ abstract class TodoPanel extends JPanel implements OccurenceNavigator, DataProvi toolBarPanel.add( ActionManager.getInstance().createActionToolbar(ActionPlaces.TODO_VIEW_TOOLBAR, rightGroup, false).getComponent()); - add(toolBarPanel, BorderLayout.WEST); + setToolbar(toolBarPanel); } void dispose() { diff --git a/platform-api/src/com/intellij/openapi/ui/SimpleToolWindowPanel.java b/platform-api/src/com/intellij/openapi/ui/SimpleToolWindowPanel.java index 92046d9771..357458f060 100644 --- a/platform-api/src/com/intellij/openapi/ui/SimpleToolWindowPanel.java +++ b/platform-api/src/com/intellij/openapi/ui/SimpleToolWindowPanel.java @@ -11,19 +11,26 @@ public class SimpleToolWindowPanel extends JPanel { private JComponent myContent; private boolean myBorderless; + private boolean myVertical; - public SimpleToolWindowPanel() { - this(false); + public SimpleToolWindowPanel(boolean vertical) { + this(vertical, false); } - public SimpleToolWindowPanel(boolean borderless) { - setLayout(new BorderLayout(0, 1)); + public SimpleToolWindowPanel(boolean vertical, boolean borderless) { + setLayout(new BorderLayout(vertical ? 0 : 1, vertical ? 1 : 0)); myBorderless = borderless; + myVertical = vertical; } public void setToolbar(JComponent c) { myToolbar = c; - add(c, BorderLayout.NORTH); + + if (myVertical) { + add(c, BorderLayout.NORTH); + } else { + add(c, BorderLayout.WEST); + } if (myBorderless) { UIUtil.removeScrollBorder(c); @@ -51,8 +58,13 @@ public class SimpleToolWindowPanel extends JPanel { if (myToolbar != null && myToolbar.getParent() == this && myContent != null && myContent.getParent() == this) { g.setColor(UIUtil.getBorderSeparatorColor()); - final int y = (int)myToolbar.getBounds().getMaxY(); - g.drawLine(0, y, getWidth(), y); + if (myVertical) { + final int y = (int)myToolbar.getBounds().getMaxY(); + g.drawLine(0, y, getWidth(), y); + } else { + int x = (int)myToolbar.getBounds().getMaxX(); + g.drawLine(x, 0, x, getHeight()); + } } } } \ No newline at end of file diff --git a/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java b/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java index 2df9b47398..c15f237c4e 100644 --- a/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java +++ b/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java @@ -25,6 +25,7 @@ import com.intellij.openapi.vcs.changes.actions.IgnoredSettingsAction; import com.intellij.openapi.vcs.changes.ui.ChangesListView; import com.intellij.openapi.vcs.changes.ui.ChangesViewContentManager; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.ui.SimpleToolWindowPanel; import com.intellij.ui.content.Content; import com.intellij.ui.content.ContentFactory; import com.intellij.util.Alarm; @@ -98,7 +99,7 @@ public class ChangesViewManager implements ProjectComponent, JDOMExternalizable } private JComponent createChangeViewComponent() { - JPanel panel = new JPanel(new BorderLayout()); + SimpleToolWindowPanel panel = new SimpleToolWindowPanel(false, true); DefaultActionGroup group = (DefaultActionGroup) ActionManager.getInstance().getAction("ChangesViewToolbar"); @@ -141,9 +142,12 @@ public class ChangesViewManager implements ProjectComponent, JDOMExternalizable myProgressLabel = new JLabel(); - panel.add(toolbarPanel, BorderLayout.WEST); - panel.add(new JScrollPane(myView), BorderLayout.CENTER); - panel.add(myProgressLabel, BorderLayout.SOUTH); + panel.setToolbar(toolbarPanel); + + final JPanel content = new JPanel(new BorderLayout()); + content.add(new JScrollPane(myView), BorderLayout.CENTER); + content.add(myProgressLabel, BorderLayout.SOUTH); + panel.setContent(content); myView.installDndSupport(ChangeListManagerImpl.getInstanceImpl(myProject)); return panel; -- 2.11.4.GIT