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

kdgantt2

  • sources
  • kde-4.12
  • kdepim
  • kdgantt2
kdganttgraphicsitem.h
Go to the documentation of this file.
1 /****************************************************************************
2  ** Copyright (C) 2001-2006 Klarälvdalens Datakonsult AB. All rights reserved.
3  **
4  ** This file is part of the KD Gantt library.
5  **
6  ** This file may be distributed and/or modified under the terms of the
7  ** GNU General Public License version 2 as published by the Free Software
8  ** Foundation and appearing in the file LICENSE.GPL included in the
9  ** packaging of this file.
10  **
11  ** Licensees holding valid commercial KD Gantt licenses may use this file in
12  ** accordance with the KD Gantt Commercial License Agreement provided with
13  ** the Software.
14  **
15  ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16  ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17  **
18  ** See http://www.kdab.net/kdgantt for
19  ** information about KD Gantt Commercial License Agreements.
20  **
21  ** Contact info@kdab.net if any conditions of this
22  ** licensing are not clear to you.
23  **
24  **********************************************************************/
25 #ifndef KDGANTTGRAPHICSITEM_H
26 #define KDGANTTGRAPHICSITEM_H
27 
28 #include "kdganttglobal.h"
29 #include "kdganttstyleoptionganttitem.h"
30 
31 #include <QGraphicsItem>
32 #include <QDateTime>
33 #include <QPersistentModelIndex>
34 
35 class QGraphicsLineItem;
36 
37 namespace KDGantt {
38  class GraphicsScene;
39  class ConstraintGraphicsItem;
40 
41  /* Can we fit every kind of item into one gfxitem class? */
42  class GraphicsItem : public QGraphicsItem {
43  public:
44  enum { Type = UserType + 42 };
45 
46  explicit GraphicsItem( QGraphicsItem* parent = 0, GraphicsScene* scene = 0 );
47  explicit GraphicsItem( const QModelIndex& idx, QGraphicsItem* parent = 0, GraphicsScene* scene = 0 );
48  virtual ~GraphicsItem();
49 
50  /*reimp*/int type() const;
51  /*reimp (non-virtual)*/ GraphicsScene* scene() const;
52 
53  void updateItem( const Span& rowgeometry, const QPersistentModelIndex& idx );
54 
55  //virtual ItemType itemType() const = 0;
56 
57  //qreal dateTimeToSceneX( const QDateTime& dt ) const;
58  //QDateTime sceneXtoDateTime( qreal x ) const;
59 
60  QRectF rect() const { return m_rect; }
61  void setRect( const QRectF& r );
62  void setBoundingRect( const QRectF& r );
63 
64  virtual QString ganttToolTip() const;
65 
66  const QPersistentModelIndex& index() const { return m_index; }
67  void setIndex( const QPersistentModelIndex& idx );
68 
69  bool isEditable() const;
70  bool isUpdating() const { return m_isupdating; }
71 
72  void addStartConstraint( ConstraintGraphicsItem* );
73  void addEndConstraint( ConstraintGraphicsItem* );
74  void removeStartConstraint( ConstraintGraphicsItem* );
75  void removeEndConstraint( ConstraintGraphicsItem* );
76  QList<ConstraintGraphicsItem*> startConstraints() const { return m_startConstraints; }
77  QList<ConstraintGraphicsItem*> endConstraints() const { return m_endConstraints; }
78 
79  /*reimp*/ QRectF boundingRect() const;
80  /*reimp*/ void paint( QPainter* painter, const QStyleOptionGraphicsItem* option,
81  QWidget* widget = 0 );
82 
83  /*reimp*/ QVariant itemChange( GraphicsItemChange, const QVariant& value );
84  protected:
85  /*reimp*/ void focusInEvent( QFocusEvent* event );
86  /*reimp*/ void hoverMoveEvent( QGraphicsSceneHoverEvent* );
87  /*reimp*/ void hoverLeaveEvent( QGraphicsSceneHoverEvent* );
88  /*reimp*/ void mousePressEvent( QGraphicsSceneMouseEvent* );
89  /*reimp*/ void mouseReleaseEvent( QGraphicsSceneMouseEvent* );
90  /*reimp*/ void mouseDoubleClickEvent( QGraphicsSceneMouseEvent* );
91  /*reimp*/ void mouseMoveEvent( QGraphicsSceneMouseEvent* );
92 
93  private:
94  void init();
95 
96  QPointF startConnector() const;
97  QPointF endConnector() const;
98  void updateConstraintItems();
99  StyleOptionGanttItem getStyleOption() const;
100  void updateModel();
101  void updateItemFromMouse( const QPointF& scenepos );
102  void constraintsChanged();
103 
104  QRectF m_rect;
105  QRectF m_boundingrect;
106  QPersistentModelIndex m_index;
107  bool m_isupdating;
108  int m_istate;
109  QPointF m_presspos;
110  QPointF m_pressscenepos;
111  QGraphicsLineItem* m_dragline;
112  GraphicsItem* m_dragtarget;
113  QList<ConstraintGraphicsItem*> m_startConstraints;
114  QList<ConstraintGraphicsItem*> m_endConstraints;
115  };
116 }
117 
118 #endif /* KDGANTTGRAPHICSITEM_H */
119 
KDGantt::GraphicsItem::mousePressEvent
void mousePressEvent(QGraphicsSceneMouseEvent *)
Definition: kdganttgraphicsitem.cpp:416
KDGantt::GraphicsItem::updateItem
void updateItem(const Span &rowgeometry, const QPersistentModelIndex &idx)
Definition: kdganttgraphicsitem.cpp:276
KDGantt::GraphicsItem::GraphicsItem
GraphicsItem(QGraphicsItem *parent=0, GraphicsScene *scene=0)
Definition: kdganttgraphicsitem.cpp:70
KDGantt::GraphicsItem::setBoundingRect
void setBoundingRect(const QRectF &r)
Definition: kdganttgraphicsitem.cpp:160
KDGantt::GraphicsItem::removeStartConstraint
void removeStartConstraint(ConstraintGraphicsItem *)
Definition: kdganttgraphicsitem.cpp:248
kdganttglobal.h
QGraphicsItem
QWidget
KDGantt::GraphicsItem::index
const QPersistentModelIndex & index() const
Definition: kdganttgraphicsitem.h:66
kdganttstyleoptionganttitem.h
KDGantt::GraphicsItem::hoverMoveEvent
void hoverMoveEvent(QGraphicsSceneHoverEvent *)
Definition: kdganttgraphicsitem.cpp:377
KDGantt::GraphicsItem::Type
Definition: kdganttgraphicsitem.h:44
KDGantt::GraphicsScene
Definition: kdganttgraphicsscene.h:48
KDGantt::GraphicsItem::type
int type() const
Definition: kdganttgraphicsitem.cpp:99
KDGantt::GraphicsItem::boundingRect
QRectF boundingRect() const
Definition: kdganttgraphicsitem.cpp:208
KDGantt::GraphicsItem::hoverLeaveEvent
void hoverLeaveEvent(QGraphicsSceneHoverEvent *)
Definition: kdganttgraphicsitem.cpp:409
KDGantt::GraphicsItem::mouseReleaseEvent
void mouseReleaseEvent(QGraphicsSceneMouseEvent *)
Definition: kdganttgraphicsitem.cpp:434
KDGantt::Span
A class representing a start point and a length.
Definition: kdganttglobal.h:220
KDGantt::GraphicsItem::removeEndConstraint
void removeEndConstraint(ConstraintGraphicsItem *)
Definition: kdganttgraphicsitem.cpp:255
KDGantt::GraphicsItem::isEditable
bool isEditable() const
Definition: kdganttgraphicsitem.cpp:167
KDGantt::GraphicsItem::mouseDoubleClickEvent
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *)
Definition: kdganttgraphicsitem.cpp:474
KDGantt::GraphicsItem::startConstraints
QList< ConstraintGraphicsItem * > startConstraints() const
Definition: kdganttgraphicsitem.h:76
KDGantt::GraphicsItem::focusInEvent
void focusInEvent(QFocusEvent *event)
Definition: kdganttgraphicsitem.cpp:339
KDGantt::GraphicsItem::~GraphicsItem
virtual ~GraphicsItem()
Definition: kdganttgraphicsitem.cpp:83
KDGantt::GraphicsItem::addEndConstraint
void addEndConstraint(ConstraintGraphicsItem *)
Definition: kdganttgraphicsitem.cpp:240
KDGantt::GraphicsItem::mouseMoveEvent
void mouseMoveEvent(QGraphicsSceneMouseEvent *)
Definition: kdganttgraphicsitem.cpp:515
KDGantt::GraphicsItem::scene
GraphicsScene * scene() const
Definition: kdganttgraphicsitem.cpp:140
KDGantt::GraphicsItem::addStartConstraint
void addStartConstraint(ConstraintGraphicsItem *)
Definition: kdganttgraphicsitem.cpp:232
KDGantt::ConstraintGraphicsItem
Definition: kdganttconstraintgraphicsitem.h:35
KDGantt::GraphicsItem::ganttToolTip
virtual QString ganttToolTip() const
Definition: kdganttgraphicsitem.cpp:190
KDGantt::GraphicsItem::setIndex
void setIndex(const QPersistentModelIndex &idx)
Definition: kdganttgraphicsitem.cpp:184
KDGantt::GraphicsItem::paint
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: kdganttgraphicsitem.cpp:172
KDGantt::StyleOptionGanttItem
QStyleOption subclass for gantt items.
Definition: kdganttstyleoptionganttitem.h:36
KDGantt::GraphicsItem::setRect
void setRect(const QRectF &r)
Definition: kdganttgraphicsitem.cpp:145
KDGantt::GraphicsItem::itemChange
QVariant itemChange(GraphicsItemChange, const QVariant &value)
Definition: kdganttgraphicsitem.cpp:313
KDGantt::GraphicsItem
Definition: kdganttgraphicsitem.h:42
KDGantt::GraphicsItem::rect
QRectF rect() const
Definition: kdganttgraphicsitem.h:60
KDGantt::GraphicsItem::isUpdating
bool isUpdating() const
Definition: kdganttgraphicsitem.h:70
KDGantt::GraphicsItem::endConstraints
QList< ConstraintGraphicsItem * > endConstraints() const
Definition: kdganttgraphicsitem.h:77
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:55:05 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kdgantt2

Skip menu "kdgantt2"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

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