Sophie

Sophie

distrib > Mandriva > 2011.0 > i586 > media > contrib-release-debug > by-pkgid > a682ed06b7e9c8d5c3b6ae729da2d8d5 > files > 72

freego-debug-4.5-1mdv2011.0.i586.rpm

/********************************************************************************************************
 * PROGRAM      : fgPlugins
 * DATE - TIME  : mardi 25 juillet 2006 - 18h57
 * AUTHOR       : Azevedo Filipe aka Nox PasNox ( pasnox@gmail.com )
 * FILENAME     : fgLabel.h
 * LICENSE      : GPL
 * COMMENTARY   : 
 ********************************************************************************************************/
#ifndef fgLabel_h
#define fgLabel_h
//
#include <QLabel>
#include <QPixmap>
#include <QVariant>
//
class QEvent;
class QMouseEvent;
//
class fgLabel : public QLabel
{
	Q_OBJECT
	//
public:
	Q_PROPERTY( bool autoResize READ autoResize WRITE setAutoResize )
	Q_PROPERTY( bool toggleButton READ toggleButton WRITE setToggleButton )
	Q_PROPERTY( bool toggled READ toggled WRITE setToggled )
	Q_PROPERTY( QVariant data READ data WRITE setData )
	Q_PROPERTY( QPixmap buttonNormalPixmap READ buttonNormalPixmap WRITE setButtonNormalPixmap )
	Q_PROPERTY( QPixmap buttonPushedPixmap READ buttonPushedPixmap WRITE setButtonPushedPixmap )
	Q_PROPERTY( QVariant buttonData READ buttonData WRITE setButtonData )
	Q_PROPERTY( bool buttonTransparent READ buttonTransparent WRITE setButtonTransparent )
	//
	fgLabel( QWidget* = 0 );
	//
	void setImage( const QPixmap& );
	bool autoResize() const;
	bool toggleButton() const;
	bool toggled() const;
	QVariant data() const;
	QPixmap buttonNormalPixmap() const;
	QPixmap buttonPushedPixmap() const;
	QVariant buttonData() const;
	bool buttonTransparent() const;
	//
public slots:
	void setAutoResize( const bool );
	void setToggleButton( const bool );
	void setToggled( const bool );
	void setData( const QVariant& );
	void setButtonNormalPixmap( const QPixmap& );
	void setButtonPushedPixmap( const QPixmap& );
	void setButtonData( const QVariant& );
	void setButtonTransparent( const bool );
	//
signals:
	void clicked();
	void clicked( const QVariant& );
	void clicked( const QString& );
	void clicked( const int );
	void mouseLeave();
	void mouseLeave( const QVariant& );
	void mouseLeave( const QString& );
	void mouseLeave( const int );
	void mouseEnter();
	void mouseEnter( const QVariant& );
	void mouseEnter( const QString& );
	void mouseEnter( const int );
	void toggled( bool );
	//
protected:
	virtual void mousePressEvent ( QMouseEvent* );
	virtual void mouseReleaseEvent( QMouseEvent* );
	virtual void enterEvent( QEvent* );
	virtual void leaveEvent( QEvent* );
	virtual void paintEvent( QPaintEvent* );
	//
private:
	bool _autoResize;
	bool _toggleButton;
	bool _toggled;
	QVariant _data;
	QPixmap _buttonNormalPixmap;
	QPixmap _buttonPushedPixmap;
	QVariant _buttonData;
	bool _buttonTransparent;
	//
};
//
#endif // fgLabel_h