diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-09-07 19:17:42 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-09-07 19:17:42 +0400 |
commit | 115b25673832049b746835357d63d8d2dbee5229 (patch) | |
tree | ca36db0fe4063108ca5820e1d76ae0496fb88f15 | |
parent | e53bbc7ab7568e315dc3cf06dd5e989300c98786 (diff) |
ran through pep8 checker
64 files changed, 320 insertions, 370 deletions
diff --git a/build_files/cmake/example_scripts/make_quicky.py b/build_files/cmake/example_scripts/make_quicky.py index 69f7604c8cc..d7c43f4b86e 100755 --- a/build_files/cmake/example_scripts/make_quicky.py +++ b/build_files/cmake/example_scripts/make_quicky.py @@ -20,6 +20,7 @@ # <pep8 compliant> + def print_help(targets): print("CMake quicky wrapper, no valid targets given.") print(" * targets can contain a subset of the full target name.") @@ -36,11 +37,11 @@ def print_help(targets): for t in targets: print(" %s" % t) print("...exiting") - + def main(): targets = set() - + # collect targets file = open("Makefile", "r") for line in file: @@ -54,13 +55,12 @@ def main(): line = line.split(":", 1)[0] - if "/" in line: # cmake terget options, dont need these + if "/" in line: # cmake terget options, dont need these continue targets.add(line) file.close() - # remove cmake targets bad = set([ "help", @@ -75,9 +75,8 @@ def main(): "depend", "cmake_check_build_system", ]) - - targets -= set(bad) + targets -= set(bad) # parse args targets = list(targets) @@ -106,7 +105,7 @@ def main(): print(" %s" % t) print("...aborting.") return - + # execute cmd = "make %s %s blender/fast" % (" ".join(args), " ".join(targets_new)) print("cmake building with targets: %s" % " ".join(targets_new)) diff --git a/doc/blender.1.py b/doc/blender.1.py index 7c7fc987c64..086c99e70e5 100644 --- a/doc/blender.1.py +++ b/doc/blender.1.py @@ -91,25 +91,25 @@ while lines: l = lines.pop(0) if l.startswith("Environment Variables:"): fw('.SH "ENVIRONMENT VARIABLES"\n') - elif l.endswith(":"): # one line + elif l.endswith(":"): # one line fw('.SS "%s"\n\n' % l) - elif l.startswith("-") or l.startswith("/"): # can be multi line + elif l.startswith("-") or l.startswith("/"): # can be multi line fw('.TP\n') fw('.B %s\n' % man_format(l)) while lines: # line with no - if lines[0].strip() and len(lines[0].lstrip()) == len(lines[0]): # no white space + if lines[0].strip() and len(lines[0].lstrip()) == len(lines[0]): # no white space break - if not l: # second blank line + if not l: # second blank line fw('.IP\n') else: fw('.br\n') l = lines.pop(0) - l = l[1:] # remove first whitespace (tab) + l = l[1:] # remove first whitespace (tab) fw('%s\n' % man_format(l)) diff --git a/release/scripts/modules/add_object_utils.py b/release/scripts/modules/add_object_utils.py index eaa97512f89..44efc8f2ada 100644 --- a/release/scripts/modules/add_object_utils.py +++ b/release/scripts/modules/add_object_utils.py @@ -60,7 +60,6 @@ def add_object_data(context, obdata, operator=None): if context.space_data and context.space_data.type == 'VIEW_3D': base.layers_from_view(context.space_data) - obj_new.matrix_world = add_object_align_init(context, operator) obj_act = scene.objects.active @@ -69,10 +68,10 @@ def add_object_data(context, obdata, operator=None): bpy.ops.object.mode_set(mode='OBJECT') obj_act.select = True - scene.update() # apply location + scene.update() # apply location #scene.objects.active = obj_new - bpy.ops.object.join() # join into the active. + bpy.ops.object.join() # join into the active. bpy.ops.object.mode_set(mode='EDIT') else: diff --git a/release/scripts/modules/blend_render_info.py b/release/scripts/modules/blend_render_info.py index dcd1f9cbee3..43820e82340 100755 --- a/release/scripts/modules/blend_render_info.py +++ b/release/scripts/modules/blend_render_info.py @@ -40,7 +40,7 @@ def read_blend_rend_chunk(path): head = blendfile.read(7) - if head[0:2] == b'\x1f\x8b': # gzip magic + if head[0:2] == b'\x1f\x8b': # gzip magic import gzip blendfile.close() blendfile = gzip.open(path, 'rb') @@ -57,7 +57,7 @@ def read_blend_rend_chunk(path): is_big_endian = (blendfile.read(1) == b'V') # Now read the bhead chunk!!! - blendfile.read(3) # skip the version + blendfile.read(3) # skip the version scenes = [] diff --git a/release/scripts/modules/bpy/__init__.py b/release/scripts/modules/bpy/__init__.py index 5b7d5a76336..cba85d935ae 100644 --- a/release/scripts/modules/bpy/__init__.py +++ b/release/scripts/modules/bpy/__init__.py @@ -50,7 +50,6 @@ def _main(): pydoc.Helper.getline = lambda self, prompt: None pydoc.TextDoc.use_bold = lambda self, text: text - # if "-d" in sys.argv: # Enable this to measure startup speed if 0: import cProfile diff --git a/release/scripts/modules/bpy/ops.py b/release/scripts/modules/bpy/ops.py index 223a5a89471..7a824ce2e68 100644 --- a/release/scripts/modules/bpy/ops.py +++ b/release/scripts/modules/bpy/ops.py @@ -164,7 +164,7 @@ class bpy_ops_submodule_op(object): if 'FINISHED' in ret: import bpy scene = bpy.context.scene - if scene: # None in backgroud mode + if scene: # None in backgroud mode scene.update() else: for scene in bpy.data.scenes: @@ -178,14 +178,14 @@ class bpy_ops_submodule_op(object): ''' return op_get_rna(self.idname()) - def __repr__(self): # useful display, repr(op) + def __repr__(self): # useful display, repr(op) import bpy idname = self.idname() as_string = op_as_string(idname) descr = getattr(bpy.types, idname).bl_rna.description return as_string + "\n" + descr - def __str__(self): # used for print(...) + def __str__(self): # used for print(...) return "<function bpy.ops.%s.%s at 0x%x'>" % \ (self.module, self.func, id(self)) diff --git a/release/scripts/modules/bpy/path.py b/release/scripts/modules/bpy/path.py index 63149f2fce8..423fdb7aaab 100644 --- a/release/scripts/modules/bpy/path.py +++ b/release/scripts/modules/bpy/path.py @@ -26,6 +26,7 @@ functions for dealing with paths in Blender. import bpy as _bpy import os as _os + def abspath(path): """ Returns the absolute path relative to the current blend file using the "//" prefix. @@ -99,58 +100,58 @@ def display_name(name): def resolve_ncase(path): - """ - Resolve a case insensitive path on a case sensitive system, - returning a string with the path if found else return the original path. - """ + """ + Resolve a case insensitive path on a case sensitive system, + returning a string with the path if found else return the original path. + """ - import os + import os - def _ncase_path_found(path): - if path=='' or os.path.exists(path): - return path, True + def _ncase_path_found(path): + if path == "" or os.path.exists(path): + return path, True - filename = os.path.basename(path) # filename may be a directory or a file - dirpath = os.path.dirname(path) + filename = os.path.basename(path) # filename may be a directory or a file + dirpath = os.path.dirname(path) - suffix = "" - if not filename: # dir ends with a slash? - if len(dirpath) < len(path): - suffix = path[:len(path)-len(dirpath)] + suffix = "" + if not filename: # dir ends with a slash? + if len(dirpath) < len(path): + suffix = path[:len(path) - len(dirpath)] - filename = os.path.basename(dirpath) - dirpath = os.path.dirname(dirpath) + filename = os.path.basename(dirpath) + dirpath = os.path.dirname(dirpath) - if not os.path.exists(dirpath): - dirpath, found = _ncase_path_found(dirpath) + if not os.path.exists(dirpath): + dirpath, found = _ncase_path_found(dirpath) - if not found: - return path, False + if not found: + return path, False - # at this point, the directory exists but not the file + # at this point, the directory exists but not the file - # we are expecting 'dirpath' to be a directory, but it could be a file - if os.path.isdir(dirpath): - files = os.listdir(dirpath) - else: - return path, False + # we are expecting 'dirpath' to be a directory, but it could be a file + if os.path.isdir(dirpath): + files = os.listdir(dirpath) + else: + return path, False - filename_low = filename.lower() - f_iter_nocase = None + filename_low = filename.lower() + f_iter_nocase = None - for f_iter in files: - if f_iter.lower() == filename_low: - f_iter_nocase = f_iter - break + for f_iter in files: + if f_iter.lower() == filename_low: + f_iter_nocase = f_iter + break - if f_iter_nocase: - return os.path.join(dirpath, f_iter_nocase) + suffix, True - else: - # cant find the right one, just return the path as is. - return path, False + if f_iter_nocase: + return os.path.join(dirpath, f_iter_nocase) + suffix, True + else: + # cant find the right one, just return the path as is. + return path, False - ncase_path, found = _ncase_path_found(path) - return ncase_path if found else path + ncase_path, found = _ncase_path_found(path) + return ncase_path if found else path def ensure_ext(filepath, ext, case_sensitive=False): diff --git a/release/scripts/modules/bpy/utils.py b/release/scripts/modules/bpy/utils.py index 7cfe476c2e7..21453f06648 100644 --- a/release/scripts/modules/bpy/utils.py +++ b/release/scripts/modules/bpy/utils.py @@ -30,6 +30,7 @@ import sys as _sys from _bpy import blend_paths from _bpy import script_paths as _bpy_script_paths + def _test_import(module_name, loaded_modules): import traceback import time @@ -49,7 +50,7 @@ def _test_import(module_name, loaded_modules): if _bpy.app.debug: print("time %s %.4f" % (module_name, time.time() - t)) - loaded_modules.add(mod.__name__) # should match mod.__name__ too + loaded_modules.add(mod.__name__) # should match mod.__name__ too return mod @@ -83,9 +84,10 @@ def modules_from_path(path, loaded_modules): modules.append(mod) return modules - -_global_loaded_modules = [] # store loaded module names for reloading. -import bpy_types as _bpy_types # keep for comparisons, never ever reload this. + + +_global_loaded_modules = [] # store loaded module names for reloading. +import bpy_types as _bpy_types # keep for comparisons, never ever reload this. def load_scripts(reload_scripts=False, refresh_scripts=False): @@ -109,7 +111,7 @@ def load_scripts(reload_scripts=False, refresh_scripts=False): if refresh_scripts: original_modules = _sys.modules.values() - + if reload_scripts: _bpy_types.TypeMap.clear() _bpy_types.PropertiesMap.clear() @@ -135,7 +137,7 @@ def load_scripts(reload_scripts=False, refresh_scripts=False): traceback.print_exc() def sys_path_ensure(path): - if path not in _sys.path: # reloading would add twice + if path not in _sys.path: # reloading would add twice _sys.path.insert(0, path) def test_reload(mod): @@ -191,7 +193,7 @@ def load_scripts(reload_scripts=False, refresh_scripts=False): continue if user_path != base_path and path_subdir == "": - continue # avoid loading 2.4x scripts + continue # avoid loading 2.4x scripts for mod in modules_from_path(path, loaded_modules): test_register(mod) @@ -212,10 +214,8 @@ def load_scripts(reload_scripts=False, refresh_scripts=False): if _bpy.app.debug: print("Python Script Load Time %.4f" % (time.time() - t_main)) - - _bpy_types._register_immediate = True - + _bpy_types._register_immediate = True # base scripts @@ -265,7 +265,7 @@ def script_paths(subdir=None, user=True): return script_paths -_presets = _os.path.join(_scripts[0], "presets") # FIXME - multiple paths +_presets = _os.path.join(_scripts[0], "presets") # FIXME - multiple paths def preset_paths(subdir): @@ -295,10 +295,10 @@ def smpte_from_seconds(time, fps=None): else: neg = "" - if time >= 3600.0: # hours + if time >= 3600.0: # hours hours = int(time / 3600.0) time = time % 3600.0 - if time >= 60.0: # mins + if time >= 60.0: # mins minutes = int(time / 60.0) time = time % 60.0 diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py index 84d05a7a48d..0ef1e490f53 100644 --- a/release/scripts/modules/bpy_types.py +++ b/release/scripts/modules/bpy_types.py @@ -251,7 +251,7 @@ class _GenericBone: bones = id_data.pose.bones elif id_data_type == bpy_types.Armature: bones = id_data.edit_bones - if not bones: # not in editmode + if not bones: # not in editmode bones = id_data.bones return bones @@ -368,7 +368,7 @@ class Mesh(bpy_types.ID): return a list of edge vertex index lists """ - OTHER_INDEX = 2, 3, 0, 1 # opposite face index + OTHER_INDEX = 2, 3, 0, 1 # opposite face index if faces is None: faces = self.faces @@ -389,7 +389,7 @@ class Mesh(bpy_types.ID): edge_loops = [] for edkey, ed_adj in edges.items(): - if 0 < len(ed_adj) < 3: # 1 or 2 + if 0 < len(ed_adj) < 3: # 1 or 2 # Seek the first edge context_loop = [edkey, ed_adj[0]] edge_loops.append(context_loop) @@ -407,11 +407,11 @@ class Mesh(bpy_types.ID): ed_adj = edges[context_loop[-1]] if len(ed_adj) != 2: - if other_dir and flipped == False: # the original edge had 2 other edges - flipped = True # only flip the list once + if other_dir and flipped == False: # the original edge had 2 other edges + flipped = True # only flip the list once context_loop.reverse() ed_adj[:] = [] - context_loop.append(other_dir) # save 1 lookiup + context_loop.append(other_dir) # save 1 lookiup ed_adj = edges[context_loop[-1]] if len(ed_adj) != 2: @@ -427,7 +427,6 @@ class Mesh(bpy_types.ID): # Dont look at this again ed_adj[:] = [] - return edge_loops def edge_loops_from_edges(self, edges=None): @@ -556,6 +555,7 @@ PropertiesMap = {} # registers moduals instantly. _register_immediate = True + def _unregister_module(module, free=True): for t in TypeMap.get(module, ()): try: @@ -568,7 +568,6 @@ def _unregister_module(module, free=True): if free == True and module in TypeMap: del TypeMap[module] - for t in PropertiesMap.get(module, ()): try: bpy_types.unregister(t) @@ -595,7 +594,7 @@ class RNAMeta(type): @classmethod def _register_immediate(cls): return _register_immediate - + def __new__(cls, name, bases, classdict, **args): result = type.__new__(cls, name, bases, classdict) if bases and bases[0] != StructRNA: @@ -606,21 +605,23 @@ class RNAMeta(type): # Register right away if needed if cls._register_immediate(): bpy_types.register(result) - ClassMap = PropertiesMap + ClassMap = PropertiesMap # first part of packages only if "." in module: module = module[:module.index(".")] - + ClassMap.setdefault(module, []).append(result) return result + class RNAMetaRegister(RNAMeta): @classmethod def _register_immediate(cls): return True + class OrderedMeta(RNAMeta): def __init__(cls, name, bases, attributes): @@ -630,6 +631,7 @@ class OrderedMeta(RNAMeta): def __prepare__(name, bases, **kwargs): return collections.OrderedDict() + # Only defined so operators members can be used by accessing self.order class Operator(StructRNA, metaclass=OrderedMeta): __slots__ = () @@ -644,13 +646,16 @@ class Macro(StructRNA, metaclass=OrderedMeta): def define(self, opname): from _bpy import ops return ops.macro_define(self, opname) - + + class IDPropertyGroup(StructRNA, metaclass=RNAMetaRegister): __slots__ = () + class RenderEngine(StructRNA, metaclass=RNAMeta): __slots__ = () + class _GenericUI: __slots__ = () diff --git a/release/scripts/modules/bpyml.py b/release/scripts/modules/bpyml.py index a2ba9ec8006..f1f72d50fd2 100644 --- a/release/scripts/modules/bpyml.py +++ b/release/scripts/modules/bpyml.py @@ -37,6 +37,8 @@ or simple python blender/ui function calls. """ TAG, ARGS, CHILDREN = range(3) + + class ReturnStore(tuple): def __getitem__(self, key): @@ -94,7 +96,6 @@ def toxml(py_data, indent=" "): def _to_xml_iter(xml_parent, data_ls): for py_item in data_ls: xml_node = newdoc.createElement(py_item[TAG]) - # ok if its empty _to_xml_iter(xml_node, py_item[CHILDREN]) @@ -114,8 +115,7 @@ def fromxml(data): for key, value in xml_node.attributes.items(): kwargs[key] = value return kwargs - - + def _fromxml(xml_node): py_item = (xml_node.tagName, _fromxml_kwargs(xml_node), []) #_fromxml_iter(py_item, xml_node.childNodes) @@ -130,15 +130,15 @@ def fromxml(data): def topretty_py(py_data, indent=" "): - + if len(py_data) != 1: raise Exception("Expected a list with one member") lines = [] - + def _to_kwargs(kwargs): return ", ".join([("%s=%s" % (key, repr(value))) for key, value in sorted(kwargs.items())]) - + def _topretty(py_item, indent_ctx, last): if py_item[CHILDREN]: lines.append("%s%s(%s) [" % (indent_ctx, py_item[TAG], _to_kwargs(py_item[ARGS]))) @@ -148,14 +148,14 @@ def topretty_py(py_data, indent=" "): lines.append("%s]%s" % (indent_ctx, ("" if last else ","))) else: lines.append("%s%s(%s)%s" % (indent_ctx, py_item[TAG], _to_kwargs(py_item[ARGS]), ("" if last else ","))) - + _topretty(py_data[0], "", True) return "\n".join(lines) if __name__ == "__main__": # testing code. - + tag_module("bpyml_test", ("ui", "prop", "row", "column", "active", "separator", "split")) from bpyml_test import * @@ -192,13 +192,13 @@ if __name__ == "__main__": ] xml_data = toxml(draw) - print(xml_data) # xml version + print(xml_data) # xml version py_data = fromxml(xml_data) - print(py_data) # converted back to py + print(py_data) # converted back to py xml_data = toxml(py_data) - print(xml_data) # again back to xml + print(xml_data) # again back to xml - py_data = fromxml(xml_data) # pretty python version + py_data = fromxml(xml_data) # pretty python version print(topretty_py(py_data)) diff --git a/release/scripts/modules/bpyml_ui.py b/release/scripts/modules/bpyml_ui.py index ad68d1b0d7e..2462dd60e3e 100644 --- a/release/scripts/modules/bpyml_ui.py +++ b/release/scripts/modules/bpyml_ui.py @@ -32,7 +32,7 @@ _uilayout_tags = ["ui"] + \ # these need to be imported directly # >>> from bpyml_ui.locals import * -locals = bpyml.tag_module("%s.locals" % __name__ , _uilayout_tags) +locals = bpyml.tag_module("%s.locals" % __name__, _uilayout_tags) def _parse_rna(prop, value): @@ -72,12 +72,12 @@ def _call_recursive(context, base, py_node): value = eval(value, {"context": _bpy.context}) setattr(base, py_node[TAG], value) else: - value = py_node[ARGS]['value'] # have to have this + value = py_node[ARGS]['value'] # have to have this setattr(base, name, value) else: args = _parse_rna_args(base, py_node) func_new = getattr(base, py_node[TAG]) - base_new = func_new(**args) # call blender func + base_new = func_new(**args) # call blender func if base_new is not None: for py_node_child in py_node[CHILDREN]: _call_recursive(context, base_new, py_node_child) diff --git a/release/scripts/modules/graphviz_export.py b/release/scripts/modules/graphviz_export.py index 2389e1f9020..b60952a2f88 100644 --- a/release/scripts/modules/graphviz_export.py +++ b/release/scripts/modules/graphviz_export.py @@ -43,7 +43,6 @@ def compat_str(text, line_length=0): text_ls.append(text) text = '\n '.join(text_ls) - #text = text.replace('.', '.\n') #text = text.replace(']', ']\n') text = text.replace("\n", "\\n") @@ -88,7 +87,6 @@ def graph_armature(obj, filepath, FAKE_PARENT=True, CONSTRAINTS=True, DRIVERS=Tr else: opts.append("fillcolor=white") - fw('"%s" [%s];\n' % (bone.name, ','.join(opts))) fw('\n\n# Hierarchy:\n') @@ -162,7 +160,7 @@ def graph_armature(obj, filepath, FAKE_PARENT=True, CONSTRAINTS=True, DRIVERS=Tr pbone_target = rna_path_as_pbone(target.data_path) rna_path_target = target.data_path if pbone_target: - opts = ['dir=forward', "weight=1", "arrowhead=normal", "arrowtail=none", "constraint=false", 'color="blue"', "labelfontsize=4"] # , + opts = ['dir=forward', "weight=1", "arrowhead=normal", "arrowtail=none", "constraint=false", 'color="blue"', "labelfontsize=4"] display_source = rna_path.replace("pose.bones", "") display_target = rna_path_target.replace("pose.bones", "") if XTRA_INFO: diff --git a/release/scripts/modules/io_utils.py b/release/scripts/modules/io_utils.py index 5150b5153c0..64062ed697f 100644 --- a/release/scripts/modules/io_utils.py +++ b/release/scripts/modules/io_utils.py @@ -21,8 +21,9 @@ import bpy from bpy.props import * + class ExportHelper: - filepath = StringProperty(name="File Path", description="Filepath used for exporting the file", maxlen= 1024, default= "", subtype='FILE_PATH') + filepath = StringProperty(name="File Path", description="Filepath used for exporting the file", maxlen=1024, default="", subtype='FILE_PATH') check_existing = BoolProperty(name="Check Existing", description="Check and warn on overwriting existing files", default=True, options={'HIDDEN'}) def invoke(self, context, event): @@ -35,7 +36,7 @@ class ExportHelper: class ImportHelper: - filepath = StringProperty(name="File Path", description="Filepath used for importing the file", maxlen= 1024, default= "", subtype='FILE_PATH') + filepath = StringProperty(name="File Path", description="Filepath used for importing the file", maxlen=1024, default="", subtype='FILE_PATH') def invoke(self, context, event): context.window_manager.add_fileselect(self) @@ -78,14 +79,15 @@ def free_derived_objects(ob): def unpack_list(list_of_tuples): flat_list = [] - flat_list_extend = flat_list.extend # a tich faster + flat_list_extend = flat_list.extend # a tich faster for t in list_of_tuples: flat_list_extend(t) return flat_list + # same as above except that it adds 0 for triangle faces def unpack_face_list(list_of_tuples): - # allocate the entire list + #allocate the entire list flat_ls = [0] * (len(list_of_tuples) * 4) i = 0 @@ -93,7 +95,7 @@ def unpack_face_list(list_of_tuples): if len(t) == 3: if t[2] == 0: t = t[1], t[2], t[0] - else: # assuem quad + else: # assuem quad if t[3] == 0 or t[2] == 0: t = t[2], t[3], t[0], t[1] diff --git a/release/scripts/modules/rna_info.py b/release/scripts/modules/rna_info.py index 0a93121c559..b2b8558b988 100644 --- a/release/scripts/modules/rna_info.py +++ b/release/scripts/modules/rna_info.py @@ -77,7 +77,7 @@ def range_str(val): def float_as_string(f): val_str = "%g" % f - if '.' not in val_str and '-' not in val_str: # value could be 1e-05 + if '.' not in val_str and '-' not in val_str: # value could be 1e-05 val_str += '.0' return val_str @@ -194,20 +194,18 @@ class InfoPropertyRNA: self.type = rna_prop.type.lower() fixed_type = getattr(rna_prop, "fixed_type", "") if fixed_type: - self.fixed_type = GetInfoStructRNA(fixed_type) # valid for pointer/collections + self.fixed_type = GetInfoStructRNA(fixed_type) # valid for pointer/collections else: self.fixed_type = None if self.type == "enum": self.enum_items[:] = rna_prop.items.keys() - if self.array_length: self.default = tuple(getattr(rna_prop, "default_array", ())) else: self.default = getattr(rna_prop, "default", None) - self.default_str = "" # fallback - + self.default_str = "" # fallback if self.type == "pointer": # pointer has no default, just set as None @@ -231,7 +229,7 @@ class InfoPropertyRNA: else: self.default_str = str(self.default) - self.srna = GetInfoStructRNA(rna_prop.srna) # valid for pointer/collections + self.srna = GetInfoStructRNA(rna_prop.srna) # valid for pointer/collections def get_arg_default(self, force=True): default = self.default_str @@ -275,7 +273,7 @@ class InfoPropertyRNA: elif as_arg: if not self.is_required: type_info.append("optional") - else: # readonly is only useful for selfs, not args + else: # readonly is only useful for selfs, not args if self.is_readonly: type_info.append("readonly") @@ -414,10 +412,10 @@ def BuildRNAInfo(): # Use for faster lookups # use rna_struct.identifier as the key for each dict rna_struct_dict = {} # store identifier:rna lookups - rna_full_path_dict = {} # store the result of full_rna_struct_path(rna_struct) - rna_children_dict = {} # store all rna_structs nested from here - rna_references_dict = {} # store a list of rna path strings that reference this type - # rna_functions_dict = {} # store all functions directly in this type (not inherited) + rna_full_path_dict = {} # store the result of full_rna_struct_path(rna_struct) + rna_children_dict = {} # store all rna_structs nested from here + rna_references_dict = {} # store a list of rna path strings that reference this type + # rna_functions_dict = {} # store all functions directly in this type (not inherited) def full_rna_struct_path(rna_struct): ''' @@ -434,7 +432,7 @@ def BuildRNAInfo(): try: return rna_struct.base.identifier except: - return "" # invalid id + return "" # invalid id #structs = [(base_id(rna_struct), rna_struct.identifier, rna_struct) for rna_struct in bpy.doc.structs.values()] ''' @@ -466,17 +464,13 @@ def BuildRNAInfo(): # NOT USED YET ## rna_functions_dict[identifier] = get_direct_functions(rna_struct) - # fill in these later rna_children_dict[identifier] = [] rna_references_dict[identifier] = [] - - else: print("Ignoring", rna_type_name) - - structs.sort() # not needed but speeds up sort below, setting items without an inheritance first + structs.sort() # not needed but speeds up sort below, setting items without an inheritance first # Arrange so classes are always defined in the correct order deps_ok = False @@ -494,7 +488,7 @@ def BuildRNAInfo(): ok = False while i < len(structs): if structs[i][1] == rna_base: - structs.insert(i + 1, data) # insert after the item we depend on. + structs.insert(i + 1, data) # insert after the item we depend on. ok = True break i += 1 @@ -506,7 +500,6 @@ def BuildRNAInfo(): # Done ordering structs - # precalc vars to avoid a lot of looping for (rna_base, identifier, rna_struct) in structs: @@ -536,18 +529,15 @@ def BuildRNAInfo(): if rna_prop_ptr: rna_references_dict[rna_prop_ptr.identifier].append("%s.%s" % (rna_struct_path, rna_func.identifier)) - # Store nested children nested = rna_struct.nested if nested: rna_children_dict[nested.identifier].append(rna_struct) - # Sort the refs, just reads nicer for rna_refs in rna_references_dict.values(): rna_refs.sort() - info_structs = [] for (rna_base, identifier, rna_struct) in structs: #if rna_struct.nested: @@ -590,7 +580,6 @@ def BuildRNAInfo(): if default < prop.min or default > prop.max: print("\t %s.%s, %s not in [%s - %s]" % (rna_info.identifier, prop.identifier, default, prop.min, prop.max)) - # now for operators op_mods = dir(bpy.ops) @@ -616,10 +605,8 @@ def BuildRNAInfo(): for rna_prop in rna_info.args: rna_prop.build() - #for rna_info in InfoStructRNA.global_lookup.values(): # print(rna_info) - return InfoStructRNA.global_lookup, InfoFunctionRNA.global_lookup, InfoOperatorRNA.global_lookup, InfoPropertyRNA.global_lookup @@ -628,11 +615,11 @@ if __name__ == "__main__": struct = rna_info.BuildRNAInfo()[0] data = [] for struct_id, v in sorted(struct.items()): - struct_id_str = v.identifier # "".join(sid for sid in struct_id if struct_id) + struct_id_str = v.identifier # "".join(sid for sid in struct_id if struct_id) for base in v.get_bases(): struct_id_str = base.identifier + "|" + struct_id_str - + props = [(prop.identifier, prop) for prop in v.properties] for prop_id, prop in sorted(props): # if prop.type == 'boolean': diff --git a/release/scripts/modules/rna_prop_ui.py b/release/scripts/modules/rna_prop_ui.py index 4a9460d8271..0afe79e4829 100644 --- a/release/scripts/modules/rna_prop_ui.py +++ b/release/scripts/modules/rna_prop_ui.py @@ -143,4 +143,3 @@ class PropertyPanel(): def draw(self, context): draw(self.layout, context, self._context_path) - diff --git a/release/scripts/op/add_armature_human.py b/release/scripts/op/add_armature_human.py index e0558e84315..95b414f8228 100644 --- a/release/scripts/op/add_armature_human.py +++ b/release/scripts/op/add_armature_human.py @@ -592,7 +592,7 @@ class AddHuman(bpy.types.Operator): bpy.ops.object.armature_add() obj = context.active_object mode_orig = obj.mode - bpy.ops.object.mode_set(mode='EDIT') # grr, remove bone + bpy.ops.object.mode_set(mode='EDIT') # grr, remove bone bones = context.active_object.data.edit_bones bones.remove(bones[0]) metarig_template() diff --git a/release/scripts/op/console_python.py b/release/scripts/op/console_python.py index 81046322967..601fab23617 100644 --- a/release/scripts/op/console_python.py +++ b/release/scripts/op/console_python.py @@ -26,6 +26,7 @@ language_id = 'python' # but python expects this in some places _BPY_MAIN_OWN = True + def add_scrollback(text, text_type): for l in text.split('\n'): bpy.ops.console.scrollback_append(text=l.replace('\t', ' '), @@ -77,13 +78,13 @@ def get_console(console_id): namespace = bpy_main_mod.__dict__ else: namespace = {} - + namespace["__builtins__"] = sys.modules["builtins"] namespace["bpy"] = bpy namespace["C"] = bpy.context console = InteractiveConsole(locals=namespace, filename="<blender_console>") - + if _BPY_MAIN_OWN: console._bpy_main_mod = bpy_main_mod @@ -127,7 +128,7 @@ def execute(context): sys.modules["__main__"] = console._bpy_main_mod # incase exception happens - line = "" # incase of encodingf error + line = "" # incase of encodingf error is_multiline = False try: diff --git a/release/scripts/op/image.py b/release/scripts/op/image.py index c8160ded9a4..eff379ee563 100644 --- a/release/scripts/op/image.py +++ b/release/scripts/op/image.py @@ -39,7 +39,7 @@ class EditExternally(bpy.types.Operator): # use image editor in the preferences when available. if not image_editor: if system == 'Windows': - image_editor = ["start"] # not tested! + image_editor = ["start"] # not tested! elif system == 'Darwin': image_editor = ["open"] else: @@ -116,7 +116,7 @@ class ProjectEdit(bpy.types.Operator): import os import subprocess - EXT = "png" # could be made an option but for now ok + EXT = "png" # could be made an option but for now ok for image in bpy.data.images: image.tag = True @@ -159,7 +159,7 @@ class ProjectEdit(bpy.types.Operator): image_new.name = os.path.basename(filepath_final) ProjectEdit._proj_hack[0] = image_new.name - image_new.filepath_raw = filepath_final # TODO, filepath raw is crummy + image_new.filepath_raw = filepath_final # TODO, filepath raw is crummy image_new.file_format = 'PNG' image_new.save() @@ -175,7 +175,7 @@ class ProjectApply(bpy.types.Operator): bl_options = {'REGISTER'} def execute(self, context): - image_name = ProjectEdit._proj_hack[0] # TODO, deal with this nicer + image_name = ProjectEdit._proj_hack[0] # TODO, deal with this nicer try: image = bpy.data.images[image_name] @@ -192,6 +192,7 @@ class ProjectApply(bpy.types.Operator): def register(): pass + def unregister(): pass diff --git a/release/scripts/op/io_scene_fbx/__init__.py b/release/scripts/op/io_scene_fbx/__init__.py index f7195600de5..5eb48868dd8 100644 --- a/release/scripts/op/io_scene_fbx/__init__.py +++ b/release/scripts/op/io_scene_fbx/__init__.py @@ -34,7 +34,7 @@ class ExportFBX(bpy.types.Operator, ExportHelper): '''Selection to an ASCII Autodesk FBX''' bl_idname = "export_scene.fbx" bl_label = "Export FBX" - + filename_ext = ".fbx" # List of operator properties, the attributes will be assigned @@ -66,22 +66,24 @@ class ExportFBX(bpy.types.Operator, ExportHelper): BATCH_OWN_DIR = BoolProperty(name="Own Dir", description="Create a dir for each exported file", default=True) BATCH_FILE_PREFIX = StringProperty(name="Prefix", description="Prefix each file with this name", maxlen=1024, default="") - def execute(self, context): import math from mathutils import Matrix if not self.properties.filepath: raise Exception("filepath not set") - mtx4_x90n = Matrix.Rotation(-math.pi/2.0, 4, 'X') - mtx4_y90n = Matrix.Rotation(-math.pi/2.0, 4, 'Y') - mtx4_z90n = Matrix.Rotation(-math.pi/2.0, 4, 'Z') + mtx4_x90n = Matrix.Rotation(-math.pi / 2.0, 4, 'X') + mtx4_y90n = Matrix.Rotation(-math.pi / 2.0, 4, 'Y') + mtx4_z90n = Matrix.Rotation(-math.pi / 2.0, 4, 'Z') GLOBAL_MATRIX = Matrix() GLOBAL_MATRIX[0][0] = GLOBAL_MATRIX[1][1] = GLOBAL_MATRIX[2][2] = self.properties.TX_SCALE - if self.properties.TX_XROT90: GLOBAL_MATRIX = mtx4_x90n * GLOBAL_MATRIX - if self.properties.TX_YROT90: GLOBAL_MATRIX = mtx4_y90n * GLOBAL_MATRIX - if self.properties.TX_ZROT90: GLOBAL_MATRIX = mtx4_z90n * GLOBAL_MATRIX + if self.properties.TX_XROT90: + GLOBAL_MATRIX = mtx4_x90n * GLOBAL_MATRIX + if self.properties.TX_YROT90: + GLOBAL_MATRIX = mtx4_y90n * GLOBAL_MATRIX + if self.properties.TX_ZROT90: + GLOBAL_MATRIX = mtx4_z90n * GLOBAL_MATRIX import io_scene_fbx.export_fbx return io_scene_fbx.export_fbx.save(self, context, GLOBAL_MATRIX=GLOBAL_MATRIX, **self.properties) diff --git a/release/scripts/op/mesh.py b/release/scripts/op/mesh.py index 9e684cea9c2..c2af9ba4da7 100644 --- a/release/scripts/op/mesh.py +++ b/release/scripts/op/mesh.py @@ -76,7 +76,7 @@ class MeshMirrorUV(bpy.types.Operator): return (ob and ob.type == 'MESH') def execute(self, context): - DIR = 1 # TODO, make an option + DIR = 1 # TODO, make an option from mathutils import Vector @@ -111,7 +111,6 @@ class MeshMirrorUV(bpy.types.Operator): if j is not None: vmap[i] = j - active_uv_layer = None for lay in mesh.uv_textures: if lay.active: @@ -162,7 +161,6 @@ class MeshMirrorUV(bpy.types.Operator): v1 = faces[j].vertices[:] v2 = [vmap[k] for k in faces[i].vertices[:]] - for k in range(len(uv1)): k_map = v1.index(v2[k]) uv1[k].x = - (uv2[k_map].x - 0.5) + 0.5 diff --git a/release/scripts/op/nla.py b/release/scripts/op/nla.py index 27fd83c4482..e8ee018e8c3 100644 --- a/release/scripts/op/nla.py +++ b/release/scripts/op/nla.py @@ -118,7 +118,7 @@ def bake(frame_start, frame_end, step=1, only_selected=False): pbone.keyframe_insert("rotation_quaternion", -1, f, name) elif rotation_mode == 'AXIS_ANGLE': pbone.keyframe_insert("rotation_axis_angle", -1, f, name) - else: # euler, XYZ, ZXY etc + else: # euler, XYZ, ZXY etc pbone.keyframe_insert("rotation_euler", -1, f, name) pbone.keyframe_insert("scale", -1, f, name) diff --git a/release/scripts/op/object.py b/release/scripts/op/object.py index b5123776047..8575f0f9243 100644 --- a/release/scripts/op/object.py +++ b/release/scripts/op/object.py @@ -117,8 +117,7 @@ class SelectHierarchy(bpy.types.Operator): def execute(self, context): select_new = [] act_new = None - - + selected_objects = context.selected_objects obj_act = context.object @@ -153,7 +152,7 @@ class SelectHierarchy(bpy.types.Operator): context.scene.objects.active = act_new return {'FINISHED'} - + return {'CANCELLED'} @@ -179,7 +178,7 @@ class SubdivisionSet(bpy.types.Operator): relative = self.properties.relative if relative and level == 0: - return {'CANCELLED'} # nothing to do + return {'CANCELLED'} # nothing to do def set_object_subd(obj): for mod in obj.modifiers: @@ -253,7 +252,7 @@ class ShapeTransfer(bpy.types.Operator): key = ob.add_shape_key(from_mix=False) if len(me.shape_keys.keys) == 1: key.name = "Basis" - key = ob.add_shape_key(from_mix=False) # we need a rest + key = ob.add_shape_key(from_mix=False) # we need a rest key.name = name ob.active_shape_key_index = len(me.shape_keys.keys) - 1 ob.show_shape_key = True @@ -345,7 +344,6 @@ class ShapeTransfer(bpy.types.Operator): n1loc = v1 + orig_normals[i1] * edge_length n2loc = v2 + orig_normals[i2] * edge_length - # now get the target nloc's v1_to, v2_to = target_coords[i1], target_coords[i2] edlen_to = (v1_to - v2_to).length @@ -392,7 +390,7 @@ class ShapeTransfer(bpy.types.Operator): ob_act = C.active_object objects = [ob for ob in C.selected_editable_objects if ob != ob_act] - if 1: # swap from/to, means we cant copy to many at once. + if 1: # swap from/to, means we cant copy to many at once. if len(objects) != 1: self.report({'ERROR'}, "Expected one other selected mesh object to copy from") return {'CANCELLED'} @@ -432,7 +430,7 @@ class JoinUVs(bpy.types.Operator): else: len_faces = len(mesh.faces) - uv_array = array.array('f', [0.0] * 8) * len_faces # seems to be the fastest way to create an array + uv_array = array.array('f', [0.0] * 8) * len_faces # seems to be the fastest way to create an array mesh.uv_textures.active.data.foreach_get("uv_raw", uv_array) objects = context.selected_editable_objects[:] @@ -453,7 +451,7 @@ class JoinUVs(bpy.types.Operator): else: uv_other = mesh_other.uv_textures.active if not uv_other: - uv_other = mesh_other.uv_textures.new() # should return the texture it adds + uv_other = mesh_other.uv_textures.new() # should return the texture it adds # finally do the copy uv_other.data.foreach_set("uv_raw", uv_array) @@ -487,7 +485,7 @@ class MakeDupliFace(bpy.types.Operator): def matrix_to_quat(matrix): # scale = matrix.median_scale trans = matrix.translation_part() - rot = matrix.rotation_part() # also contains scale + rot = matrix.rotation_part() # also contains scale return [(rot * b) + trans for b in base_tri] scene = bpy.context.scene @@ -508,7 +506,7 @@ class MakeDupliFace(bpy.types.Operator): mesh.vertices.foreach_set("co", face_verts) mesh.faces.foreach_set("vertices_raw", faces) - mesh.update() # generates edge data + mesh.update() # generates edge data # pick an object to use obj = objects[0] @@ -552,7 +550,9 @@ class IsolateTypeRender(bpy.types.Operator): obj.hide_render = True return {'FINISHED'} - + + + class ClearAllRestrictRender(bpy.types.Operator): '''Reveal all render objects by setting the hide render flag''' bl_idname = "object.hide_render_clear_all" @@ -561,7 +561,7 @@ class ClearAllRestrictRender(bpy.types.Operator): def execute(self, context): for obj in context.scene.objects: - obj.hide_render = False + obj.hide_render = False return {'FINISHED'} diff --git a/release/scripts/op/object_randomize_transform.py b/release/scripts/op/object_randomize_transform.py index 8c3f4eb6dfd..e3afb1261dd 100644 --- a/release/scripts/op/object_randomize_transform.py +++ b/release/scripts/op/object_randomize_transform.py @@ -36,10 +36,10 @@ def randomize_selected(seed, loc, rot, scale, scale_even, scale_min): if loc: obj.location += rand_vec(loc) - else: # otherwise the values change under us + else: # otherwise the values change under us uniform(0.0, 0.0), uniform(0.0, 0.0), uniform(0.0, 0.0) - if rot: # TODO, non euler's + if rot: # TODO, non euler's vec = rand_vec(rot) obj.rotation_euler[0] += vec[0] obj.rotation_euler[1] += vec[1] diff --git a/release/scripts/op/presets.py b/release/scripts/op/presets.py index 7364f0021ce..132a947218a 100644 --- a/release/scripts/op/presets.py +++ b/release/scripts/op/presets.py @@ -32,7 +32,7 @@ class AddPresetBase(): name = bpy.props.StringProperty(name="Name", description="Name of the preset, used to make the path name", maxlen=64, default="") - def _as_filename(self, name): # could reuse for other presets + def _as_filename(self, name): # could reuse for other presets for char in " !@#$%^&*(){}:\";'[]<>,./?": name = name.replace('.', '_') return name.lower() @@ -44,7 +44,7 @@ class AddPresetBase(): filename = self._as_filename(self.properties.name) + ".py" - target_path = bpy.utils.preset_paths(self.preset_subdir)[0] # we need some way to tell the user and system preset path + target_path = bpy.utils.preset_paths(self.preset_subdir)[0] # we need some way to tell the user and system preset path filepath = os.path.join(target_path, filename) if getattr(self, "save_keyconfig", False): @@ -203,6 +203,7 @@ class AddPresetInteraction(AddPresetBase, bpy.types.Operator): preset_subdir = "interaction" + def register(): pass diff --git a/release/scripts/op/screen_play_rendered_anim.py b/release/scripts/op/screen_play_rendered_anim.py index 80260755714..0103d7ea316 100644 --- a/release/scripts/op/screen_play_rendered_anim.py +++ b/release/scripts/op/screen_play_rendered_anim.py @@ -60,7 +60,6 @@ def guess_player_path(preset): elif preset == 'MPLAYER': player_path = "mplayer" - return player_path @@ -105,7 +104,7 @@ class PlayRenderedAnim(bpy.types.Operator): # works for movies and images file = rd.frame_path(frame=scene.frame_start) - file = bpy.path.abspath(file) # expand '//' + file = bpy.path.abspath(file) # expand '//' cmd = [player_path] # extra options, fps controls etc. @@ -130,7 +129,7 @@ class PlayRenderedAnim(bpy.types.Operator): opts += ["-mf", "fps=%.4f" % (rd.fps / rd.fps_base)] opts += ["-loop", "0", "-really-quiet", "-fs"] cmd.extend(opts) - else: # 'CUSTOM' + else: # 'CUSTOM' cmd.append(file) # launch it diff --git a/release/scripts/op/uv.py b/release/scripts/op/uv.py index 011deea1f17..c4024e8bc18 100644 --- a/release/scripts/op/uv.py +++ b/release/scripts/op/uv.py @@ -139,7 +139,7 @@ class ExportUVLayout(bpy.types.Operator): fill_settings.append(fill_default) for i, uvs in self._face_uv_iter(context): - try: # rare cases material index is invalid. + try: # rare cases material index is invalid. fill = fill_settings[faces[i].material_index] except IndexError: fill = fill_default diff --git a/release/scripts/op/wm.py b/release/scripts/op/wm.py index e83fa5d57e5..d90d80ce61d 100644 --- a/release/scripts/op/wm.py +++ b/release/scripts/op/wm.py @@ -23,6 +23,7 @@ import bpy from bpy.props import * from rna_prop_ui import rna_idprop_ui_prop_get, rna_idprop_ui_prop_clear + class MESH_OT_delete_edgeloop(bpy.types.Operator): '''Delete an edge loop by merging the faces on each side to a single face loop''' bl_idname = "mesh.delete_edgeloop" @@ -86,7 +87,7 @@ class WM_OT_context_set_boolean(bpy.types.Operator): execute = execute_context_assign -class WM_OT_context_set_int(bpy.types.Operator): # same as enum +class WM_OT_context_set_int(bpy.types.Operator): # same as enum '''Set a context value.''' bl_idname = "wm.context_set_int" bl_label = "Context Set" @@ -99,7 +100,7 @@ class WM_OT_context_set_int(bpy.types.Operator): # same as enum execute = execute_context_assign -class WM_OT_context_scale_int(bpy.types.Operator): # same as enum +class WM_OT_context_scale_int(bpy.types.Operator): '''Scale an int context value.''' bl_idname = "wm.context_scale_int" bl_label = "Context Set" @@ -118,7 +119,7 @@ class WM_OT_context_scale_int(bpy.types.Operator): # same as enum value = self.properties.value data_path = self.properties.data_path - if value == 1.0: # nothing to do + if value == 1.0: # nothing to do return {'CANCELLED'} if getattr(self.properties, "always_step", False): @@ -135,7 +136,7 @@ class WM_OT_context_scale_int(bpy.types.Operator): # same as enum return {'FINISHED'} -class WM_OT_context_set_float(bpy.types.Operator): # same as enum +class WM_OT_context_set_float(bpy.types.Operator): # same as enum '''Set a context value.''' bl_idname = "wm.context_set_float" bl_label = "Context Set Float" @@ -149,7 +150,7 @@ class WM_OT_context_set_float(bpy.types.Operator): # same as enum execute = execute_context_assign -class WM_OT_context_set_string(bpy.types.Operator): # same as enum +class WM_OT_context_set_string(bpy.types.Operator): # same as enum '''Set a context value.''' bl_idname = "wm.context_set_string" bl_label = "Context Set String" @@ -314,7 +315,7 @@ class WM_OT_context_cycle_enum(bpy.types.Operator): if orig_index == 0: advance_enum = enums[-1] else: - advance_enum = enums[orig_index-1] + advance_enum = enums[orig_index - 1] else: if orig_index == len(enums) - 1: advance_enum = enums[0] @@ -545,9 +546,9 @@ class WM_OT_doc_view(bpy.types.Operator): def execute(self, context): id_split = self.properties.doc_id.split('.') - if len(id_split) == 1: # rna, class + if len(id_split) == 1: # rna, class url = '%s/bpy.types.%s.html' % (self._prefix, id_split[0]) - elif len(id_split) == 2: # rna, class.prop + elif len(id_split) == 2: # rna, class.prop class_name, class_prop = id_split if hasattr(bpy.types, class_name.upper() + '_OT_' + class_prop): @@ -687,7 +688,6 @@ class WM_OT_properties_edit(bpy.types.Operator): # print(exec_str) exec(exec_str) - # Reassign exec_str = "item['%s'] = %s" % (prop, repr(value_eval)) # print(exec_str) @@ -714,7 +714,7 @@ class WM_OT_properties_edit(bpy.types.Operator): item = eval("context.%s" % self.properties.data_path) # setup defaults - prop_ui = rna_idprop_ui_prop_get(item, self.properties.property, False) # dont create + prop_ui = rna_idprop_ui_prop_get(item, self.properties.property, False) # dont create if prop_ui: self.properties.min = prop_ui.get("min", -1000000000) self.properties.max = prop_ui.get("max", 1000000000) @@ -767,6 +767,7 @@ class WM_OT_properties_remove(bpy.types.Operator): del item[self.properties.property] return {'FINISHED'} + def register(): pass diff --git a/release/scripts/ui/properties_animviz.py b/release/scripts/ui/properties_animviz.py index 2a463331ac7..87925a9d6f4 100644 --- a/release/scripts/ui/properties_animviz.py +++ b/release/scripts/ui/properties_animviz.py @@ -92,12 +92,8 @@ class OnionSkinButtonsPanel(): col.prop(arm, "show_only_ghost_selected", text="Selected Only") - # NOTE: # The specialised panel types are derived in their respective UI modules - - - def register(): pass diff --git a/release/scripts/ui/properties_data_armature.py b/release/scripts/ui/properties_data_armature.py index 17186378cb0..5cb7016a908 100644 --- a/release/scripts/ui/properties_data_armature.py +++ b/release/scripts/ui/properties_data_armature.py @@ -149,7 +149,7 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, bpy.types.Panel): sub = row.row(align=True) sub.operator("pose.group_assign", text="Assign") - sub.operator("pose.group_unassign", text="Remove") #row.operator("pose.bone_group_remove_from", text="Remove") + sub.operator("pose.group_unassign", text="Remove") # row.operator("pose.bone_group_remove_from", text="Remove") sub = row.row(align=True) sub.operator("pose.group_select", text="Select") @@ -219,7 +219,6 @@ class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, bpy.types.Panel): col = split.column() col.prop(itasc, "iterations") - if simulation: layout.prop(itasc, "use_auto_step") row = layout.row() @@ -240,6 +239,7 @@ class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, bpy.types.Panel): from properties_animviz import MotionPathButtonsPanel, OnionSkinButtonsPanel + class DATA_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel): #bl_label = "Bones Motion Paths" bl_context = "data" @@ -267,7 +267,7 @@ class DATA_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel): col.operator("pose.paths_clear", text="Clear Paths") -class DATA_PT_onion_skinning(OnionSkinButtonsPanel): #, bpy.types.Panel): # inherit from panel when ready +class DATA_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): # inherit from panel when ready #bl_label = "Bones Onion Skinning" bl_context = "data" @@ -288,6 +288,7 @@ class DATA_PT_custom_props_arm(ArmatureButtonsPanel, PropertyPanel, bpy.types.Pa COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "object.data" + def register(): pass diff --git a/release/scripts/ui/properties_data_armature_rigify.py b/release/scripts/ui/properties_data_armature_rigify.py index aca41d59d3a..afcf0b336ed 100644 --- a/release/scripts/ui/properties_data_armature_rigify.py +++ b/release/scripts/ui/properties_data_armature_rigify.py @@ -98,7 +98,7 @@ class DATA_PT_template(bpy.types.Panel): if self.templates: subsubrow = subrow.split(percentage=0.8) subsubrow.operator("pose.metarig_sample_add", text="Sample").metarig_type = self.templates[pose_templates.active_template_index] - subsubrow.operator("pose.metarig_sample_add", text="All").metarig_type = "" # self.templates[pose_templates.active_template_index] + subsubrow.operator("pose.metarig_sample_add", text="All").metarig_type = "" # self.templates[pose_templates.active_template_index] sub = row.column(align=True) sub.operator("pose.metarig_reload", icon="FILE_REFRESH", text="") @@ -136,7 +136,7 @@ def rigify_report_exception(operator, exception): message.append("Incorrect armature for type '%s'" % fn) message.append(exception.message) - message.reverse() # XXX - stupid! menu's are upside down! + message.reverse() # XXX - stupid! menu's are upside down! operator.report(set(['INFO']), '\n'.join(message)) @@ -310,7 +310,7 @@ class INFO_MT_armature_metarig_add(bpy.types.Menu): layout.operator("pose.metarig_sample_add", text=text, icon='OUTLINER_OB_ARMATURE').metarig_type = submodule_type menu_func = (lambda self, context: self.layout.menu("INFO_MT_armature_metarig_add", icon='OUTLINER_OB_ARMATURE')) -import space_info # ensure the menu is loaded first +import space_info # ensure the menu is loaded first def register(): @@ -320,7 +320,6 @@ def register(): maxlen=64, default="") - PoseTemplateSettings.CollectionProperty(attr="templates", type=PoseTemplate, name="Templates", description="") PoseTemplateSettings.IntProperty(attr="active_template_index", name="Index of the active slave", diff --git a/release/scripts/ui/properties_data_bone.py b/release/scripts/ui/properties_data_bone.py index ee1c33daee7..3ed05d914ed 100644 --- a/release/scripts/ui/properties_data_bone.py +++ b/release/scripts/ui/properties_data_bone.py @@ -274,7 +274,7 @@ class BONE_PT_inverse_kinematics(BoneButtonsPanel, bpy.types.Panel): sub.prop(pchan, "ik_min_z", text="") sub.prop(pchan, "ik_max_z", text="") sub.active = pchan.lock_ik_z == False and pchan.use_ik_limit_z and pchan.is_in_ik_chain - + split = layout.split(percentage=0.25) split.label(text="Stretch:") sub = split.row() diff --git a/release/scripts/ui/properties_data_curve.py b/release/scripts/ui/properties_data_curve.py index 375136a335f..f6b73e03091 100644 --- a/release/scripts/ui/properties_data_curve.py +++ b/release/scripts/ui/properties_data_curve.py @@ -302,11 +302,11 @@ class DATA_PT_font(CurveButtonsPanel, bpy.types.Panel): col.prop(char, "use_bold") col.prop(char, "use_italic") col.prop(char, "use_underline") - + split = layout.split() col = split.column() col.prop(text, "small_caps_scale", text="Small Caps") - + col = split.column() col.prop(char, "use_small_caps") diff --git a/release/scripts/ui/properties_data_empty.py b/release/scripts/ui/properties_data_empty.py index bf2f3b3d0ba..9a297eba4af 100644 --- a/release/scripts/ui/properties_data_empty.py +++ b/release/scripts/ui/properties_data_empty.py @@ -43,7 +43,6 @@ class DATA_PT_empty(DataButtonsPanel, bpy.types.Panel): layout.prop(ob, "empty_draw_size", text="Size") - def register(): pass diff --git a/release/scripts/ui/properties_data_lamp.py b/release/scripts/ui/properties_data_lamp.py index a5ac3bd62ae..228a70d1b48 100644 --- a/release/scripts/ui/properties_data_lamp.py +++ b/release/scripts/ui/properties_data_lamp.py @@ -64,6 +64,7 @@ class DATA_PT_context_lamp(DataButtonsPanel, bpy.types.Panel): if texture_count != 0: split.label(text=str(texture_count), icon='TEXTURE') + class DATA_PT_preview(DataButtonsPanel, bpy.types.Panel): bl_label = "Preview" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -205,10 +206,10 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel): if lamp.shadow_method == 'NOSHADOW' and lamp.type == 'AREA': split = layout.split() - col= split.column() + col = split.column() col.label(text="Form factor sampling:") - - sub=col.row(align=True) + + sub = col.row(align=True) if lamp.shape == 'SQUARE': sub.prop(lamp, "shadow_ray_samples_x", text="Samples") @@ -228,19 +229,19 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel): if lamp.shadow_method == 'RAY_SHADOW': split = layout.split() - + col = split.column() col.label(text="Sampling:") - + if lamp.type in ('POINT', 'SUN', 'SPOT'): sub = col.row() - + sub.prop(lamp, "shadow_ray_samples", text="Samples") sub.prop(lamp, "shadow_soft_size", text="Soft Size") - + elif lamp.type == 'AREA': sub = col.row(align=True) - + if lamp.shape == 'SQUARE': sub.prop(lamp, "shadow_ray_samples_x", text="Samples") elif lamp.shape == 'RECTANGLE': @@ -251,11 +252,11 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel): split = layout.split() col = split.column() - + if lamp.shadow_ray_sample_method == 'ADAPTIVE_QMC': col.prop(lamp, "shadow_adaptive_threshold", text="Threshold") col = split.column() - + if lamp.type == 'AREA' and lamp.shadow_ray_sample_method == 'CONSTANT_JITTERED': col = split.column() col = split.column() @@ -322,7 +323,7 @@ class DATA_PT_area(DataButtonsPanel, bpy.types.Panel): split = layout.split() col = split.column() - + col.row().prop(lamp, "shape", expand=True) sub = col.row(align=True) diff --git a/release/scripts/ui/properties_data_lattice.py b/release/scripts/ui/properties_data_lattice.py index 05b331ea0a2..469bd07b691 100644 --- a/release/scripts/ui/properties_data_lattice.py +++ b/release/scripts/ui/properties_data_lattice.py @@ -80,7 +80,7 @@ class DATA_PT_lattice(DataButtonsPanel, bpy.types.Panel): row = layout.row() row.prop(lat, "use_outside") row.prop_search(lat, "vertex_group", context.object, "vertex_groups", text="") - + class DATA_PT_custom_props_lattice(DataButtonsPanel, PropertyPanel, bpy.types.Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} diff --git a/release/scripts/ui/properties_data_mesh.py b/release/scripts/ui/properties_data_mesh.py index 5d34bd9d4ad..38364139147 100644 --- a/release/scripts/ui/properties_data_mesh.py +++ b/release/scripts/ui/properties_data_mesh.py @@ -42,8 +42,8 @@ class MESH_MT_shape_key_specials(bpy.types.Menu): def draw(self, context): layout = self.layout - layout.operator("object.shape_key_transfer", icon='COPY_ID') # icon is not ideal - layout.operator("object.join_shapes", icon='COPY_ID') # icon is not ideal + layout.operator("object.shape_key_transfer", icon='COPY_ID') # icon is not ideal + layout.operator("object.join_shapes", icon='COPY_ID') # icon is not ideal layout.operator("object.shape_key_mirror", icon='ARROW_LEFTRIGHT') diff --git a/release/scripts/ui/properties_game.py b/release/scripts/ui/properties_game.py index e703f4a9812..856ae624566 100644 --- a/release/scripts/ui/properties_game.py +++ b/release/scripts/ui/properties_game.py @@ -53,7 +53,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, bpy.types.Panel): col = split.column() col.prop(game, "use_actor") col.prop(game, "use_ghost") - col.prop(ob, "hide_render", text="Invisible") # out of place but useful + col.prop(ob, "hide_render", text="Invisible") # out of place but useful col = split.column() col.prop(game, "use_material_physics") @@ -286,7 +286,7 @@ class RENDER_PT_game_stereo(RenderButtonsPanel, bpy.types.Panel): col = split.column() col.prop(gs, "dome_tesselation", text="Tesselation") - else: # cube map + else: # cube map col = split.column() col.prop(gs, "dome_buffer_resolution", text="Resolution", slider=True) diff --git a/release/scripts/ui/properties_material.py b/release/scripts/ui/properties_material.py index e965719007f..37284847dd1 100644 --- a/release/scripts/ui/properties_material.py +++ b/release/scripts/ui/properties_material.py @@ -119,7 +119,7 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel, bpy.types.Panel): if mat: layout.prop(mat, "type", expand=True) - + class MATERIAL_PT_preview(MaterialButtonsPanel, bpy.types.Panel): bl_label = "Preview" @@ -357,9 +357,9 @@ class MATERIAL_PT_transp(MaterialButtonsPanel, bpy.types.Panel): sub = col.column() sub.active = rayt.gloss_factor < 1.0 sub.prop(rayt, "gloss_threshold", text="Threshold") - sub.prop(rayt, "gloss_samples", text="Samples") + sub.prop(rayt, "gloss_samples", text="Samples") + - class MATERIAL_PT_mirror(MaterialButtonsPanel, bpy.types.Panel): bl_label = "Mirror" bl_options = {'DEFAULT_CLOSED'} @@ -482,7 +482,7 @@ class MATERIAL_PT_halo(MaterialButtonsPanel, bpy.types.Panel): def draw(self, context): layout = self.layout - mat = context.material # dont use node material + mat = context.material # dont use node material halo = mat.halo split = layout.split() @@ -536,7 +536,7 @@ class MATERIAL_PT_flare(MaterialButtonsPanel, bpy.types.Panel): def draw(self, context): layout = self.layout - mat = context.material # dont use node material + mat = context.material # dont use node material halo = mat.halo layout.active = halo.use_flare_mode @@ -564,7 +564,7 @@ class MATERIAL_PT_physics(MaterialButtonsPanel, bpy.types.Panel): def draw(self, context): layout = self.layout - phys = context.material.physics # dont use node material + phys = context.material.physics # dont use node material split = layout.split() @@ -593,7 +593,7 @@ class MATERIAL_PT_strand(MaterialButtonsPanel, bpy.types.Panel): def draw(self, context): layout = self.layout - mat = context.material # dont use node material + mat = context.material # dont use node material tan = mat.strand split = layout.split() @@ -760,7 +760,7 @@ class MATERIAL_PT_volume_density(VolumeButtonsPanel, bpy.types.Panel): def draw(self, context): layout = self.layout - vol = context.material.volume # dont use node material + vol = context.material.volume # dont use node material split = layout.split() col = split.column() @@ -777,7 +777,7 @@ class MATERIAL_PT_volume_shading(VolumeButtonsPanel, bpy.types.Panel): def draw(self, context): layout = self.layout - vol = context.material.volume # dont use node material + vol = context.material.volume # dont use node material split = layout.split() @@ -802,7 +802,7 @@ class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel): def draw(self, context): layout = self.layout - vol = context.material.volume # dont use node material + vol = context.material.volume # dont use node material split = layout.split() @@ -837,7 +837,7 @@ class MATERIAL_PT_volume_transp(VolumeButtonsPanel, bpy.types.Panel): def draw(self, context): layout = self.layout - mat = context.material # dont use node material + mat = context.material # dont use node material layout.prop(mat, "transparency_method", expand=True) @@ -849,7 +849,7 @@ class MATERIAL_PT_volume_integration(VolumeButtonsPanel, bpy.types.Panel): def draw(self, context): layout = self.layout - vol = context.material.volume # dont use node material + vol = context.material.volume # dont use node material split = layout.split() diff --git a/release/scripts/ui/properties_object.py b/release/scripts/ui/properties_object.py index 66189f62dbf..dd242723cac 100644 --- a/release/scripts/ui/properties_object.py +++ b/release/scripts/ui/properties_object.py @@ -296,7 +296,7 @@ class OBJECT_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel): col.operator("object.paths_clear", text="Clear Paths") -class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel): #, bpy.types.Panel): # inherit from panel when ready +class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): # inherit from panel when ready #bl_label = "Object Onion Skinning" bl_context = "object" diff --git a/release/scripts/ui/properties_object_constraint.py b/release/scripts/ui/properties_object_constraint.py index a2350155ed5..3908b00cde6 100644 --- a/release/scripts/ui/properties_object_constraint.py +++ b/release/scripts/ui/properties_object_constraint.py @@ -55,7 +55,7 @@ class ConstraintButtonsPanel(): row.prop(con, "owner_space", text="") def target_template(self, layout, con, subtargets=True): - layout.prop(con, "target") # XXX limiting settings for only 'curves' or some type of object + layout.prop(con, "target") # XXX limiting settings for only 'curves' or some type of object if con.target and subtargets: if con.target.type == 'ARMATURE': diff --git a/release/scripts/ui/properties_particle.py b/release/scripts/ui/properties_particle.py index 8366012c232..c2bc761d39c 100644 --- a/release/scripts/ui/properties_particle.py +++ b/release/scripts/ui/properties_particle.py @@ -470,7 +470,6 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel): elif part.physics_type == 'BOIDS': boids = part.boids - row = layout.row() row.prop(boids, "use_flight") row.prop(boids, "use_land") @@ -1032,7 +1031,6 @@ class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, bpy.types.Panel): row.label(text="Vertex Group") row.label(text="Negate") - row = layout.row() row.prop_search(psys, "vertex_group_density", ob, "vertex_groups", text="Density") row.prop(psys, "invert_vertex_group_density", text="") diff --git a/release/scripts/ui/properties_physics_common.py b/release/scripts/ui/properties_physics_common.py index 68b93386099..b8798db221e 100644 --- a/release/scripts/ui/properties_physics_common.py +++ b/release/scripts/ui/properties_physics_common.py @@ -46,7 +46,7 @@ def point_cache_ui(self, context, cache, enabled, cachetype): row = layout.row() row.label(text="File Path:") row.prop(cache, "use_library_path", "Use Lib Path") - + layout.prop(cache, "filepath", text="") layout.label(text=cache.info) @@ -97,7 +97,6 @@ def point_cache_ui(self, context, cache, enabled, cachetype): sub.enabled = enabled sub.operator("ptcache.bake_from_cache", text="Current Cache to Bake") - col = split.column() col.operator("ptcache.bake_all", text="Bake All Dynamics").bake = True col.operator("ptcache.free_bake_all", text="Free All Bakes") @@ -107,7 +106,6 @@ def point_cache_ui(self, context, cache, enabled, cachetype): def effector_weights_ui(self, context, weights): layout = self.layout - layout.prop(weights, "group") split = layout.split() @@ -142,7 +140,6 @@ def effector_weights_ui(self, context, weights): def basic_force_field_settings_ui(self, context, field): layout = self.layout - split = layout.split() if not field or field.type == 'NONE': @@ -191,7 +188,6 @@ def basic_force_field_settings_ui(self, context, field): def basic_force_field_falloff_ui(self, context, field): layout = self.layout - # XXX: This doesn't update for some reason. #split = layout.split() split = layout.split(percentage=0.35) diff --git a/release/scripts/ui/properties_physics_field.py b/release/scripts/ui/properties_physics_field.py index a72103f5132..b5005a78c01 100644 --- a/release/scripts/ui/properties_physics_field.py +++ b/release/scripts/ui/properties_physics_field.py @@ -57,7 +57,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel): split = layout.split() if field.type == 'NONE': - return # nothing to draw + return # nothing to draw elif field.type == 'GUIDE': col = split.column() col.prop(field, "guide_minimum") diff --git a/release/scripts/ui/properties_physics_fluid.py b/release/scripts/ui/properties_physics_fluid.py index dcdb2de8b52..48539a06ee3 100644 --- a/release/scripts/ui/properties_physics_fluid.py +++ b/release/scripts/ui/properties_physics_fluid.py @@ -58,7 +58,6 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel, bpy.types.Panel): split.operator("object.modifier_add", text="Add").type = 'FLUID_SIMULATION' split.label() - if md: row = layout.row() row.prop(fluid, "type") diff --git a/release/scripts/ui/properties_physics_smoke.py b/release/scripts/ui/properties_physics_smoke.py index 1db6785f36f..536c1e09f44 100644 --- a/release/scripts/ui/properties_physics_smoke.py +++ b/release/scripts/ui/properties_physics_smoke.py @@ -89,7 +89,7 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel, bpy.types.Panel): sub.prop(domain, "use_dissolve_smoke_log", text="Slow") elif md.smoke_type == 'FLOW': - + flow = md.flow_settings split = layout.split() @@ -107,7 +107,6 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel, bpy.types.Panel): sub.active = flow.initial_velocity sub.prop(flow, "velocity_factor", text="Multiplier") - sub = split.column() sub.active = not md.flow_settings.use_outflow sub.label(text="Behavior:") diff --git a/release/scripts/ui/properties_physics_softbody.py b/release/scripts/ui/properties_physics_softbody.py index 08abf048c50..a07c6a8e43b 100644 --- a/release/scripts/ui/properties_physics_softbody.py +++ b/release/scripts/ui/properties_physics_softbody.py @@ -188,7 +188,6 @@ class PHYSICS_PT_softbody_edge(PhysicButtonsPanel, bpy.types.Panel): #sub = col.column() #sub.enabled = softbody.aero > 0 - col.label(text="Collision:") col.prop(softbody, "use_edge_collision", text="Edge") col.prop(softbody, "use_face_collision", text="Face") diff --git a/release/scripts/ui/properties_render.py b/release/scripts/ui/properties_render.py index aef95056391..4fb893f2beb 100644 --- a/release/scripts/ui/properties_render.py +++ b/release/scripts/ui/properties_render.py @@ -102,7 +102,6 @@ class RENDER_PT_layers(RenderButtonsPanel, bpy.types.Panel): col.label(text="Mask Layers:") col.prop(rl, "layers_zmask", text="") - layout.separator() layout.label(text="Include:") @@ -264,7 +263,6 @@ class RENDER_PT_post_processing(RenderButtonsPanel, bpy.types.Panel): sub.row().prop(rd, "field_order", expand=True) sub.prop(rd, "use_fields_still", text="Still") - col = split.column() col.prop(rd, "use_edge_enhance") sub = col.column() @@ -298,7 +296,7 @@ class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel): if file_format in ('AVI_JPEG', 'JPEG'): split = layout.split() split.prop(rd, "file_quality", slider=True) - + if file_format == 'PNG': split = layout.split() split.prop(rd, "file_quality", slider=True, text="Compression") @@ -382,7 +380,7 @@ class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel): if rd.quicktime_audiocodec_type == 'AAC': col.prop(rd, "quicktime_audio_codec_isvbr") - + col = subsplit.column() col.prop(rd, "quicktime_audio_resampling_hq") @@ -503,6 +501,7 @@ class RENDER_PT_motion_blur(RenderButtonsPanel, bpy.types.Panel): row.prop(rd, "motion_blur_samples") row.prop(rd, "motion_blur_shutter") + class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel): bl_label = "Dimensions" COMPAT_ENGINES = {'BLENDER_RENDER'} diff --git a/release/scripts/ui/properties_scene.py b/release/scripts/ui/properties_scene.py index c8c76904829..bc4fceaeb99 100644 --- a/release/scripts/ui/properties_scene.py +++ b/release/scripts/ui/properties_scene.py @@ -134,7 +134,6 @@ class SCENE_PT_keying_set_paths(SceneButtonsPanel, bpy.types.Panel): col.template_any_ID(ksp, "id", "id_type") col.template_path_builder(ksp, "data_path", ksp.id) - row = layout.row() col = row.column() @@ -230,7 +229,6 @@ class ANIM_OT_keying_set_export(bpy.types.Operator): scene = context.scene ks = scene.keying_sets.active - f.write("# Keying Set: %s\n" % ks.name) f.write("import bpy\n\n") @@ -249,9 +247,8 @@ class ANIM_OT_keying_set_export(bpy.types.Operator): f.write("ks.use_insertkey_xyz_to_rgb = %s\n" % ks.use_insertkey_xyz_to_rgb) f.write("\n") - # generate and write set of lookups for id's used in paths - id_to_paths_cache = {} # cache for syncing ID-blocks to bpy paths + shorthands + id_to_paths_cache = {} # cache for syncing ID-blocks to bpy paths + shorthands for ksp in ks.paths: if ksp.id is None: @@ -278,7 +275,6 @@ class ANIM_OT_keying_set_export(bpy.types.Operator): f.write("%s = %s\n" % (id_pair[0], id_pair[1])) f.write("\n") - # write paths f.write("# Path Definitions\n") for ksp in ks.paths: @@ -289,7 +285,7 @@ class ANIM_OT_keying_set_export(bpy.types.Operator): # find the relevant shorthand from the cache id_bpy_path = id_to_paths_cache[ksp.id][0] else: - id_bpy_path = "None" # XXX... + id_bpy_path = "None" # XXX... f.write("%s, '%s'" % (id_bpy_path, ksp.data_path)) # array index settings (if applicable) diff --git a/release/scripts/ui/properties_texture.py b/release/scripts/ui/properties_texture.py index d6d5a806a9c..dfb9e7b87f4 100644 --- a/release/scripts/ui/properties_texture.py +++ b/release/scripts/ui/properties_texture.py @@ -691,7 +691,6 @@ class TEXTURE_PT_envmap(TextureTypePanel, bpy.types.Panel): tex = context.texture env = tex.environment_map - row = layout.row() row.prop(env, "source", expand=True) row.menu("TEXTURE_MT_envmap_specials", icon='DOWNARROW_HLT', text="") diff --git a/release/scripts/ui/properties_world.py b/release/scripts/ui/properties_world.py index fc81967eb12..b4507ccc73c 100644 --- a/release/scripts/ui/properties_world.py +++ b/release/scripts/ui/properties_world.py @@ -50,7 +50,7 @@ class WORLD_PT_context_world(WorldButtonsPanel, bpy.types.Panel): scene = context.scene world = context.world space = context.space_data - + texture_count = world and len(world.texture_slots.keys()) split = layout.split(percentage=0.65) @@ -62,6 +62,7 @@ class WORLD_PT_context_world(WorldButtonsPanel, bpy.types.Panel): if texture_count: split.label(text=str(texture_count), icon='TEXTURE') + class WORLD_PT_preview(WorldButtonsPanel, bpy.types.Panel): bl_label = "Preview" COMPAT_ENGINES = {'BLENDER_RENDER'} diff --git a/release/scripts/ui/space_dopesheet.py b/release/scripts/ui/space_dopesheet.py index d4d613e05b9..fae7f5f7b4b 100644 --- a/release/scripts/ui/space_dopesheet.py +++ b/release/scripts/ui/space_dopesheet.py @@ -28,13 +28,13 @@ def dopesheet_filter(layout, context): row = layout.row(align=True) row.prop(dopesheet, "show_only_selected", text="") row.prop(dopesheet, "show_hidden", text="") - + row = layout.row(align=True) row.prop(dopesheet, "show_transforms", text="") - + if is_nla: row.prop(dopesheet, "show_missing_nla", text="") - + row = layout.row(align=True) row.prop(dopesheet, "show_scenes", text="") row.prop(dopesheet, "show_worlds", text="") diff --git a/release/scripts/ui/space_filebrowser.py b/release/scripts/ui/space_filebrowser.py index 46d3e16acd1..6b51ff42c10 100644 --- a/release/scripts/ui/space_filebrowser.py +++ b/release/scripts/ui/space_filebrowser.py @@ -44,11 +44,11 @@ class FILEBROWSER_HT_header(bpy.types.Header): row = layout.row(align=True) row.operator("file.directory_new", text="", icon='NEWFOLDER') - + params = st.params # can be None when save/reload with a file selector open - if params: + if params: layout.prop(params, "display_type", expand=True, text="") layout.prop(params, "sort_method", expand=True, text="") diff --git a/release/scripts/ui/space_image.py b/release/scripts/ui/space_image.py index bd59aaa42fa..7b3954a2e74 100644 --- a/release/scripts/ui/space_image.py +++ b/release/scripts/ui/space_image.py @@ -50,7 +50,7 @@ class IMAGE_MT_view(bpy.types.Menu): layout.prop(sima, "use_realtime_update") if show_uvedit: - layout.prop(toolsettings, "show_uv_local_view") # Numpad / + layout.prop(toolsettings, "show_uv_local_view") layout.prop(uv, "show_other_objects") layout.separator() @@ -203,8 +203,8 @@ class IMAGE_MT_uvs_weldalign(bpy.types.Menu): def draw(self, context): layout = self.layout - layout.operator("uv.weld") # W, 1 - layout.operator_enums("uv.align", "axis") # W, 2/3/4 + layout.operator("uv.weld") # W, 1 + layout.operator_enums("uv.align", "axis") # W, 2/3/4 class IMAGE_MT_uvs(bpy.types.Menu): @@ -663,6 +663,7 @@ class IMAGE_PT_paint_curve(BrushButtonsPanel, bpy.types.Panel): row.operator("brush.curve_preset", icon="LINCURVE", text="").shape = 'LINE' row.operator("brush.curve_preset", icon="NOCURVE", text="").shape = 'MAX' + def register(): pass diff --git a/release/scripts/ui/space_info.py b/release/scripts/ui/space_info.py index 8d049e29e98..349dd333930 100644 --- a/release/scripts/ui/space_info.py +++ b/release/scripts/ui/space_info.py @@ -352,7 +352,6 @@ class HELP_OT_operator_cheat_sheet(bpy.types.Operator): return {'FINISHED'} - def register(): pass diff --git a/release/scripts/ui/space_logic.py b/release/scripts/ui/space_logic.py index 1272a5db9d1..44c6f5fd684 100644 --- a/release/scripts/ui/space_logic.py +++ b/release/scripts/ui/space_logic.py @@ -44,7 +44,7 @@ class LOGIC_PT_properties(bpy.types.Panel): row = box.row() row.prop(prop, "name", text="") row.prop(prop, "type", text="") - row.prop(prop, "value", text="", toggle=True) # we dont care about the type. rna will display correctly + row.prop(prop, "value", text="", toggle=True) # we dont care about the type. rna will display correctly row.prop(prop, "show_debug", text="", toggle=True, icon='INFO') row.operator("object.game_property_remove", text="", icon='X', emboss=False).index = i @@ -58,7 +58,7 @@ class LOGIC_MT_logicbricks_add(bpy.types.Menu): layout.operator_menu_enum("logic.sensor_add", "type", text="Sensor") layout.operator_menu_enum("logic.controller_add", "type", text="Controller") layout.operator_menu_enum("logic.actuator_add", "type", text="Actuator") - + class LOGIC_HT_header(bpy.types.Header): bl_space_type = 'LOGIC_EDITOR' @@ -76,7 +76,7 @@ class LOGIC_HT_header(bpy.types.Header): sub.menu("LOGIC_MT_view") #sub.menu("LOGIC_MT_select") #sub.menu("LOGIC_MT_add") - + class LOGIC_MT_view(bpy.types.Menu): bl_label = "View" @@ -85,7 +85,7 @@ class LOGIC_MT_view(bpy.types.Menu): layout = self.layout layout.column() - + layout.operator("logic.properties", icon='MENU_PANEL') diff --git a/release/scripts/ui/space_node.py b/release/scripts/ui/space_node.py index cd1425ee122..e37f6ffe4ae 100644 --- a/release/scripts/ui/space_node.py +++ b/release/scripts/ui/space_node.py @@ -92,11 +92,11 @@ class NODE_MT_view(bpy.types.Menu): if context.space_data.show_backdrop: layout.separator() - - layout.operator("node.backimage_move",text = "Backdrop move") - layout.operator("node.backimage_zoom",text = "Backdrop zoom in").factor = 1.2 - layout.operator("node.backimage_zoom",text = "Backdrop zoom out").factor = 0.833 - + + layout.operator("node.backimage_move", text="Backdrop move") + layout.operator("node.backimage_zoom", text="Backdrop zoom in").factor = 1.2 + layout.operator("node.backimage_zoom", text="Backdrop zoom out").factor = 0.833 + layout.separator() layout.operator("screen.area_dupli") diff --git a/release/scripts/ui/space_sequencer.py b/release/scripts/ui/space_sequencer.py index 34100da5772..a9dd0663592 100644 --- a/release/scripts/ui/space_sequencer.py +++ b/release/scripts/ui/space_sequencer.py @@ -98,9 +98,9 @@ class SEQUENCER_MT_view(bpy.types.Menu): st = context.space_data layout.column() - + layout.operator("sequencer.properties", icon='MENU_PANEL') - + layout.separator() """ @@ -458,7 +458,6 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel): for i in range(1, strip.channel): row.operator("sequencer.cut_multicam", text=str(i)).camera = i - col = layout.column(align=True) if strip.type == 'SPEED': col.prop(strip, "speed_fader", text="Speed fader") @@ -466,7 +465,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel): col.prop(strip, "use_default_fade", "Default fade") if not strip.use_default_fade: col.prop(strip, "effect_fader", text="Effect fader") - + layout.prop(strip, "use_translation", text="Image Offset:") if strip.use_translation: col = layout.column(align=True) @@ -554,7 +553,7 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel): col = split.column() col.label(text="File:") col = split.column() - col.prop(elem, "filename", text="") # strip.elements[0] could be a fallback + col.prop(elem, "filename", text="") # strip.elements[0] could be a fallback elif seq_type == 'MOVIE': split = layout.split(percentage=0.2) @@ -566,7 +565,6 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel): # TODO, sound??? # end drawing filename - layout.prop(strip, "use_translation", text="Image Offset:") if strip.use_translation: col = layout.column(align=True) @@ -698,7 +696,7 @@ class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel): col.prop(strip, "use_float") layout.prop(strip, "use_color_balance") - if strip.use_color_balance and strip.color_balance: # TODO - need to add this somehow + if strip.use_color_balance and strip.color_balance: # TODO - need to add this somehow row = layout.row() row.active = strip.use_color_balance col = row.column() @@ -742,7 +740,7 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel, bpy.types.Panel): flow = layout.column_flow() flow.prop(strip, "use_proxy_custom_directory") flow.prop(strip, "use_proxy_custom_file") - if strip.proxy: # TODO - need to add this somehow + if strip.proxy: # TODO - need to add this somehow if strip.use_proxy_custom_directory and not strip.use_proxy_custom_file: flow.prop(strip.proxy, "directory") if strip.use_proxy_custom_file: @@ -783,12 +781,13 @@ class SEQUENCER_PT_view(SequencerButtonsPanel_Output, bpy.types.Panel): col = layout.column() if st.display_mode == 'IMAGE': - col.prop(st, "draw_overexposed") # text="Zebra" + col.prop(st, "draw_overexposed") # text="Zebra" col.prop(st, "show_safe_margin") if st.display_mode == 'WAVEFORM': col.prop(st, "show_separate_color") col.prop(st, "proxy_render_size") + def register(): pass diff --git a/release/scripts/ui/space_text.py b/release/scripts/ui/space_text.py index 0b7e215dc37..163fa07e1d6 100644 --- a/release/scripts/ui/space_text.py +++ b/release/scripts/ui/space_text.py @@ -131,12 +131,12 @@ class TEXT_PT_find(bpy.types.Panel): class TEXT_MT_view(bpy.types.Menu): bl_label = "View" - + def draw(self, context): layout = self.layout - + layout.operator("text.properties", icon='MENU_PANEL') - + layout.separator() layout.operator("screen.area_dupli") @@ -146,8 +146,8 @@ class TEXT_MT_view(bpy.types.Menu): layout.operator("text.move", text="Top of File").type = 'FILE_TOP' layout.operator("text.move", text="Bottom of File").type = 'FILE_BOTTOM' - - + + class TEXT_MT_text(bpy.types.Menu): bl_label = "Text" @@ -293,6 +293,7 @@ class TEXT_MT_toolbox(bpy.types.Menu): layout.operator("text.run_script") + def register(): pass diff --git a/release/scripts/ui/space_time.py b/release/scripts/ui/space_time.py index 168e6f63c55..de295d0fe76 100644 --- a/release/scripts/ui/space_time.py +++ b/release/scripts/ui/space_time.py @@ -192,6 +192,7 @@ class TIME_MT_autokey(bpy.types.Menu): layout.prop_enum(tools, "auto_keying_mode", 'ADD_REPLACE_KEYS') layout.prop_enum(tools, "auto_keying_mode", 'REPLACE_KEYS') + def register(): pass diff --git a/release/scripts/ui/space_userpref.py b/release/scripts/ui/space_userpref.py index 4870c789aee..4b87248d1f9 100644 --- a/release/scripts/ui/space_userpref.py +++ b/release/scripts/ui/space_userpref.py @@ -359,7 +359,6 @@ class USERPREF_PT_system(bpy.types.Panel): split = layout.split() - # 1. Column column = split.column() colsplit = column.split(percentage=0.85) @@ -412,7 +411,6 @@ class USERPREF_PT_system(bpy.types.Panel): #col.prop(system, "use_textured_fonts") - # 2. Column column = split.column() colsplit = column.split(percentage=0.85) @@ -439,7 +437,6 @@ class USERPREF_PT_system(bpy.types.Panel): col.prop(system, "prefetch_frames") col.prop(system, "memory_cache_limit") - # 3. Column column = split.column() @@ -527,7 +524,6 @@ class USERPREF_PT_theme(bpy.types.Panel): split = layout.split(percentage=0.4) - layout.separator() layout.separator() @@ -624,7 +620,6 @@ class USERPREF_PT_theme(bpy.types.Panel): colsub.row().prop(ui, "inner_key_sel") colsub.row().prop(ui, "blend") - ui = theme.user_interface col.separator() col.separator() @@ -809,7 +804,7 @@ class USERPREF_PT_addons(bpy.types.Panel): bl_label = "Addons" bl_region_type = 'WINDOW' bl_options = {'HIDE_HEADER'} - + _addons_fake_modules = {} @classmethod @@ -905,8 +900,7 @@ class USERPREF_PT_addons(bpy.types.Panel): mod = fake_module(mod_name, mod_path) if mod: USERPREF_PT_addons._addons_fake_modules[mod_name] = mod - - + # just incase we get stale modules, not likely for mod_stale in modules_stale: del USERPREF_PT_addons._addons_fake_modules[mod_stale] @@ -956,7 +950,6 @@ class USERPREF_PT_addons(bpy.types.Panel): (filter == "Enabled" and is_enabled) or \ (filter == "Disabled" and not is_enabled): - if search and search not in info["name"].lower(): if info["author"]: if search not in info["author"].lower(): @@ -974,7 +967,8 @@ class USERPREF_PT_addons(bpy.types.Panel): rowsub = row.row() rowsub.active = is_enabled rowsub.label(text='%s: %s' % (info['category'], info["name"])) - if info["warning"]: rowsub.label(icon='ERROR') + if info["warning"]: + rowsub.label(icon='ERROR') if is_enabled: row.operator("wm.addon_disable", icon='CHECKBOX_HLT', text="", emboss=False).module = module_name @@ -1090,9 +1084,9 @@ class WM_OT_addon_enable(bpy.types.Operator): if info.get("blender", (0, 0, 0)) > bpy.app.version: self.report("WARNING','This script was written for a newer version of Blender and might not function (correctly).\nThe script is enabled though.") - + _bpy_types._register_immediate = True - + return {'FINISHED'} @@ -1109,7 +1103,7 @@ class WM_OT_addon_disable(bpy.types.Operator): try: mod = __import__(module_name) - _bpy_types._unregister_module(module_name, free=False) # dont free because we may want to enable again. + _bpy_types._unregister_module(module_name, free=False) # dont free because we may want to enable again. mod.unregister() except: import traceback @@ -1117,7 +1111,7 @@ class WM_OT_addon_disable(bpy.types.Operator): addons = context.user_preferences.addons ok = True - while ok: # incase its in more then once. + while ok: # incase its in more then once. ok = False for ext in addons: if ext.module == module_name: @@ -1215,6 +1209,7 @@ class WM_OT_addon_expand(bpy.types.Operator): def register(): pass + def unregister(): pass diff --git a/release/scripts/ui/space_userpref_keymap.py b/release/scripts/ui/space_userpref_keymap.py index b79a53e198f..fcfd0a4170b 100644 --- a/release/scripts/ui/space_userpref_keymap.py +++ b/release/scripts/ui/space_userpref_keymap.py @@ -22,17 +22,17 @@ import os KM_HIERARCHY = [ - ('Window', 'EMPTY', 'WINDOW', []), # file save, window change, exit - ('Screen', 'EMPTY', 'WINDOW', [ # full screen, undo, screenshot + ('Window', 'EMPTY', 'WINDOW', []), # file save, window change, exit + ('Screen', 'EMPTY', 'WINDOW', [ # full screen, undo, screenshot ('Screen Editing', 'EMPTY', 'WINDOW', []), # resizing, action corners ]), ('View2D', 'EMPTY', 'WINDOW', []), # view 2d navigation (per region) - ('View2D Buttons List', 'EMPTY', 'WINDOW', []), # view 2d with buttons navigation + ('View2D Buttons List', 'EMPTY', 'WINDOW', []), # view 2d with buttons navigation ('Header', 'EMPTY', 'WINDOW', []), # header stuff (per region) - ('Grease Pencil', 'EMPTY', 'WINDOW', []), # grease pencil stuff (per region) + ('Grease Pencil', 'EMPTY', 'WINDOW', []), # grease pencil stuff (per region) - ('3D View', 'VIEW_3D', 'WINDOW', [ # view 3d navigation and generic stuff (select, transform) + ('3D View', 'VIEW_3D', 'WINDOW', [ # view 3d navigation and generic stuff (select, transform) ('Object Mode', 'EMPTY', 'WINDOW', []), ('Mesh', 'EMPTY', 'WINDOW', []), ('Curve', 'EMPTY', 'WINDOW', []), @@ -46,13 +46,13 @@ KM_HIERARCHY = [ ('Vertex Paint', 'EMPTY', 'WINDOW', []), ('Weight Paint', 'EMPTY', 'WINDOW', []), ('Face Mask', 'EMPTY', 'WINDOW', []), - ('Image Paint', 'EMPTY', 'WINDOW', []), # image and view3d + ('Image Paint', 'EMPTY', 'WINDOW', []), # image and view3d ('Sculpt', 'EMPTY', 'WINDOW', []), ('Armature Sketch', 'EMPTY', 'WINDOW', []), ('Particle', 'EMPTY', 'WINDOW', []), - ('Object Non-modal', 'EMPTY', 'WINDOW', []), # mode change + ('Object Non-modal', 'EMPTY', 'WINDOW', []), # mode change ('3D View Generic', 'VIEW_3D', 'WINDOW', []) # toolbar and properties ]), @@ -71,8 +71,8 @@ KM_HIERARCHY = [ ]), ('Image', 'IMAGE_EDITOR', 'WINDOW', [ - ('UV Editor', 'EMPTY', 'WINDOW', []), # image (reverse order, UVEdit before Image - ('Image Paint', 'EMPTY', 'WINDOW', []), # image and view3d + ('UV Editor', 'EMPTY', 'WINDOW', []), # image (reverse order, UVEdit before Image + ('Image Paint', 'EMPTY', 'WINDOW', []), # image and view3d ('Image Generic', 'IMAGE_EDITOR', 'WINDOW', []) ]), @@ -90,7 +90,7 @@ KM_HIERARCHY = [ ('File Browser Buttons', 'FILE_BROWSER', 'WINDOW', []) ]), - ('Property Editor', 'PROPERTIES', 'WINDOW', []), # align context menu + ('Property Editor', 'PROPERTIES', 'WINDOW', []), # align context menu ('Script', 'SCRIPTS_WINDOW', 'WINDOW', []), ('Text', 'TEXT_EDITOR', 'WINDOW', []), @@ -538,7 +538,7 @@ class WM_OT_keyconfig_import(bpy.types.Operator): if config_name is None: raise Exception("config name not found") - path = os.path.join(__file__, "..", "..", "cfg") # remove ui/space_userpref.py + path = os.path.join(__file__, "..", "..", "cfg") # remove ui/space_userpref.py path = os.path.normpath(path) print(path) @@ -734,9 +734,9 @@ class WM_OT_keyitem_add(bpy.types.Operator): kc = wm.keyconfigs.default if km.is_modal: - km.items.new_modal("", 'A', 'PRESS') # kmi + km.items.new_modal("", 'A', 'PRESS') # kmi else: - km.items.new("none", 'A', 'PRESS') # kmi + km.items.new("none", 'A', 'PRESS') # kmi # clear filter and expand keymap so we can see the newly added item if context.space_data.filter_text != "": @@ -785,7 +785,7 @@ class WM_OT_keyconfig_remove(bpy.types.Operator): if os.path.exists(path): os.remove(path) - path = module.__file__ + "c" # for .pyc + path = module.__file__ + "c" # for .pyc if os.path.exists(path): os.remove(path) @@ -793,9 +793,11 @@ class WM_OT_keyconfig_remove(bpy.types.Operator): wm.keyconfigs.remove(keyconfig) return {'FINISHED'} + def register(): pass + def unregister(): pass diff --git a/release/scripts/ui/space_view3d.py b/release/scripts/ui/space_view3d.py index edb04df9300..15307612395 100644 --- a/release/scripts/ui/space_view3d.py +++ b/release/scripts/ui/space_view3d.py @@ -155,7 +155,7 @@ class VIEW3D_MT_transform(bpy.types.Menu): layout.operator("armature.align") else: layout.operator_context = 'EXEC_REGION_WIN' - layout.operator("transform.transform", text="Align to Transform Orientation").mode = 'ALIGN' # XXX see alignmenu() in edit.c of b2.4x to get this working + layout.operator("transform.transform", text="Align to Transform Orientation").mode = 'ALIGN' # XXX see alignmenu() in edit.c of b2.4x to get this working layout.separator() @@ -608,7 +608,6 @@ class VIEW3D_MT_select_edit_armature(bpy.types.Menu): layout.operator("view3d.select_border") - layout.separator() layout.operator("armature.select_all", text="Select/Deselect All") @@ -632,7 +631,7 @@ class VIEW3D_MT_select_edit_armature(bpy.types.Menu): layout.operator("object.select_pattern", text="Select Pattern...") -class VIEW3D_MT_select_face(bpy.types.Menu):# XXX no matching enum +class VIEW3D_MT_select_face(bpy.types.Menu): # XXX no matching enum bl_label = "Select" def draw(self, context): @@ -738,7 +737,7 @@ class VIEW3D_MT_object_specials(bpy.types.Menu): props.data_path_item = "data.dof_distance" props.input_scale = 0.02 - if obj.type in ('CURVE','TEXT'): + if obj.type in ('CURVE', 'TEXT'): layout.operator_context = 'INVOKE_REGION_WIN' props = layout.operator("wm.context_modal_mouse", text="Extrude Size") @@ -799,6 +798,7 @@ class VIEW3D_MT_object_specials(bpy.types.Menu): props = layout.operator("object.isolate_type_render") props = layout.operator("object.hide_render_clear_all") + class VIEW3D_MT_object_apply(bpy.types.Menu): bl_label = "Apply" @@ -900,7 +900,7 @@ class VIEW3D_MT_make_links(bpy.types.Menu): layout.operator_menu_enum("object.make_links_scene", "scene", text="Objects to Scene...") layout.operator_menu_enum("marker.make_links_scene", "scene", text="Markers to Scene...") - layout.operator_enums("object.make_links_data", "type") # inline + layout.operator_enums("object.make_links_data", "type") # inline class VIEW3D_MT_object_game_properties(bpy.types.Menu): @@ -1729,7 +1729,7 @@ class VIEW3D_MT_edit_text(bpy.types.Menu): layout.menu("VIEW3D_MT_edit_text_chars") layout.separator() - + layout.operator("font.style_toggle", text="Toggle Bold").style = 'BOLD' layout.operator("font.style_toggle", text="Toggle Italic").style = 'ITALIC' layout.operator("font.style_toggle", text="Toggle Underline").style = 'UNDERLINE' diff --git a/release/scripts/ui/space_view3d_toolbar.py b/release/scripts/ui/space_view3d_toolbar.py index 712f06c8fe3..b4bad02bda6 100644 --- a/release/scripts/ui/space_view3d_toolbar.py +++ b/release/scripts/ui/space_view3d_toolbar.py @@ -92,14 +92,12 @@ class VIEW3D_PT_tools_meshedit(View3DPanel, bpy.types.Panel): col.operator("transform.resize", text="Scale") col.operator("transform.shrink_fatten", text="Along Normal") - col = layout.column(align=True) col.label(text="Deform:") col.operator("transform.edge_slide") col.operator("mesh.rip_move") col.operator("mesh.vertices_smooth") - col = layout.column(align=True) col.label(text="Add:") col.operator("view3d.edit_mesh_extrude_move_normal", text="Extrude Region") @@ -127,7 +125,6 @@ class VIEW3D_PT_tools_meshedit(View3DPanel, bpy.types.Panel): col.operator("mesh.mark_seam") col.operator("mesh.mark_seam", text="Clear Seam").clear = True - col = layout.column(align=True) col.label(text="Shading:") col.operator("mesh.faces_shade_smooth", text="Smooth") @@ -540,7 +537,6 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel): col = layout.column() - col.separator() row = col.row(align=True) @@ -554,7 +550,6 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel): row.prop(brush, "use_pressure_size", toggle=True, text="") - if brush.sculpt_tool not in ('SNAKE_HOOK', 'GRAB', 'ROTATE'): col.separator() @@ -569,8 +564,6 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel): row.prop(brush, "strength", text="Strength", slider=True) row.prop(brush, "use_pressure_strength", text="") - - if brush.sculpt_tool not in ('SMOOTH'): col.separator() @@ -578,16 +571,12 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel): row.prop(brush, "auto_smooth_factor", slider=True) row.prop(brush, "use_inverse_smooth_pressure", toggle=True, text="") - - if brush.sculpt_tool in ('GRAB', 'SNAKE_HOOK'): col.separator() row = col.row(align=True) row.prop(brush, "normal_weight", slider=True) - - if brush.sculpt_tool in ('CREASE', 'BLOB'): col.separator() @@ -614,15 +603,15 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel): col.separator() - row= col.row() + row = col.row() row.prop(brush, "use_plane_trim", text="Trim") - row= col.row() - row.active=brush.use_plane_trim + row = col.row() + row.active = brush.use_plane_trim row.prop(brush, "plane_trim", slider=True, text="Distance") col.separator() - row= col.row() + row = col.row() row.prop(brush, "use_frontface", text="Front Faces Only") col.separator() @@ -633,8 +622,6 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel): col.prop(brush, "use_accumulate") - - if brush.sculpt_tool == 'LAYER': col.separator() @@ -675,9 +662,7 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel): col.active = (brush.blend not in ('ERASE_ALPHA', 'ADD_ALPHA')) col.prop(brush, "use_alpha") - # Weight Paint Mode # - elif context.weight_paint_object and brush: layout.prop(context.tool_settings, "vertex_group_weight", text="Weight", slider=True) layout.prop(context.tool_settings, "use_auto_normalize", text="Auto Normalize") @@ -697,7 +682,6 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel): row.prop(brush, "use_pressure_jitter", toggle=True, text="") # Vertex Paint Mode # - elif context.vertex_paint_object and brush: col = layout.column() col.template_color_wheel(brush, "color", value_slider=True) @@ -741,11 +725,8 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel): if context.sculpt_object: #XXX duplicated from properties_texture.py - - col.separator() - col.label(text="Brush Mapping:") row = col.row(align=True) row.prop(tex_slot, "map_mode", expand=True) @@ -755,7 +736,7 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel): col = layout.column() col.active = tex_slot.map_mode in ('FIXED', ) col.label(text="Angle:") - + col = layout.column() if not brush.use_anchor and brush.sculpt_tool not in ('GRAB', 'SNAKE_HOOK', 'THUMB', 'ROTATE') and tex_slot.map_mode in ('FIXED'): col.prop(brush, "texture_angle_source_random", text="") @@ -988,7 +969,6 @@ class VIEW3D_PT_sculpt_options(PaintPanel, bpy.types.Panel): def draw(self, context): layout = self.layout - tool_settings = context.tool_settings sculpt = tool_settings.sculpt settings = __class__.paint_settings(context) @@ -1014,8 +994,7 @@ class VIEW3D_PT_sculpt_options(PaintPanel, bpy.types.Panel): row.prop(sculpt, "lock_y", text="Y", toggle=True) row.prop(sculpt, "lock_z", text="Z", toggle=True) - - + class VIEW3D_PT_sculpt_symmetry(PaintPanel, bpy.types.Panel): bl_label = "Symmetry" bl_options = {'DEFAULT_CLOSED'} @@ -1051,6 +1030,7 @@ class VIEW3D_PT_sculpt_symmetry(PaintPanel, bpy.types.Panel): col.prop(sculpt, "use_symmetry_feather", text="Feather") + class VIEW3D_PT_tools_brush_appearance(PaintPanel, bpy.types.Panel): bl_label = "Appearance" bl_options = {'DEFAULT_CLOSED'} @@ -1066,7 +1046,7 @@ class VIEW3D_PT_tools_brush_appearance(PaintPanel, bpy.types.Panel): settings = __class__.paint_settings(context) brush = settings.brush - col = layout.column(); + col = layout.column() if context.sculpt_object and context.tool_settings.sculpt: #if brush.sculpt_tool in ('DRAW', 'INFLATE', 'CLAY', 'PINCH', 'CREASE', 'BLOB', 'FLATTEN', 'FILL', 'SCRAPE', 'CLAY_TUBES'): @@ -1259,7 +1239,8 @@ class VIEW3D_PT_imagepaint_options(PaintPanel): col.label(text="Unified Settings:") col.prop(tool_settings, "sculpt_paint_use_unified_size", text="Size") col.prop(tool_settings, "sculpt_paint_use_unified_strength", text="Strength") - + + class VIEW3D_MT_tools_projectpaint_clone(bpy.types.Menu): bl_label = "Clone Layer" @@ -1311,7 +1292,6 @@ class VIEW3D_PT_tools_particlemode(View3DPanel, bpy.types.Panel): if ptcache and len(ptcache.point_caches) > 1: layout.template_list(ptcache, "point_caches", ptcache.point_caches, "active_index", type='ICONS') - if not pe.is_editable: layout.label(text="Point cache must be baked") layout.label(text="to enable editing!") diff --git a/release/test/rna_info_dump.py b/release/test/rna_info_dump.py index 8a95f6afa10..1e40c43eac9 100644 --- a/release/test/rna_info_dump.py +++ b/release/test/rna_info_dump.py @@ -23,16 +23,17 @@ import bpy + def api_dump(use_properties=True, use_functions=True): - + def prop_type(prop): if prop.type == "pointer": return prop.fixed_type.identifier else: return prop.type - + def func_to_str(struct_id_str, func_id, func): - + args = [] for prop in func.args: data_str = "%s %s" % (prop_type(prop), prop.identifier) @@ -41,8 +42,7 @@ def api_dump(use_properties=True, use_functions=True): if not prop.is_required: data_str += "=%s" % prop.default_str args.append(data_str) - - + data_str = "%s.%s(%s)" % (struct_id_str, func_id, ", ".join(args)) if func.return_values: return_args = ", ".join([prop_type(arg) for arg in func.return_values]) @@ -51,36 +51,34 @@ def api_dump(use_properties=True, use_functions=True): else: data_str += " --> %s" % return_args return data_str - - + def prop_to_str(struct_id_str, prop_id, prop): - + prop_str = " <-- %s" % prop_type(prop) if prop.array_length: prop_str += "[%d]" % prop.array_length - + data_str = "%s.%s %s" % (struct_id_str, prop_id, prop_str) return data_str - + def struct_full_id(v): - struct_id_str = v.identifier # "".join(sid for sid in struct_id if struct_id) + struct_id_str = v.identifier # "".join(sid for sid in struct_id if struct_id) for base in v.get_bases(): struct_id_str = base.identifier + "|" + struct_id_str return struct_id_str - - + def dump_funcs(): data = [] for struct_id, v in sorted(struct.items()): struct_id_str = struct_full_id(v) funcs = [(func.identifier, func) for func in v.functions] - + for func_id, func in funcs: data.append(func_to_str(struct_id_str, func_id, func)) - + for prop in v.properties: if prop.collection_type: funcs = [(prop.identifier + "." + func.identifier, func) for func in prop.collection_type.functions] @@ -89,7 +87,7 @@ def api_dump(use_properties=True, use_functions=True): data.sort() data.append("# * functions *") return data - + def dump_props(): data = [] for struct_id, v in sorted(struct.items()): @@ -108,7 +106,7 @@ def api_dump(use_properties=True, use_functions=True): data.sort() data.insert(0, "# * properties *") return data - + import rna_info struct = rna_info.BuildRNAInfo()[0] data = [] @@ -126,7 +124,7 @@ def api_dump(use_properties=True, use_functions=True): else: text = bpy.data.texts.new(name="api.py") text.from_string(data) - + print("END") if __name__ == "__main__": |