Commit Graph

380 Commits

Author SHA1 Message Date
070f38a6d0 bugfix [#24696] Export OBJ - Selection Only toggle button has the wrong default state.
Added convenience function to operators, 'as_keywords()', so operator settings can be passed directly to a function as keyword arguments.

The problem in this case was that dictionary access to operator properties was not returning rna-property defaults, so as_keywords() ensures all defaults are set.
2010-11-15 13:11:40 +00:00
1a12d6d1d8 revert change from r32955.
This added a poll function to the Panel base class but this means that all panels register as having a poll() function which is called a lot and does nothing, raising an exception and removing it because of how python implements hasattr().

Found when checking why exceptions were continuously raised on redraw.

Martin, can you check on netrender?
2010-11-15 03:13:28 +00:00
e4e79f4aa3 update for mathutils vector/matrix order change. 2010-11-14 07:02:55 +00:00
cd71a6d12b [#24602] Netrender master node IP information is reset to [Default] no matter what
[#24601] Net rendering master node fails to send/retrieve files to/from slaves

Both Reported by Dan McGrath

The second might not actually be fixed with this, but now there is better error checking and reporting.

Misc: add poll method in Panel base class, to better support mixins with different inheritance order.
2010-11-09 03:37:51 +00:00
4d743796fd bugfix [#24583] Mesh.from_pydata does not properly construct faces 2010-11-08 07:59:34 +00:00
64ff9d6de4 fix to allow [#24009] to be fixed.
WM_operator_poll() could fail in cases WM_operator_name_call() would succeed because calling the operator would setup the context before calling poll.
this would result in python raising an invalid error or menu items being greyed out.

now python can also check with an operator context:
  bpy.ops.object.editmode_toggle.poll('INVOKE_SCREEN')
2010-11-04 12:59:03 +00:00
010106a1f6 [#24491] not possible to create a new Rendering preset than "add render preset.py"
- Setting operator properties was broken because of bpy_types.py meta-classing (surprising this wasn't noticed before!)
- Presets now use a dialog with an OK button.
- Presets use a check function on the filename so invalid chars are replaced editing.
- Submit docs operator was broken.
2010-11-01 21:07:25 +00:00
b4a6418518 extensions_framework: minor string change 2010-10-28 21:20:57 +00:00
05bb6b5d6c bugfix [#24419] Console Autocomplete Error [Patch to fix attached]
patch provided by Justin Dailey (dail) in report.
2010-10-27 16:47:25 +00:00
30b4fa2aa8 Removed old rigify code, as it is starting to interfere with the newer Rigify addon.
The newer addon currently resides here: bzr://bzr.cessen.com/rigify
But will eventually be included in svn.
2010-10-26 05:07:09 +00:00
406fd33a86 == addons ==
- new (and temporary) directory addons_extern/ to store external projects addons
2010-10-24 16:01:21 +00:00
a77301839d Add release/scripts/modules/extensions_framework (formerly known as exporter_framework). 2010-10-22 18:55:10 +00:00
Nathan Letwory
2a89fb887e * Enable compile and link flags to build info also on Windows and in SCons.
* Added build_system SCons or CMake
* Write the new build info also to system-info.txt
2010-10-19 05:00:36 +00:00
b1e8d168d7 recent fix for relative imports broke autocomp. 2010-10-18 13:16:43 +00:00
Nathan Letwory
d170a959d2 Add System Info function to the Help menu.
Users can use this to quickly get info about their system for bug reports.
2010-10-16 17:26:40 +00:00
99bd5f2f3b == rna info ==
changing from __repr__ to __str__ after discussing with campbell
was annyoing me when testing things, huge printouts :)
2010-10-15 13:09:38 +00:00
2755129fb6 nodes were being ignored by api update script. 2010-10-15 11:43:34 +00:00
118e0426f1 patch [#24221] Creating graph from armature doesn't work with unsaved .blend files (with fix).
from Sergej Reich (sergof)

Made some corrections to the patch as well as using bpy.app.tempdir with tempfile python module.
2010-10-13 00:08:24 +00:00
3d3d9bf235 bones were not being metaclassed properly so that custom rna prop's couldn't be set. 2010-10-11 04:52:40 +00:00
8bb75bb5b6 bugfix [#24155] Operator Cheat Sheet doesn't work properly 2010-10-06 22:29:34 +00:00
ab8aa13b82 bugfix [#24087] Blender can not install add-ons unless running with root priviledges
now addon path is created using the same path functions and selecting where to save the startup.blend

also made some minor changes to path handling funcs.
2010-10-03 20:00:22 +00:00
ed7ffb111a bugfix [#24116] UV layout exporting doesnt work
in-fact this is unrelated to UV Layout script, just a missing check for an bad state.
2010-10-03 12:22:33 +00:00
3dea67a3fd bugfix [#24065] obj export (mtl image path) 2010-10-01 05:19:40 +00:00
92954672dc bugfix [#23978] Error installing addon 2010-09-25 06:36:01 +00:00
d135e63705 bugfix [#23945] obj export problems 2010-09-22 13:24:21 +00:00
aaf328dc78 remove redundant []'s for list comprehension's, py2.4+ supports this. 2010-09-19 07:07:14 +00:00
868fdd80a2 use is rather then == when comparing against None. 2010-09-18 10:43:32 +00:00
5452f335d7 New optional operator function, check(), it takes the same arguments as execute().
This runs after changing a property and allows correcting incompatible options.
 Returning True will redraw the UI.

Currently this is used for setting the write extension when saving files, so changing the image format also corrects the extension.
The same is accessible from python where its used when saving SVG/EPS/PNG files.

This fixes: [#23828] obj export problems, [#23760] Exporting OBJ and filetype ending
also fixed document submission operator.


Now the filename in the file selector is the one used for writing this means we remove the "Save Over" popup which could be overlooked too easily.
Instead display the filename field with red tint, and a note in the tooltip.
2010-09-17 09:27:31 +00:00
7428e708ac Fix #23865: F8 reload scripts doesn't work with an addon enabled,
broken with bugfix for #23001.
2010-09-16 18:50:33 +00:00
84c4062928 bugfix [#23833] Console Errors (Keymaps)
dont allow non-existing preset paths to be passed to the preset menu.
2010-09-15 13:41:38 +00:00
8d0c01e6e2 keyconfig updates/changes
- use preset subclass with funcs for updating the keyconfig
- keyconfig filenames are used for the UI names as with presets (so separation anymore)
- keyconfig's are stored in the preset dir (scripts/cfg dir removed)
- only the active keyconfig script is loaded
- some bugfixes for saving keymaps
- user interactions no longer saves keyconfigs too, I think this needs to be re-worked.

developer note...
multiple keyconfigs at once are not really needed now that they are stored & accessed directly in python.
for now I left it alone but we could consider to remove this capability in the future.
2010-09-14 16:45:24 +00:00
74b2022a82 button to remove presets.
note: this is an option to the add preset operator which is a bit odd but easiest since these classes have all the info needed for removal as well.
2010-09-14 04:58:25 +00:00
55f7451c52 fix for sphinx doc generation 2010-09-13 13:29:54 +00:00
18702a9eef bugfix [#23001] Addons do not unregister properly in Blender 2.5.3
Now reloading the user defaults also unloads/loads addons, resetting the state to the one set in the user preferences.

moved addon functions into bpy.utils
- bpy.utils.addon_enable(name, default_set=True)
- bpy.utils.addon_disable(name, default_set=True)
- bpy.utils.addon_reset_all(name, default_set=True)

the user preference operators now just wrap these.
2010-09-13 04:52:56 +00:00
386bd71240 pyrna: replace method for operators forwarding getattr/setattr access from self.* to self.properties.* 2010-09-11 15:13:22 +00:00
5559a0d52e rewrote python IDProperty metaclass in C, this was a quick hack to get it working.
The reason this didnt work is all sibclasses of pythons type() or PyType_Type in C, have to have their size set to sizeof(PyHeapTypeObject) rather then sizeof(PyTypeObject) as you might expect.
This is strange since its not a heap-class (defined in pythons runtime), but a static C type, so Im not sure about this, and cant find any documentation but it seems to work ok.
2010-09-10 14:54:50 +00:00
111965478a replace self.properties.foo --> self.foo 2010-09-09 18:03:57 +00:00
7bd1f9a234 - bugfix, operators were getting their properties registered twice.
- operator properties are now converted into python property() class members which bypass the operator 'properties' member.
  self.properties.mysetting
 ... can now be written as ...
  self.mysetting
- fix for error reloading rigify
2010-09-09 17:41:36 +00:00
45cf7633fe remove class methods for defining properties
eg: bpy.types.Scene.BoolProperty()
2010-09-09 06:29:44 +00:00
f4be9a6393 support for defining rna class properties as class attributes
eg:
 bpy.types.Scene.myprop = BoolProperty()
 
note, this uses an ugly python metaclass, this should be replaced with a C implimentation which is included but commented out, causing crashes in pythons GC which gives no hint as to where the bug comes from.
2010-09-09 05:37:22 +00:00
b58f41e120 addon improvements/fixes
- better error reporting when an addon fails to load
- upload an addon which loads partly but then fails (eg, module loads but class register fails)
- bugfix addon loading, failier to load would leave _bpy_types._register_immediate = False
- added which change on disk are reloaded when enabling.
- bpy.path.module_names() now returns (module_name, module_path) pairs.
2010-09-08 07:30:20 +00:00
1a41d2fc29 new bpy function bpy.path.module_names(path, recursive=False)
addon's and python initialization both had this inline.
2010-09-08 04:55:37 +00:00
115b256738 ran through pep8 checker 2010-09-07 15:17:42 +00:00
0d12c77097 bugfix [#23635] property limits don't work when added via scripting\
also fix for bug where soft limits could be greater then hard limits with bpy.props.* functions.
2010-09-02 14:43:22 +00:00
ddbfb05c84 rna context rename
* context.main & bpy.types.Main --> context.blend_data & bpy.types.BlendData
* context.manager --> context.window_manager
2010-09-02 04:53:05 +00:00
Nathan Letwory
81d9a3de43 * add missing imports
* fix indentation: tabs -> spaces
2010-09-01 13:55:41 +00:00
a89c526a92 finished moving importers and exporters into python packages (as proposed on the mailing list).
- made operator dir's into python packages
- lazy loading of module which do the actual import and export (faster blender load times)
- general maintanance and small fixes.
- bugfix for exporting x3d materials
- leak fix for exporting 3ds
2010-09-01 12:11:34 +00:00
7532bc2325 poll function for py api operator access
eg:
 if bpy.ops.object.mode_set.poll():
     ...
2010-09-01 11:16:11 +00:00
16d26b7eb1 cleanup duplicate GPL haeders, blender made 2.4x __bpydoc__ into __doc__, removed version info, (thats what svn logs are for).
also moved create_derived_objects & free_derived_objects into io_utils, used by x3d and 3ds.
2010-09-01 02:48:23 +00:00
5036a9d20c use mix-in classes for import export operators, these define the filepath property and invoke function at the moment. 2010-09-01 02:25:49 +00:00