From cf566c824fea97ba8d0b06958b14f9ac77d5b88f Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 29 Feb 2012 00:22:43 +0000 Subject: [PATCH] Add ledbutton.py and bitmaps; fix qWarning usage --- src/digitalpeakmeter.py | 2 +- src/icons/bitmaps/led-big_off.png | Bin 0 -> 5366 bytes src/icons/bitmaps/led-big_on.png | Bin 0 -> 5851 bytes src/icons/bitmaps/led_blue.png | Bin 0 -> 735 bytes src/icons/bitmaps/led_green.png | Bin 0 -> 751 bytes src/icons/bitmaps/led_off.png | Bin 0 -> 751 bytes src/icons/bitmaps/led_red.png | Bin 0 -> 747 bytes src/icons/bitmaps/led_yellow.png | Bin 0 -> 744 bytes src/icons/icons.qrc | 7 +++ src/ledbutton.py | 94 ++++++++++++++++++++++++++++++ src/pixmapdial.py | 1 + src/pixmapkeyboard.py | 4 +- 12 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 src/icons/bitmaps/led-big_off.png create mode 100644 src/icons/bitmaps/led-big_on.png create mode 100644 src/icons/bitmaps/led_blue.png create mode 100644 src/icons/bitmaps/led_green.png create mode 100644 src/icons/bitmaps/led_off.png create mode 100644 src/icons/bitmaps/led_red.png create mode 100644 src/icons/bitmaps/led_yellow.png create mode 100644 src/ledbutton.py diff --git a/src/digitalpeakmeter.py b/src/digitalpeakmeter.py index f90bc2c..60bfc07 100644 --- a/src/digitalpeakmeter.py +++ b/src/digitalpeakmeter.py @@ -48,7 +48,7 @@ class DigitalPeakMeter(QWidget): def displayMeter(self, meter_n, level): if (meter_n < 0 or meter_n > self.m_channels): - qCritical("DigitalPeakMeter::displayMeter(%i, %f) - Invalid meter number", meter_n, level) + qCritical("DigitalPeakMeter::displayMeter(%i, %f) - Invalid meter number" % (meter_n, level)) return if (level < 0.0): diff --git a/src/icons/bitmaps/led-big_off.png b/src/icons/bitmaps/led-big_off.png new file mode 100644 index 0000000000000000000000000000000000000000..31e61308a03b1021fa896a7426b883d75cd661ec GIT binary patch literal 5366 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 Ud+a^=xc~qF07*qoM6N<$g6|(NmH+?% literal 0 HcmV?d00001 diff --git a/src/icons/bitmaps/led-big_on.png b/src/icons/bitmaps/led-big_on.png new file mode 100644 index 0000000000000000000000000000000000000000..88b7bf97984f044c2151ced51227c558b8a32e36 GIT binary patch literal 5851 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 literal 0 HcmV?d00001 diff --git a/src/icons/bitmaps/led_red.png b/src/icons/bitmaps/led_red.png new file mode 100644 index 0000000000000000000000000000000000000000..a952839cd67a9095cb5022dd8caa05052686113b GIT binary patch literal 747 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FZT01FZU(%pXi00007bV*G`2ipb` z06G(3YO`Me00L`CL_t(2&s~x`PgGG9h1Wh@F3R9=Rc3e^bw(H?G(aPd0W?Y=CR9fL z01XyYCKg7)%Eb5wj0QS`U_}VTSopw1O$I1zP(~gRMI-_v3^UBV=PU~ZA3NE}F1})C ztxxdRaEC`=<0NQ`AnG8rrzqB@R$R3*GAB8*w#TZy!%&A|u@>8Dp!>@622m@`mc1-j zFTb?XNezp&hB~~*3jpl6JZ_5@VQgZu{_MqD2awg?2wMSAuaWW6;P{*OFK**ZT`d)7 zm1Hd-;W3-qw3rXEqvv5iiz6`TKIo@eS|Gp7(|yp-I0AzgU_a&LM8HtDBs^vdUH3FH zX(#GC+}Q_z^|||Znq_$fm|F(m0ik1HVF1s&Z@lcoR%{~q;|X(f*A*=l3=%5c z-SQI1i6R86B5)x7j?S*I5c!sf0d}7P{JB8j2;j2;^*eB5fK&$XAA$#E_UoV^G4lA~ zr!|-jcXkOVD*}QAU}-T}Rty9SfRZA(vx``R*%}#nG!M!q40VLb&ALWd_lDra^uPeA z6QoX&CPnH5^}qm!;KUkX-(_m2&QM3d#Z{Zyv@kv$XhY7}Ae^bpwVUL-33_i{F>~!E z2jNV$A!m&7=|6Ss3!qrR_|#NWr2cvyq}@T50~l<8KewRAUwwFcM^4q$WQ=^w$(F@^ zPmRlRdTuLIo7JYb$JYdjHbJ7Mx5vkHvX1NeFku3sP2O&NDhW~FcCbBn dKz!?a>@Sd7H8WVNHKPCk002ovPDHLkV1iZZL8Jfx literal 0 HcmV?d00001 diff --git a/src/icons/bitmaps/led_yellow.png b/src/icons/bitmaps/led_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..280d904ed9ebd2dc9d3c4021730cfeab5ded87c5 GIT binary patch literal 744 zcmVP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FZT01FZU(%pXi00007bV*G`2ipb` z05>X%!9^MX00L-9L_t(2&s~zwOOtUN$KT)Yo@aATx8aYa43QkRV)I}NUAXD65Y0m; z!;=U908c`FVK+)WUiDTgVD{nVtj&s?rtjpemRk_tiBVo+zuj$szya`2Um(t_Sbdw>eB4O! zm}1y-FvlTEMbb&h)T!EP9v;BE>?RDmvOtzPB#REnt}IY?6UN;n-jr#hRgz4Vill?c zzAnj(C;IVh&A_^}Uy!oqNEN3@m8VEqb0qEOv}RyE(TAs!%(x^K<_bJep~c-m6GkIF z$stDH0SKU>3#jV?Ai(Gtk)GsGpc&&8THFQb3g?RXCda2kejmJnU=&jCfUS4J=E2|5 zJ0SHS0>LQ!K6od`r$Y?zX~YQtAOry23yCJ!a9%20!2t^{?uD?RF6JPhXe__{mMfrO z7xy6028k93YKKkjkZ6HI8|=~^as`xLEgJ`nU~+(+xY@*wf{E31dMV=;S!jr&o<-nc z5on0QEwV_bmokMCUe~MpVa3=nsC?ukB~vEtw2r2*V$5UP%FmKT8+0x{l9it&V;(TxBmCe%p@`E`1*SBHxo{q@uq z-HPlHo6O$4n(+)KkQ_`PnO8F&LFE`JIU-4Q|D)W0l7|$il|eTA>95Sdf1E+?dzhB5 avA+Og+(9)HelQ;Z0000bitmaps/kbd_h_orange.png bitmaps/kbd_v_classic.png bitmaps/kbd_v_orange.png + bitmaps/led_off.png + bitmaps/led_blue.png + bitmaps/led_green.png + bitmaps/led_red.png + bitmaps/led_yellow.png + bitmaps/led-big_on.png + bitmaps/led-big_off.png diff --git a/src/ledbutton.py b/src/ledbutton.py new file mode 100644 index 0000000..dd50abf --- /dev/null +++ b/src/ledbutton.py @@ -0,0 +1,94 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +# Pixmap Button, a custom Qt4 widget +# Copyright (C) 2012 Filipe Coelho +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# any later version. +# +# 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. +# +# For a full copy of the GNU General Public License see the COPYING file + +# Imports (Global) +from PyQt4.QtCore import qCritical, QRectF +from PyQt4.QtGui import QPainter, QPixmap, QPushButton + +# Imports (Custom Stuff) +import icons_rc + +# Widget Class +class LEDButton(QPushButton): + + BLUE = 1 + GREEN = 2 + RED = 3 + YELLOW = 4 + BIG_RED = 5 + + def __init__(self, parent): + QPushButton.__init__(self, parent) + + self.m_pixmap = QPixmap() + self.m_pixmap_rect = QRectF(0, 0, 0, 0) + + self.setCheckable(True) + self.setText("") + + self.setColor(self.BLUE) + + from PyQt4.QtCore import QTimer + QTimer.singleShot(3000, self.close) + + def setColor(self, color): + self.m_color = color + + if (color in (self.BLUE, self.GREEN, self.RED, self.YELLOW)): + size = 14 + elif (color == self.BIG_RED): + size = 64 + else: + qCritical("LEDButton::setColor(%i) - Invalid color" % (color)) + return + + self.setPixmapSize(size) + + def setPixmapSize(self, size): + self.m_pixmap_rect = QRectF(0, 0, size, size) + + self.setMinimumWidth(size) + self.setMaximumWidth(size) + self.setMinimumHeight(size) + self.setMaximumHeight(size) + + def paintEvent(self, event): + painter = QPainter(self) + + if (self.isChecked()): + if (self.m_color == self.BLUE): + self.m_pixmap.load(":/bitmaps/led_blue.png") + elif (self.m_color == self.GREEN): + self.m_pixmap.load(":/bitmaps/led_green.png") + elif (self.m_color == self.RED): + self.m_pixmap.load(":/bitmaps/led_red.png") + elif (self.m_color == self.YELLOW): + self.m_pixmap.load(":/bitmaps/led_yellow.png") + elif (self.m_color == self.BIG_RED): + self.m_pixmap.load(":/bitmaps/led-big_on.png") + else: + return + else: + if (self.m_color in (self.BLUE, self.GREEN, self.RED, self.YELLOW)): + self.m_pixmap.load(":/bitmaps/led_off.png") + elif (self.m_color == self.BIG_RED): + self.m_pixmap.load(":/bitmaps/led-big_off.png") + else: + return + + painter.drawPixmap(self.m_pixmap_rect, self.m_pixmap, self.m_pixmap_rect) diff --git a/src/pixmapdial.py b/src/pixmapdial.py index f603fd2..de65bc2 100644 --- a/src/pixmapdial.py +++ b/src/pixmapdial.py @@ -25,6 +25,7 @@ import icons_rc # Widget Class class PixmapDial(QDial): + HORIZONTAL = 0 VERTICAL = 1 diff --git a/src/pixmapkeyboard.py b/src/pixmapkeyboard.py index 26165c1..0c6a6b1 100644 --- a/src/pixmapkeyboard.py +++ b/src/pixmapkeyboard.py @@ -142,7 +142,7 @@ class PixmapKeyboard(QWidget): elif (color == self.COLOR_ORANGE): self.m_colorStr = "orange" else: - qCritical("PixmapKeyboard::setMode(%i, %i) - Invalid keyboard color", mode, color) + qCritical("PixmapKeyboard::setMode(%i, %i) - Invalid keyboard color" % (mode, color)) self.setMode(mode) return @@ -159,7 +159,7 @@ class PixmapKeyboard(QWidget): self.p_width = self.m_pixmap.width()/2 self.p_height = self.m_pixmap.height() else: - qCritical("PixmapKeyboard::setMode(%i, %i) - Invalid keyboard mode", mode, color) + qCritical("PixmapKeyboard::setMode(%i, %i) - Invalid keyboard mode" % (mode, color)) self.setMode(self.HORIZONTAL) return