home *** CD-ROM | disk | FTP | other *** search
- #
- # 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 constructor 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
-
- #
- # 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(1)
- form2 = myform(2)
-
- form1.show()
- form2.show()
-
- obj = fl.do_forms()
- print 'do_forms() returned. This should not happen. obj=', obj
-