callgrindtextmark.h 2.18 KB
Newer Older
Mike McQuaid's avatar
Mike McQuaid committed
1 2
/**************************************************************************
**
Tobias Hunger's avatar
Tobias Hunger committed
3
** This file is part of Qt Creator
Mike McQuaid's avatar
Mike McQuaid committed
4
**
hjk's avatar
hjk committed
5
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
Mike McQuaid's avatar
Mike McQuaid committed
6
**
7
** Contact: Nokia Corporation (qt-info@nokia.com)
Mike McQuaid's avatar
Mike McQuaid committed
8 9 10 11
**
**
** GNU Lesser General Public License Usage
**
Tobias Hunger's avatar
Tobias Hunger committed
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
** 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.
**
** 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.
**
** Other Usage
**
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
Mike McQuaid's avatar
Mike McQuaid committed
27
**
Tobias Hunger's avatar
Tobias Hunger committed
28
** If you have questions regarding the use of this file, please contact
29
** Nokia at qt-info@nokia.com.
Mike McQuaid's avatar
Mike McQuaid committed
30 31 32 33 34 35 36 37 38 39 40
**
**************************************************************************/

#ifndef CALLGRINDTEXTMARK_H
#define CALLGRINDTEXTMARK_H

#include <texteditor/basetextmark.h>

#include <QtCore/QPersistentModelIndex>

namespace Valgrind {
41

Mike McQuaid's avatar
Mike McQuaid committed
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
namespace Callgrind {
class Function;
}

namespace Internal {

class CallgrindTextMark : public TextEditor::BaseTextMark
{
public:
    /**
     * This creates a callgrind text mark for a specific Function
     *
     * \param index DataModel model index
     * \note The index parameter must refer to one of the DataModel cost columns
     */
    explicit CallgrindTextMark(const QPersistentModelIndex &index,
                               const QString &fileName, int lineNumber);

    const Valgrind::Callgrind::Function *function() const;

    virtual double widthFactor() const;
    virtual void paint(QPainter *painter, const QRect &paintRect) const;

private:
    QPersistentModelIndex m_modelIndex;
};

} // namespace Internal
70
} // namespace Valgrind
Mike McQuaid's avatar
Mike McQuaid committed
71 72

#endif // CALLGRINDTEXTMARK_H