// Copyright 2010 Simon Edwards <simon@simonzone.com>

//                 Generated by twine2

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU Library General Public License as
// published by the Free Software Foundation; either version 2, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details

// You should have received a copy of the GNU Library General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

class KIdentityProxyModel : QAbstractProxyModel
{
%TypeHeaderCode
#include <kidentityproxymodel.h>
%End

public:
    explicit                KIdentityProxyModel (QObject* parent /TransferThis/ = 0);
    virtual ~KIdentityProxyModel ();
    int                     columnCount (const QModelIndex& parent = QModelIndex()) const;
    QModelIndex             index (int row, int column, const QModelIndex& parent = QModelIndex()) const;
    QModelIndex             mapFromSource (const QModelIndex& sourceIndex) const;
    QModelIndex             mapToSource (const QModelIndex& proxyIndex) const;
    QModelIndex             parent (const QModelIndex& child) const;
    int                     rowCount (const QModelIndex& parent = QModelIndex()) const;
    bool                    dropMimeData (const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent);
    QItemSelection          mapSelectionFromSource (const QItemSelection& selection) const;
    QItemSelection          mapSelectionToSource (const QItemSelection& selection) const;
    QModelIndexList         match (const QModelIndex& start, int role, const QVariant& value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap)) const;
    void                    setSourceModel (QAbstractItemModel* sourceModel);
    bool                    insertColumns (int column, int count, const QModelIndex& parent = QModelIndex());
    bool                    insertRows (int row, int count, const QModelIndex& parent = QModelIndex());
    bool                    removeColumns (int column, int count, const QModelIndex& parent = QModelIndex());
    bool                    removeRows (int row, int count, const QModelIndex& parent = QModelIndex());
protected:
//ig                            KIdentityProxyModel (KIdentityProxyModelPrivate* privateClass, QObject* parent /TransferThis/);
    virtual void            resetInternalData ();
public:
    virtual bool            canFetchMore (const QModelIndex& parent) const;
    virtual void            fetchMore (const QModelIndex& parent);
    virtual QStringList     mimeTypes () const;
    virtual QMimeData*      mimeData (const QModelIndexList& indexes) const;
    virtual Qt::DropActions  supportedDropActions () const;
};
