File: partselection.h

package info (click to toggle)
kcachegrind 4%3A25.04.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 9,964 kB
  • sloc: cpp: 32,149; xml: 403; perl: 325; python: 235; sh: 8; makefile: 6
file content (76 lines) | stat: -rw-r--r-- 1,755 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
70
71
72
73
74
75
76
/*
    This file is part of KCachegrind.

    SPDX-FileCopyrightText: 2003-2016 Josef Weidendorfer <Josef.Weidendorfer@gmx.de>

    SPDX-License-Identifier: GPL-2.0-only
*/

/*
 * PartSelection for KCachegrind
 * For part file selection, to be put into a QDockWindow
 */

#ifndef PARTSELECTION_H
#define PARTSELECTION_H

#include <QWidget>
#include <QPoint>

#include "tracedata.h"
#include "traceitemview.h"

class QLabel;
class TraceData;
class TreeMapItem;
class PartAreaWidget;

class PartSelection: public QWidget, public TraceItemView
{
    Q_OBJECT

public:
    explicit PartSelection(TopLevelBase*, QWidget* parent = nullptr);

    QWidget* widget() override { return this; }
    QString whatsThis() const override;
    void setData(TraceData*) override;

    PartAreaWidget* graph() { return _partAreaWidget; }

    void saveOptions(const QString& prefix, const QString& postfix) override;
    void restoreOptions(const QString& prefix, const QString& postfix) override;

Q_SIGNALS:
    void partsHideSelected();
    void partsUnhideAll();

public Q_SLOTS:
    void selectionChanged();
    void doubleClicked(TreeMapItem*);
    void itemSelected();
    void contextMenuRequested(TreeMapItem*, const QPoint &);
    void currentChangedSlot(TreeMapItem*, bool);

    void hiddenPartsChangedSlot(const TracePartList& list);
    void showInfo(bool);

private:
    // reimplementations of TraceItemView
    CostItem* canShow(CostItem*) override;
    void doUpdate(int, bool) override;

    // helper for doUpdate
    void selectParts(const TracePartList& list);
    void fillInfo();

    bool _showInfo;
    bool _diagramMode;
    bool _drawFrames;
    bool _inSelectionUpdate;

    PartAreaWidget* _partAreaWidget;
    QLabel* _rangeLabel;
};

#endif