• 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
callmapview.h
Go to the documentation of this file.
1 /* This file is part of KCachegrind.
2  Copyright (C) 2003 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  * Call Map View
21  */
22 
23 #ifndef CALLMAPVIEW_H
24 #define CALLMAPVIEW_H
25 
26 #include <QPixmap>
27 
28 #include "treemap.h"
29 #include "tracedata.h"
30 #include "traceitemview.h"
31 
32 class QAction;
33 class QMenu;
34 
35 class CallMapView: public TreeMapWidget, public TraceItemView
36 {
37  Q_OBJECT
38 
39 public:
40 
41  CallMapView(bool showCallers, TraceItemView* parentView,
42  QWidget* parent=0, const char* name=0);
43 
44  QWidget* widget() { return this; }
45  QString whatsThis() const;
46  void setData(TraceData*);
47 
48  void restoreOptions(const QString& prefix, const QString& postfix);
49  void saveOptions(const QString& prefix, const QString& postfix);
50 
51  bool showCallers() const { return _showCallers; }
52  ProfileCostArray* totalCost();
53  QString tipString(TreeMapItem*) const;
54  QColor groupColor(TraceFunction*) const;
55 
56 private slots:
57  void context(TreeMapItem*,const QPoint &);
58  void selectedSlot(TreeMapItem*, bool);
59  void activatedSlot(TreeMapItem*);
60  void mapItemTriggered(QAction*);
61  void drawingDepthTriggered(QAction*);
62  void stopFunctionTriggered(QAction*);
63  void areaLimitTriggered(QAction*);
64  void borderWidthTriggered(QAction*);
65 
66 private:
67  CostItem* canShow(CostItem*);
68  void doUpdate(int, bool);
69 
70  // context menu builders
71  void addItemListMenu(QMenu*,TreeMapItem*);
72  QAction* addDrawingDepthAction(QMenu*, const QString&, int);
73  void addDrawingDepthMenu(QMenu*, TreeMapItem*, const QString&);
74  QAction* addStopFunctionAction(QMenu*, const QString&, const QString&);
75  void addStopFunctionMenu(QMenu*, TreeMapItem*);
76  QAction* addAreaLimitAction(QMenu*, const QString&, int);
77  void addAreaLimitMenu(QMenu*, TreeMapItem*, const QString&);
78  QAction* addBorderWidthAction(QMenu*, const QString&, int);
79 
80  bool _showCallers;
81 };
82 
83 
84 
85 // Subitems of CallMap
86 
87 class CallMapBaseItem: public TreeMapItem
88 {
89 public:
90  CallMapBaseItem();
91 
92  void setFunction(TraceFunction* f);
93  TraceFunction* function() { return _f; }
94  int rtti() const { return 1; }
95  double sum() const;
96  double value() const ;
97  bool isMarked(int) const;
98  QString text(int) const;
99  QPixmap pixmap(int) const;
100  TreeMapItemList* children();
101  QColor backColor() const;
102 
103 private:
104  TraceFunction* _f;
105 };
106 
107 
108 class CallMapCallingItem: public TreeMapItem
109 {
110 public:
111  CallMapCallingItem(double factor, TraceCall* c);
112  void init();
113  int rtti() const { return 2; }
114  int borderWidth() const { return widget()->borderWidth(); }
115  TraceFunction* function() { return _c->called(); }
116  double value() const;
117  double sum() const;
118  bool isMarked(int) const;
119  QString text(int) const;
120  QPixmap pixmap(int) const;
121  TreeMapItemList* children();
122  QColor backColor() const;
123 
124 private:
125  TraceCall* _c;
126  double _factor;
127 };
128 
129 class CallMapCallerItem: public TreeMapItem
130 {
131 public:
132  CallMapCallerItem(double factor, TraceCall* c);
133  int rtti() const { return 3; }
134  int borderWidth() const { return widget()->borderWidth(); }
135  TraceFunction* function() { return _c->caller(); }
136  double value() const;
137  bool isMarked(int) const;
138  QString text(int) const;
139  QPixmap pixmap(int) const;
140  TreeMapItemList* children();
141  QColor backColor() const;
142 
143 private:
144  TraceCall* _c;
145  double _factor;
146 };
147 
148 
149 #endif
CallMapView::setData
void setData(TraceData *)
Definition: callmapview.cpp:138
CallMapBaseItem::backColor
QColor backColor() const
Definition: callmapview.cpp:711
QWidget
CallMapCallingItem::rtti
int rtti() const
Definition: callmapview.h:113
CallMapBaseItem::sum
double sum() const
Definition: callmapview.cpp:653
CallMapCallingItem::text
QString text(int) const
Definition: callmapview.cpp:736
TraceCall::caller
TraceFunction * caller(bool skipCycle=false) const
Definition: tracedata.cpp:1230
TraceFunction
A traced function.
Definition: tracedata.h:1122
CallMapBaseItem::value
double value() const
Definition: callmapview.cpp:643
CallMapCallingItem::sum
double sum() const
Definition: callmapview.cpp:783
CallMapView::totalCost
ProfileCostArray * totalCost()
Definition: callmapview.cpp:573
CallMapView
Definition: callmapview.h:35
CostItem
Base class for cost items.
Definition: costitem.h:37
traceitemview.h
CallMapCallingItem::pixmap
QPixmap pixmap(int) const
Definition: callmapview.cpp:763
QPoint
CallMapView::CallMapView
CallMapView(bool showCallers, TraceItemView *parentView, QWidget *parent=0, const char *name=0)
Definition: callmapview.cpp:55
CallMapCallerItem::rtti
int rtti() const
Definition: callmapview.h:133
CallMapCallerItem
Definition: callmapview.h:129
TraceItemView
Abstract Base Class for KCachegrind Views.
Definition: traceitemview.h:70
CallMapCallerItem::children
TreeMapItemList * children()
Definition: callmapview.cpp:904
CallMapView::showCallers
bool showCallers() const
Definition: callmapview.h:51
CallMapCallingItem
Definition: callmapview.h:108
QObject::name
const char * name() const
CallMapCallerItem::isMarked
bool isMarked(int) const
Definition: callmapview.cpp:898
tracedata.h
ProfileCostArray
An array of basic cost metrics for a trace item.
Definition: costitem.h:144
TreeMapWidget
Class for visualization of a metric of hierarchically nested items as 2D areas.
Definition: treemap.h:392
CallMapCallerItem::borderWidth
int borderWidth() const
Definition: callmapview.h:134
CallMapView::whatsThis
QString whatsThis() const
Definition: callmapview.cpp:98
CallMapView::tipString
QString tipString(TreeMapItem *) const
Return tooltip string to show for a item (can be rich text) Default implementation gives lines with "...
Definition: callmapview.cpp:547
CallMapCallingItem::backColor
QColor backColor() const
Definition: callmapview.cpp:836
QString
CallMapCallingItem::children
TreeMapItemList * children()
Definition: callmapview.cpp:794
QColor
CallMapCallingItem::CallMapCallingItem
CallMapCallingItem(double factor, TraceCall *c)
Definition: callmapview.cpp:720
TreeMapWidget::borderWidth
int borderWidth() const
Definition: treemap.h:604
QPixmap
QMenu
CallMapView::widget
QWidget * widget()
Definition: callmapview.h:44
CallMapCallerItem::text
QString text(int) const
Definition: callmapview.cpp:851
CallMapCallingItem::value
double value() const
Definition: callmapview.cpp:776
CallMapBaseItem::rtti
int rtti() const
Definition: callmapview.h:94
CallMapView::restoreOptions
void restoreOptions(const QString &prefix, const QString &postfix)
Definition: callmapview.cpp:945
CallMapCallerItem::pixmap
QPixmap pixmap(int) const
Definition: callmapview.cpp:878
CallMapBaseItem
Definition: callmapview.h:87
CallMapCallingItem::init
void init()
Definition: callmapview.cpp:726
CallMapView::groupColor
QColor groupColor(TraceFunction *) const
Definition: callmapview.cpp:538
QAction
treemap.h
TraceCall::called
TraceFunction * called(bool skipCycle=false) const
Definition: tracedata.cpp:1235
CallMapBaseItem::isMarked
bool isMarked(int) const
Definition: callmapview.cpp:666
CallMapView::saveOptions
void saveOptions(const QString &prefix, const QString &postfix)
Definition: callmapview.cpp:971
CallMapBaseItem::children
TreeMapItemList * children()
Definition: callmapview.cpp:671
CallMapBaseItem::CallMapBaseItem
CallMapBaseItem()
Definition: callmapview.cpp:586
TraceData
This class holds profiling data of multiple tracefiles generated with cachegrind on one command...
Definition: tracedata.h:1363
CallMapBaseItem::text
QString text(int) const
Definition: callmapview.cpp:600
TraceCall
A call from one to another function.
Definition: tracedata.h:835
QObject::parent
QObject * parent() const
CallMapCallingItem::borderWidth
int borderWidth() const
Definition: callmapview.h:114
TreeMapItem
Base class of items in TreeMap.
Definition: treemap.h:220
TreeMapItem::widget
TreeMapWidget * widget() const
TreeMap widget this item is put in.
Definition: treemap.h:315
CallMapBaseItem::pixmap
QPixmap pixmap(int) const
Definition: callmapview.cpp:631
CallMapBaseItem::setFunction
void setFunction(TraceFunction *f)
Definition: callmapview.cpp:591
CallMapCallerItem::CallMapCallerItem
CallMapCallerItem(double factor, TraceCall *c)
Definition: callmapview.cpp:845
TreeMapItemList
Definition: treemap.h:201
CallMapCallingItem::isMarked
bool isMarked(int) const
Definition: callmapview.cpp:788
CallMapCallerItem::backColor
QColor backColor() const
Definition: callmapview.cpp:939
CallMapCallerItem::value
double value() const
Definition: callmapview.cpp:891
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