2 * Copyright (C) 2007-2008 Ryan P. Bitanga <ryan.bitanga@gmail.com>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the
16 * Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA .
20 #ifndef QS_MATCHITEM_H
21 #define QS_MATCHITEM_H
23 #include <QGraphicsWidget>
26 class QGraphicsItemAnimation
;
27 class QGraphicsSceneMouseEvent
;
31 // Deriving directly from QGraphicsItem causes crashes when animating
32 class MatchItem
: public QGraphicsWidget
36 MatchItem(const QIcon
&icon
, const QString
&name
, const QString
&desc
= QString(), QGraphicsWidget
*parent
= 0);
39 void paint(QPainter
*painter
, const QStyleOptionGraphicsItem
*option
, QWidget
*widget
= 0);
49 QString
description() const
57 QColor
backgroundColor() const
61 void setBackgroundColor(const QColor
&color
)
67 * @param create delete the current animation and create a new one
68 * @return the animation associated with this item
70 QGraphicsItemAnimation
* anim(bool create
= false);
72 static const int ITEM_SIZE
= 64;
74 void activated(MatchItem
*item
);
76 void mousePressEvent(QGraphicsSceneMouseEvent
*e
);
78 QGraphicsItemAnimation
*m_anim
;