summaryrefslogtreecommitdiffstats
path: root/src/kbfxspinxtoolbutton.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kbfxspinxtoolbutton.h')
-rw-r--r--src/kbfxspinxtoolbutton.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/kbfxspinxtoolbutton.h b/src/kbfxspinxtoolbutton.h
new file mode 100644
index 0000000..2c3d9bf
--- /dev/null
+++ b/src/kbfxspinxtoolbutton.h
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2006
+ * Siraj Razick <[email protected]>
+ * PhobosK <[email protected]>
+ * 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_SPINX_TOOL_BUTTON_H
+#define KBFX_SPINX_TOOL_BUTTON_H
+
+#include <qcursor.h>
+#include <qimage.h>
+#include <qlabel.h>
+#include <qpainter.h>
+#include <qpixmap.h>
+#include <qtimer.h>
+#include <qtoolbutton.h>
+#include <qwidget.h>
+
+#include <kiconloader.h>
+#include <kimageeffect.h>
+#include <krun.h>
+
+#include <kbfxconfig.h>
+#include <kbfxdatagroup.h>
+#include <kbfxdatasource.h>
+#include <kbfxplasmapixmapprovider.h>
+
+class KbfxSpinxToolButton:public QLabel
+{
+
+ Q_OBJECT
+ public:
+ typedef enum{SINGLE=0,EXPANDABLE} ButtonType;
+
+ KbfxSpinxToolButton ( QWidget * parent = 0, const char * name = 0 );
+ virtual ~KbfxSpinxToolButton();
+ virtual void paintEvent ( QPaintEvent * pe );
+
+ virtual void enterEvent ( QEvent * e );
+ virtual void leaveEvent ( QEvent * l );
+ virtual void mouseReleaseEvent ( QMouseEvent * me );
+ /*
+ virtual void mousePressEvent(QMouseEvent * me);
+ */
+ void setDataSource ( KbfxDataSource * src );
+// void setDataGroup(KbfxDataGroup * gsrc);
+ void setName ( QString name ) {m_name =name;}
+ void setExec ( QString cmd ) { m_exe = cmd;}
+ void setType ( KbfxSpinxToolButton::ButtonType type ) { m_type = type;}
+ void setIcon ( QString path );
+ void setPixmaps ( QPixmap , QPixmap );
+
+ public slots:
+ void fade();
+
+ signals:
+ void clicked();
+ private:
+ QString m_name;
+ QString m_exe;
+ QString m_icon;
+ QString m_tooltip;
+
+ QPixmap m_normal;
+ QPixmap m_pressed;
+ QPixmap m_hover;
+ QPixmap m_current;
+ QPixmap m_iconPixmap;
+ KbfxDataSource * m_dataSource;
+ KbfxDataGroup * m_dataGroup;
+ ButtonType m_type;
+ bool m_statePressed;
+ QTimer * fade_timer;
+ float m_opacity;
+ QPixmap m_fadePix;
+ int m_fadeTime;
+};
+
+#endif