Initial revision

This commit is contained in:
Guido van Rossum 1992-03-30 11:39:53 +00:00
parent 4a5ab81bc9
commit 715a653152
10 changed files with 983 additions and 0 deletions

75
Demo/sgi/flp/test_cb.fd Executable file
View file

@ -0,0 +1,75 @@
Magic: 12321
Internal Form Definition File
(do not change)
Number of forms: 1
=============== FORM ===============
Name: main_form
Width: 170.000000
Height: 190.000000
Number of Objects: 4
--------------------
class: 1
type: 1
box: 0.000000 0.000000 170.000000 190.000000
boxtype: 1
colors: 47 47
alignment: 4
style: 0
size: 11.000000
lcol: 0
label:
name:
callback:
argument:
--------------------
class: 11
type: 0
box: 10.000000 140.000000 150.000000 40.000000
boxtype: 1
colors: 47 47
alignment: 4
style: 0
size: 11.000000
lcol: 0
label: Button 1
name: button1
callback: button1CB
argument: 0
--------------------
class: 11
type: 0
box: 10.000000 100.000000 150.000000 40.000000
boxtype: 1
colors: 47 47
alignment: 4
style: 0
size: 11.000000
lcol: 0
label: Button 2
name: button2
callback: button2CB
argument: 0
--------------------
class: 11
type: 6
box: 10.000000 10.000000 150.000000 40.000000
boxtype: 1
colors: 47 47
alignment: 4
style: 0
size: 11.000000
lcol: 0
label: EXIT
name: exitbutton
callback: exitbuttonCB
argument: 0
==============================
create_the_forms

62
Demo/sgi/flp/test_cb.py Executable file
View file

@ -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

75
Demo/sgi/flp/test_nocb.fd Executable file
View file

@ -0,0 +1,75 @@
Magic: 12321
Internal Form Definition File
(do not change)
Number of forms: 1
=============== FORM ===============
Name: main_form
Width: 170.000000
Height: 190.000000
Number of Objects: 4
--------------------
class: 1
type: 1
box: 0.000000 0.000000 170.000000 190.000000
boxtype: 1
colors: 47 47
alignment: 4
style: 0
size: 11.000000
lcol: 0
label:
name:
callback:
argument:
--------------------
class: 11
type: 0
box: 10.000000 140.000000 150.000000 40.000000
boxtype: 1
colors: 47 47
alignment: 4
style: 0
size: 11.000000
lcol: 0
label: Button 1
name: button1
callback:
argument:
--------------------
class: 11
type: 0
box: 10.000000 100.000000 150.000000 40.000000
boxtype: 1
colors: 47 47
alignment: 4
style: 0
size: 11.000000
lcol: 0
label: Button 2
name: button2
callback:
argument:
--------------------
class: 11
type: 6
box: 10.000000 10.000000 150.000000 40.000000
boxtype: 1
colors: 47 47
alignment: 4
style: 0
size: 11.000000
lcol: 0
label: EXIT
name: exitbutton
callback:
argument:
==============================
create_the_forms

45
Demo/sgi/flp/test_nocb.py Executable file
View file

@ -0,0 +1,45 @@
#
# Example 1 - Using fl in python without callbacks.
#
# The form is named 'main_form' and resides on file 'test_nocb.fd'.
# It has three objects named button1, button2 and exitbutton.
#
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 struct(): pass
container = struct()
#
# We now first parse the forms file
parsetree = flp.parse_form('test_nocb', 'main_form')
#
# Next we create it
flp.create_full_form(container, parsetree)
#
# And display it
container.main_form.show_form(FL.PLACE_MOUSE, 1, '')
#
# And interact until the exit button is pressed
while 1:
selected_obj = fl.do_forms()
if selected_obj == container.button1:
print 'Button 1 selected'
elif selected_obj == container.button2:
print 'Button 2 selected'
elif selected_obj == container.exitbutton:
print 'Ok, bye bye'
sys.exit(0)
else:
print 'do_forms() returned unknown object ', selected_obj