Commit Graph

1232 Commits

Author SHA1 Message Date
Campbell Barton a133b74709 Merge branch 'master' into blender2.8 2017-09-08 03:18:39 +10:00
Campbell Barton daf7aed849 PyAPI: use bl_rna_get_subclass for node API
Returns a default value instead of an error when the type isn't defined.
2017-09-08 00:03:01 +10:00
Campbell Barton 1601089ece Merge branch 'master' into blender2.8
This discards node drawing changes which need to be written as shaders.
2017-09-07 14:53:06 +10:00
Campbell Barton 5d65aee07a Workaround node types not being exposed
We might want to have a utility function for this,
for now just keep it working.
2017-09-07 05:17:02 +10:00
Campbell Barton 572b1a644f Merge branch 'master' into blender2.8 2017-09-05 22:56:03 +10:00
Campbell Barton b07e983b61 PyAPI: Add bpy.utils.register_classes_factory
Avoids having boiler plate register/unregister functions.
2017-09-05 00:24:29 +10:00
Campbell Barton 3789ab4166 PyAPI: fix rna_info for changes in type access 2017-09-04 16:39:13 +10:00
Campbell Barton f4fe405da9 Manipulator: Add API target_get/set/range wrappers
Allows Python manipulators access the values of target properties
needed for Python to make use of the general target property interface.
2017-08-22 18:57:38 +10:00
Campbell Barton a7362eb219 Manipulator: helper API for drawing custom shapes
This exposes 2 methods for manipulators:
- new_custom_shape
- draw_custom_shape

This can be used for script authors to create and re-use shapes
without dealing with lower level API's.
2017-08-21 00:11:16 +10:00
Brecht Van Lommel c42c129393 Render: make Cycles and Evee support each other's output material nodes.
This changes the Cycles exporting and Cycles/Eevee UI code to support both
output material nodes, giving priority to the renderer native one. Still
missing is Eevee code to prefer the Eevee output node.
2017-08-01 19:13:41 +02:00
Campbell Barton c558763ef5 Merge branch 'master' into blender2.8 2017-07-29 01:46:27 +10:00
Campbell Barton 4003409430 Fix factory setup using user scripts path still 2017-07-27 22:22:26 +10:00
Campbell Barton b97bf844b3 Merge branch 'master' into blender2.8 2017-07-25 20:53:10 +10:00
Campbell Barton edc6bec9d6 PyAPI: Skip user scripts w/ factory-startup
Adds bpy.app.factory_startup,
used to check if user scripts should be loaded.
2017-07-25 20:52:08 +10:00
Campbell Barton 9bdd12d884 Merge branch 'master' into blender2.8 2017-07-25 17:36:49 +10:00
Campbell Barton d1dc5e0a53 PyAPI: utility for creating register, unregister
This simplifies creation of register, unregister functions that
simply forward calls submodules.
2017-07-25 17:34:34 +10:00
Campbell Barton 7260a693e1 Cleanup: trailing space 2017-07-25 01:28:15 +10:00
Bastien Montagne 2113dbb013 Merge branch 'master' into blender2.8
Conflicts:
	source/blender/editors/space_outliner/outliner_select.c
2017-06-29 10:11:17 +02:00
Bastien Montagne b5696f2799 Fix node UI not using translation context correctly.
Now that some node types may have custom context, we need to handle that
in the (convoluted :| ) UI code of nodes as well.

Reported in T43295 by Gabriel Gazzán (@gab3d), thanks.
2017-06-28 20:50:21 +02:00
Campbell Barton 28b2f1c305 Manipulator: Python API
Initial support for Python/Manipulator integration
from 'custom-manipulators' branch.

Supports:

- Registering custom manipulators & manipulator-groups.
- Modifying RNA properties, custom values via get/set callbacks,
  or invoking an operator.
- Drawing shape presets for Python defined manipulators (arrow, circle, face-maps)

Limitations:

- Only float properties supported.
- Drawing only supported via shape presets.
  (we'll likely want a way to define custom geometry or draw directly).
- When to refresh, recalculate manipulators will likely need
  integration with notifier system.

Development will be continued in the 2.8 branch
2017-06-26 16:38:04 +10:00
Sergey Sharybin 0f4f4d8754 Merge branch 'master' into blender2.8 2017-06-12 15:12:36 +02:00
Campbell Barton 00c4f49a6d Cleanup: indentation, long lines 2017-06-12 13:38:21 +10:00
Sergey Sharybin 00b009ca74 Merge branch 'master' into blender2.8 2017-06-07 12:18:07 +02:00
Sergey Sharybin 5489b40a5a Report OpenSubdiv version Blender is compiled against 2017-06-07 12:16:48 +02:00
Sergey Sharybin f32a18994a Merge branch 'master' into blender2.8 2017-05-31 15:52:11 +02:00
Clément Foucault 7b379313de Bpy Extras: Port cycles node functions to new node_utils.py 2017-05-30 17:18:00 +02:00
Bastien Montagne 8051f2412e Usual i18n/message tweaks & fixes. 2017-05-28 21:47:16 +02:00
Dalai Felinto 4525357a3a Fix crash when adding Torus in edit mode 2017-05-19 15:33:50 +02:00
Campbell Barton 0d65dda147 Merge branch 'master' into blender2.8 2017-05-15 15:51:54 +10:00
Campbell Barton b5b72a3f29 PyAPI: don't re-register add-ons on 'New File'
Some add-ons have bugs with re-registration,
they should be fixed, but no need to exacerbate the problem.
2017-05-15 15:33:01 +10:00
Campbell Barton 2010dbe8a5 Merge branch 'master' into blender2.8 2017-04-24 22:11:05 +10:00
Bastien Montagne 5a232039d5 Usual i18n/UI messages fixes and cleanup. 2017-04-24 09:33:49 +02:00
Sybren A. Stüvel 781108cdc6 Merge branch 'master' into blender2.8
# Conflicts:
#	source/blender/alembic/intern/abc_exporter.cc
#	source/blender/alembic/intern/abc_exporter.h
2017-04-19 15:07:54 +02:00
Bastien Montagne 42c8d93c5f Fix 'API defined' ID properties still having 'remove' button in UI.
We could not edit them, but still could delete them, which makes no
sense, API-defined properties are similar to class members, removing
them from single instances is pure garbage. And it was broken anyway.

Found by @a.romanov while checking on T51198, thanks.
2017-04-19 09:54:47 +02:00
Campbell Barton c800ee6bfe Merge branch 'master' into blender2.8 2017-04-09 16:09:12 +10:00
Bastien Montagne 1cd54ec225 Add helpers in bpy_extras.keyconfig_utils for addons to (un)register their keymaps.
Doing this in a fully 'clean' way is far from obvious, especially
unregister, you often end up leaving nasty 'orphanned' keymap items
referring to unregistered operators...
2017-04-08 11:09:11 +02:00
Campbell Barton 2be098a1a0 Merge branch 'master' into blender2.8 2017-03-29 20:20:53 +11:00
Campbell Barton 4c7f4e4662 PyAPI: minor path init simplification 2017-03-29 15:07:41 +11:00
Campbell Barton 4f69dca547 Fix 'bl_app_override' wrapping multiple times.
Calling `SomeClass.draw(self, context)` instead of `self.draw()`
would try to wrap the argument `self` multiple times, causing an error.
2017-03-29 14:31:14 +11:00
Bastien Montagne 885260117d Merge branch 'master' into blender2.8
Conflicts:
	source/blender/blenloader/intern/readfile.c
	source/blender/windowmanager/intern/wm_window.c
2017-03-28 10:41:10 +02:00
Campbell Barton 2a05292efa Correct for Py3.5 2017-03-27 21:34:21 +11:00
Campbell Barton 2830f687aa Cleanup: line length, assignment 2017-03-26 21:52:25 +11:00
Campbell Barton 15143a7464 Cleanup: simplify script path assignment 2017-03-26 11:31:39 +11:00
Campbell Barton f8e02c75ba PyAPI: debug-python check for missing class register
Moving to manual class registration means its easier to accidentally
miss registering classes.

Now detect missing class registration
and warn when running with `--debug-python`
2017-03-26 11:28:10 +11:00
Campbell Barton f730e386eb Merge branch 'master' into blender2.8 2017-03-25 13:49:13 +11:00
Campbell Barton 0c93bc2b63 Merge branch 'master' into blender2.8 2017-03-25 13:39:47 +11:00
Campbell Barton f68145011f WM: Application Templates
This adds the ability to switch between different application-configurations
without interfering with Blender's normal operation.

This commit doesn't include any templates,
so its mostly to allow collaboration for the Blender 101 project
and other custom configurations.

Application templates can be installed & selected from the file menu.

Other details:

- The `bl_app_template_utils` module handles template activation
  (similar to `addon_utils`).
- The `bl_app_override` module is a general module
  to assist scripts overriding parts of Blender in reversible way.

See docs:
https://docs.blender.org/manual/en/dev/advanced/app_templates.html

See patch: D2565
2017-03-25 10:04:04 +11:00
Campbell Barton 096602d3a8 bpy.path.display_name: strip spaces
Useful for Python module paths that can't start with numbers.
2017-03-24 06:55:44 +11:00
Campbell Barton 9af6f40e4d addon_utils: add disable_all function 2017-03-24 05:20:26 +11:00
Campbell Barton 1600b93fb8 UI: allow to extend camera as a menu
Needed for T46853
2017-03-23 20:45:02 +11:00