Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2006-12-12 11:05:08 +0300
committerCampbell Barton <ideasman42@gmail.com>2006-12-12 11:05:08 +0300
commit848d3ae61778903675c21ffb850c9e93a29c6228 (patch)
treefacdde8380174ac7d60584fa20d1f3d1fc579a78 /release/scripts/widgetwizard.py
parent6959e689bedfa158074a98412150845a73027c7f (diff)
popup error if the active objects datatype cant have keys as well as other cases where it would quit,
use Mesh rather then NMesh to get the keyblock, enable restrictRender for driver objects.
Diffstat (limited to 'release/scripts/widgetwizard.py')
-rw-r--r--release/scripts/widgetwizard.py49
1 files changed, 35 insertions, 14 deletions
diff --git a/release/scripts/widgetwizard.py b/release/scripts/widgetwizard.py
index 33b560bed8e..2dd6d230c94 100644
--- a/release/scripts/widgetwizard.py
+++ b/release/scripts/widgetwizard.py
@@ -112,6 +112,7 @@ def verifyIpocurve(ky,index):
idx = "Key " + str(index)
crv = ipo.getCurve(index)
if crv == None:
+ # print idx
crv = ipo.addCurve(idx)
crv.setInterpolation("Linear")
return crv
@@ -119,8 +120,12 @@ def verifyIpocurve(ky,index):
# Add the Drivers and Curves
def setupDrivers(ob,ctrl,type):
global shapes
- me = ob.getData()
- ky = me.getKey()
+ me = ob.getData(mesh=1)
+ ky = me.key
+
+ # Should we add an error here??
+ if not ky:
+ return
if type in [SHAPE1_ONE_MONE,SHAPE1_ONE_ZERO,SHAPE1_ZERO_MONE]:
ctrl.protectFlags = int("111111011",2)
@@ -372,16 +377,29 @@ def setupDrivers(ob,ctrl,type):
def build(type):
global shapes,widmenu,rangename
- sce = Blender.Scene.getCurrent()
+ sce = Blender.Scene.GetCurrent()
+
+ ob = sce.objects.active
+
+ try:
+ ob.getData(mesh=1).key
+ except:
+ Blender.Draw.PupMenu('Aborting%t|Object has no keys')
+ return
+
loc = Window.GetCursorPos()
range = makeRange(type,rangename.val)
- controller = makeController(rangename.val)
+ controller = makeController(rangename.val)
text = makeText(rangename.val)
sce.link(range)
sce.link(controller)
sce.link(text)
+ range.restrictRender = True
+ controller.restrictRender = True
+ text.restrictRender = True
+
range.setLocation(loc)
controller.setLocation(loc)
text.setLocation(loc)
@@ -390,8 +408,7 @@ def build(type):
range.makeParent([text],0)
sce.update()
-
- ob = Object.GetSelected()[0]
+
setupDrivers(ob,controller,widmenu.val)
#Create the text
@@ -402,8 +419,8 @@ def makeText(name):
txt.setDrawMode(Text3d.DRAW3D)
txt.setAlignment(Text3d.MIDDLE)
txt.setText(name)
- ob.link(txt)
- ob.setEuler(3.14159/2,0,0)
+ ob.link(txt)
+ ob.setEuler(3.14159/2,0,0)
return ob
@@ -589,16 +606,20 @@ EVENT_BACK = 103
#get the list of shapes from the selected object
def shapeMenuText():
- if len(Object.GetSelected()) == 0:
+ ob = Blender.Scene.GetCurrent().objects.active
+ if not ob:
return ""
- ob = Object.GetSelected()[0]
- me = ob.getData()
- key= me.getKey()
+
+ me = ob.getData(mesh=1)
+ try: key= me.key
+ except: key = None
+
if key == None:
- return ""
+ return ""
+
blocks = key.getBlocks()
menu = "Choose Shape %t|"
- for n in range(len(blocks)):
+ for n in xrange(len(blocks)):
menu = menu + blocks[n].name + " %x" + str(n) + "|"
return menu