tuikit/editbox.py
changeset 3 33ec838dc021
parent 0 a35731b5e31a
child 9 7175ed629a76
--- a/tuikit/editbox.py	Tue Mar 15 17:27:09 2011 +0100
+++ b/tuikit/editbox.py	Wed Mar 16 15:19:05 2011 +0100
@@ -6,8 +6,6 @@
     def __init__(self, width=20, height=20, text=''):
         Widget.__init__(self, width, height)
 
-        self.set_text(text)
-
         self.xofs = 0
         self.yofs = 0
 
@@ -26,6 +24,8 @@
         self.newevent('scroll')
         self.newevent('areasize')
 
+        self.set_text(text)
+
 
     def on_draw(self, screen, x, y):
         for j in range(self.height):
@@ -98,6 +98,7 @@
 
     def set_text(self, text):
         self.lines = text.split('\n')
+        self.handle('areasize')
 
 
     def get_text(self):
@@ -115,10 +116,10 @@
 
 
     def set_yofs(self, yofs):
+        if yofs > len(self.lines) - self.height:
+            yofs = len(self.lines) - self.height
         if yofs < 0:
             yofs = 0
-        if yofs > len(self.lines) - self.height:
-            yofs = len(self.lines) - self.height
         self.yofs = yofs
         self.handle('scroll')
 
@@ -183,6 +184,16 @@
             self.set_yofs(self.cline)
 
 
+    def move_pagefirst(self):
+        self.cline = 0
+        self.set_yofs(0)
+
+
+    def move_pagelast(self):
+        self.cline = len(self.lines) - 1
+        self.set_yofs(self.cline)
+
+
     def add_char(self, c):
         ln = self.lines[self.cline]
         cpos = self.get_cpos()