Salome HOME
Modif Hexablock.py
[modules/hexablock.git] / src / HEXABLOCKGUI / kmodelindexproxymapper.hxx
1 /*
2     Copyright (C) 2010 Klarälvdalens Datakonsult AB,
3         a KDAB Group company, info@kdab.net,
4         author Stephen Kelly <stephen@kdab.com>
5
6     This library is free software; you can redistribute it and/or modify it
7     under the terms of the GNU Library General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or (at your
9     option) any later version.
10
11     This library is distributed in the hope that it will be useful, but WITHOUT
12     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
14     License for more details.
15
16     You should have received a copy of the GNU Library General Public License
17     along with this library; see the file COPYING.LIB.  If not, write to the
18     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19     02110-1301, USA.
20 */
21
22 #ifndef KMODELINDEXPROXYMAPPER_H
23 #define KMODELINDEXPROXYMAPPER_H
24
25 #include "HEXABLOCKGUI_Export.hxx"\r
26
27 #include <QObject>
28
29 // #include "kdeui_export.h"
30
31 class QAbstractItemModel;
32 class QModelIndex;
33 class QItemSelection;
34 class KModelIndexProxyMapperPrivate;
35
36 class HEXABLOCK_EXPORT KModelIndexProxyMapper : public QObject
37 {
38   Q_OBJECT
39 public:
40   KModelIndexProxyMapper(const QAbstractItemModel *leftModel, const QAbstractItemModel *rightModel, QObject* parent = 0);
41
42   ~KModelIndexProxyMapper();
43
44   QModelIndex mapLeftToRight(const QModelIndex &index) const;
45
46   QModelIndex mapRightToLeft(const QModelIndex &index) const;
47
48   QItemSelection mapSelectionLeftToRight(const QItemSelection &selection) const;
49
50   QItemSelection mapSelectionRightToLeft(const QItemSelection &selection) const;
51
52 private:
53   //@cond PRIVATE
54   Q_DECLARE_PRIVATE(KModelIndexProxyMapper)
55   KModelIndexProxyMapperPrivate * const d_ptr;
56   //@endcond
57 };
58
59 #endif
60