/src/libtomahawk/widgets/ImageButton.h
C Header | 58 lines | 26 code | 13 blank | 19 comment | 0 complexity | d4b896fb75a3cf1aff6f2c2b0dcf4995 MD5 | raw file
1/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> === 2 * 3 * Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org> 4 * Copyright 2010-2011, Jeff Mitchell <jeff@tomahawk-player.org> 5 * 6 * Tomahawk is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * Tomahawk is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with Tomahawk. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20#ifndef IMAGE_BUTTON_H 21#define IMAGE_BUTTON_H 22 23#include "DllMacro.h" 24 25#include <QAbstractButton> 26#include <QIcon> 27#include <QMap> 28 29class DLLEXPORT ImageButton : public QAbstractButton 30{ 31Q_OBJECT 32 33public: 34 /** this pixmap becomes the rest state pixmap and defines the size of the eventual widget */ 35 explicit ImageButton( QWidget* parent = 0 ); 36 explicit ImageButton( const QPixmap& pixmap, QWidget* parent = 0 ); 37 explicit ImageButton( const QString& path, QWidget* parent = 0 ); 38 39 void setPixmap( const QString& path ); 40 void setPixmap( const QPixmap& pixmap ); 41 42 void setPixmap( const QString&, const QIcon::State, QIcon::Mode = QIcon::Normal ); 43 void setPixmap( const QPixmap&, const QIcon::State, QIcon::Mode = QIcon::Normal ); 44 45 void clear(); 46 47 virtual QSize sizeHint() const { return m_sizeHint; } 48 49protected: 50 virtual void paintEvent( QPaintEvent* event ); 51 52private: 53 void init( const QPixmap& ); 54 55 QSize m_sizeHint; 56}; 57 58#endif //IMAGE_BUTTON_H