com.google.gwt.user.client.ui
Class SplitLayoutPanel
java.lang.Object
com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.Widget
com.google.gwt.user.client.ui.Panel
com.google.gwt.user.client.ui.ComplexPanel
com.google.gwt.user.client.ui.DockLayoutPanel
com.google.gwt.user.client.ui.SplitLayoutPanel
- All Implemented Interfaces:
- HasHandlers, EventListener, AnimatedLayout, HasWidgets, IndexedPanel, ProvidesResize, RequiresResize, java.lang.Iterable<Widget>
public class SplitLayoutPanel
- extends DockLayoutPanel
A panel that adds user-positioned splitters between each of its child
widgets.
This panel is used in the same way as DockLayoutPanel, except that
its children's sizes are always specified in Style.Unit.PX units, and each
pair of child widgets has a splitter between them that the user can drag.
This widget will only work in standards mode, which requires that
the HTML page in which it is run have an explicit <!DOCTYPE>
declaration.
CSS Style Rules
- .gwt-SplitLayoutPanel { the panel itself }
- .gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger { horizontal dragger
}
- .gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger { vertical dragger }
Example
public class SplitLayoutPanelExample implements EntryPoint {
public void onModuleLoad() {
// Create a three-pane layout with splitters.
SplitLayoutPanel p = new SplitLayoutPanel();
p.addWest(new HTML("navigation"), 128);
p.addNorth(new HTML("list"), 384);
p.add(new HTML("details"));
// Attach the LayoutPanel to the RootLayoutPanel. The latter will listen for
// resize events on the window to ensure that its children are informed of
// possible size changes.
RootLayoutPanel rp = RootLayoutPanel.get();
rp.add(p);
}
}
| Methods inherited from class com.google.gwt.user.client.ui.DockLayoutPanel |
add, addEast, addNorth, addSouth, addWest, animate, animate, forceLayout, getCenter, getUnit, getWidgetContainerElement, getWidgetDirection, insertEast, insertNorth, insertSouth, insertWest, onLoad, onResize, onUnload |
| Methods inherited from class com.google.gwt.user.client.ui.ComplexPanel |
add, adjustIndex, checkIndexBoundsForAccess, checkIndexBoundsForInsertion, getChildren, getWidget, getWidgetCount, getWidgetIndex, insert, insert, iterator, remove |
| Methods inherited from class com.google.gwt.user.client.ui.Widget |
addDomHandler, addHandler, delegateEvent, fireEvent, getHandlerCount, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onBrowserEvent, onDetach, removeFromParent, setLayoutData, sinkEvents |
| Methods inherited from class com.google.gwt.user.client.ui.UIObject |
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, setElement, setElement, setHeight, setPixelSize, setSize, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, toString, unsinkEvents |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
SplitLayoutPanel
public SplitLayoutPanel()
insert
public void insert(Widget child,
DockLayoutPanel.Direction direction,
double size,
Widget before)
- Description copied from class:
DockLayoutPanel
- Adds a widget to the specified edge of the dock. If the widget is already a
child of this panel, this method behaves as though
DockLayoutPanel.remove(Widget)
had already been called.
- Overrides:
insert in class DockLayoutPanel
- Parameters:
child - the widget to be addeddirection - the widget's direction in the dockbefore - the widget before which to insert the new child, or
null to append
remove
public boolean remove(Widget child)
- Description copied from class:
Panel
- Removes a child widget.
How to Override this Method
There are several important things that must take place in the correct
order to properly remove a Widget from a Panel. Not all of these steps will
be relevant to every Panel, but all of the steps must be considered.
- Validate: Make sure this Panel is actually the parent of the
child Widget; return
false if it is not.
- Orphan: Call
Panel.orphan(Widget) first while the child
Widget is still attached.
- Physical Detach: Adjust the DOM to account for the removal of
the child Widget. The Widget's Element must be physically removed from the
DOM.
- Logical Detach: Update the Panel's state variables to reflect
the removal of the child Widget. Example: the Widget is removed from the
Panel's
WidgetCollection.
- Specified by:
remove in interface HasWidgets- Overrides:
remove in class DockLayoutPanel
- Parameters:
child - the widget to be removed
- Returns:
true if the child was present
setWidgetMinSize
public void setWidgetMinSize(Widget child,
int minSize)
- Sets the minimum allowable size for the given widget.
Its assocated splitter cannot be dragged to a position that would make it
smaller than this size. This method has no effect for the
DockLayoutPanel.Direction.CENTER widget.
- Parameters:
child - the child whose minimum size will be setminSize - the minimum size for this widget