00001 # -*- coding: utf-8 -*- 00002 #!/usr/local/bin/python 00003 # 00004 # Copyright 2003 00005 # by 00006 # The Board of Trustees of the 00007 # Leland Stanford Junior University. 00008 # All rights reserved. 00009 # 00010 00011 __facility__ = "Online" 00012 __abstract__ = "GLAST Online ACD Event Display" 00013 __author__ = "A. Kavelaars <aliciak@SLAC.Stanford.edu> SLAC - GLAST LAT I&T/Online" 00014 __date__ = "12/12/2003" 00015 __version__ = "$Revision: 1.9 $" 00016 __credits__ = "SLAC" 00017 00018 import LATTE.copyright_SLAC 00019 import sys, string 00020 import operator, math 00021 from qt import * 00022 from GOSEDACD import ACDSingleEvtDisplay 00023 import colorScale 00024 00025 class ACDSingleEvtDisplayImpl(ACDSingleEvtDisplay): 00026 00027 def __init__(self, preferences, parent = None,name = None,fl = 0): 00028 ACDSingleEvtDisplay.__init__(self,parent,name,fl) 00029 00030 self.__preferences = preferences 00031 00032 self.rainbowScaleACD.setMinimumWidth(440) 00033 self.rainbowScaleACD.setMinimumHeight(15) 00034 self.rainbowScaleACD.setMaximumWidth(440) 00035 self.rainbowScaleACD.setMaximumHeight(15) 00036 self.rainbowScaleACD.setEnabled(0) 00037 00038 # ATK-051111: Implemeneted in GOSEDPainter instead. 00039 #~ self.rainbowPixmap = QPixmap(440, 15) 00040 #~ p = QPainter(self.rainbowPixmap) 00041 00042 #~ minV = 1.0e-15 00043 #~ maxV = 1.0 - minV 00044 #~ value = minV 00045 00046 # Divide length of the frame (400) in intervals of 1 00047 #~ dV = (maxV - minV) / float(self.rainbowScaleACD.width()) 00048 #~ tileWidth = 1 00049 #~ tileHeight = 15 00050 #~ for i in range(0, self.rainbowScaleACD.width()): 00051 #~ r, g, b = colorScale.colorScale(value) 00052 #~ p.setBrush(QColor(r, g, b)) 00053 #~ p.setPen(QColor(r, g, b)) 00054 #~ p.drawRect(i*tileWidth, 0, 00055 #~ (i + 1)*tileWidth, tileHeight 00056 #~ ) 00057 #~ value += dV 00058 00059 self.relabel() 00060 00061 #~ self.paintBackground() 00062 00063 def relabel(self): 00064 minValue = self.__preferences.minACD() 00065 maxValue = self.__preferences.maxACD() 00066 00067 interval = (maxValue - minValue)/5 00068 00069 self.redLbl.setText(str(minValue)) 00070 self.orangeLbl.setText(str(minValue + 1*interval)) 00071 self.yellowLbl.setText(str(minValue + 2*interval)) 00072 self.greenLbl.setText(str(minValue + 3*interval)) 00073 self.blueLbl.setText(str(minValue + 4*interval)) 00074 self.violetLbl.setText(str(maxValue)) 00075 00076 # ATK-051111: Implemeneted in GOSEDPainter instead. 00077 #~ def paintEvent(self, pe): 00078 #~ """ Paint Event function for the rainbow scale 00079 #~ \param pe paint event 00080 #~ """ 00081 00082 #~ self.paintBackground() 00083 00084 #~ def paintBackground(self): 00085 #~ bitBlt(self.rainbowScaleACD, 0 , 0, self.rainbowPixmap, 0, 0) 00086 00087 if __name__ == "__main__": 00088 a = QApplication(sys.argv) 00089 QObject.connect(a,SIGNAL("lastWindowClosed()"),a,SLOT("quit()")) 00090 w = ACDSingleEvtDisplayImpl() 00091 a.setMainWidget(w) 00092 w.show() 00093 a.exec_loop()