add more spacing
[personal-kdebase.git] / workspace / krunner / interfaces / quicksand / qs_matchitem.h
blob6280e8b0453ce9536f548410c8b19c29825e15be
1 /*
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>
24 #include <QIcon>
26 class QGraphicsItemAnimation;
27 class QGraphicsSceneMouseEvent;
29 namespace QuickSand
31 // Deriving directly from QGraphicsItem causes crashes when animating
32 class MatchItem : public QGraphicsWidget
34 Q_OBJECT
35 public:
36 MatchItem(const QIcon &icon, const QString &name, const QString &desc = QString(), QGraphicsWidget *parent = 0);
37 ~MatchItem();
39 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
41 QString id() const
43 return m_id;
45 QString name() const
47 return m_name;
49 QString description() const
51 return m_desc;
53 QIcon icon() const
55 return m_icon;
57 QColor backgroundColor() const
59 return m_bgColor;
61 void setBackgroundColor(const QColor &color)
63 m_bgColor = color;
66 /**
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;
73 signals:
74 void activated(MatchItem *item);
75 private:
76 void mousePressEvent(QGraphicsSceneMouseEvent *e);
78 QGraphicsItemAnimation *m_anim;
79 QIcon m_icon;
80 QString m_id;
81 QString m_name;
82 QString m_desc;
83 QColor m_bgColor;
87 #endif