#ifndef ABSTRACTGROUPITEM
#define ABSTRACTGROUPITEM
-#include <QGraphicsItemGroup>
#include "definitions.h"
#include "gentime.h"
+#include <QGraphicsItemGroup>
+#include <QGraphicsSceneMouseEvent>
+
class CustomTrackScene;
+class QGraphicsSceneMouseEvent;
-class AbstractGroupItem : public QObject , public QGraphicsItemGroup {
+class AbstractGroupItem : public QObject , public QGraphicsItemGroup
+{
Q_OBJECT
public:
AbstractGroupItem(double fps);
virtual int type() const;
CustomTrackScene* projectScene();
void addItem(QGraphicsItem * item);
- const int track() const;
+ int track() const;
+ QPainterPath clipGroupShape(QPointF offset) const;
+ QPainterPath transitionGroupShape(QPointF offset) const;
+ void setItemLocked(bool locked);
+ bool isItemLocked() const;
+ // ItemInfo info() const;
protected:
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
+ virtual void dragEnterEvent(QGraphicsSceneDragDropEvent *event);
+ virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent *event);
+ virtual void dropEvent(QGraphicsSceneDragDropEvent *event);
+ virtual void mousePressEvent(QGraphicsSceneMouseEvent * event);
private:
- QPainterPath groupShape(QPointF);
void fixItemRect();
- double m_fps;
+ QPainterPath groupShape(GRAPHICSRECTITEM type, QPointF offset) const;
};
#endif