You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.7 KiB
54 lines
1.7 KiB
15 years ago
|
#ifndef KJWIDGET_H
|
||
|
#define KJWIDGET_H
|
||
|
|
||
|
#include "kjloader.h"
|
||
|
|
||
|
class KJWidget
|
||
|
{
|
||
|
public:
|
||
|
KJWidget(KJLoader *);
|
||
|
virtual ~KJWidget() {};
|
||
|
// called when the widget should paint
|
||
|
virtual void paint(QPainter *, const QRect &) {};
|
||
|
// called to receive the rect this widget is in
|
||
|
virtual QRect rect() const { return mRect; }
|
||
|
// called when pressed in this widget
|
||
|
virtual bool mousePress(const QPoint &) {return false; }
|
||
|
// called when the mouse is released after clicked in this widget
|
||
|
virtual void mouseRelease(const QPoint &, bool){}
|
||
|
virtual void mouseMove(const QPoint &, bool) {}
|
||
|
// called with the current time (mille)
|
||
|
virtual void timeUpdate(int) {}
|
||
|
// called when a new song is playing, player() is ready with it too
|
||
|
virtual void newFile() {}
|
||
|
// called when config-entries have to be read, is a TODO for most widgets
|
||
|
virtual void readConfig() {}
|
||
|
|
||
|
// called when the mouse is moved while clicked in this widget
|
||
|
// repaint myself
|
||
|
virtual void repaint(bool me=true, const QRect &rect=QRect(), bool clear=false);
|
||
|
|
||
|
virtual QString tip() { return 0; }
|
||
|
|
||
|
public:
|
||
|
static QBitmap getMask(const QImage &color, register QRgb=qRgb(255,0,255));
|
||
|
|
||
|
protected:
|
||
|
const QString &backgroundPressed(const QString &bmp) const;
|
||
|
KJLoader *parent() const {return mParent;}
|
||
|
KJLoader &parser() const {return *mParent;}
|
||
|
|
||
|
KJFont &textFont() const {return *mParent->mText;}
|
||
|
KJFont &timeFont() const {return *mParent->mNumbers;}
|
||
|
KJFont &volumeFont() const {return *mParent->mVolumeFont;}
|
||
|
KJFont &pitchFont() const {return *mParent->mPitchFont;}
|
||
|
|
||
|
void setRect(const QRect& rect) {mRect=rect;}
|
||
|
void setRect(int x, int y, int xs, int ys) {mRect=QRect(x,y,xs,ys);}
|
||
|
private:
|
||
|
KJLoader *mParent;
|
||
|
QRect mRect;
|
||
|
};
|
||
|
|
||
|
#endif
|