|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.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
public class QSplitter
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.
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.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)
|
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 child widgets respective sizes 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)
|
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.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 |
---|
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.
moveSplitter()
.
Constructor Detail |
---|
public QSplitter()
QFrame
constructor. setOrientation()
.
public QSplitter(QWidget parent)
QFrame
constructor. setOrientation()
.
public QSplitter(Qt.Orientation arg__1)
setOrientation()
.
public QSplitter(Qt.Orientation arg__1, QWidget parent)
setOrientation()
.
Method Detail |
---|
public final void addWidget(QWidget widget)
If widget is already in the splitter, it will be moved to the new position.
insertWidget()
, widget()
, and indexOf()
.
public final boolean childrenCollapsible()
setCollapsible()
. setCollapsible()
.
protected final int closestLegalPosition(int arg__1, int arg__2)
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.
getRange()
.
public final int count()
widget()
, and handle()
.
public final QSplitterHandle handle(int index)
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.
count()
, widget()
, indexOf()
, createHandle()
, and setHandleWidth()
.
public final int handleWidth()
public final int indexOf(QWidget w)
Handles are numbered from 0. There are as many handles as there are child widgets, but the handle at position 0 is always hidden.
count()
, and widget()
.
public final void insertWidget(int index, QWidget widget)
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.
addWidget()
, indexOf()
, and widget()
.
public final boolean isCollapsible(int index)
protected final void moveSplitter(int pos, int index)
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.
splitterMoved()
, closestLegalPosition()
, and getRange()
.
public final boolean opaqueResize()
public final void writeTo(QTextStream arg__1)
public final void readFrom(QTextStream arg__1)
public final Qt.Orientation orientation()
Qt::Horizontal
and Qt::Vertical
. QSplitterHandle::orientation()
.
public final void refresh()
public final boolean restoreState(QByteArray state)
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.
saveState()
.
public final QByteArray saveState()
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());
restoreState()
.
public final void setChildrenCollapsible(boolean arg__1)
setCollapsible()
. setCollapsible()
.
public final void setCollapsible(int index, boolean arg__2)
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.
isCollapsible()
, and childrenCollapsible
.
public final void setHandleWidth(int arg__1)
public final void setOpaqueResize()
public final void setOpaqueResize(boolean opaque)
public final void setOrientation(Qt.Orientation arg__1)
Qt::Horizontal
and Qt::Vertical
. QSplitterHandle::orientation()
.
protected final void setRubberBand(int position)
public final void setSizes(java.util.List list)
If the splitter is horizontal, the values set the widths of each widget in pixels, from left to right. 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.
The overall size of the splitter widget is not affected. Instead, any additional/missing space is distributed amongst the widgets according to the relative weight of the sizes.
If you specify a size of 0, the widget will be invisible. The size policies of the widgets are preserved. That is, a value smaller then the minimal size hint of the respective widget will be replaced by the value of the hint.
sizes()
.
public final void setStretchFactor(int index, int 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);
setSizes()
, and widget()
.
public final java.util.List sizes()
If the splitter's orientation is horizontal, the list contains the widgets width in pixels, from left to right; if the orientation is vertical, the list contains the widgets height in pixels, from top to bottom.
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.
setSizes()
.
public final QWidget widget(int index)
count()
, handle()
, indexOf()
, and insertWidget()
.
protected QSplitterHandle createHandle()
handle()
, and indexOf()
.
public final QSplitter.Range getRange(int index)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |