[Avida-cvs] [avida-svn] r755 - branches/developers/avida-edward/source/python/AvidaGui2

avidaedward@myxo.css.msu.edu avidaedward at myxo.css.msu.edu
Mon Jun 19 10:37:20 PDT 2006


Author: avidaedward
Date: 2006-06-19 13:37:19 -0400 (Mon, 19 Jun 2006)
New Revision: 755

Modified:
   branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView2.py
Log:

- Organism Scope: added label tabs to heads.



Modified: branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView2.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView2.py	2006-06-19 17:03:08 UTC (rev 754)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyOrganismScopeView2.py	2006-06-19 17:37:19 UTC (rev 755)
@@ -291,22 +291,73 @@
         self.m_ihead_item.setSize(text_height + 6, text_height + 6)
         self.m_ihead_item.setZ(1.)
         self.m_ihead_item.setBrush(QBrush(Qt.blue))
+
+        self.m_ihead_bg_item = QCanvasEllipse(self.m_canvas)
+        self.m_ihead_bg_item.setSize(text_height + 6, text_height + 6)
+        self.m_ihead_bg_item.setZ(4.)
+        self.m_ihead_bg_item.setBrush(QBrush(Qt.white))
+
+        self.m_ihead_text = QCanvasText(self.m_canvas)
+        self.m_ihead_text.setFont(font)
+        self.m_ihead_text.setColor(Qt.blue)
+        self.m_ihead_text.setTextFlags(Qt.AlignCenter)
+        self.m_ihead_text.setText("i")
+        self.m_ihead_text.setZ(5.)
+
       if self.m_frames.m_rhead_info is not None:
         self.m_rhead_item = QCanvasEllipse(self.m_canvas)
         self.m_rhead_item.setSize(text_height + 6, text_height + 6)
         self.m_rhead_item.setZ(1.)
         self.m_rhead_item.setBrush(QBrush(Qt.green))
+
+        self.m_rhead_bg_item = QCanvasEllipse(self.m_canvas)
+        self.m_rhead_bg_item.setSize(text_height + 6, text_height + 6)
+        self.m_rhead_bg_item.setZ(4.)
+        self.m_rhead_bg_item.setBrush(QBrush(Qt.white))
+
+        self.m_rhead_text = QCanvasText(self.m_canvas)
+        self.m_rhead_text.setFont(font)
+        self.m_rhead_text.setColor(Qt.green)
+        self.m_rhead_text.setTextFlags(Qt.AlignCenter)
+        self.m_rhead_text.setText("r")
+        self.m_rhead_text.setZ(5.)
+
       if self.m_frames.m_whead_info is not None:
         self.m_whead_item = QCanvasEllipse(self.m_canvas)
         self.m_whead_item.setSize(text_height + 6, text_height + 6)
         self.m_whead_item.setZ(1.)
         self.m_whead_item.setBrush(QBrush(Qt.red))
+
+        self.m_whead_bg_item = QCanvasEllipse(self.m_canvas)
+        self.m_whead_bg_item.setSize(text_height + 6, text_height + 6)
+        self.m_whead_bg_item.setZ(4.)
+        self.m_whead_bg_item.setBrush(QBrush(Qt.white))
+
+        self.m_whead_text = QCanvasText(self.m_canvas)
+        self.m_whead_text.setFont(font)
+        self.m_whead_text.setColor(Qt.red)
+        self.m_whead_text.setTextFlags(Qt.AlignCenter)
+        self.m_whead_text.setText("w")
+        self.m_whead_text.setZ(5.)
+
       if self.m_frames.m_fhead_info is not None:
         self.m_fhead_item = QCanvasEllipse(self.m_canvas)
         self.m_fhead_item.setSize(text_height + 6, text_height + 6)
         self.m_fhead_item.setZ(1.)
         self.m_fhead_item.setBrush(QBrush(Qt.cyan))
 
+        self.m_fhead_bg_item = QCanvasEllipse(self.m_canvas)
+        self.m_fhead_bg_item.setSize(text_height + 6, text_height + 6)
+        self.m_fhead_bg_item.setZ(4.)
+        self.m_fhead_bg_item.setBrush(QBrush(Qt.white))
+
+        self.m_fhead_text = QCanvasText(self.m_canvas)
+        self.m_fhead_text.setFont(font)
+        self.m_fhead_text.setColor(Qt.cyan)
+        self.m_fhead_text.setTextFlags(Qt.AlignCenter)
+        self.m_fhead_text.setText("f")
+        self.m_fhead_text.setZ(5.)
+
       # XXX
       ###if self.m_frames.m_ihead_moves is not None:
       ###  #self.m_ihead_move_items = [QCanvasSpline(self.m_canvas) for i in xrange(len(self.m_frames.m_ihead_moves))]
@@ -484,11 +535,11 @@
           bg_item.setBrush(QBrush(color))
           bg_item.show()
 
-      for head_info, head_item in (
-        (self.m_frames.m_ihead_info, self.m_ihead_item),
-        (self.m_frames.m_rhead_info, self.m_rhead_item),
-        (self.m_frames.m_whead_info, self.m_whead_item),
-        (self.m_frames.m_fhead_info, self.m_fhead_item),
+      for head_info, head_item, head_bg_item, head_text in (
+        (self.m_frames.m_ihead_info, self.m_ihead_item, self.m_ihead_bg_item, self.m_ihead_text),
+        (self.m_frames.m_rhead_info, self.m_rhead_item, self.m_rhead_bg_item, self.m_rhead_text),
+        (self.m_frames.m_whead_info, self.m_whead_item, self.m_whead_bg_item, self.m_whead_text),
+        (self.m_frames.m_fhead_info, self.m_fhead_item, self.m_fhead_bg_item, self.m_fhead_text),
       ):
         if head_info is not None:
           head = head_info[self.m_current_frame_number]
@@ -497,14 +548,26 @@
           pt = self.m_inst_pts[head]
           if pt.hidden():
             head_item.hide()
+            head_bg_item.hide()
+            head_text.hide()
           else:
-            theta = pt.circle().oTheta() + pt.position() * pt.circle().dTheta()
-            x = pt.circle().radius()*math.cos(theta) + pt.circle().centerX()
-            y = pt.circle().radius()*math.sin(theta) + pt.circle().centerY()
+            circle = pt.circle()
+            theta = circle.oTheta() + pt.position() * circle.dTheta()
+            radius = circle.radius()
+            cx = circle.centerX()
+            cy = circle.centerY()
 
-            head_item.setX(x)
-            head_item.setY(y)
+            head_item.setX(radius*math.cos(theta) + cx)
+            head_item.setY(radius*math.sin(theta) + cy)
             head_item.show()
 
+            head_bg_item.setX((radius - head_item.width())*math.cos(theta) + cx)
+            head_bg_item.setY((radius - head_item.width())*math.sin(theta) + cy)
+            head_bg_item.show()
+
+            head_text.setX((radius - head_item.width())*math.cos(theta) + cx)
+            head_text.setY((radius - head_item.width())*math.sin(theta) + cy)
+            head_text.show()
+
     self.emit(PYSIGNAL("frameShownSig"),(self.m_frames, self.m_current_frame_number))
     self.m_canvas.update()




More information about the Avida-cvs mailing list