Commit Graph

293 Commits

Author SHA1 Message Date
a6f13f9d7b poll() as a python '@staticmethod' was too limiting and didnt allow useful base class poll functions in many cases.
now rna functions that dont have a 'self' are automatically assumed '@classmethods'.

de-duplicated poll functions and made some minor tweaks too.
2010-08-09 01:37:09 +00:00
7fcbbad5a4 remove py2.x compat check for class registration. 2010-08-08 23:46:49 +00:00
163f6055d2 bugfix [#23182] Using self.report() inside poll() gives crash
poll() function is now a static method in python, this is more correct, matching C where the operator is not created to run poll.


    def poll(self, context): ...

is now...

    @staticmethod
    def poll(context): ...

Pythons way of doing static methods is a bit odd but cant be helped :|

This does make subclassing poll functions with COMPAT_ENGINES break, so had to modify quite a few scripts for this.
2010-08-05 16:05:30 +00:00
55e64f0ba4 minor changes to Martni's commit 30961
- removed the immediate option from C/api and now store in python only, when python loads modules it sets it to False.
- unloading a module would clear the entire TypeMap for all modules, only remove the module types that is being unloaded.
- added some checks for bad class registering, report errors rather then crashing.
2010-08-02 04:20:41 +00:00
5b345524ea RNA Types metaclass registration
See mailing list posts for details [1][2][3]

Addons still need to be fixed; Campbell said he'd do it today.

See any of the py files (outside netrender) in this commit for how to do it (it's rather simple).

[1] http://lists.blender.org/pipermail/bf-committers/2010-February/026328.html
[2] http://lists.blender.org/pipermail/bf-committers/2010-August/028311.html
[3] http://lists.blender.org/pipermail/bf-committers/2010-August/028321.html
2010-08-02 02:55:12 +00:00
8fd1d8f02a mistake in recent commit allowd bpy.types.Scene() which would then crash blender (thanks for spotting Luca). 2010-08-01 11:20:51 +00:00
648f40f409 bugfix [#22660] Text Boxes properties are not animateable.
suggestion [#23093] Curve -> CurveMapping in brush...
2010-07-30 06:48:18 +00:00
d44a2b5b1b fix for running rna subclasses own __init__ functions.
- exceptions in the __init__ functions were not being checked for and segfaulting
- avoid creating a new BPy_StructRNA instance per function call, use the existing one if the type matches.
2010-07-28 12:11:40 +00:00
304043ee5f [#22617] Using register/unregister alone crashes blender
wasnt crashing anymore but made exception message clearer.
2010-07-26 05:55:56 +00:00
026ac24922 [#22488] Reloading scripts causes crash
F8 key enabled again, useful for script UI development.

- keying set freeing wasnt freeing from all scenes and the builtin list.
- PointerProperty() cant refer to a removed python srna type (fixed in rigify and netrender).
- Added a check for freeing a type used by a PointerProperty but its very slow, makes reloading take ~10sec. Only enabled this in debug mode for now.

Netrender register() function isnt re-registering the property, probably because the module is cached by python and not re-run.
2010-07-23 01:43:30 +00:00
fd31436897 spelling correction: alredy --> already 2010-07-17 18:08:14 +00:00
a2461a01c9 change to recent commit, insert_keyframe(datapath -> data_path ...)
made region width and height unsigned
2010-06-14 12:36:28 +00:00
c2f36a4d6a naming changes
path -> filepath (for rna and operators, as agreed on with elubie)
 path -> data_path (for windowmanager context functions, this was alredy used in many places)
2010-06-14 03:52:10 +00:00
aa97b4362b bugfix [#22427] settings bpy.context.active_object gives wrong message. 2010-06-14 02:05:37 +00:00
971e4be108 modify my last commit to fix [#22486] add_actuator crashes when name is bigger than 32 chars
Throwing an exception if the strings too long means scripts need to be aware of string lengths and changing a string length in RNA can too easily break scripts.
Instead honor the string length in RNA_property_string_set()
2010-06-12 17:30:21 +00:00
c3c6fb2de2 bugfix [#22486] add_actuator crashes when name is bigger than 32 chars
have pyrna raise an error on strings that are too long.
2010-06-12 15:49:01 +00:00
556b57febf get rid of some warnings,
removed NG_LoopBackNetworkDeviceInterface::GetNetworkVersion(), wasnt used anywhere.
2010-06-05 15:31:55 +00:00
c2ffcb8497 no functional changes
- add PySequenceMethods members (all NULL)
- spaces -> tabs
- cmake syntax warning from recent ghost commit
2010-05-16 10:09:07 +00:00
a2166e5bc1 make python keyframe insert and delete functions use keyword arguments 2010-05-10 18:47:03 +00:00
d92751fb33 missing arg from docstring 2010-05-09 00:37:12 +00:00
5548e86795 function to remove property
eg:
 bpy.types.Scene.IntProperty(attr="myprop") # adds
 bpy.types.Scene.RemoveProperty(attr="myprop") # removes
2010-05-08 23:34:54 +00:00
02b8995bae clear warning 2010-05-04 07:26:57 +00:00
124c55fcc3 remove redundant argument from mathutils callbacks 2010-04-27 19:21:36 +00:00
e40531991d fixes for euler order setting when the rotation mode is not euler. 2010-04-27 07:50:31 +00:00
6bb55fd93e py/rna, euler objects order is now wrapped correctly...
eg:
 eul = bpy.context.object.rotation_euler
 eul.order = 'XZY' # will update the objects setting.
2010-04-26 21:04:42 +00:00
4fc4fb9bfb rna/python mathutils module
- return euler rotation values from rna now have correct rotation order.
- mathutils.Euler stored rotation order off by 1. (didnt work at all)
- Euler/Quat/Color sliceing working again.
2010-04-25 23:33:09 +00:00
64359c9abc hash function for property-rna. eg. hash(bpy.context.object.modifiers) 2010-04-25 21:13:42 +00:00
61eb217294 [#22151] Modifier UI crash
own error when editing context return values. r28401
2010-04-25 19:56:43 +00:00
4bd3163ea6 py api: fix for context returning None for an empty list such as 'context.selected_objects', now returns [] 2010-04-24 19:26:05 +00:00
4d39e04102 change mathutils 'repr' functions to closer match input 2010-04-19 22:02:53 +00:00
454470e0bd setting array slices wasnt running rna update
eg:
 scene.visible_layers[:] = obj.layers
2010-04-19 13:37:44 +00:00
67cfc427ee PyAPI
- added new mathutils.Color() type, use with rna so we can do for eg:
 material.diffuse_color.r = 1.0
 # also has hsv access
 material.diffuse_color.s = 0.6

 - made Mathutils and Geometry module names lowercase.
2010-04-11 14:22:27 +00:00
fe9a22a018 py api file rename
- prefix mathutils api.
- 2 blf.c files (annoying for debugging)
- py api docs ignore keying sets as with operators.
2010-04-11 12:05:27 +00:00
ee0a217be3 python function to remove drivers.
eg:
 bpy.context.object.driver_remove("location")

ANIM_remove_driver now accepts -1 as an index for removing all drivers from one path.
2010-04-11 09:13:37 +00:00
6e3920e8fa rna/py/reference doc improvements..
- vectors now respect min/max settings.
- keyframing and adding drivers raises an error in an index is set on a non array, keyframing raises an error if it fails.

reference docs...
- added docstrings for remaining python bpy_struct functions
- added fake class for docs, bpy_struct, which is the base class of everything in bpy.types
- improved inherictance references for struct classes, include bpy_struct members.
2010-04-10 18:35:50 +00:00
40273931a6 Fix, python changes to array properties were not yet calling update
and notifiers like other properties.
2010-04-06 09:11:33 +00:00
bad41fcff5 - new docstrings for bpy.type.Struct methods & some corrections.
- struct.path_to_id() --> path_from_id().
2010-04-06 07:49:10 +00:00
56b67d41aa Bugfix #21916: Baking NLA strips doesn't group transforms
- Added an optional string arg to struct.keyframe_insert() and struct.keyframe_delete() for the name of the group to add the keyframes to (for newly created F-Curves), instead of doing this as post process.

- Added error prints to the RNA function for setting an F-Curve's group. The old way of setting the groups afterwards couldn't be used anymore, since there was no way to find the action the F-Curve belonged to. This is necessary if the F-Curve list is to be kept in a valid state, since adding to any random group that may not be in the same Action does not work well. There were other issues with the list being iterated over changing while it was still being iterated over too...

TODO: 
Find a way to allow the iterator there to still work ok?
2010-04-06 04:25:48 +00:00
e302f33be7 document bpy.types.Struct methods C methods, currently only keyframe_delete() and keyframe_insert() have useful docstrings.
http://www.blender.org/documentation/250PythonDoc/bpy.types.Struct.html?highlight=bpy.types.struct#bpy.types.Struct.keyframe_insert
2010-04-05 22:37:09 +00:00
cb6d2685bd rna/py-api fix.
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.

next commit will make order of arguments consistant (currently only changed order that rna wrapped).
(commit 27674 by Campbell from render25 branch)
2010-03-23 15:25:33 +00:00
d87e7393e3 report an error parsing args, will try fix properly but this involves many changes so do this for now.
(commit 27671 by Campbell from render25 branch)
2010-03-23 15:21:08 +00:00
5bc2d53507 fix for parsing python args to rna functions, was using allocated size as argument count.
(commit 27670 by Campbell from render25 branch)
2010-03-23 15:04:06 +00:00
5fad6edcb0 getting an item from a collection wasnt being checked correctly.
(commit 27665 by Campbell from render25 branch)
2010-03-23 14:48:32 +00:00
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
391cc2d004 merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
9a986d194c fix for nasty bug where registering properties would register them in the parent classes SRNA, made for confusing rigify args turning up in add sequencer adding collection.
(commit 27433 by Campbell from render25 branch)
2010-03-16 17:20:15 +00:00
46ed51ce26 made argument conversion for much more verbose, wasnt giving enough info with bad operator args.
(commit 27432 by Campbell from render25 branch)
2010-03-16 17:19:42 +00:00
431db9d478 remove unused includes 2010-03-14 16:06:43 +00:00
15f0907563 PyAPI Bugfix - Fix for crash on struct.path_to_id() 2010-03-14 11:44:24 +00:00
969b4673c7 Python/RNA: added collection.move(from, to) for python defined
collection properties.
2010-03-10 20:54:14 +00:00