# -*- coding: utf-8 -*-

"""
Module implementing IVDButton.
"""

from PyQt4.QtGui import QWidget
from PyQt4.QtCore import pyqtSignature
from PyQt4 import QtCore,  QtGui

from Ui_IVDButton import Ui_Form

class IVDButton(QWidget, Ui_Form):
    """
    Class documentation goes here.
    """
    __pyqtSignals__ = ("clicked()")
    
    
    def __init__(self, parent = None):
        """
        Constructor
        """
        QWidget.__init__(self, parent)
        self.setupUi(self)
        
        self.buttonUpImage = "empty-square-button.png"
        self.buttonDownImage = "empty-square-button-P.png"
        self.drawButton()


    def drawButton(self,  up = True):
        if( up ):
            stylestring = "background-image: url(:/IVD/images/%s);\n border-width: 0px;\n border-style: none;" % self.buttonUpImage
        else:
            stylestring = "background-image: url(:/IVD/images/%s);\n border-width: 0px;\n border-style: none;" % self.buttonDownImage
        self.pushButton.setStyleSheet(QtGui.QApplication.translate("Form", stylestring, None, QtGui.QApplication.UnicodeUTF8))
        
        
    def resizeEvent(self, ev):
        self.pushButton.resize( self.size() )


    @pyqtSignature("")
    def on_pushButton_pressed(self):
        self.drawButton(False)
    
    @pyqtSignature("")
    def on_pushButton_released(self):
        self.drawButton(True)
    
    @pyqtSignature("bool")
    def on_pushButton_clicked(self, checked):
        self.emit(QtCore.SIGNAL("clicked()"))
    
    def getButtonUpImage(self):
        return self.buttonUpImage

    def setButtonUpImage(self, value):
        if value != self.buttonUpImage:
            self.buttonUpImage = value
            self.drawButton()
            
    def resetButtonUpImage(self, value):
        self.buttonUpImage = "empty-square-button.png"
        self.drawButton()


    def getButtonDownImage(self):
        return self.buttonDownImage

    def setButtonDownImage(self, value):
        if value != self.buttonUpImage:
            self.buttonUpImage = value
            self.drawButton()

    def resetButtonDownImage(self, value):
        self.buttonDownImage = "empty-square-button-P.png"
        self.drawButton()

    ButtonUpImage = QtCore.pyqtProperty("string", getButtonUpImage, setButtonUpImage, resetButtonUpImage)
    ButtonDownImage = QtCore.pyqtProperty("string", getButtonDownImage, setButtonDownImage, resetButtonDownImage)

import AirconResource_rc

if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    ui = IVDButton()
    ui.show()
    sys.exit(app.exec_())
    
    
