• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdesdk API Reference
  • KDE Home
  • Contact Us
 

kcachegrind

  • sources
  • kde-4.14
  • kdesdk
  • kcachegrind
  • libviews
partgraph.h
Go to the documentation of this file.
1 /* This file is part of KCachegrind.
2  Copyright (C) 2003,2009 Josef Weidendorfer <Josef.Weidendorfer@gmx.de>
3 
4  KCachegrind is free software; you can redistribute it and/or
5  modify it under the terms of the GNU General Public
6  License as published by the Free Software Foundation, version 2.
7 
8  This program is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License
14  along with this program; see the file COPYING. If not, write to
15  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16  Boston, MA 02110-1301, USA.
17 */
18 
19 /*
20  * TracePart Graph
21  */
22 
23 #ifndef PARTGRAPH_H
24 #define PARTGRAPH_H
25 
26 #include <QPixmap>
27 
28 #include "treemap.h"
29 #include "tracedata.h"
30 
31 class PartAreaWidget: public TreeMapWidget
32 {
33  Q_OBJECT
34 
35 public:
36  // Visualization inside of trace parts
37  enum VisualizationMode { NoVisualization, Partitioning, Inclusive };
38 
39  PartAreaWidget(QWidget* parent=0);
40 
41  void setData(TraceData* d);
42  void setEventType(EventType* ct);
43  void setGroupType(ProfileContext::Type gt);
44  void setVisualization(VisualizationMode);
45  void setZoomFunction(bool zoomFunction);
46  void setCallLevels(int callLevels);
47  void setFunction(TraceFunction* f);
48 
49  EventType* eventType() const { return _eventType; }
50  ProfileContext::Type groupType() const { return _groupType; }
51  TraceFunction* function() const { return _function; }
52  VisualizationMode visualization() const { return _visualization; }
53  bool zoomFunction() const { return _zoomFunction; }
54  int callLevels() const { return _callLevels; }
55 
56  QColor groupColor(TraceFunction*) const;
57  QString tipString(TreeMapItem*) const;
58 
59  void changeHidden(const TracePartList& list);
60  bool isHidden(TracePart*) const;
61 
62 private:
63  void refreshParts();
64 
65  TraceData* _data;
66  EventType* _eventType;
67  ProfileContext::Type _groupType;
68  TraceFunction* _function;
69  VisualizationMode _visualization;
70  bool _zoomFunction;
71  int _callLevels;
72 
73  TracePartList _hiddenParts;
74 };
75 
76 class BasePartItem: public TreeMapItem
77 {
78 public:
79  BasePartItem();
80 
81  void setData(TraceData* d);
82 
83  int rtti() const { return 1; }
84  double value() const;
85  QString text(int) const;
86  int borderWidth() const { return 0; }
87  TreeMapItemList* children();
88  QColor backColor() const;
89 
90 private:
91  TraceData* _data;
92 };
93 
94 class PartItem: public TreeMapItem
95 {
96 public:
97  PartItem(TracePart* p);
98  int rtti() const { return 2; }
99  TracePart* part() { return _p; }
100  double value() const;
101  double sum() const;
102  int borderWidth() const { return 0; }
103  QString text(int) const;
104  QPixmap pixmap(int) const;
105  TreeMapItemList* children();
106  QColor backColor() const;
107 
108 private:
109  TracePart* _p;
110  unsigned int _factor;
111 };
112 
113 class SubPartItem: public TreeMapItem
114 {
115 public:
116  SubPartItem(ProfileCostArray*);
117  int rtti() const { return 3; }
118  ProfileCostArray* partCostItem() { return _partCostItem; }
119  double value() const;
120  double sum() const;
121  SplitMode splitMode() const { return Vertical; }
122  QString text(int) const;
123  QPixmap pixmap(int) const;
124  TreeMapItemList* children();
125  QColor backColor() const;
126 
127 private:
128  ProfileCostArray* _partCostItem;
129  unsigned int _factor;
130 };
131 
132 
133 #endif
SubPartItem::rtti
int rtti() const
Definition: partgraph.h:117
QWidget
PartAreaWidget::setData
void setData(TraceData *d)
Definition: partgraph.cpp:46
QWidget::isHidden
bool isHidden() const
PartAreaWidget::VisualizationMode
VisualizationMode
Definition: partgraph.h:37
PartAreaWidget::groupType
ProfileContext::Type groupType() const
Definition: partgraph.h:50
SubPartItem::sum
double sum() const
Definition: partgraph.cpp:478
SubPartItem::pixmap
QPixmap pixmap(int) const
Definition: partgraph.cpp:446
PartAreaWidget::setFunction
void setFunction(TraceFunction *f)
Definition: partgraph.cpp:103
PartAreaWidget::setGroupType
void setGroupType(ProfileContext::Type gt)
Definition: partgraph.cpp:111
BasePartItem
Definition: partgraph.h:76
TraceFunction
A traced function.
Definition: tracedata.h:1122
BasePartItem::value
double value() const
Definition: partgraph.cpp:235
PartAreaWidget::visualization
VisualizationMode visualization() const
Definition: partgraph.h:52
TreeMapItem::SplitMode
SplitMode
Split direction for nested areas: AlwaysBest: Choose split direction for every subitem according to l...
Definition: treemap.h:235
PartAreaWidget::PartAreaWidget
PartAreaWidget(QWidget *parent=0)
Definition: partgraph.cpp:33
PartAreaWidget::Partitioning
Definition: partgraph.h:37
EventType
A cost type, e.g.
Definition: eventtype.h:43
BasePartItem::borderWidth
int borderWidth() const
Definition: partgraph.h:86
PartAreaWidget::eventType
EventType * eventType() const
Definition: partgraph.h:49
SubPartItem::value
double value() const
Definition: partgraph.cpp:465
tracedata.h
ProfileCostArray
An array of basic cost metrics for a trace item.
Definition: costitem.h:144
SubPartItem::SubPartItem
SubPartItem(ProfileCostArray *)
Definition: partgraph.cpp:408
TreeMapWidget
Class for visualization of a metric of hierarchically nested items as 2D areas.
Definition: treemap.h:392
PartItem::PartItem
PartItem(TracePart *p)
Definition: partgraph.cpp:249
PartItem::children
TreeMapItemList * children()
Definition: partgraph.cpp:322
PartAreaWidget::setCallLevels
void setCallLevels(int callLevels)
Definition: partgraph.cpp:84
SubPartItem::backColor
QColor backColor() const
Definition: partgraph.cpp:517
PartItem::sum
double sum() const
Definition: partgraph.cpp:311
PartItem::value
double value() const
Definition: partgraph.cpp:291
BasePartItem::rtti
int rtti() const
Definition: partgraph.h:83
QString
QList< TracePart * >
PartAreaWidget::setZoomFunction
void setZoomFunction(bool zoomFunction)
Definition: partgraph.cpp:78
QColor
PartAreaWidget
Definition: partgraph.h:31
PartAreaWidget::tipString
QString tipString(TreeMapItem *) const
Return tooltip string to show for a item (can be rich text) Default implementation gives lines with "...
Definition: partgraph.cpp:138
TreeMapItem::Vertical
Definition: treemap.h:238
PartItem::part
TracePart * part()
Definition: partgraph.h:99
PartAreaWidget::changeHidden
void changeHidden(const TracePartList &list)
Definition: partgraph.cpp:57
PartItem::borderWidth
int borderWidth() const
Definition: partgraph.h:102
BasePartItem::setData
void setData(TraceData *d)
Definition: partgraph.cpp:193
QPixmap
SubPartItem::children
TreeMapItemList * children()
Definition: partgraph.cpp:489
PartAreaWidget::callLevels
int callLevels() const
Definition: partgraph.h:54
BasePartItem::BasePartItem
BasePartItem()
Definition: partgraph.cpp:186
PartAreaWidget::setEventType
void setEventType(EventType *ct)
Definition: partgraph.cpp:64
SubPartItem
Definition: partgraph.h:113
PartAreaWidget::setVisualization
void setVisualization(VisualizationMode)
Definition: partgraph.cpp:72
TracePart
A Trace Part: All data read from a trace file, containing all costs that happened in a specified time...
Definition: tracedata.h:655
PartAreaWidget::Inclusive
Definition: partgraph.h:37
PartAreaWidget::NoVisualization
Definition: partgraph.h:37
ProfileContext::Type
Type
Definition: context.h:36
treemap.h
PartItem::text
QString text(int) const
Definition: partgraph.cpp:255
PartItem
Definition: partgraph.h:94
PartAreaWidget::zoomFunction
bool zoomFunction() const
Definition: partgraph.h:53
SubPartItem::partCostItem
ProfileCostArray * partCostItem()
Definition: partgraph.h:118
SubPartItem::text
QString text(int) const
Definition: partgraph.cpp:414
TraceData
This class holds profiling data of multiple tracefiles generated with cachegrind on one command...
Definition: tracedata.h:1363
PartItem::pixmap
QPixmap pixmap(int) const
Definition: partgraph.cpp:280
QObject::parent
QObject * parent() const
PartAreaWidget::groupColor
QColor groupColor(TraceFunction *) const
Definition: partgraph.cpp:130
TreeMapItem
Base class of items in TreeMap.
Definition: treemap.h:220
BasePartItem::children
TreeMapItemList * children()
Definition: partgraph.cpp:201
BasePartItem::text
QString text(int) const
Definition: partgraph.cpp:217
SubPartItem::splitMode
SplitMode splitMode() const
Definition: partgraph.h:121
PartItem::rtti
int rtti() const
Definition: partgraph.h:98
TreeMapItemList
Definition: treemap.h:201
PartItem::backColor
QColor backColor() const
Definition: partgraph.cpp:399
BasePartItem::backColor
QColor backColor() const
Definition: partgraph.cpp:230
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:39:50 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kcachegrind

Skip menu "kcachegrind"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • umbrello
  •   umbrello

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal