summaryrefslogtreecommitdiffstats
path: root/Lib/stdwin/TextEdit.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/stdwin/TextEdit.py')
-rwxr-xr-xLib/stdwin/TextEdit.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/Lib/stdwin/TextEdit.py b/Lib/stdwin/TextEdit.py
new file mode 100755
index 0000000..8d12465
--- /dev/null
+++ b/Lib/stdwin/TextEdit.py
@@ -0,0 +1,58 @@
+# Text editing widget
+
+from stdwinevents import *
+
+class TextEdit():
+ #
+ def create(self, (parent, (cols, rows))):
+ parent.addchild(self)
+ self.parent = parent
+ self.cols = cols
+ self.rows = rows
+ self.text = ''
+ # Creation of the editor is done in realize()
+ self.editor = 0
+ return self
+ #
+ # Downcalls from parent to child
+ #
+ def destroy(self):
+ del self.parent
+ del self.editor
+ del self.window
+ #
+ def minsize(self, m):
+ return self.cols*m.textwidth('n'), self.rows*m.lineheight()
+ def setbounds(self, bounds):
+ self.bounds = bounds
+ if self.editor:
+ self.editor.move(bounds)
+ def getbounds(self, bounds):
+ if self.editor:
+ return self.editor.getrect()
+ else:
+ return self.bounds
+ def realize(self):
+ self.window = self.parent.getwindow()
+ self.editor = self.window.textcreate(self.bounds)
+ self.editor.replace(self.text)
+ self.parent.need_mouse(self)
+ self.parent.need_keybd(self)
+ self.parent.need_altdraw(self)
+ def draw(self, (d, area)):
+ pass
+ def altdraw(self, area):
+ self.editor.draw(area)
+ #
+ # Event downcalls
+ #
+ def mouse_down(self, detail):
+ x = self.editor.event(WE_MOUSE_DOWN, self.window, detail)
+ def mouse_move(self, detail):
+ x = self.editor.event(WE_MOUSE_MOVE, self.window, detail)
+ def mouse_up(self, detail):
+ x = self.editor.event(WE_MOUSE_UP, self.window, detail)
+ #
+ def keybd(self, (type, detail)):
+ x = self.editor.event(type, self.window, detail)
+ #