|
|
|
/*
|
|
|
|
* Copyright (C) 2006
|
|
|
|
* Siraj Razick <siraj@kdemail.net>
|
|
|
|
* PhobosK <phobosk@mail.kbfx.org>
|
|
|
|
* 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 <tqcanvas.h>
|
|
|
|
#include <tqpainter.h>
|
|
|
|
#include "kbfxplasmacanvasrtti.h"
|
|
|
|
#include <tqtimer.h>
|
|
|
|
#include <kdesktopfile.h>
|
|
|
|
#include <kstandarddirs.h>
|
|
|
|
#include <kiconloader.h>
|
|
|
|
#include "kbfxdatasource.h"
|
|
|
|
#include <krun.h>
|
|
|
|
|
|
|
|
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
|
|
|
|
|