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
|