Bug 301895 TrimmedPartLayout miscalculates the left boundary
Build Identifier: UI HEAD, XWT HEAD, on I20100129 TrimmedPartLayout forgets to remove the new offset when calculating the new bounds for left-trim, resulting in the trim being placed under the content. === modified file 'bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/TrimmedPartLayout.java' --- bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/TrimmedPartLayout.java 2010-02-04 18:11:21 +0000 +++ bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/TrimmedPartLayout.java 2010-02-04 22:25:17 +0000 @@ -118,8 +118,8 @@ caRect.width -= leftSize.x; // Don't layout unless we've changed - Rectangle newBounds = new Rectangle(caRect.x, caRect.y, - leftSize.x, caRect.height); + Rectangle newBounds = new Rectangle(caRect.x - leftSize.x, + caRect.y, leftSize.x, caRect.height); if (!newBounds.equals(left.getBounds())) { left.setBounds(newBounds); } @@ -135,8 +135,7 @@ Rectangle newBounds = new Rectangle(caRect.x + caRect.width, caRect.y, rightSize.x, caRect.height); if (!newBounds.equals(right.getBounds())) { - right.setBounds(caRect.x + caRect.width, caRect.y, - rightSize.x, caRect.height); + right.setBounds(newBounds); } } Reproducible: Always
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/TrimmedPartLayout.java
/*******************************************************************************
 * Copyright (c) 2008 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.e4.workbench.ui.renderers.swt;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Layout;
/**
 * This arranges its controls into 5 'slots' defined by its composite children
 * <ol>