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 QStackedLayout

    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.QLayout
                          com.trolltech.qt.gui.QStackedLayout

All Implemented Interfaces:
  QLayoutItemInterface, QtJambiInterface

    public class QStackedLayout

extends QLayout

The `QStackedLayout` class provides a stack of widgets where only one widget is visible at a time. `QStackedLayout` can be used to create a user interface similar to the one provided by `QTabWidget`. There is also a convenience `QStackedWidget` class built on top of `QStackedLayout`.

A `QStackedLayout` can be populated with a number of child widgets ("pages"). For example:

            QWidget firstPageWidget = new QWidget();
            QWidget secondPageWidget = new QWidget();
            QWidget thirdPageWidget = new QWidget();

            QStackedLayout stackedLayout = new QStackedLayout();
            stackedLayout.addWidget(firstPageWidget);
            stackedLayout.addWidget(secondPageWidget);
            stackedLayout.addWidget(thirdPageWidget);

            QVBoxLayout mainLayout = new QVBoxLayout();

            mainLayout.addLayout(stackedLayout);
            setLayout(mainLayout);

`QStackedLayout` provides no intrinsic means for the user to switch page. This is typically done through a `QComboBox` or a `QListWidget` that stores the titles of the `QStackedLayout`'s pages. For example:

            QComboBox pageComboBox = new QComboBox();
            pageComboBox.addItem(tr("Page 1"));
            pageComboBox.addItem(tr("Page 2"));
            pageComboBox.addItem(tr("Page 3"));
            pageComboBox.activated.connect(stackedLayout, "setCurrentIndex(int)");

When populating a layout, the widgets are added to an internal list. The `indexOf()` function returns the index of a widget in that list. The widgets can either be added to the end of the list using the addWidget() function, or inserted at a given index using the `insertWidget()` function. The `removeWidget()` function removes the widget at the given index from the layout. The number of widgets contained in the layout, can be obtained using the `count()` function.

The `widget()` function returns the widget at a given index position. The index of the widget that is shown on screen is given by `currentIndex()` and can be changed using `setCurrentIndex()`. In a similar manner, the currently shown widget can be retrieved using the `currentWidget()` function, and altered using the `setCurrentWidget()` function.

Whenever the current widget in the layout changes or a widget is removed from the layout, the `currentChanged()` and `widgetRemoved()` signals are emitted respectively.

See also:
  `QStackedWidget`, and `QTabWidget`.

Nested Class Summary
`static class` | `QStackedLayout.StackingMode` This enum specifies how the layout handles its child widgets regarding their visibility.

Nested classes/interfaces inherited from class com.trolltech.qt.gui.QLayout
`QLayout.SizeConstraint`

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.Signal1` | `currentChanged` This signal takes 1 generic argument(s).
`QSignalEmitter.Signal1` | `widgetRemoved` This signal takes 1 generic argument(s).

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

Constructor Summary
`QStackedLayout()` Constructs a `QStackedLayout` with no parent.
`QStackedLayout(QLayout parentLayout)` Constructs a new `QStackedLayout` and inserts it into the given `parentLayout`.
`QStackedLayout(QWidget parent)` Constructs a new `QStackedLayout` with the given `parent`.

Method Summary
`int` | `addStackedWidget(QWidget w)` Adds the given `widget` to the end of this layout and returns the index position of the `widget`.
`int` | `currentIndex()` This property holds the index position of the widget that is visible.
`QWidget` | `currentWidget()` Returns the current widget, or 0 if there are no widgets in this layout.
`int` | `insertWidget(int index, QWidget w)` Inserts the given `widget` at the given `index` in this `QStackedLayout`.
`void` | `setCurrentIndex(int index)` This property holds the index position of the widget that is visible.
`void` | `setCurrentWidget(QWidget w)` Sets the current widget to be the specified `widget`.
`void` | `setStackingMode(QStackedLayout.StackingMode stackingMode)` This property determines the way visibility of child widgets are handled.
`QStackedLayout.StackingMode` | `stackingMode()` This property determines the way visibility of child widgets are handled.
`QWidget` | `widget(int arg__1)` Returns the widget at the given `index`, or 0 if there is no widget at the given position.

Methods inherited from class com.trolltech.qt.gui.QLayout
`activate, addChildLayout, addChildWidget, addItem, addWidget, alignment, alignmentRect, closestAcceptableSize, contentsRect, controlTypes, count, expandingDirections, geometry, getContentsMargins, hasHeightForWidth, heightForWidth, indexOf, invalidate, isEmpty, isEnabled, itemAt, layout, maximumSize, menuBar, minimumHeightForWidth, minimumSize, parentWidget, removeItem, removeWidget, setAlignment, setAlignment, setAlignment, setAlignment, setAlignment, setContentsMargins, setContentsMargins, setEnabled, setGeometry, setMargin, setMenuBar, setSizeConstraint, setWidgetSpacing, sizeConstraint, sizeHint, spacerItem, takeAt, update, widget, widgetSpacing`

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

### currentChanged

    public final QSignalEmitter.Signal1 currentChanged

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

  This signal is emitted whenever the current widget in the layout changes. The `index` specifies the index of the new current widget, or -1 if there isn't a new one (for example, if there are no widgets in the `QStackedLayout`)

See also:
  `currentWidget()`, and `setCurrentWidget()`.

### widgetRemoved

    public final QSignalEmitter.Signal1 widgetRemoved

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

  This signal is emitted whenever a widget is removed from the layout. The widget's `index` is passed as parameter.

See also:
  `removeWidget()`.

Constructor Detail

### QStackedLayout

    public QStackedLayout()

  Constructs a `QStackedLayout` with no parent.

  This `QStackedLayout` must be installed on a widget later on to become effective.

See also:
  addWidget(), and `insertWidget()`.

### QStackedLayout

    public QStackedLayout(QLayout parentLayout)

  Constructs a new `QStackedLayout` and inserts it into the given `parentLayout`.

### QStackedLayout

    public QStackedLayout(QWidget parent)

  Constructs a new `QStackedLayout` with the given `parent`.

  This layout will install itself on the `parent` widget and manage the geometry of its children.

Method Detail

### addStackedWidget

    public final int addStackedWidget(QWidget w)

  Adds the given `widget` to the end of this layout and returns the index position of the `widget`.

  If the `QStackedLayout` is empty before this function is called, the given `widget` becomes the current widget.

See also:
  `insertWidget()`, `removeWidget()`, and `setCurrentWidget()`.

### currentIndex

    public final int currentIndex()

  This property holds the index position of the widget that is visible. The current index is -1 if there is no current widget.

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

### currentWidget

    public final QWidget currentWidget()

  Returns the current widget, or 0 if there are no widgets in this layout.

See also:
  `currentIndex()`, and `setCurrentWidget()`.

### insertWidget

    public final int insertWidget(int index,
                                  QWidget w)

  Inserts the given `widget` at the given `index` in this `QStackedLayout`. If `index` is out of range, the widget is appended (in which case it is the actual index of the `widget` that is returned).

  If the `QStackedLayout` is empty before this function is called, the given `widget` becomes the current widget.

  Inserting a new widget at an index less than or equal to the current index will increment the current index, but keep the current widget.

See also:
  addWidget(), `removeWidget()`, and `setCurrentWidget()`.

### setCurrentIndex

    public final void setCurrentIndex(int index)

  This property holds the index position of the widget that is visible. The current index is -1 if there is no current widget.

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

### setCurrentWidget

    public final void setCurrentWidget(QWidget w)

  Sets the current widget to be the specified `widget`. The new current widget must already be contained in this stacked layout.

See also:
  `setCurrentIndex()`, and `currentWidget()`.

### setStackingMode

    public final void setStackingMode(QStackedLayout.StackingMode stackingMode)

  This property determines the way visibility of child widgets are handled. The default value is `StackOne` . Setting the property to `StackAll` allows you to make use of the layout for overlay widgets that do additional drawing on top of other widgets, for example, graphical editors.

### stackingMode

    public final QStackedLayout.StackingMode stackingMode()

  This property determines the way visibility of child widgets are handled. The default value is `StackOne` . Setting the property to `StackAll` allows you to make use of the layout for overlay widgets that do additional drawing on top of other widgets, for example, graphical editors.

### widget

    public final QWidget widget(int arg__1)

  Returns the widget at the given `index`, or 0 if there is no widget at the given position.

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

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