Newer
Older
bl_space_type = "PROPERTIES"
bl_region_type = "WINDOW"
scale = FloatProperty(name="Scale", description="Default meter, decimeter = 1.0", default = theScale)
enums = []
for enum in BlenderVersions:
enums.append((enum,enum,enum))
bver = EnumProperty(name="Blender version", items=enums, default = BlenderVersions[0])
filename_ext = ".mhx"
filter_glob = StringProperty(default="*.mhx", options={'HIDDEN'})
filepath = StringProperty(name="File Path", description="File path used for importing the MHX file", maxlen= 1024, default= "")
for (prop, name, desc, flag) in MhxBoolProps:
expr = '%s = BoolProperty(name="%s", description="%s", default=toggle&%s)' % (prop, name, desc, flag)
exec(expr)
global toggle, theScale, MhxBoolProps, theBlenderVersion, BlenderVersions
toggle = 0
for (prop, name, desc, flag) in MhxBoolProps:
expr = '(%s if self.%s else 0)' % (flag, prop)
toggle |= eval(expr)
print("execute flags %x" % toggle)
theScale = self.scale
theBlenderVersion = BlenderVersions.index(self.bver)
try:
readMhxFile(self.filepath)
bpy.ops.mhx.success('INVOKE_DEFAULT', message = self.filepath)
except NameError:
print("Error when loading MHX file:\n" + theMessage)
writeDefaults()
return {'FINISHED'}
def invoke(self, context, event):
global toggle, theScale, MhxBoolProps, theBlenderVersion, BlenderVersions
readDefaults()
self.scale = theScale
self.bver = BlenderVersions[theBlenderVersion]
for (prop, name, desc, flag) in MhxBoolProps:
expr = 'self.%s = toggle&%s' % (prop, flag)
exec(expr)
context.window_manager.fileselect_add(self)
return {'RUNNING_MODAL'}
def menu_func(self, context):
self.layout.operator(ImportMhx.bl_idname, text="MakeHuman (.mhx)...")
Campbell Barton
committed
bpy.utils.register_module(__name__)
Campbell Barton
committed
bpy.utils.unregister_module(__name__)
try:
unregister()
except:
pass
register()