OSDN Git Service

not relayout pango layout list when adding pango layout.
[fukui-no-namari/fukui-no-namari.git] / src / FukuiNoNamari / thread_view.py
index b20b510..b256795 100644 (file)
@@ -53,11 +53,23 @@ class ThreadView(gtk.HBox):
         self.pangolayout = []
 
     def add_layout(self, pangolayout):
+        if (len(self.pangolayout) != 0):
+            last = self.pangolayout[len(self.pangolayout)-1]
+            x, y = last.get_pixel_size()
+            pangolayout.posY = last.posY + y
+        self.set_layout_width(pangolayout)
         self.pangolayout.append(pangolayout)
+        x, y = pangolayout.get_pixel_size()
+        self.adjustment.upper = pangolayout.posY + y
+        self.redraw()
 
     def create_pango_layout(self, text):
         return self.drawingarea.create_pango_layout(text)
 
+    def set_layout_width(self, layout):
+        width = self.drawingarea.allocation.width
+        layout.set_width((width - layout.marginleft) * pango.SCALE)
+        
     def redraw(self):
         self.drawingarea.queue_draw()