• 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
treemap.h
Go to the documentation of this file.
1 /* This file is part of KCachegrind.
2  Copyright (C) 2002-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 
30 #ifndef TREEMAP_H
31 #define TREEMAP_H
32 
33 #include <QString>
34 #include <QWidget>
35 #include <QPixmap>
36 #include <QColor>
37 #include <QStringList>
38 #include <QPaintEvent>
39 #include <QKeyEvent>
40 #include <QContextMenuEvent>
41 #include <QMouseEvent>
42 
43 class QMenu;
44 class TreeMapWidget;
45 class TreeMapItem;
46 class TreeMapItemList;
47 
48 
53 class DrawParams
54 {
55 public:
67  enum Position { TopLeft, TopCenter, TopRight,
68  BottomLeft, BottomCenter, BottomRight,
69  Default, Unknown};
70 
71  // no constructor as this is an abstract class
72  virtual ~DrawParams() {}
73 
74  virtual QString text(int) const = 0;
75  virtual QPixmap pixmap(int) const = 0;
76  virtual Position position(int) const = 0;
77  // 0: no limit, negative: leave at least -maxLines() free
78  virtual int maxLines(int) const { return 0; }
79  virtual int fieldCount() const { return 0; }
80 
81  virtual QColor backColor() const { return Qt::white; }
82  virtual const QFont& font() const = 0;
83 
84  virtual bool selected() const { return false; }
85  virtual bool current() const { return false; }
86  virtual bool shaded() const { return true; }
87  virtual bool rotated() const { return false; }
88  virtual bool drawFrame() const { return true; }
89 };
90 
91 
92 /*
93  * DrawParam with attributes stored
94  */
95 class StoredDrawParams: public DrawParams
96 {
97 public:
98  StoredDrawParams();
99  explicit StoredDrawParams(const QColor& c,
100  bool selected = false, bool current = false);
101 
102  // getters
103  QString text(int) const;
104  QPixmap pixmap(int) const;
105  Position position(int) const;
106  int maxLines(int) const;
107  int fieldCount() const { return _field.size(); }
108 
109  QColor backColor() const { return _backColor; }
110  bool selected() const { return _selected; }
111  bool current() const { return _current; }
112  bool shaded() const { return _shaded; }
113  bool rotated() const { return _rotated; }
114  bool drawFrame() const { return _drawFrame; }
115 
116  const QFont& font() const;
117 
118  // attribute setters
119  void setField(int f, const QString& t, const QPixmap& pm = QPixmap(),
120  Position p = Default, int maxLines = 0);
121  void setText(int f, const QString&);
122  void setPixmap(int f, const QPixmap&);
123  void setPosition(int f, Position);
124  void setMaxLines(int f, int);
125  void setBackColor(const QColor& c) { _backColor = c; }
126  void setSelected(bool b) { _selected = b; }
127  void setCurrent(bool b) { _current = b; }
128  void setShaded(bool b) { _shaded = b; }
129  void setRotated(bool b) { _rotated = b; }
130  void drawFrame(bool b) { _drawFrame = b; }
131 
132 protected:
133  QColor _backColor;
134  bool _selected :1;
135  bool _current :1;
136  bool _shaded :1;
137  bool _rotated :1;
138  bool _drawFrame :1;
139 
140 private:
141  // resize field array if needed to allow to access field <f>
142  void ensureField(int f);
143 
144  struct Field {
145  QString text;
146  QPixmap pix;
147  Position pos;
148  int maxLines;
149  };
150 
151  QVector<Field> _field;
152 };
153 
154 
155 /* State for drawing on a rectangle.
156  *
157  * Following drawing functions are provided:
158  * - background drawing with shading and 3D frame
159  * - successive pixmap/text drawing at various positions with wrap-around
160  * optimized for minimal space usage (e.g. if a text is drawn at top right
161  * after text on top left, the same line is used if space allows)
162  *
163  */
164 class RectDrawing
165 {
166 public:
167  RectDrawing(const QRect&);
168  ~RectDrawing();
169 
170  // The default DrawParams object used.
171  DrawParams* drawParams();
172  // we take control over the given object (i.e. delete at destruction)
173  void setDrawParams(DrawParams*);
174 
175  // draw on a given QPainter, use this class as info provider per default
176  void drawBack(QPainter*, DrawParams* dp = 0);
177  /* Draw field at position() from pixmap()/text() with maxLines().
178  * Returns true if something was drawn
179  */
180  bool drawField(QPainter*, int f, DrawParams* dp = 0);
181 
182  // resets rectangle for free space
183  void setRect(const QRect&);
184 
185  // Returns the rectangle area still free of text/pixmaps after
186  // a number of drawText() calls.
187  QRect remainingRect(DrawParams* dp = 0);
188 
189 private:
190  int _usedTopLeft, _usedTopCenter, _usedTopRight;
191  int _usedBottomLeft, _usedBottomCenter, _usedBottomRight;
192  QRect _rect;
193 
194  // temporary
195  int _fontHeight;
196  QFontMetrics* _fm;
197  DrawParams* _dp;
198 };
199 
200 
201 class TreeMapItemList: public QList<TreeMapItem*>
202 {
203 public:
204  TreeMapItem* commonParent();
205 };
206 
207 
220 class TreeMapItem: public StoredDrawParams
221 {
222 public:
223 
235  enum SplitMode { Bisection, Columns, Rows,
236  AlwaysBest, Best,
237  HAlternate, VAlternate,
238  Horizontal, Vertical };
239 
240  explicit TreeMapItem(TreeMapItem* parent = 0, double value = 1.0 );
241  TreeMapItem(TreeMapItem* parent, double value,
242  const QString& text1, const QString& text2 = QString(),
243  const QString& text3 = QString(), const QString& text4 = QString());
244  virtual ~TreeMapItem();
245 
246  bool isChildOf(TreeMapItem*);
247 
248  TreeMapItem* commonParent(TreeMapItem* item);
249 
250  // force a redraw of this item
251  void redraw();
252 
253  // delete all children
254  void clear();
255 
256  // force new child generation & refresh
257  void refresh();
258 
259  // call in a reimplemented items() method to check if already called
260  // after a clear(), this will return false
261  bool initialized();
262 
269  void addItem(TreeMapItem*);
270 
275  QStringList path(int) const;
276 
280  int depth() const;
281 
285  TreeMapItem* parent() const { return _parent; }
286 
291  void setItemRect(const QRect& r) { _rect = r; }
292  void clearItemRect();
293  const QRect& itemRect() const { return _rect; }
294  int width() const { return _rect.width(); }
295  int height() const { return _rect.height(); }
296 
301  void clearFreeRects();
302  const QList<QRect>& freeRects() const { return _freeRects; }
303  void addFreeRect(const QRect& r);
304 
308  int index() const { return _index; }
309  void setIndex(int i) { _index = i; }
310 
311 
315  TreeMapWidget* widget() const { return _widget; }
316 
317  void setParent(TreeMapItem* p);
318  void setWidget(TreeMapWidget* w) { _widget = w; }
319  void setSum(double s) { _sum = s; }
320  void setValue(double s) { _value = s; }
321 
322  virtual double sum() const;
323  virtual double value() const;
324  // replace "Default" position with setting from TreeMapWidget
325  virtual Position position(int) const;
326  virtual const QFont& font() const;
327  virtual bool isMarked(int) const;
328 
329  virtual int borderWidth() const;
330 
337  virtual int sorting(bool* ascending) const;
338 
348  void setSorting(int textNo, bool ascending = true);
349 
357  void resort(bool recursive = true);
358 
359  virtual SplitMode splitMode() const;
360  virtual int rtti() const;
361  // not const as this can create children on demand
362  virtual TreeMapItemList* children();
363 
364 protected:
365  TreeMapItemList* _children;
366  double _sum, _value;
367 
368 private:
369  TreeMapWidget* _widget;
370  TreeMapItem* _parent;
371 
372  int _sortTextNo;
373  bool _sortAscending;
374 
375  // temporary layout
376  QRect _rect;
377  QList<QRect> _freeRects;
378  int _depth;
379 
380  // temporary self value (when using level skipping)
381  double _unused_self;
382 
383  // index of last active subitem
384  int _index;
385 };
386 
387 
392 class TreeMapWidget: public QWidget
393 {
394  Q_OBJECT
395 
396 public:
397 
401  enum SelectionMode { Single, Multi, Extended, NoSelection };
402 
403  /* The widget gets owner of the base item */
404  explicit TreeMapWidget(TreeMapItem* base, QWidget* parent=0);
405  ~TreeMapWidget();
406 
410  TreeMapItem* base() const { return _base; }
411 
415  const QFont& currentFont() const;
416 
421  TreeMapItem* item(int x, int y) const;
422 
427  TreeMapItem* visibleItem(TreeMapItem*) const;
428 
434  TreeMapItem* possibleSelection(TreeMapItem*) const;
435 
441  void setSelected(TreeMapItem*, bool selected = true);
442 
452  void setMarked(int markNo = 1, bool redraw = true);
453 
459  bool clearSelection(TreeMapItem* parent = 0);
460 
470  void setRangeSelection(TreeMapItem* i1,
471  TreeMapItem* i2, bool selected);
472 
477  void setCurrent(TreeMapItem*, bool kbd=false);
478 
486  void setMaxSelectDepth(int d) { _maxSelectDepth = d; }
487 
488 
489  void setSelectionMode(SelectionMode m) { _selectionMode = m; }
490 
494  void setSplitMode(TreeMapItem::SplitMode m);
495  TreeMapItem::SplitMode splitMode() const;
496  // returns true if string was recognized
497  bool setSplitMode(const QString&);
498  QString splitModeString() const;
499 
500 
501  /*
502  * Shading of rectangles enabled ?
503  */
504  void setShadingEnabled(bool s);
505  bool isShadingEnabled() const { return _shading; }
506 
507  /* Setting for a whole depth level: draw 3D frame (default) or solid */
508  void drawFrame(int d, bool b);
509  bool drawFrame(int d) const { return (d<4)?_drawFrame[d]:true; }
510 
511  /* Setting for a whole depth level: draw items (default) or transparent */
512  void setTransparent(int d, bool b);
513  bool isTransparent(int d) const { return (d<4)?_transparent[d]:false; }
514 
524  void setVisibleWidth(int width, bool reuseSpace = false);
525 
537  void setSkipIncorrectBorder(bool enable = true);
538  bool skipIncorrectBorder() const { return _skipIncorrectBorder; }
539 
543  void setMaxDrawingDepth(int d);
544  int maxDrawingDepth() const { return _maxDrawingDepth; }
545 
549  void setMinimalArea(int area);
550  int minimalArea() const { return _minimalArea; }
551 
552  /* defaults for text attributes */
553  QString defaultFieldType(int) const;
554  QString defaultFieldStop(int) const;
555  bool defaultFieldVisible(int) const;
556  bool defaultFieldForced(int) const;
557  DrawParams::Position defaultFieldPosition(int) const;
558 
564  void setFieldType(int, const QString&);
565  QString fieldType(int) const;
566 
570  void setFieldStop(int, const QString&);
571  QString fieldStop(int) const;
572 
578  void setFieldVisible(int, bool);
579  bool fieldVisible(int) const;
580 
586  void setFieldForced(int, bool);
587  bool fieldForced(int) const;
588 
592  void setFieldPosition(int, DrawParams::Position);
593  DrawParams::Position fieldPosition(int) const;
594  void setFieldPosition(int, const QString&);
595  QString fieldPositionString(int) const;
596 
600  void setAllowRotation(bool);
601  bool allowRotation() const { return _allowRotation; }
602 
603  void setBorderWidth(int w);
604  int borderWidth() const { return _borderWidth; }
605 
610  void addSplitDirectionItems(QMenu*);
611 
612  TreeMapWidget* widget() { return this; }
613  TreeMapItem* current() const { return _current; }
614  TreeMapItemList selection() const { return _selection; }
615  bool isSelected(TreeMapItem* i) const;
616  int maxSelectDepth() const { return _maxSelectDepth; }
617  SelectionMode selectionMode() const { return _selectionMode; }
618 
623  virtual QString tipString(TreeMapItem* i) const;
624 
629  void redraw(TreeMapItem*);
630  void redraw() { redraw(_base); }
631 
635  void resort() { _base->resort(true); }
636 
637  // internal
638  void drawTreeMap();
639 
640  // used internally when items are destroyed
641  void deletingItem(TreeMapItem*);
642 
643 protected slots:
644  void splitActivated(QAction*);
645 
646 signals:
647  void selectionChanged();
648  void selectionChanged(TreeMapItem*);
649 
655  void currentChanged(TreeMapItem*, bool keyboard);
656  void clicked(TreeMapItem*);
657  void returnPressed(TreeMapItem*);
658  void doubleClicked(TreeMapItem*);
659  void rightButtonPressed(TreeMapItem*, const QPoint &);
660  void contextMenuRequested(TreeMapItem*, const QPoint &);
661 
662 protected:
663  void mousePressEvent( QMouseEvent * );
664  void contextMenuEvent( QContextMenuEvent * );
665  void mouseReleaseEvent( QMouseEvent * );
666  void mouseMoveEvent( QMouseEvent * );
667  void mouseDoubleClickEvent( QMouseEvent * );
668  void keyPressEvent( QKeyEvent* );
669  void paintEvent( QPaintEvent * );
670  void fontChange( const QFont& );
671  bool event(QEvent *event);
672 
673 private:
674  TreeMapItemList diff(TreeMapItemList&, TreeMapItemList&);
675  // returns true if selection changed
676  TreeMapItem* setTmpSelected(TreeMapItem*, bool selected = true);
677  TreeMapItem* setTmpRangeSelection(TreeMapItem* i1,
678  TreeMapItem* i2, bool selected);
679  bool isTmpSelected(TreeMapItem* i);
680 
681  void drawItem(QPainter* p, TreeMapItem*);
682  void drawItems(QPainter* p, TreeMapItem*);
683  bool horizontal(TreeMapItem* i, const QRect& r);
684  void drawFill(TreeMapItem*,QPainter* p, const QRect& r);
685  void drawFill(TreeMapItem*,QPainter* p, const QRect& r,
686  TreeMapItemList* list, int idx, int len, bool goBack);
687  bool drawItemArray(QPainter* p, TreeMapItem*, const QRect& r, double,
688  TreeMapItemList* list, int idx, int len, bool);
689  bool resizeAttr(int);
690 
691  void addSplitAction(QMenu*, const QString&, int);
692 
693  TreeMapItem* _base;
694  TreeMapItem *_current, *_pressed, *_lastOver, *_oldCurrent;
695  int _maxSelectDepth, _maxDrawingDepth;
696 
697  // attributes for field, per textNo
698  struct FieldAttr {
699  QString type, stop;
700  bool visible, forced;
701  DrawParams::Position pos;
702  };
703  QVector<FieldAttr> _attr;
704 
705  SelectionMode _selectionMode;
706  TreeMapItem::SplitMode _splitMode;
707  int _visibleWidth, _stopArea, _minimalArea, _borderWidth;
708  bool _reuseSpace, _skipIncorrectBorder, _drawSeparators, _shading;
709  bool _allowRotation;
710  bool _transparent[4], _drawFrame[4];
711  TreeMapItem * _needsRefresh;
712  TreeMapItemList _selection;
713  int _markNo;
714 
715  // temporary selection while dragging, used for drawing
716  // most of the time, _selection == _tmpSelection
717  TreeMapItemList _tmpSelection;
718  bool _inShiftDrag, _inControlDrag;
719 
720  // temporary widget font metrics while drawing
721  QFont _font;
722  int _fontHeight;
723 
724  // back buffer pixmap
725  QPixmap _pixmap;
726 };
727 
728 #endif
TreeMapWidget::base
TreeMapItem * base() const
Returns the TreeMapItem filling out the widget space.
Definition: treemap.h:410
StoredDrawParams::setSelected
void setSelected(bool b)
Definition: treemap.h:126
TreeMapItem::initialized
bool initialized()
Definition: treemap.cpp:973
TreeMapItem::addFreeRect
void addFreeRect(const QRect &r)
Definition: treemap.cpp:1108
TreeMapItem::clear
void clear()
Definition: treemap.cpp:927
TreeMapItem::borderWidth
virtual int borderWidth() const
Definition: treemap.cpp:1031
StoredDrawParams::setCurrent
void setCurrent(bool b)
Definition: treemap.h:127
QEvent
RectDrawing::drawField
bool drawField(QPainter *, int f, DrawParams *dp=0)
Definition: treemap.cpp:468
TreeMapWidget::setFieldStop
void setFieldStop(int, const QString &)
Stop drawing at item with name.
Definition: treemap.cpp:1388
QWidget
TreeMapWidget::splitMode
TreeMapItem::SplitMode splitMode() const
Definition: treemap.cpp:1217
StoredDrawParams::_shaded
bool _shaded
Definition: treemap.h:136
TreeMapItem::sum
virtual double sum() const
Definition: treemap.cpp:1004
TreeMapWidget::setFieldPosition
void setFieldPosition(int, DrawParams::Position)
Set the field position in the area.
Definition: treemap.cpp:1442
DrawParams::fieldCount
virtual int fieldCount() const
Definition: treemap.h:79
RectDrawing::~RectDrawing
~RectDrawing()
Definition: treemap.cpp:193
TreeMapWidget::item
TreeMapItem * item(int x, int y) const
Returns the area item at position x/y, independent from any maxSelectDepth setting.
Definition: treemap.cpp:1541
TreeMapWidget::setSplitMode
void setSplitMode(TreeMapItem::SplitMode m)
for setting/getting global split direction
Definition: treemap.cpp:1209
TreeMapWidget::minimalArea
int minimalArea() const
Definition: treemap.h:550
TreeMapItem::Horizontal
Definition: treemap.h:238
TreeMapItem::setSum
void setSum(double s)
Definition: treemap.h:319
StoredDrawParams::drawFrame
void drawFrame(bool b)
Definition: treemap.h:130
TreeMapItem::_sum
double _sum
Definition: treemap.h:366
TreeMapWidget::tipString
virtual QString tipString(TreeMapItem *i) const
Return tooltip string to show for a item (can be rich text) Default implementation gives lines with "...
Definition: treemap.cpp:1521
StoredDrawParams::pixmap
QPixmap pixmap(int) const
Definition: treemap.cpp:87
TreeMapWidget::allowRotation
bool allowRotation() const
Definition: treemap.h:601
TreeMapWidget::current
TreeMapItem * current() const
Definition: treemap.h:613
TreeMapWidget::addSplitDirectionItems
void addSplitDirectionItems(QMenu *)
Populate given menu with option items.
Definition: treemap.cpp:2848
RectDrawing::drawBack
void drawBack(QPainter *, DrawParams *dp=0)
Definition: treemap.cpp:253
StoredDrawParams::shaded
bool shaded() const
Definition: treemap.h:112
DrawParams::position
virtual Position position(int) const =0
TreeMapWidget::maxSelectDepth
int maxSelectDepth() const
Definition: treemap.h:616
TreeMapWidget::setShadingEnabled
void setShadingEnabled(bool s)
Definition: treemap.cpp:1257
TreeMapItem::redraw
void redraw()
Definition: treemap.cpp:921
QFont
StoredDrawParams::_rotated
bool _rotated
Definition: treemap.h:137
TreeMapWidget::setSelected
void setSelected(TreeMapItem *, bool selected=true)
Selects or unselects an item.
Definition: treemap.cpp:1626
TreeMapItem::clearItemRect
void clearItemRect()
Definition: treemap.cpp:1097
QWidget::y
int y() const
QWidget::visible
visible
TreeMapItem::rtti
virtual int rtti() const
Definition: treemap.cpp:1084
DrawParams::font
virtual const QFont & font() const =0
DrawParams
Drawing parameters for an object.
Definition: treemap.h:53
TreeMapItem::height
int height() const
Definition: treemap.h:295
TreeMapWidget::TreeMapWidget
TreeMapWidget(TreeMapItem *base, QWidget *parent=0)
Definition: treemap.cpp:1153
QRect::height
int height() const
TreeMapItem::TreeMapItem
TreeMapItem(TreeMapItem *parent=0, double value=1.0)
Definition: treemap.cpp:836
TreeMapWidget::~TreeMapWidget
~TreeMapWidget()
Definition: treemap.cpp:1199
StoredDrawParams::setPixmap
void setPixmap(int f, const QPixmap &)
Definition: treemap.cpp:155
TreeMapWidget::setMinimalArea
void setMinimalArea(int area)
Minimal area for rectangles to draw.
Definition: treemap.cpp:1492
TreeMapItem::SplitMode
SplitMode
Split direction for nested areas: AlwaysBest: Choose split direction for every subitem according to l...
Definition: treemap.h:235
TreeMapItem::Columns
Definition: treemap.h:235
QPoint
QFontMetrics
QMouseEvent
TreeMapWidget::visibleItem
TreeMapItem * visibleItem(TreeMapItem *) const
Returns the nearest item with a visible area; this can be the given item itself.
Definition: treemap.cpp:1607
TreeMapWidget::NoSelection
Definition: treemap.h:401
TreeMapWidget::fieldPosition
DrawParams::Position fieldPosition(int) const
Definition: treemap.cpp:1453
TreeMapItem::itemRect
const QRect & itemRect() const
Definition: treemap.h:293
TreeMapWidget::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *)
Definition: treemap.cpp:1950
StoredDrawParams::setShaded
void setShaded(bool b)
Definition: treemap.h:128
TreeMapWidget::skipIncorrectBorder
bool skipIncorrectBorder() const
Definition: treemap.h:538
TreeMapWidget::setFieldVisible
void setFieldVisible(int, bool)
Should the text with number textNo be visible? This is only done if remaining space is enough to allo...
Definition: treemap.cpp:1404
TreeMapWidget::setBorderWidth
void setBorderWidth(int w)
Definition: treemap.cpp:1306
TreeMapItem::setParent
void setParent(TreeMapItem *p)
Definition: treemap.cpp:895
TreeMapWidget::Multi
Definition: treemap.h:401
TreeMapWidget::mouseDoubleClickEvent
void mouseDoubleClickEvent(QMouseEvent *)
Definition: treemap.cpp:1980
StoredDrawParams::setMaxLines
void setMaxLines(int f, int)
Definition: treemap.cpp:171
TreeMapItem::setItemRect
void setItemRect(const QRect &r)
Temporary rectangle used for drawing this item the last time.
Definition: treemap.h:291
DrawParams::BottomCenter
Definition: treemap.h:68
StoredDrawParams::setBackColor
void setBackColor(const QColor &c)
Definition: treemap.h:125
TreeMapWidget::fieldForced
bool fieldForced(int) const
Definition: treemap.cpp:1434
StoredDrawParams::font
const QFont & font() const
Definition: treemap.cpp:111
DrawParams::TopLeft
Definition: treemap.h:67
TreeMapWidget::isSelected
bool isSelected(TreeMapItem *i) const
Definition: treemap.cpp:1722
TreeMapItem::sorting
virtual int sorting(bool *ascending) const
Returns the text number after that sorting is done or -1 for no sorting, -2 for value() sorting (defa...
Definition: treemap.cpp:1039
TreeMapItem::value
virtual double value() const
Definition: treemap.cpp:999
TreeMapWidget::defaultFieldType
QString defaultFieldType(int) const
Definition: treemap.cpp:1322
TreeMapWidget::fieldStop
QString fieldStop(int) const
Definition: treemap.cpp:1398
TreeMapWidget::setTransparent
void setTransparent(int d, bool b)
Definition: treemap.cpp:1273
TreeMapWidget::returnPressed
void returnPressed(TreeMapItem *)
QWidget::width
int width() const
TreeMapWidget::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *)
Definition: treemap.cpp:1907
RectDrawing::setRect
void setRect(const QRect &)
Definition: treemap.cpp:214
TreeMapItem::~TreeMapItem
virtual ~TreeMapItem()
Definition: treemap.cpp:883
StoredDrawParams::selected
bool selected() const
Definition: treemap.h:110
StoredDrawParams::_drawFrame
bool _drawFrame
Definition: treemap.h:138
QRect
StoredDrawParams::backColor
QColor backColor() const
Definition: treemap.h:109
TreeMapWidget::mousePressEvent
void mousePressEvent(QMouseEvent *)
Definition: treemap.cpp:1839
TreeMapItem::parent
TreeMapItem * parent() const
Parent Item.
Definition: treemap.h:285
DrawParams::selected
virtual bool selected() const
Definition: treemap.h:84
TreeMapWidget::selection
TreeMapItemList selection() const
Definition: treemap.h:614
TreeMapWidget::redraw
void redraw()
Definition: treemap.h:630
TreeMapWidget::paintEvent
void paintEvent(QPaintEvent *)
Definition: treemap.cpp:2171
TreeMapWidget
Class for visualization of a metric of hierarchically nested items as 2D areas.
Definition: treemap.h:392
TreeMapWidget::setAllowRotation
void setAllowRotation(bool)
Do we allow the texts to be rotated by 90 degrees for better fitting?
Definition: treemap.cpp:1281
TreeMapItem::_value
double _value
Definition: treemap.h:366
StoredDrawParams::position
Position position(int) const
Definition: treemap.cpp:95
QWidget::x
int x() const
TreeMapWidget::clicked
void clicked(TreeMapItem *)
TreeMapWidget::resort
void resort()
Resort all TreeMapItems.
Definition: treemap.h:635
TreeMapItem::refresh
void refresh()
Definition: treemap.cpp:942
QContextMenuEvent
StoredDrawParams
Definition: treemap.h:95
TreeMapWidget::drawFrame
bool drawFrame(int d) const
Definition: treemap.h:509
TreeMapWidget::fieldVisible
bool fieldVisible(int) const
Definition: treemap.cpp:1415
TreeMapWidget::defaultFieldStop
QString defaultFieldStop(int) const
Definition: treemap.cpp:1327
TreeMapWidget::currentChanged
void currentChanged(TreeMapItem *, bool keyboard)
This signal is emitted if the current item changes.
DrawParams::current
virtual bool current() const
Definition: treemap.h:85
TreeMapWidget::defaultFieldForced
bool defaultFieldForced(int) const
Definition: treemap.cpp:1337
TreeMapItem::AlwaysBest
Definition: treemap.h:236
TreeMapWidget::setMaxSelectDepth
void setMaxSelectDepth(int d)
Set the maximal depth a selected item can have.
Definition: treemap.h:486
TreeMapWidget::selectionChanged
void selectionChanged()
QPainter
TreeMapItem::isChildOf
bool isChildOf(TreeMapItem *)
Definition: treemap.cpp:901
TreeMapWidget::possibleSelection
TreeMapItem * possibleSelection(TreeMapItem *) const
Returns the item possible for selection.
Definition: treemap.cpp:1593
StoredDrawParams::setField
void setField(int f, const QString &t, const QPixmap &pm=QPixmap(), Position p=Default, int maxLines=0)
Definition: treemap.cpp:135
DrawParams::TopRight
Definition: treemap.h:67
StoredDrawParams::text
QString text(int) const
Definition: treemap.cpp:79
DrawParams::Default
Definition: treemap.h:69
QWidget::pos
QPoint pos() const
TreeMapWidget::setVisibleWidth
void setVisibleWidth(int width, bool reuseSpace=false)
Items usually have a size proportional to their value().
Definition: treemap.cpp:1289
TreeMapWidget::SelectionMode
SelectionMode
Same as in QListBox/QListView.
Definition: treemap.h:401
RectDrawing::setDrawParams
void setDrawParams(DrawParams *)
Definition: treemap.cpp:208
TreeMapWidget::drawTreeMap
void drawTreeMap()
Definition: treemap.cpp:2178
TreeMapItem::Rows
Definition: treemap.h:235
TreeMapWidget::setCurrent
void setCurrent(TreeMapItem *, bool kbd=false)
Sets the current item.
Definition: treemap.cpp:1735
DrawParams::shaded
virtual bool shaded() const
Definition: treemap.h:86
QString
QList
StoredDrawParams::_current
bool _current
Definition: treemap.h:135
StoredDrawParams::_backColor
QColor _backColor
Definition: treemap.h:133
TreeMapWidget::setFieldType
void setFieldType(int, const QString &)
Set the type name of a field.
Definition: treemap.cpp:1373
QColor
TreeMapWidget::Single
Definition: treemap.h:401
RectDrawing::drawParams
DrawParams * drawParams()
Definition: treemap.cpp:199
StoredDrawParams::rotated
bool rotated() const
Definition: treemap.h:113
TreeMapWidget::contextMenuEvent
void contextMenuEvent(QContextMenuEvent *)
Definition: treemap.cpp:1820
TreeMapItem::width
int width() const
Definition: treemap.h:294
DrawParams::text
virtual QString text(int) const =0
TreeMapItem::Vertical
Definition: treemap.h:238
TreeMapWidget::borderWidth
int borderWidth() const
Definition: treemap.h:604
TreeMapItem::isMarked
virtual bool isMarked(int) const
Definition: treemap.cpp:1025
QStringList
TreeMapWidget::clearSelection
bool clearSelection(TreeMapItem *parent=0)
Clear selection of all selected items which are children of parent.
Definition: treemap.cpp:1705
QPixmap
TreeMapItem::Bisection
Definition: treemap.h:235
TreeMapWidget::event
bool event(QEvent *event)
Definition: treemap.cpp:2148
StoredDrawParams::fieldCount
int fieldCount() const
Definition: treemap.h:107
TreeMapItem::font
virtual const QFont & font() const
Definition: treemap.cpp:1019
QMenu
TreeMapItem::children
virtual TreeMapItemList * children()
Definition: treemap.cpp:1089
TreeMapItem::setWidget
void setWidget(TreeMapWidget *w)
Definition: treemap.h:318
TreeMapWidget::selectionMode
SelectionMode selectionMode() const
Definition: treemap.h:617
StoredDrawParams::setRotated
void setRotated(bool b)
Definition: treemap.h:129
DrawParams::Position
Position
Positions for drawing into a rectangle.
Definition: treemap.h:67
TreeMapItemList::commonParent
TreeMapItem * commonParent()
Definition: treemap.cpp:800
TreeMapItem::Best
Definition: treemap.h:236
TreeMapWidget::setSkipIncorrectBorder
void setSkipIncorrectBorder(bool enable=true)
If a children value() is almost the parents sum(), it can happen that the border to be drawn for visi...
Definition: treemap.cpp:1298
QKeyEvent
TreeMapWidget::isShadingEnabled
bool isShadingEnabled() const
Definition: treemap.h:505
TreeMapWidget::setRangeSelection
void setRangeSelection(TreeMapItem *i1, TreeMapItem *i2, bool selected)
Selects or unselects items in a range.
Definition: treemap.cpp:1764
TreeMapWidget::Extended
Definition: treemap.h:401
TreeMapItem::resort
void resort(bool recursive=true)
Resort according to the already set sorting.
Definition: treemap.cpp:1063
QRect::width
int width() const
TreeMapItem::index
int index() const
Temporary child item index of the child that was current() recently.
Definition: treemap.h:308
TreeMapWidget::widget
TreeMapWidget * widget()
Definition: treemap.h:612
QVector< Field >
TreeMapWidget::isTransparent
bool isTransparent(int d) const
Definition: treemap.h:513
TreeMapItem::depth
int depth() const
Depth of this item.
Definition: treemap.cpp:963
DrawParams::Unknown
Definition: treemap.h:69
TreeMapItem::_children
TreeMapItemList * _children
Definition: treemap.h:365
StoredDrawParams::StoredDrawParams
StoredDrawParams()
Definition: treemap.cpp:52
TreeMapItem::clearFreeRects
void clearFreeRects()
Temporary rectangle list of free space of this item.
Definition: treemap.cpp:1103
DrawParams::~DrawParams
virtual ~DrawParams()
Definition: treemap.h:72
StoredDrawParams::maxLines
int maxLines(int) const
Definition: treemap.cpp:103
TreeMapItem::setIndex
void setIndex(int i)
Definition: treemap.h:309
TreeMapItem::setValue
void setValue(double s)
Definition: treemap.h:320
QAction
TreeMapWidget::setMarked
void setMarked(int markNo=1, bool redraw=true)
Switches on the marking .
Definition: treemap.cpp:1647
DrawParams::BottomLeft
Definition: treemap.h:68
TreeMapWidget::doubleClicked
void doubleClicked(TreeMapItem *)
TreeMapWidget::splitModeString
QString splitModeString() const
Definition: treemap.cpp:1238
DrawParams::TopCenter
Definition: treemap.h:67
DrawParams::drawFrame
virtual bool drawFrame() const
Definition: treemap.h:88
TreeMapItem::path
QStringList path(int) const
Returns a list of text strings of specified text number, from root up to this item.
Definition: treemap.cpp:949
RectDrawing
Definition: treemap.h:164
TreeMapItem::setSorting
void setSorting(int textNo, bool ascending=true)
Set the sorting for child drawing.
Definition: treemap.cpp:1046
StoredDrawParams::setText
void setText(int f, const QString &)
Definition: treemap.cpp:147
TreeMapItem::commonParent
TreeMapItem * commonParent(TreeMapItem *item)
Definition: treemap.cpp:913
TreeMapWidget::rightButtonPressed
void rightButtonPressed(TreeMapItem *, const QPoint &)
RectDrawing::remainingRect
QRect remainingRect(DrawParams *dp=0)
Definition: treemap.cpp:228
TreeMapWidget::currentFont
const QFont & currentFont() const
Returns a reference to the current widget font.
Definition: treemap.cpp:1204
TreeMapWidget::defaultFieldPosition
DrawParams::Position defaultFieldPosition(int) const
Definition: treemap.cpp:1342
TreeMapWidget::keyPressEvent
void keyPressEvent(QKeyEvent *)
Definition: treemap.cpp:2027
StoredDrawParams::setPosition
void setPosition(int f, Position)
Definition: treemap.cpp:163
TreeMapWidget::maxDrawingDepth
int maxDrawingDepth() const
Definition: treemap.h:544
TreeMapWidget::fieldPositionString
QString fieldPositionString(int) const
Definition: treemap.cpp:1479
TreeMapWidget::defaultFieldVisible
bool defaultFieldVisible(int) const
Definition: treemap.cpp:1332
TreeMapItem::VAlternate
Definition: treemap.h:237
QPaintEvent
TreeMapWidget::fontChange
void fontChange(const QFont &)
Definition: treemap.cpp:2142
TreeMapWidget::drawFrame
void drawFrame(int d, bool b)
Definition: treemap.cpp:1265
DrawParams::rotated
virtual bool rotated() const
Definition: treemap.h:87
StoredDrawParams::drawFrame
bool drawFrame() const
Definition: treemap.h:114
QVector::size
int size() const
RectDrawing::RectDrawing
RectDrawing(const QRect &)
Definition: treemap.cpp:185
TreeMapItem
Base class of items in TreeMap.
Definition: treemap.h:220
TreeMapItem::addItem
void addItem(TreeMapItem *)
Adds an item to a parent.
Definition: treemap.cpp:982
TreeMapItem::widget
TreeMapWidget * widget() const
TreeMap widget this item is put in.
Definition: treemap.h:315
DrawParams::backColor
virtual QColor backColor() const
Definition: treemap.h:81
TreeMapItem::position
virtual Position position(int) const
Definition: treemap.cpp:1009
TreeMapWidget::deletingItem
void deletingItem(TreeMapItem *)
Definition: treemap.cpp:1501
TreeMapItem::freeRects
const QList< QRect > & freeRects() const
Definition: treemap.h:302
StoredDrawParams::_selected
bool _selected
Definition: treemap.h:134
TreeMapWidget::splitActivated
void splitActivated(QAction *)
Definition: treemap.cpp:2835
TreeMapWidget::setMaxDrawingDepth
void setMaxDrawingDepth(int d)
Maximal nesting depth.
Definition: treemap.cpp:1314
DrawParams::BottomRight
Definition: treemap.h:68
DrawParams::maxLines
virtual int maxLines(int) const
Definition: treemap.h:78
TreeMapWidget::setSelectionMode
void setSelectionMode(SelectionMode m)
Definition: treemap.h:489
TreeMapWidget::setFieldForced
void setFieldForced(int, bool)
Should the drawing of the name into the rectangle be forced? This enables drawing of the name before ...
Definition: treemap.cpp:1423
DrawParams::pixmap
virtual QPixmap pixmap(int) const =0
TreeMapWidget::fieldType
QString fieldType(int) const
Definition: treemap.cpp:1382
TreeMapItem::HAlternate
Definition: treemap.h:237
TreeMapWidget::contextMenuRequested
void contextMenuRequested(TreeMapItem *, const QPoint &)
TreeMapItemList
Definition: treemap.h:201
TreeMapItem::splitMode
virtual SplitMode splitMode() const
Definition: treemap.cpp:1076
StoredDrawParams::current
bool current() const
Definition: treemap.h:111
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