/* * Copyright (C) 2006 * Siraj Razick * PhobosK * see Also AUTHORS * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License version 2 as * published by the Free Software Foundation * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef KBFX_PLASMA_CANVAS_ABSTRACT_ITEM_H #define KBFX_PLASMA_CANVAS_ABSTRACT_ITEM_H #include #include #include "kbfxplasmacanvasrtti.h" #include #include #include #include #include "kbfxdatasource.h" #include class KbfxPlasmaCanvasAbstractItem:public TQObject,public TQCanvasSprite { Q_OBJECT public: typedef enum {EXECUTABLE=0,SEPARATOR,INDEX,OTHER} Type; // typedef enum {RASTER=0,VECTOR,NATIVE} SkinMode; KbfxPlasmaCanvasAbstractItem ( TQCanvasPixmapArray * a, TQCanvas * canvas ); virtual ~KbfxPlasmaCanvasAbstractItem (); void setCurrent ( bool ); virtual Type type() { return m_type; } virtual void setType ( Type t ) { m_type = t;} TQString name() { if ( m_source != 0 ) return m_source->name(); else return TQString ( "Not Set" );}; void setSource ( KbfxDataSource src ); bool isCurrent(); virtual int height() { return m_height;} virtual int width() { return m_width;} virtual bool lookup ( TQString str ) {str = str ; return false;} virtual int rtti() const { return CANVASITEM;} virtual void draw ( TQPainter & pe ); virtual void drawContent ( TQPainter * pe ); virtual TQPixmap dragPixmap(); //Event Handling virtual void mousePressEvent ( TQMouseEvent * e ); virtual void mouseMoveEvent ( TQMouseEvent * e ); virtual void enterEvent ( TQEvent * e ); virtual void mouseReleaseEvent ( TQMouseEvent * e ); virtual void setLabelText ( TQString s ); public slots: virtual void hideit(); virtual void exec(); signals: void clicked(); void leave(); void selected ( KbfxPlasmaCanvasAbstractItem* ); private: // KbfxPlasmaCanvasAbstractItem (const KbfxPlasmaCanvasItem &t); KbfxDataSource * m_source; Type m_type; int m_height; int m_width; bool m_current; } ;//C.G #endif //M.I.G