summaryrefslogtreecommitdiffstats
path: root/Demo/sgi/flp/test_cb.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1992-03-30 11:39:53 (GMT)
committerGuido van Rossum <guido@python.org>1992-03-30 11:39:53 (GMT)
commit715a65315287876f9bd2dd9ad5d453df3f6caa7c (patch)
tree20d113d4ebfd0cfef67cc406d3c9398487188b25 /Demo/sgi/flp/test_cb.py
parent4a5ab81bc93004773070de89cc4acfad75103c7e (diff)
downloadcpython-715a65315287876f9bd2dd9ad5d453df3f6caa7c.zip
cpython-715a65315287876f9bd2dd9ad5d453df3f6caa7c.tar.gz
cpython-715a65315287876f9bd2dd9ad5d453df3f6caa7c.tar.bz2
Initial revision
Diffstat (limited to 'Demo/sgi/flp/test_cb.py')
-rwxr-xr-xDemo/sgi/flp/test_cb.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/Demo/sgi/flp/test_cb.py b/Demo/sgi/flp/test_cb.py
new file mode 100755
index 0000000..d622332
--- /dev/null
+++ b/Demo/sgi/flp/test_cb.py
@@ -0,0 +1,62 @@
+#
+# Example 2 - Using fl in python with callbacks.
+#
+# The form is named 'main_form' and resides on file 'test_cb.fd'.
+# It has three objects named button1, button2 and exitbutton.
+# All buttons have callbacks with the same names as their corresponding
+# buttons but with CB appended.
+#
+import fl # The forms library
+import FL # Symbolic constants for the above
+import flp # The module to parse .fd files
+import sys
+
+# The following struct is created to hold the instance variables
+# main_form, button1, button2 and exitbutton.
+
+class myform():
+ #
+ # The init function parses and creates the form, but doesn't
+ # display it (yet).
+ def init(self, number):
+ #
+ # First we parse the form
+ parsetree = flp.parse_form('test_cb', 'main_form')
+ #
+ # Next we create it
+
+ flp.create_full_form(self, parsetree)
+
+ # And keep our number
+ self.number = number
+ return self
+
+ #
+ # The show function displays the form. It doesn't do any interaction,
+ # though.
+ def show(self):
+ self.main_form.show_form(FL.PLACE_SIZE, 1, '')
+
+ # The callback functions
+ def button1CB(self, obj, arg):
+ print 'Button 1 pressed on form', self.number
+
+ def button2CB(self, obj, arg):
+ print 'Button 2 pressed on form', self.number
+
+ def exitbuttonCB(self, obj, arg):
+ print 'Ok, bye bye'
+ sys.exit(0)
+
+#
+# The main program. Instantiate two variables of the forms class
+# and interact with them.
+
+form1 = myform().init(1)
+form2 = myform().init(2)
+
+form1.show()
+form2.show()
+
+obj = fl.do_forms()
+print 'do_forms() returned. This should not happen. obj=', obj