<class name="QAbstractProxyModel" doc="/**
&lt;p&gt;The &lt;a href=&quot;QAbstractProxyModel.html#QAbstractProxyModel(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractProxyModel&lt;/tt&gt;&lt;/a&gt; class provides a base class for proxy item models that can do sorting, filtering or other data processing tasks.&lt;/p&gt;
&lt;p&gt;This class defines the standard interface that proxy models must use to be able to interoperate correctly with other model/view components. It is not supposed to be instantiated directly.&lt;/p&gt;
&lt;p&gt;All standard proxy models are derived from the &lt;a href=&quot;QAbstractProxyModel.html#QAbstractProxyModel(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractProxyModel&lt;/tt&gt;&lt;/a&gt; class. If you need to create a new proxy model class, it is usually better to subclass an existing class that provides the closest behavior to the one you want to provide. Proxy models that filter or sort items of data from a source model should be created by using or subclassing &lt;a href=&quot;QSortFilterProxyModel.html&quot;&gt;&lt;tt&gt;QSortFilterProxyModel&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QSortFilterProxyModel.html&quot;&gt;&lt;tt&gt;QSortFilterProxyModel&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QAbstractItemModel.html#QAbstractItemModel(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractItemModel&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;%2E%2E/model-view-programming.html&quot;&gt;Model/View Programming&lt;/tt&gt;&lt;/a&gt; */">
    <signal name="protected final void dataChanged(com.trolltech.qt.core.QModelIndex topLeft, com.trolltech.qt.core.QModelIndex bottomRight)" doc="/**
&lt;p&gt;This signal is emitted whenever the data in an existing item changes. The affected items are those between &lt;tt&gt;topLeft&lt;/tt&gt; and &lt;tt&gt;bottomRight&lt;/tt&gt; inclusive (of the same parent).&lt;/p&gt;
&lt;p&gt;Note that this signal must be emitted explicitly when reimplementing the &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QAbstractItemModel.html#setData(com.trolltech.qt.core.QModelIndex, java.lang.Object, int)&quot;&gt;&lt;tt&gt;setData&lt;/tt&gt;&lt;/a&gt; function.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;Compatible Slot Signatures:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot(com.trolltech.qt.core.QModelIndex topLeft, com.trolltech.qt.core.QModelIndex bottomRight)&lt;/tt&gt;&lt;/dd&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot(com.trolltech.qt.core.QModelIndex topLeft)&lt;/tt&gt;&lt;/dd&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&quot;QAbstractProxyModel.html#headerDataChanged(com.trolltech.qt.core.Qt.Orientation, int, int)&quot;&gt;&lt;tt&gt;headerDataChanged&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QAbstractItemModel.html#setData(com.trolltech.qt.core.QModelIndex, java.lang.Object, int)&quot;&gt;&lt;tt&gt;setData&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QAbstractProxyModel.html#layoutChanged()&quot;&gt;&lt;tt&gt;layoutChanged&lt;/tt&gt;&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <signal name="protected final void headerDataChanged(com.trolltech.qt.core.Qt.Orientation orientation, int first, int last)" doc="/**
&lt;p&gt;This signal is emitted whenever a header is changed. The &lt;tt&gt;orientation&lt;/tt&gt; indicates whether the horizontal or vertical header has changed. The sections in the header from the &lt;tt&gt;first&lt;/tt&gt; to the &lt;tt&gt;last&lt;/tt&gt; need to be updated.&lt;/p&gt;
&lt;p&gt;Note that this signal must be emitted explicitly when reimplementing the &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QAbstractItemModel.html#setHeaderData(int, com.trolltech.qt.core.Qt.Orientation, java.lang.Object, int)&quot;&gt;&lt;tt&gt;setHeaderData&lt;/tt&gt;&lt;/a&gt; function.&lt;/p&gt;
&lt;p&gt;If you are changing the number of columns or rows you don't need to emit this signal, but use the begin/end functions.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;Compatible Slot Signatures:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot(com.trolltech.qt.core.Qt.Orientation orientation, int first, int last)&lt;/tt&gt;&lt;/dd&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot(com.trolltech.qt.core.Qt.Orientation orientation, int first)&lt;/tt&gt;&lt;/dd&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot(com.trolltech.qt.core.Qt.Orientation orientation)&lt;/tt&gt;&lt;/dd&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&quot;QAbstractProxyModel.html#headerData(int, com.trolltech.qt.core.Qt.Orientation, int)&quot;&gt;&lt;tt&gt;headerData&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QAbstractItemModel.html#setHeaderData(int, com.trolltech.qt.core.Qt.Orientation, java.lang.Object, int)&quot;&gt;&lt;tt&gt;setHeaderData&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QAbstractProxyModel.html#dataChanged(com.trolltech.qt.core.QModelIndex, com.trolltech.qt.core.QModelIndex)&quot;&gt;&lt;tt&gt;dataChanged&lt;/tt&gt;&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <signal name="protected final void layoutAboutToBeChanged()" doc="/**
&lt;p&gt;This signal is emitted just before the layout of a model is changed. Components connected to this signal use it to adapt to changes in the model's layout.&lt;/p&gt;
&lt;p&gt;Subclasses should update any persistent model indexes after emitting &lt;a href=&quot;QAbstractProxyModel.html#layoutAboutToBeChanged()&quot;&gt;&lt;tt&gt;layoutAboutToBeChanged&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;Compatible Slot Signature:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&quot;QAbstractProxyModel.html#layoutChanged()&quot;&gt;&lt;tt&gt;layoutChanged&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QAbstractItemModel.html#changePersistentIndex(com.trolltech.qt.core.QModelIndex, com.trolltech.qt.core.QModelIndex)&quot;&gt;&lt;tt&gt;changePersistentIndex&lt;/tt&gt;&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <signal name="protected final void layoutChanged()" doc="/**
&lt;p&gt;This signal is emitted whenever the layout of items exposed by the model has changed; for example, when the model has been sorted. When this signal is received by a view, it should update the layout of items to reflect this change.&lt;/p&gt;
&lt;p&gt;When subclassing &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QAbstractItemModel.html#QAbstractItemModel(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractItemModel&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;QAbstractProxyModel.html#QAbstractProxyModel(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractProxyModel&lt;/tt&gt;&lt;/a&gt;, ensure that you emit &lt;a href=&quot;QAbstractProxyModel.html#layoutAboutToBeChanged()&quot;&gt;&lt;tt&gt;layoutAboutToBeChanged&lt;/tt&gt;&lt;/a&gt; before changing the order of items or altering the structure of the data you expose to views, and emit &lt;a href=&quot;QAbstractProxyModel.html#layoutChanged()&quot;&gt;&lt;tt&gt;layoutChanged&lt;/tt&gt;&lt;/a&gt; after changing the layout.&lt;/p&gt;
&lt;p&gt;Subclasses should update any persistent model indexes before emitting &lt;a href=&quot;QAbstractProxyModel.html#layoutChanged()&quot;&gt;&lt;tt&gt;layoutChanged&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;Compatible Slot Signature:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&quot;QAbstractProxyModel.html#layoutAboutToBeChanged()&quot;&gt;&lt;tt&gt;layoutAboutToBeChanged&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QAbstractProxyModel.html#dataChanged(com.trolltech.qt.core.QModelIndex, com.trolltech.qt.core.QModelIndex)&quot;&gt;&lt;tt&gt;dataChanged&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QAbstractProxyModel.html#headerDataChanged(com.trolltech.qt.core.Qt.Orientation, int, int)&quot;&gt;&lt;tt&gt;headerDataChanged&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QAbstractItemModel.html#reset()&quot;&gt;&lt;tt&gt;reset&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QAbstractItemModel.html#changePersistentIndex(com.trolltech.qt.core.QModelIndex, com.trolltech.qt.core.QModelIndex)&quot;&gt;&lt;tt&gt;changePersistentIndex&lt;/tt&gt;&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <method name="public QAbstractProxyModel(com.trolltech.qt.core.QObject parent)" doc="/**
&lt;p&gt;Constructs a proxy model with the given &lt;tt&gt;parent&lt;/tt&gt;.&lt;/p&gt;
 */"/>
    <method name="public QAbstractProxyModel()" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QAbstractProxyModel.html#QAbstractProxyModel(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractProxyModel&lt;/tt&gt;&lt;/a&gt;(0). */"/>
    <method name="public final com.trolltech.qt.core.QAbstractItemModel sourceModel()" doc="/**
&lt;p&gt;Returns the model that contains the data that is available through the proxy model.&lt;/p&gt;

@see &lt;a href=&quot;QAbstractProxyModel.html#setSourceModel(com.trolltech.qt.core.QAbstractItemModel)&quot;&gt;&lt;tt&gt;setSourceModel&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public java.lang.Object data(com.trolltech.qt.core.QModelIndex proxyIndex, int role)" doc="/**
&lt;p&gt;This function is reimplemented for internal reasons.&lt;/p&gt;
 */"/>
    <method name="public final java.lang.Object data(com.trolltech.qt.core.QModelIndex proxyIndex)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QAbstractProxyModel.html#data(com.trolltech.qt.core.QModelIndex, int)&quot;&gt;data&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;proxyIndex&lt;/tt&gt;, Qt::DisplayRole). */"/>
    <method name="public com.trolltech.qt.core.Qt.ItemFlags flags(com.trolltech.qt.core.QModelIndex index)" doc="/**
&lt;p&gt;This function is reimplemented for internal reasons.&lt;/p&gt;
 */"/>
    <method name="public java.lang.Object headerData(int section, com.trolltech.qt.core.Qt.Orientation orientation, int role)" doc="/**
&lt;p&gt;This function is reimplemented for internal reasons.&lt;/p&gt;
 */"/>
    <method name="public java.util.SortedMap&lt;java.lang.Integer, java.lang.Object&gt; itemData(com.trolltech.qt.core.QModelIndex index)" doc="/**
&lt;p&gt;This function is reimplemented for internal reasons.&lt;/p&gt;
 */"/>
    <method name="public abstract com.trolltech.qt.core.QModelIndex mapFromSource(com.trolltech.qt.core.QModelIndex sourceIndex)" doc="/**
&lt;p&gt;Reimplement this function to return the model index in the proxy model that corresponds to the &lt;tt&gt;sourceIndex&lt;/tt&gt; from the source model.&lt;/p&gt;

@see &lt;a href=&quot;QAbstractProxyModel.html#mapToSource(com.trolltech.qt.core.QModelIndex)&quot;&gt;&lt;tt&gt;mapToSource&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public com.trolltech.qt.gui.QItemSelection mapSelectionFromSource(com.trolltech.qt.gui.QItemSelection selection)" doc="/**
&lt;p&gt;Returns a proxy selection mapped from the specified &lt;tt&gt;selection&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Reimplement this method to map source selections to proxy selections.&lt;/p&gt;
 */"/>
    <method name="public com.trolltech.qt.gui.QItemSelection mapSelectionToSource(com.trolltech.qt.gui.QItemSelection selection)" doc="/**
&lt;p&gt;Returns a source selection mapped from the specified &lt;tt&gt;selection&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Reimplement this method to map proxy selections to source selections.&lt;/p&gt;
 */"/>
    <method name="public abstract com.trolltech.qt.core.QModelIndex mapToSource(com.trolltech.qt.core.QModelIndex proxyIndex)" doc="/**
&lt;p&gt;Reimplement this function to return the model index in the source model that corresponds to the &lt;tt&gt;proxyIndex&lt;/tt&gt; in the proxy model.&lt;/p&gt;

@see &lt;a href=&quot;QAbstractProxyModel.html#mapFromSource(com.trolltech.qt.core.QModelIndex)&quot;&gt;&lt;tt&gt;mapFromSource&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public void revert()" doc="/**
&lt;p&gt;This function is reimplemented for internal reasons.&lt;/p&gt;
 */"/>
    <method name="public void setSourceModel(com.trolltech.qt.core.QAbstractItemModel sourceModel)" doc="/**
&lt;p&gt;Sets the given &lt;tt&gt;sourceModel&lt;/tt&gt; to be processed by the proxy model.&lt;/p&gt;

@see &lt;a href=&quot;QAbstractProxyModel.html#sourceModel()&quot;&gt;&lt;tt&gt;sourceModel&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public boolean submit()" doc="/**
&lt;p&gt;This function is reimplemented for internal reasons.&lt;/p&gt;
 */"/>
</class>
