Qyoto  4.0.5
Qyoto is a C# language binding for Qt
 All Classes Namespaces Functions Variables Typedefs Enumerations Properties
QtGui.QGraphicsLayoutItem Class Referenceabstract

The QGraphicsLayoutItem class can be inherited to allow your custom items to be managed by layouts. More...

Inheritance diagram for QtGui.QGraphicsLayoutItem:
Collaboration diagram for QtGui.QGraphicsLayoutItem:

Public Member Functions

 QGraphicsLayoutItem (IQGraphicsLayoutItem parent=null, bool isLayout=false)
 
 
virtual void CreateProxy ()
 
new QRectF ContentsRect ()
 
 
new QSizeF EffectiveSizeHint (Qt.SizeHint which)
 
 
new QSizeF EffectiveSizeHint (Qt.SizeHint which, QSizeF constraint)
 
 
virtual void GetContentsMargins (ref double left, ref double top, ref double right, ref double bottom)
 
 
new IQGraphicsItem GraphicsItem ()
 
 
new bool IsLayout ()
 
 
new bool OwnedByLayout ()
 
 
new void SetMaximumSize (double w, double h)
 
 
new void SetMinimumSize (double w, double h)
 
 
new void SetPreferredSize (double w, double h)
 
 
new void SetSizePolicy (QSizePolicy.Policy hPolicy, QSizePolicy.Policy vPolicy, QSizePolicy.ControlType controlType=QSizePolicy.ControlType.DefaultType)
 
 
virtual void UpdateGeometry ()
 
 
new void Dispose ()
 
- Public Member Functions inherited from QtGui.IQGraphicsLayoutItem
new QRectF ContentsRect ()
 
new QSizeF EffectiveSizeHint (Qt.SizeHint which)
 
new QSizeF EffectiveSizeHint (Qt.SizeHint which, QSizeF constraint)
 
void GetContentsMargins (ref double left, ref double top, ref double right, ref double bottom)
 
new IQGraphicsItem GraphicsItem ()
 
new bool IsLayout ()
 
new bool OwnedByLayout ()
 
new void SetMaximumSize (double w, double h)
 
new void SetMinimumSize (double w, double h)
 
new void SetPreferredSize (double w, double h)
 
new void SetSizePolicy (QSizePolicy.Policy hPolicy, QSizePolicy.Policy vPolicy, QSizePolicy.ControlType controlType=QSizePolicy.ControlType.DefaultType)
 
void UpdateGeometry ()
 

Protected Member Functions

 QGraphicsLayoutItem (System.Type dummy)
 
new void SetGraphicsItem (IQGraphicsItem item)
 
 
new void SetOwnedByLayout (bool ownedByLayout)
 
 
new QSizeF SizeHint (Qt.SizeHint which)
 
 
abstract QSizeF SizeHint (Qt.SizeHint which, QSizeF constraint)
 
 

Protected Attributes

SmokeInvocation interceptor
 

Properties

virtual QRectF Geometry [get, set]
 
 
new double MaximumHeight [get, set]
 
 
new QSizeF MaximumSize [get, set]
 
 
new double MaximumWidth [get, set]
 
 
new double MinimumHeight [get, set]
 
 
new QSizeF MinimumSize [get, set]
 
 
new double MinimumWidth [get, set]
 
 
new IQGraphicsLayoutItem ParentLayoutItem [get, set]
 
 
new double PreferredHeight [get, set]
 
 
new QSizeF PreferredSize [get, set]
 
 
new double PreferredWidth [get, set]
 
 
new QSizePolicy SizePolicy [get, set]
 
 
virtual System.IntPtr SmokeObject [get, set]
 
- Properties inherited from QtGui.IQGraphicsLayoutItem
QRectF Geometry [get, set]
 
System.Double MaximumHeight [get, set]
 
QSizeF MaximumSize [get, set]
 
System.Double MaximumWidth [get, set]
 
System.Double MinimumHeight [get, set]
 
QSizeF MinimumSize [get, set]
 
System.Double MinimumWidth [get, set]
 
IQGraphicsLayoutItem ParentLayoutItem [get, set]
 
System.Double PreferredHeight [get, set]
 
QSizeF PreferredSize [get, set]
 
System.Double PreferredWidth [get, set]
 
QSizePolicy SizePolicy [get, set]
 

Detailed Description

The QGraphicsLayoutItem class can be inherited to allow your custom items to be managed by layouts.

QGraphicsLayoutItem is an abstract class that defines a set of virtual functions describing sizes, size policies, and size hints for any object arranged by QGraphicsLayout. The API contains functions relevant for both the item itself and for the user of the item as most of QGraphicsLayoutItem's functions are also part of the subclass' public API.

In most cases, existing layout-aware classes such as QGraphicsWidget and QGraphicsLayout already provide the functionality you require. However, subclassing these classes will enable you to create both graphical elements that work well with layouts (QGraphicsWidget) or custom layouts (QGraphicsLayout).

Subclassing QGraphicsLayoutItem

If you create a subclass of QGraphicsLayoutItem and reimplement its virtual functions, you will enable the layout to resize and position your item along with other QGraphicsLayoutItems including QGraphicsWidget and QGraphicsLayout.

You can start by reimplementing important functions: the protected sizeHint() function, as well as the public setGeometry() function. If you want your items to be aware of immediate geometry changes, you can also reimplement updateGeometry().

The geometry, size hint, and size policy affect the item's size and position. Calling setGeometry() will always resize and reposition the item immediately. Normally, this function is called by QGraphicsLayout after the layout has been activated, but it can also be called by the item's user at any time.

The sizeHint() function returns the item' minimum, preferred and maximum size hints. You can override these properties by calling setMinimumSize(), setPreferredSize() or setMaximumSize(). You can also use functions such as setMinimumWidth() or setMaximumHeight() to set only the width or height component if desired.

The effectiveSizeHint() function, on the other hand, returns a size hint for any given Qt::SizeHint, and guarantees that the returned size is bound to the minimum and maximum sizes and size hints. You can set the item's vertical and horizontal size policy by calling setSizePolicy(). The sizePolicy property is used by the layout system to describe how this item prefers to grow or shrink.

Nesting QGraphicsLayoutItems

QGraphicsLayoutItems can be nested within other QGraphicsLayoutItems, similar to layouts that can contain sublayouts. This is done either by passing a QGraphicsLayoutItem pointer to QGraphicsLayoutItem's protected constructor, or by calling setParentLayoutItem(). The parentLayoutItem() function returns a pointer to the item's layoutItem parent. If the item's parent is 0 or if the parent does not inherit from QGraphicsItem, the parentLayoutItem() function then returns 0. isLayout() returns true if the QGraphicsLayoutItem subclass is itself a layout, or false otherwise.

Qt uses QGraphicsLayoutItem to provide layout functionality in the Graphics View Framework, but in the future its use may spread throughout Qt itself.

See also QGraphicsWidget, QGraphicsLayout, QGraphicsLinearLayout, and QGraphicsGridLayout.

Constructor & Destructor Documentation

QtGui.QGraphicsLayoutItem.QGraphicsLayoutItem ( System.Type  dummy)
protected
QtGui.QGraphicsLayoutItem.QGraphicsLayoutItem ( IQGraphicsLayoutItem  parent = null,
bool  isLayout = false 
)

Constructs the QGraphicsLayoutItem object. parent becomes the object's parent. If isLayout is true the item is a layout, otherwise isLayout is false.

Member Function Documentation

new QRectF QtGui.QGraphicsLayoutItem.ContentsRect ( )

Returns the contents rect in local coordinates.

The contents rect defines the subrectangle used by an associated layout when arranging subitems. This function is a convenience function that adjusts the item's geometry() by its contents margins. Note that getContentsMargins() is a virtual function that you can reimplement to return the item's contents margins.

See also getContentsMargins() and geometry().

virtual void QtGui.QGraphicsLayoutItem.CreateProxy ( )
virtual
new void QtGui.QGraphicsLayoutItem.Dispose ( )
new QSizeF QtGui.QGraphicsLayoutItem.EffectiveSizeHint ( Qt.SizeHint  which)

Returns the effective size hint for this QGraphicsLayoutItem.

which is the size hint in question. constraint is an optional argument that defines a special constrain when calculating the effective size hint. By default, constraint is QSizeF(-1, -1), which means there is no constraint to the size hint.

If you want to specify the widget's size hint for a given width or height, you can provide the fixed dimension in constraint. This is useful for widgets that can grow only either vertically or horizontally, and need to set either their width or their height to a special value.

For example, a text paragraph item fit into a column width of 200 may grow vertically. You can pass QSizeF(200, -1) as a constraint to get a suitable minimum, preferred and maximum height).

You can adjust the effective size hint by reimplementing sizeHint() in a QGraphicsLayoutItem subclass, or by calling one of the following functions: setMinimumSize(), setPreferredSize, or setMaximumSize() (or a combination of both).

This function caches each of the size hints and guarantees that sizeHint() will be called only once for each value of which - unless constraint is not specified and updateGeometry() has been called.

See also sizeHint().

new QSizeF QtGui.QGraphicsLayoutItem.EffectiveSizeHint ( Qt.SizeHint  which,
QSizeF  constraint 
)

Returns the effective size hint for this QGraphicsLayoutItem.

which is the size hint in question. constraint is an optional argument that defines a special constrain when calculating the effective size hint. By default, constraint is QSizeF(-1, -1), which means there is no constraint to the size hint.

If you want to specify the widget's size hint for a given width or height, you can provide the fixed dimension in constraint. This is useful for widgets that can grow only either vertically or horizontally, and need to set either their width or their height to a special value.

For example, a text paragraph item fit into a column width of 200 may grow vertically. You can pass QSizeF(200, -1) as a constraint to get a suitable minimum, preferred and maximum height).

You can adjust the effective size hint by reimplementing sizeHint() in a QGraphicsLayoutItem subclass, or by calling one of the following functions: setMinimumSize(), setPreferredSize, or setMaximumSize() (or a combination of both).

This function caches each of the size hints and guarantees that sizeHint() will be called only once for each value of which - unless constraint is not specified and updateGeometry() has been called.

See also sizeHint().

virtual void QtGui.QGraphicsLayoutItem.GetContentsMargins ( ref double  left,
ref double  top,
ref double  right,
ref double  bottom 
)
virtual

This virtual function provides the left, top, right and bottom contents margins for this QGraphicsLayoutItem. The default implementation assumes all contents margins are 0. The parameters point to values stored in qreals. If any of the pointers is 0, that value will not be updated.

See also QGraphicsWidget::setContentsMargins().

Reimplemented in QtGui.QGraphicsLayout.

new IQGraphicsItem QtGui.QGraphicsLayoutItem.GraphicsItem ( )

Returns the QGraphicsItem that this layout item represents. For QGraphicsWidget it will return itself. For custom items it can return an aggregated value.

See also setGraphicsItem().

new bool QtGui.QGraphicsLayoutItem.IsLayout ( )

Returns true if this QGraphicsLayoutItem is a layout (e.g., is inherited by an object that arranges other QGraphicsLayoutItem objects); otherwise returns false.

See also QGraphicsLayout.

new bool QtGui.QGraphicsLayoutItem.OwnedByLayout ( )

Returns whether a layout should delete this item in its destructor. If its true, then the layout will delete it. If its false, then it is assumed that another object has the ownership of it, and the layout won't delete this item.

If the item inherits both QGraphicsItem and QGraphicsLayoutItem (such as QGraphicsWidget does) the item is really part of two ownership hierarchies. This property informs what the layout should do with its child items when it is destructed. In the case of QGraphicsWidget, it is preferred that when the layout is deleted it won't delete its children (since they are also part of the graphics item hierarchy).

By default this value is initialized to false in QGraphicsLayoutItem, but it is overridden by QGraphicsLayout to return true. This is because QGraphicsLayout is not normally part of the QGraphicsItem hierarchy, so the parent layout should delete it. Subclasses might override this default behaviour by calling setOwnedByLayout(true).

This function was introduced in Qt 4.6.

See also setOwnedByLayout().

new void QtGui.QGraphicsLayoutItem.SetGraphicsItem ( IQGraphicsItem  item)
protected

If the QGraphicsLayoutItem represents a QGraphicsItem, and it wants to take advantage of the automatic reparenting capabilities of QGraphicsLayout it should set this value. Note that if you delete item and not delete the layout item, you are responsible of calling setGraphicsItem(0) in order to avoid having a dangling pointer.

See also graphicsItem().

new void QtGui.QGraphicsLayoutItem.SetMaximumSize ( double  w,
double  h 
)

Sets the maximum size to size. This property overrides sizeHint() for Qt::MaximumSize and ensures that effectiveSizeHint() will never return a size larger than size. In order to unset the maximum size, use an invalid size.

See also maximumSize(), minimumSize(), preferredSize(), Qt::MaximumSize, and sizeHint().

new void QtGui.QGraphicsLayoutItem.SetMinimumSize ( double  w,
double  h 
)

Sets the minimum size to size. This property overrides sizeHint() for Qt::MinimumSize and ensures that effectiveSizeHint() will never return a size smaller than size. In order to unset the minimum size, use an invalid size.

See also minimumSize(), maximumSize(), preferredSize(), Qt::MinimumSize, sizeHint(), setMinimumWidth(), and setMinimumHeight().

new void QtGui.QGraphicsLayoutItem.SetOwnedByLayout ( bool  ownedByLayout)
protected

Sets whether a layout should delete this item in its destructor or not. ownership must be true to in order for the layout to delete it.

This function was introduced in Qt 4.6.

See also ownedByLayout().

new void QtGui.QGraphicsLayoutItem.SetPreferredSize ( double  w,
double  h 
)

Sets the preferred size to size. This property overrides sizeHint() for Qt::PreferredSize and provides the default value for effectiveSizeHint(). In order to unset the preferred size, use an invalid size.

See also preferredSize(), minimumSize(), maximumSize(), Qt::PreferredSize, and sizeHint().

new void QtGui.QGraphicsLayoutItem.SetSizePolicy ( QSizePolicy.Policy  hPolicy,
QSizePolicy.Policy  vPolicy,
QSizePolicy.ControlType  controlType = QSizePolicy.ControlType.DefaultType 
)

Sets the size policy to policy. The size policy describes how the item should grow horizontally and vertically when arranged in a layout.

QGraphicsLayoutItem's default size policy is (QSizePolicy::Fixed, QSizePolicy::Fixed, QSizePolicy::DefaultType), but it is common for subclasses to change the default. For example, QGraphicsWidget defaults to (QSizePolicy::Preferred, QSizePolicy::Preferred, QSizePolicy::DefaultType).

See also sizePolicy() and QWidget::sizePolicy().

new QSizeF QtGui.QGraphicsLayoutItem.SizeHint ( Qt.SizeHint  which)
protected

This pure virtual function returns the size hint for which of the QGraphicsLayoutItem, using the width or height of constraint to constrain the output.

Reimplement this function in a subclass of QGraphicsLayoutItem to provide the necessary size hints for your items.

See also effectiveSizeHint().

abstract QSizeF QtGui.QGraphicsLayoutItem.SizeHint ( Qt.SizeHint  which,
QSizeF  constraint 
)
protectedpure virtual

This pure virtual function returns the size hint for which of the QGraphicsLayoutItem, using the width or height of constraint to constrain the output.

Reimplement this function in a subclass of QGraphicsLayoutItem to provide the necessary size hints for your items.

See also effectiveSizeHint().

Implemented in QtGui.QGraphicsLinearLayout, QtGui.QGraphicsGridLayout, and QtGui.QGraphicsAnchorLayout.

virtual void QtGui.QGraphicsLayoutItem.UpdateGeometry ( )
virtual

This virtual function discards any cached size hint information. You should always call this function if you change the return value of the sizeHint() function. Subclasses must always call the base implementation when reimplementing this function.

See also effectiveSizeHint().

Reimplemented in QtGui.QGraphicsLayout.

Member Data Documentation

SmokeInvocation QtGui.QGraphicsLayoutItem.interceptor
protected

Property Documentation

virtual QRectF QtGui.QGraphicsLayoutItem.Geometry
getset

Returns the item's geometry (e.g., position and size) as a QRectF. This function is equivalent to QRectF(pos(), size()).

This virtual function sets the geometry of the QGraphicsLayoutItem to rect, which is in parent coordinates (e.g., the top-left corner of rect is equivalent to the item's position in parent coordinates).

You must reimplement this function in a subclass of QGraphicsLayoutItem to receive geometry updates. The layout will call this function when it does a rearrangement.

If rect is outside of the bounds of minimumSize and maximumSize, it will be adjusted to its closest size so that it is within the legal bounds.

new double QtGui.QGraphicsLayoutItem.MaximumHeight
getset

Returns the maximum height.

Sets the maximum height to height.

new QSizeF QtGui.QGraphicsLayoutItem.MaximumSize
getset

Returns the maximum size.

Sets the maximum size to size. This property overrides sizeHint() for Qt::MaximumSize and ensures that effectiveSizeHint() will never return a size larger than size. In order to unset the maximum size, use an invalid size.

new double QtGui.QGraphicsLayoutItem.MaximumWidth
getset

Returns the maximum width.

Sets the maximum width to width.

new double QtGui.QGraphicsLayoutItem.MinimumHeight
getset

Returns the minimum height.

Sets the minimum height to height.

new QSizeF QtGui.QGraphicsLayoutItem.MinimumSize
getset

Returns the minimum size.

Sets the minimum size to size. This property overrides sizeHint() for Qt::MinimumSize and ensures that effectiveSizeHint() will never return a size smaller than size. In order to unset the minimum size, use an invalid size.

new double QtGui.QGraphicsLayoutItem.MinimumWidth
getset

Returns the minimum width.

Sets the minimum width to width.

new IQGraphicsLayoutItem QtGui.QGraphicsLayoutItem.ParentLayoutItem
getset

Returns the parent of this QGraphicsLayoutItem, or 0 if there is no parent, or if the parent does not inherit from QGraphicsLayoutItem (QGraphicsLayoutItem is often used through multiple inheritance with QObject-derived classes).

Sets the parent of this QGraphicsLayoutItem to parent.

new double QtGui.QGraphicsLayoutItem.PreferredHeight
getset

Returns the preferred height.

Sets the preferred height to height.

new QSizeF QtGui.QGraphicsLayoutItem.PreferredSize
getset

Returns the preferred size.

Sets the preferred size to size. This property overrides sizeHint() for Qt::PreferredSize and provides the default value for effectiveSizeHint(). In order to unset the preferred size, use an invalid size.

new double QtGui.QGraphicsLayoutItem.PreferredWidth
getset

Returns the preferred width.

Sets the preferred width to width.

new QSizePolicy QtGui.QGraphicsLayoutItem.SizePolicy
getset

Returns the current size policy.

Sets the size policy to policy. The size policy describes how the item should grow horizontally and vertically when arranged in a layout.

QGraphicsLayoutItem's default size policy is (QSizePolicy::Fixed, QSizePolicy::Fixed, QSizePolicy::DefaultType), but it is common for subclasses to change the default. For example, QGraphicsWidget defaults to (QSizePolicy::Preferred, QSizePolicy::Preferred, QSizePolicy::DefaultType).

virtual System.IntPtr QtGui.QGraphicsLayoutItem.SmokeObject
getset