Imported Upstream version 1.0.1
[gammaray-debian.git] / qmldebugcontrol / qmljsdebugger / editor / livesingleselectionmanipulator.h
blob995a78d7fa23e7e4bdeb7ba755b8018aceab067f
1 /**************************************************************************
2 **
3 ** This file is part of Qt Creator
4 **
5 ** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
6 **
7 ** Contact: Nokia Corporation (info@qt.nokia.com)
8 **
9 **
10 ** GNU Lesser General Public License Usage
12 ** This file may be used under the terms of the GNU Lesser General Public
13 ** License version 2.1 as published by the Free Software Foundation and
14 ** appearing in the file LICENSE.LGPL included in the packaging of this file.
15 ** Please review the following information to ensure the GNU Lesser General
16 ** Public License version 2.1 requirements will be met:
17 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
19 ** In addition, as a special exception, Nokia gives you certain additional
20 ** rights. These rights are described in the Nokia Qt LGPL Exception
21 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
23 ** Other Usage
25 ** Alternatively, this file may be used in accordance with the terms and
26 ** conditions contained in a signed written agreement between you and Nokia.
28 ** If you have questions regarding the use of this file, please contact
29 ** Nokia at qt-info@nokia.com.
31 **************************************************************************/
33 #ifndef LIVESINGLESELECTIONMANIPULATOR_H
34 #define LIVESINGLESELECTIONMANIPULATOR_H
36 #include <QtCore/QPointF>
37 #include <QtCore/QList>
39 QT_FORWARD_DECLARE_CLASS(QGraphicsItem)
41 namespace QmlJSDebugger {
43 class QDeclarativeViewInspector;
45 class LiveSingleSelectionManipulator
47 public:
48 LiveSingleSelectionManipulator(QDeclarativeViewInspector *editorView);
50 enum SelectionType {
51 ReplaceSelection,
52 AddToSelection,
53 RemoveFromSelection,
54 InvertSelection
57 void begin(const QPointF& beginPoint);
58 void update(const QPointF& updatePoint);
59 void end(const QPointF& updatePoint);
61 void select(SelectionType selectionType, const QList<QGraphicsItem*> &items,
62 bool selectOnlyContentItems);
63 void select(SelectionType selectionType, bool selectOnlyContentItems);
65 void clear();
67 QPointF beginPoint() const;
69 bool isActive() const;
71 private:
72 QList<QGraphicsItem*> m_oldSelectionList;
73 QPointF m_beginPoint;
74 QDeclarativeViewInspector *m_editorView;
75 bool m_isActive;
78 } // namespace QmlJSDebugger
80 #endif // LIVESINGLESELECTIONMANIPULATOR_H