IOT  0.5
I Only Think
AbstractItem.h
Go to the documentation of this file.
00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
00002 
00003 /* IOT Copyright (C) 2010 CEG development team
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License version 2
00007  * as published by the Free Software Foundation.
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00017  *
00018  * Authors: CEG <ceg@ionlythink.com>, http://www.ionlythink.com
00019  */
00020 
00021 #ifndef ABSTRACTITEM_H
00022 #define ABSTRACTITEM_H
00023 
00024 #include <QGraphicsRectItem>
00025 
00026 class Box;
00027 class BoxStyle;
00028 class IAction;
00029 
00037 class AbstractItem : public QGraphicsRectItem
00038 {
00039 public:
00040     AbstractItem(Box const * box, QGraphicsItem * parent = 0);
00041 
00042     Box const * getBox() const;
00043     IAction *           getEvent() const; // Donne l'action a effectue lorsque l'item est selectionne (Key = Enter)
00044 
00045 protected:
00046     virtual void        focusInEvent(QFocusEvent * event);
00047     virtual void        focusOutEvent(QFocusEvent * event);
00048     virtual void        paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0);
00049     void                paintText(QPainter * painter, BoxStyle const & style);
00050     void                paintImage(QPainter * painter, BoxStyle const & style);
00051 
00052 protected:
00053     QString _color;
00054     Box const * _model; // Le modele de l'item dessine
00055 };
00056 
00057 #endif // ABSTRACTITEM_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator