/[ascend]/trunk/pygtk/diagnose.py
ViewVC logotype

Diff of /trunk/pygtk/diagnose.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 284 by johnpye, Thu Feb 9 03:02:44 2006 UTC revision 285 by johnpye, Thu Feb 9 04:21:30 2006 UTC
# Line 11  MAX_ZOOM_SIZE = 2000 Line 11  MAX_ZOOM_SIZE = 2000
11  MAX_ZOOM_RATIO = 16  MAX_ZOOM_RATIO = 16
12    
13  class DiagnoseWindow:  class DiagnoseWindow:
14      def __init__(self,GLADE_FILE,browser):      def __init__(self,GLADE_FILE,browser,block=0):
15          self.browser=browser          self.browser=browser
16          _xml = gtk.glade.XML(GLADE_FILE,"diagnosewin")          _xml = gtk.glade.XML(GLADE_FILE,"diagnosewin")
17          _xml.signal_autoconnect(self)            _xml.signal_autoconnect(self)  
# Line 35  class DiagnoseWindow: Line 35  class DiagnoseWindow:
35          self.relbuf = gtk.TextBuffer()          self.relbuf = gtk.TextBuffer()
36          self.relview.set_buffer(self.relbuf)          self.relview.set_buffer(self.relbuf)
37    
38            self.block = 0
39          self.prepare_data()          self.prepare_data()
40          self.fill_values(0) # block zero          self.fill_values(block) # block zero
41    
42      def run(self):      def run(self):
43          self.window.run()          self.window.run()
# Line 52  class DiagnoseWindow: Line 53  class DiagnoseWindow:
53          self.zoom=1;          self.zoom=1;
54            
55      def fill_values(self, block):      def fill_values(self, block):
         print "FILL VALUES for block %d" % block  
56          try:          try:
57              rl,cl,rh,ch = self.im.getBlockLocation(block)              rl,cl,rh,ch = self.im.getBlockLocation(block)
58          except IndexError:          except IndexError:
59              print "invalid block"              self.blockentry.set_text(str(self.block))
60              return              return
61            except RuntimeError:
62                self.blockentry.set_text(str(self.block))
63                return
64    
65          self.block = block          self.block = block
66          self.blockentry.set_text(str(block))          self.blockentry.set_text(str(block))
67    
# Line 75  class DiagnoseWindow: Line 79  class DiagnoseWindow:
79          pinkdot = [chr(255), chr(127), chr(127)]          pinkdot = [chr(255), chr(127), chr(127)]
80          skydot = [chr(127), chr(127), chr(255)]          skydot = [chr(127), chr(127), chr(255)]
81          bluedot = [chr(0), chr(0), chr(255)]          bluedot = [chr(0), chr(0), chr(255)]
82                    hotpinkdot = [chr(255), chr(47), chr(179)] # very big (+/-)
83            brightbluedot = [chr(71), chr(157), chr(255)] # very small (+/-)
84            greendot = [chr(87), chr(193), chr(70)] # close to 1
85            orangedot = [chr(255), chr(207), chr(61)] # 10-1000
86            bluegreendot = [chr(70), chr(221), chr(181)] # 0.001 - 0.1
87          for i in self.data:          for i in self.data:
88              if i.row < rl or i.row > rh or i.col < cl or i.col > ch:              if i.row < rl or i.row > rh or i.col < cl or i.col > ch:
89                  continue                  continue
# Line 87  class DiagnoseWindow: Line 95  class DiagnoseWindow:
95              rat = var.getValue() / var.getNominal()              rat = var.getValue() / var.getNominal()
96              if rat!=0:              if rat!=0:
97                  try:                  try:
98                      #print "SCALE i.col =",rat                      val = abs(rat)
99                      val = math.log(abs(rat));                      if abs(rat) > 1000:
100                      #print "LOG i.col =",val                          dot = hotpinkdot
101                      if val > 1:                      elif abs(rat) > 10:
102                          dot = reddot;                          dot = orangedot
103                      elif var < -1:                      elif abs(rat) < 0.001:
104                          dot = bluedot;                          dot = brightbluedot
105                      elif var > 0:                      elif abs(rat) < 10 and abs(rat) > 0.1:
106                          dot = pinkdot;                          dot = greendot
107                      elif var < 0:                      elif abs(rat) > 0.001 and abs(rat) < 0.1:
108                          dot = skydot;                          dot = bluegreendot
109                        else:
110                            dot = blackdot
111                  except ValueError, e:                  except ValueError, e:
112                      pass                      pass
113              #print "DOT: ",dot              #print "DOT: ",dot
# Line 173  class DiagnoseWindow: Line 183  class DiagnoseWindow:
183          self.relbuf.set_text(text)          self.relbuf.set_text(text)
184    
185      def set_block(self, block):      def set_block(self, block):
         self.block = block;  
186          self.fill_values(block)          self.fill_values(block)
187    
188      def set_zoom(self,zoom):      def set_zoom(self,zoom):

Legend:
Removed from v.284  
changed lines
  Added in v.285

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22