Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.trolltech.qt.gui
Class QSplitter

    java.lang.Object
      com.trolltech.qt.internal.QSignalEmitterInternal
          com.trolltech.qt.QSignalEmitter
              com.trolltech.qt.QtJambiObject
                  com.trolltech.qt.core.QObject
                      com.trolltech.qt.gui.QWidget
                          com.trolltech.qt.gui.QFrame
                              com.trolltech.qt.gui.QSplitter

All Implemented Interfaces:
  QPaintDeviceInterface, QtJambiInterface

    public class QSplitter

extends QFrame

The QSplitter class implements a splitter widget. A splitter lets the user control the size of child widgets by dragging the boundary between the children. Any number of widgets may be controlled by a single splitter. The typical use of a QSplitter is to create several widgets and add them using `insertWidget()` or `addWidget()`.

The following example will show a `QListView`, `QTreeView`, and `QTextEdit` side by side, with two splitter handles:

            QSplitter splitter = new QSplitter(parent);
            QListView listview = new QListView();
            QTreeView treeview = new QTreeView();
            QTextEdit textedit = new QTextEdit();
            splitter.addWidget(listview);
            splitter.addWidget(treeview);
            splitter.addWidget(textedit);

If a widget is already inside a QSplitter when `insertWidget()` or `addWidget()` is called, it will move to the new position. This can be used to reorder widgets in the splitter later. You can use `indexOf()`, `widget()`, and `count()` to get access to the widgets inside the splitter.

A default QSplitter lays out its children horizontally (side by side); you can use setOrientation(`Qt::Vertical` ) to lay its children out vertically.

By default, all widgets can be as large or as small as the user wishes, between the minimumSizeHint() (or minimumSize()) and maximumSize() of the widgets.

QSplitter resizes its children dynamically by default. If you would rather have QSplitter resize the children only at the end of a resize operation, call setOpaqueResize(false).

The initial distribution of size between the widgets is determined by multiplying the initial size with the stretch factor. You can also use `setSizes()` to set the sizes of all the widgets. The function `sizes()` returns the sizes set by the user. Alternatively, you can save and restore the sizes of the widgets from a `QByteArray` using `saveState()` and `restoreState()` respectively.

When you `hide()` a child its space will be distributed among the other children. It will be reinstated when you `show()` it again.

See also:
  `QSplitterHandle`, `QHBoxLayout`, `QVBoxLayout`, and `QTabWidget`.

Nested Class Summary
`static class` | `QSplitter.Range`

Nested classes/interfaces inherited from class com.trolltech.qt.gui.QFrame
`QFrame.Shadow, QFrame.Shape, QFrame.StyleMask`

Nested classes/interfaces inherited from class com.trolltech.qt.gui.QWidget
`QWidget.RenderFlag, QWidget.RenderFlags`

Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
`QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9`

Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal`

Field Summary
`QSignalEmitter.Signal2` | `splitterMoved` This signal takes 2 generic argument(s).

Fields inherited from class com.trolltech.qt.gui.QWidget
`customContextMenuRequested`

Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`currentSender`

Constructor Summary
`QSplitter()` Constructs a horizontal splitter with the `parent` arguments is passed on to the `QFrame` constructor.
`QSplitter(Qt.Orientation arg__1)` Constructs a splitter with the given `orientation` and `parent`.
`QSplitter(Qt.Orientation arg__1, QWidget parent)` Constructs a splitter with the given `orientation` and `parent`.
`QSplitter(QWidget parent)` Constructs a horizontal splitter with the `parent` arguments is passed on to the `QFrame` constructor.

Method Summary
`void` | `addWidget(QWidget widget)` Adds the given `widget` to the splitter's layout after all the other items.
`boolean` | `childrenCollapsible()` This property holds whether child widgets can be resized down to size 0 by the user.
`protected int` | `closestLegalPosition(int arg__1, int arg__2)` Returns the closest legal position to `pos` of the widget with index `index`.
`int` | `count()` Returns the number of widgets contained in the splitter's layout.
`protected QSplitterHandle` | `createHandle()` Returns a new splitter handle as a child widget of this splitter.
`QSplitter.Range` | `getRange(int index)` Returns the valid range of the splitter with index `index`.
`QSplitterHandle` | `handle(int index)` Returns the handle to the left (or above) for the item in the splitter's layout at the given `index`.
`int` | `handleWidth()` This property holds the width of the splitter handles.
`int` | `indexOf(QWidget w)` Returns the index in the splitter's layout of the specified `widget`.
`void` | `insertWidget(int index, QWidget widget)` Inserts the `widget` specified into the splitter's layout at the given `index`.
`boolean` | `isCollapsible(int index)` Returns true if the widget at `index` is collapsible, otherwise returns false
`protected void` | `moveSplitter(int pos, int index)` Moves the left or top edge of the splitter handle at `index` as close as possible to position `pos`, which is the distance from the left or top edge of the widget.
`boolean` | `opaqueResize()` This property holds whether resizing is opaque.
`Qt.Orientation` | `orientation()` This property holds the orientation of the splitter.
`void` | `readFrom(QTextStream arg__1)` Reads a QSplitter
`void` | `refresh()` Updates the splitter's state.
`boolean` | `restoreState(QByteArray state)` Restores the splitter's layout to the `state` specified.
`QByteArray` | `saveState()` Saves the state of the splitter's layout.
`void` | `setChildrenCollapsible(boolean arg__1)` This property holds whether child widgets can be resized down to size 0 by the user.
`void` | `setCollapsible(int index, boolean arg__2)` Sets whether the child widget at index `index` is collapsible to `collapse`.
`void` | `setHandleWidth(int arg__1)` This property holds the width of the splitter handles.
`void` | `setOpaqueResize()` This property holds whether resizing is opaque.
`void` | `setOpaqueResize(boolean opaque)` This property holds whether resizing is opaque.
`void` | `setOrientation(Qt.Orientation arg__1)` This property holds the orientation of the splitter.
`protected void` | `setRubberBand(int position)` Displays a rubber band at position `pos`.
`void` | `setSizes(java.util.List list)` Sets the size parameters to the values given in the `list`.
`void` | `setStretchFactor(int index, int stretch)` Updates the size policy of the widget at position `index` to have a stretch factor of `stretch`.
`java.util.List` | `sizes()` Returns a list of the size parameters of all the widgets in this splitter.
`QWidget` | `widget(int index)` Returns the widget at the given `index` in the splitter's layout.
`void` | `writeTo(QTextStream arg__1)` Writes thisQSplitter

Methods inherited from class com.trolltech.qt.gui.QFrame
`frameRect, frameShadow, frameShape, frameStyle, frameWidth, lineWidth, midLineWidth, setFrameRect, setFrameShadow, setFrameShape, setFrameStyle, setLineWidth, setMidLineWidth`

Methods inherited from class com.trolltech.qt.gui.QWidget
`acceptDrops, accessibleDescription, accessibleName, actionEvent, actions, activateWindow, addAction, addActions, adjustSize, autoFillBackground, backgroundRole, baseSize, changeEvent, childAt, childAt, childrenRect, childrenRegion, clearFocus, clearMask, close, closeEvent, contentsRect, contextMenuEvent, contextMenuPolicy, cursor, depth, destroy, destroy, destroy, dragEnterEvent, dragLeaveEvent, dragMoveEvent, dropEvent, effectiveWinId, ensurePolished, enterEvent, focusInEvent, focusNextChild, focusNextPrevChild, focusOutEvent, focusPolicy, focusPreviousChild, focusProxy, focusWidget, font, fontInfo, fontMetrics, foregroundRole, frameGeometry, frameSize, geometry, getContentsMargins, grabKeyboard, grabMouse, grabMouse, grabShortcut, grabShortcut, hasFocus, hasMouseTracking, height, heightForWidth, heightMM, hide, hideEvent, inputContext, inputMethodEvent, inputMethodQuery, insertAction, insertActions, isActiveWindow, isAncestorOf, isEnabled, isEnabledTo, isFullScreen, isHidden, isMaximized, isMinimized, isModal, isVisible, isVisibleTo, isWindow, isWindowModified, keyboardGrabber, keyPressEvent, keyReleaseEvent, languageChange, layout, layoutDirection, leaveEvent, locale, logicalDpiX, logicalDpiY, lower, mapFrom, mapFromGlobal, mapFromParent, mapTo, mapToGlobal, mapToParent, mask, maximumHeight, maximumSize, maximumWidth, metric, minimumHeight, minimumSize, minimumSizeHint, minimumWidth, mouseDoubleClickEvent, mouseGrabber, mouseMoveEvent, mousePressEvent, mouseReleaseEvent, move, move, moveEvent, nativeParentWidget, nextInFocusChain, normalGeometry, numColors, overrideWindowFlags, overrideWindowFlags, overrideWindowState, paintEngine, paintEvent, paintingActive, palette, parentWidget, physicalDpiX, physicalDpiY, pos, raise, rect, releaseKeyboard, releaseMouse, releaseShortcut, removeAction, render, render, render, render, render, render, render, render, render, repaint, repaint, repaint, repaint, resetInputContext, resize, resize, resizeEvent, restoreGeometry, saveGeometry, scroll, scroll, setAcceptDrops, setAccessibleDescription, setAccessibleName, setAttribute, setAttribute, setAutoFillBackground, setBackgroundRole, setBaseSize, setBaseSize, setContentsMargins, setContentsMargins, setContextMenuPolicy, setCursor, setDisabled, setEnabled, setFixedHeight, setFixedSize, setFixedSize, setFixedWidth, setFocus, setFocus, setFocusPolicy, setFocusProxy, setFont, setForegroundRole, setGeometry, setGeometry, setHidden, setInputContext, setLayout, setLayoutDirection, setLocale, setMask, setMask, setMaximumHeight, setMaximumSize, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumSize, setMinimumWidth, setMouseTracking, setPalette, setParent, setParent, setParent, setShortcutAutoRepeat, setShortcutAutoRepeat, setShortcutEnabled, setShortcutEnabled, setSizeIncrement, setSizeIncrement, setSizePolicy, setSizePolicy, setStatusTip, setStyle, setStyleSheet, setTabOrder, setToolTip, setUpdatesEnabled, setVisible, setWhatsThis, setWindowFilePath, setWindowFlags, setWindowFlags, setWindowIcon, setWindowIconText, setWindowModality, setWindowModified, setWindowOpacity, setWindowRole, setWindowState, setWindowState, setWindowTitle, show, showEvent, showFullScreen, showMaximized, showMinimized, showNormal, size, sizeHint, sizeIncrement, sizePolicy, stackUnder, statusTip, style, styleSheet, tabletEvent, testAttribute, toolTip, underMouse, unsetCursor, unsetLayoutDirection, unsetLocale, update, update, update, update, updateGeometry, updateMicroFocus, updatesEnabled, visibleRegion, whatsThis, wheelEvent, width, widthMM, window, windowFilePath, windowFlags, windowIcon, windowIconText, windowModality, windowOpacity, windowRole, windowState, windowTitle, windowType, winId, x, y`

Methods inherited from class com.trolltech.qt.core.QObject
`childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, indexOfProperty, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, properties, property, removeEventFilter, setObjectName, setParent, setProperty, startTimer, timerEvent, toString, userProperty`

Methods inherited from class com.trolltech.qt.QtJambiObject
`dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr`

Methods inherited from class com.trolltech.qt.QSignalEmitter
`blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread`

Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`__qt_signalInitialization`

Methods inherited from class java.lang.Object
`clone, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface com.trolltech.qt.QtJambiInterface
`disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership`

Field Detail

### splitterMoved

    public final QSignalEmitter.Signal2 splitterMoved

  This signal takes 2 generic argument(s). We list their type and the name they go by in the description of this signal. <java.lang.Integer(named: pos), java.lang.Integer(named: index)>:

  This signal is emitted when the splitter handle at a particular `index` has been moved to position `pos`.

  For right-to-left languages such as Arabic and Hebrew, the layout of horizontal splitters is reversed. `pos` is then the distance from the right edge of the widget.

See also:
  `moveSplitter()`.

Constructor Detail

### QSplitter

    public QSplitter()

  Constructs a horizontal splitter with the `parent` arguments is passed on to the `QFrame` constructor.

See also:
  `setOrientation()`.

### QSplitter

    public QSplitter(QWidget parent)

  Constructs a horizontal splitter with the `parent` arguments is passed on to the `QFrame` constructor.

See also:
  `setOrientation()`.

### QSplitter

    public QSplitter(Qt.Orientation arg__1)

  Constructs a splitter with the given `orientation` and `parent`.

See also:
  `setOrientation()`.

### QSplitter

    public QSplitter(Qt.Orientation arg__1,
                     QWidget parent)

  Constructs a splitter with the given `orientation` and `parent`.

See also:
  `setOrientation()`.

Method Detail

### addWidget

    public final void addWidget(QWidget widget)

  Adds the given `widget` to the splitter's layout after all the other items.

  If `widget` is already in the splitter, it will be moved to the new position.

See also:
  `insertWidget()`, `widget()`, and `indexOf()`.

### childrenCollapsible

    public final boolean childrenCollapsible()

  This property holds whether child widgets can be resized down to size 0 by the user. By default, children are collapsible. It is possible to enable and disable the collapsing of individual children using `setCollapsible()`.

See also:
  `setCollapsible()`.

### closestLegalPosition

    protected final int closestLegalPosition(int arg__1,
                                             int arg__2)

  Returns the closest legal position to `pos` of the widget with index `index`.

  For right-to-left languages such as Arabic and Hebrew, the layout of horizontal splitters is reversed. Positions are then measured from the right edge of the widget.

See also:
  `getRange()`.

### count

    public final int count()

  Returns the number of widgets contained in the splitter's layout.

See also:
  `widget()`, and `handle()`.

### handle

    public final QSplitterHandle handle(int index)

  Returns the handle to the left (or above) for the item in the splitter's layout at the given `index`. The handle at index 0 is always hidden.

  For right-to-left languages such as Arabic and Hebrew, the layout of horizontal splitters is reversed. The handle will be to the right of the widget at `index`.

See also:
  `count()`, `widget()`, `indexOf()`, `createHandle()`, and `setHandleWidth()`.

### handleWidth

    public final int handleWidth()

  This property holds the width of the splitter handles. By default, this property contains a value that depends on the user's platform and style preferences.

### indexOf

    public final int indexOf(QWidget w)

  Returns the index in the splitter's layout of the specified `widget`. This also works for handles.

  Handles are numbered from 0. There are as many handles as there are child widgets, but the handle at position 0 is always hidden.

See also:
  `count()`, and `widget()`.

### insertWidget

    public final void insertWidget(int index,
                                   QWidget widget)

  Inserts the `widget` specified into the splitter's layout at the given `index`.

  If `widget` is already in the splitter, it will be moved to the new position.

  if `index` is an invalid index, then the widget will be inserted at the end.

See also:
  `addWidget()`, `indexOf()`, and `widget()`.

### isCollapsible

    public final boolean isCollapsible(int index)

  Returns true if the widget at `index` is collapsible, otherwise returns false

### moveSplitter

    protected final void moveSplitter(int pos,
                                      int index)

  Moves the left or top edge of the splitter handle at `index` as close as possible to position `pos`, which is the distance from the left or top edge of the widget.

  For right-to-left languages such as Arabic and Hebrew, the layout of horizontal splitters is reversed. `pos` is then the distance from the right edge of the widget.

See also:
  `splitterMoved()` , `closestLegalPosition()`, and `getRange()`.

### opaqueResize

    public final boolean opaqueResize()

  This property holds whether resizing is opaque. Opaque resizing is on by default.

### writeTo

    public final void writeTo(QTextStream arg__1)

  Writes thisQSplitter

### readFrom

    public final void readFrom(QTextStream arg__1)

  Reads a QSplitter

### orientation

    public final Qt.Orientation orientation()

  This property holds the orientation of the splitter. By default the orientation is horizontal (i.e., the widgets are laid out side by side). The possible orientations are `Qt::Horizontal` and `Qt::Vertical` .

See also:
  `QSplitterHandle::orientation()`.

### refresh

    public final void refresh()

  Updates the splitter's state. You should not need to call this function.

### restoreState

    public final boolean restoreState(QByteArray state)

  Restores the splitter's layout to the `state` specified. Returns true if the state is restored; otherwise returns false.

  Typically this is used in conjunction with `QSettings` to restore the size from a past session. Here is an example:

  Restore the splitters's state:

              QSettings settings = new QSettings();
              splitter.restoreState((QByteArray) settings.value("splitterSizes"));

  A failure to restore the splitter's layout may result from either invalid or out-of-date data in the supplied byte array.

See also:
  `saveState()`.

### saveState

    public final QByteArray saveState()

  Saves the state of the splitter's layout.

  Typically this is used in conjunction with `QSettings` to remember the size for a future session. A version number is stored as part of the data. Here is an example:

              QSettings settings = new QSettings();
              settings.setValue("splitterSizes", splitter.saveState());

See also:
  `restoreState()`.

### setChildrenCollapsible

    public final void setChildrenCollapsible(boolean arg__1)

  This property holds whether child widgets can be resized down to size 0 by the user. By default, children are collapsible. It is possible to enable and disable the collapsing of individual children using `setCollapsible()`.

See also:
  `setCollapsible()`.

### setCollapsible

    public final void setCollapsible(int index,
                                     boolean arg__2)

  Sets whether the child widget at index `index` is collapsible to `collapse`.

  By default, children are collapsible, meaning that the user can resize them down to size 0, even if they have a non-zero minimumSize() or minimumSizeHint(). This behavior can be changed on a per-widget basis by calling this function, or globally for all the widgets in the splitter by setting the `childrenCollapsible` property.

See also:
  `isCollapsible()`, and `childrenCollapsible`.

### setHandleWidth

    public final void setHandleWidth(int arg__1)

  This property holds the width of the splitter handles. By default, this property contains a value that depends on the user's platform and style preferences.

### setOpaqueResize

    public final void setOpaqueResize()

  This property holds whether resizing is opaque. Opaque resizing is on by default.

### setOpaqueResize

    public final void setOpaqueResize(boolean opaque)

  This property holds whether resizing is opaque. Opaque resizing is on by default.

### setOrientation

    public final void setOrientation(Qt.Orientation arg__1)

  This property holds the orientation of the splitter. By default the orientation is horizontal (i.e., the widgets are laid out side by side). The possible orientations are `Qt::Horizontal` and `Qt::Vertical` .

See also:
  `QSplitterHandle::orientation()`.

### setRubberBand

    protected final void setRubberBand(int position)

  Displays a rubber band at position `pos`. If `pos` is negative, the rubber band is removed.

### setSizes

    public final void setSizes(java.util.List list)

  Sets the size parameters to the values given in the `list`. The available space is divided according to the weights specified in the list.

  If the splitter is horizontal, the values set the widths of each widget, from left to right based on the given weight. If the splitter is vertical, the heights of each widget is set, from top to bottom. Extra values in the `list` are ignored.

  If `list` contains too few values, the result is undefined but the program will still be well-behaved. If you specify a size of 0, the widget will be invisible.

See also:
  `sizes()`.

### setStretchFactor

    public final void setStretchFactor(int index,
                                       int stretch)

  Updates the size policy of the widget at position `index` to have a stretch factor of `stretch`.

  `stretch` is not the effective stretch factor; the effective stretch factor is calculated by taking the initial size of the widget and multiplying it with `stretch`.

  This function is provided for convenience. It is equivalent to

              QWidget widget = splitter.widget(index);
              QSizePolicy policy = widget.sizePolicy();
              policy.setHorizontalStretch(stretch);
              policy.setVerticalStretch(stretch);
              widget.setSizePolicy(policy);

See also:
  `setSizes()`, and `widget()`.

### sizes

    public final java.util.List sizes()

  Returns a list of the size parameters of all the widgets in this splitter.

  If the splitter's orientation is horizontal, the list is a list of widget widths; if the orientation is vertical, the list is a list of widget heights.

  Giving the values to another splitter's `setSizes()` function will produce a splitter with the same layout as this one.

  Note that invisible widgets have a size of 0.

  The easiest way to iterate over the list is to use the Java-style iterators.

              List<Integer> sizes = splitter.sizes();
              for (Integer size : sizes)
                  processSize(size);

See also:
  `setSizes()`.

### widget

    public final QWidget widget(int index)

  Returns the widget at the given `index` in the splitter's layout.

See also:
  `count()`, `handle()`, `indexOf()`, and `insertWidget()`.

### createHandle

    protected QSplitterHandle createHandle()

  Returns a new splitter handle as a child widget of this splitter. This function can be reimplemented in subclasses to provide support for custom handles.

See also:
  `handle()`, and `indexOf()`.

### getRange

    public final QSplitter.Range getRange(int index)

  Returns the valid range of the splitter with index `index`.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD