#!BPY
#Above: !BPY identifies this script as a Blender script.
import bpy
from Blender import Draw,Window
import Blender
Window.Redraw(1)
Draw.Redraw(1)
obj = Blender.Scene.GetCurrent().getActiveObject()
n = len(obj.data.faces)
listWidgets = []
def myGui():
global listWidgets,n
#Make Global variables to store textbox values
for i in range(n):
listWidgets.append( Draw.Create("") )
#Create the Textboxes
y = 100
for i in range(n):
y = 20
y *= i
listWidgets[i] = Draw.String("Text"+str(i)+": ",2,50,y, 300,20,\
listWidgets[i].val,20," tooltip for "+str(i) )
#Place it at the center of the Window
xbtn = Window.GetAreaSize()[0]/2
ybtn = Window.GetAreaSize()[1]/2
#Create the Buttons
Draw.PushButton("PrintIt",1,xbtn,ybtn, 100,20,"All Textboxes & values")
Draw.PushButton("Refresh",3,xbtn,ybtn-20, 100,20,"All Textboxes & values")
Draw.PushButton("Exit",10,xbtn*2-100,0, 100,20,"Exit the Program")
def keyboardEvents(event,val):
global n,listWidgets
if event == Draw.ESCKEY:
print "There must be %d textboxes"%(n)
Draw.Exit()
return
def buttons(event):
global n,listWidgets
if event == 1:
for i in range(n):
print "Textbox[%d]: %s" % (i,str(listWidgets[i]))
if event == 2:
print "Event 2"
if event == 3:
#Draw.Exit()
Draw.Register(None, None,None)
Draw.Register(myGui, keyboardEvents, buttons)
Draw.Redraw(1)
Draw.Draw()
if event == 10:
print "Exiting......"
Draw.Exit()
#Reserved Structure for Blender GUI. Functions for windowing
#Register the 3 required functions (draw, event, button)
Draw.Register(myGui, keyboardEvents, buttons)