qmljscontextcrumblepath.cpp 2.53 KB
Newer Older
Olivier Goffart's avatar
Olivier Goffart committed
1
2
3
4
/**************************************************************************
**
** This file is part of Qt Creator
**
con's avatar
con committed
5
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
Olivier Goffart's avatar
Olivier Goffart committed
6
7
8
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
con's avatar
con committed
9
** No Commercial Usage
Olivier Goffart's avatar
Olivier Goffart committed
10
**
con's avatar
con committed
11
12
13
14
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
Olivier Goffart's avatar
Olivier Goffart committed
15
16
17
18
19
20
21
22
23
24
**
** GNU Lesser General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
con's avatar
con committed
25
26
27
28
29
30
** In addition, as a special exception, Nokia gives you certain additional
** rights.  These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
Olivier Goffart's avatar
Olivier Goffart committed
31
32
**
**************************************************************************/
33
34
#include "qmljscontextcrumblepath.h"

35
36
#include <QtGui/QMouseEvent>
#include <QtCore/QDebug>
37
38
39
40
41

namespace QmlJSInspector {
namespace Internal {

ContextCrumblePath::ContextCrumblePath(QWidget *parent)
Thorbjørn Lindeijer's avatar
Thorbjørn Lindeijer committed
42
43
    : CrumblePath(parent)
    , m_isEmpty(true)
44
{
Thorbjørn Lindeijer's avatar
Thorbjørn Lindeijer committed
45
    updateContextPath(QStringList(), QList<int>());
46
47
}

48
void ContextCrumblePath::updateContextPath(const QStringList &path, const QList<int> &debugIds)
49
{
50
51
    Q_ASSERT(path.count() == debugIds.count());

52
    clear();
53

54
55
56
    m_isEmpty = path.isEmpty();
    if (m_isEmpty) {
        pushElement(tr("[no context]"));
57
    } else {
Thorbjørn Lindeijer's avatar
Thorbjørn Lindeijer committed
58
59
        for (int i=0; i<path.count(); i++)
            pushElement(path[i], QVariant(debugIds[i]));
60
    }
61
62
}

63
void ContextCrumblePath::addChildren(const QStringList &childrenNames, const QList<int> &childrenDebugIds)
64
{
65
66
67
68
    Q_ASSERT(childrenNames.count() == childrenDebugIds.count());
    for (int i=0; i<childrenNames.count(); i++) {
        addChild(childrenNames[i],QVariant(childrenDebugIds[i]));
    }
69
70
}

71
72
73
74
75
bool ContextCrumblePath::isEmpty() const
{
    return m_isEmpty;
}

76
77
78
79
80
int ContextCrumblePath::debugIdForIndex(int index) const
{
    return CrumblePath::dataForIndex(index).toInt();
}

81
82
} // namespace Internal
} // namespace QmlJSInspector