/*! * This program is free software; you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software * Foundation. * * You should have received a copy of the GNU Lesser General Public License along with this * program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html * or from the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Lesser General Public License for more details. * * Copyright (c) 2002-2013 Pentaho Corporation.. All rights reserved. */ package org.pentaho.gwt.widgets.client.splitpanel; import com.google.gwt.dom.client.Element; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.ui.HorizontalSplitPanel; import com.google.gwt.user.client.ui.VerticalSplitPanel; public class SplitPanelUtil { // these guys must operate on populated scrollpanels (content added) public static void setHorizontalSplitPanelScrolling( HorizontalSplitPanel hsplit, boolean enableLeft, boolean enableRight ) { Element splitElement = hsplit.getElement(); Element leftElement = hsplit.getLeftWidget().getElement(); while ( leftElement != splitElement && leftElement != null ) { leftElement = leftElement.getParentElement(); DOM.setStyleAttribute( (com.google.gwt.user.client.Element) leftElement, "overflowX", enableLeft ? "auto" : "hidden" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ DOM.setStyleAttribute( (com.google.gwt.user.client.Element) leftElement, "overflowY", enableLeft ? "auto" : "hidden" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } Element rightElement = hsplit.getRightWidget().getElement(); while ( rightElement != splitElement && rightElement != null ) { rightElement = rightElement.getParentElement(); DOM.setStyleAttribute( (com.google.gwt.user.client.Element) rightElement, "overflowX", enableRight ? "auto" : "hidden" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ DOM.setStyleAttribute( (com.google.gwt.user.client.Element) rightElement, "overflowY", enableRight ? "auto" : "hidden" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } } // these guys must operate on populated scrollpanels (content added) public static void setVerticalSplitPanelScrolling( VerticalSplitPanel vsplit, boolean enableTop, boolean enableBottom ) { Element splitElement = vsplit.getElement(); Element topElement = vsplit.getTopWidget().getElement(); while ( topElement != splitElement && topElement != null ) { topElement = topElement.getParentElement(); DOM.setStyleAttribute( (com.google.gwt.user.client.Element) topElement, "overflowX", enableTop ? "auto" : "hidden" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ DOM.setStyleAttribute( (com.google.gwt.user.client.Element) topElement, "overflowY", enableTop ? "auto" : "hidden" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } Element bottomElement = vsplit.getBottomWidget().getElement(); while ( bottomElement != splitElement && bottomElement != null ) { bottomElement = bottomElement.getParentElement(); DOM.setStyleAttribute( (com.google.gwt.user.client.Element) bottomElement, "overflowX", enableBottom ? "auto" : "hidden" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ DOM.setStyleAttribute( (com.google.gwt.user.client.Element) bottomElement, "overflowY", enableBottom ? "auto" : "hidden" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } } }