Age | Commit message (Collapse) | Author |
|
This mimics what is now the behaviour for edit bones as well.
See e6151bc4c1f2.
And it also matches what we do in the viewport when selecting bones.
|
|
While fixing it, also reproducing multi-object selection logic we have
in the viewport. If you select one bone from an armature, it deselects all
bones from the other armatures currently in edit mode.
Inspired by proposed fix by Philipp Oeser (lichtwerk).
Code explanation
================
CTX_data_edit_object(C) may be NULL here. In the few cases where it is
not we use it for the notifier (in the other cases we call the notifier
with NULL, so no harm done).
This code is called during outliner drawing, and it is called, for
instance every time you mouse hover a bone.
If you have a mesh object in edit mode and mouse hover the bones of an armature
it is plain obvious we can't rely on CTX_data_edit_object() for anything
armature related. And that the original assert was asking for troubles.
|
|
|
|
Tested to work on Linux and macOS.
This will be enabled once all platforms are verified.
See D4684
|
|
No functional change, this adds LIB definition and args to cmake files.
Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS'
since there are many platforms/configurations that could break when
changing linking order.
Manually add and enable WITHOUT_SORTED_LIBS to try building
without sorted libs (currently fails since all variables are empty).
This check will eventually be removed.
See T46725.
|
|
Differential Revision: https://developer.blender.org/D4668
|
|
This field is only used to read old files, but it's not used anymore, so it's better mark as deprecated to avoid wrong uses.
|
|
|
|
The grease pencil materials only can be assigned to objects of grease pencil type.
|
|
|
|
This adds entries to copy/paste (selected) IDs in the Outliner, as well
as usual ctrl-C/ctrl-V shortcuts.
Note that the clipboard is shared with other IDs copying (currently, the
one for objects in 3DView).
Reviewers: brecht, dfelinto, billreynish, pablovazquez
Differential Revision: https://developer.blender.org/D4568
|
|
ID deletion is undoable nowadays...
|
|
|
|
The moment you switched to another view layer the visibility was still
outdated.
|
|
For some reason, the code was commented and we missed to enable it again.
|
|
scene/collection.
Think that's the last case... At least for now.
|
|
Same issue as with previous commits for other Collection Outlier's
operations, checks are always different though...
|
|
IDs.
Similar issue to the one about Duplicate operation...
|
|
in exec function.
This has already been ensured by poll callback...
|
|
to that scene.
In other words, Duplicate Collection could link local ID into a linked
one... Nasty. ;)
Add checks that found parent is not a linked data-block (and try to
find a fall-back one if this is the case).
|
|
hierarchy' operation."
This partially reverts commit a77feabb51470b9cfb71be7f0ea7e774d6591799,
removing the shallow 'duplicate hierarchy' option from outliner.
Core changes from that commit in BKE_collections are kept.
|
|
|
|
Convention was not to but after discussion on 918941483f7e we agree its
best to change the convention.
Names now mostly follow RNA.
Some exceptions:
- Use 'nodetrees' instead of 'nodegroups'
since the struct is called NodeTree.
- Use 'gpencils' instead of 'grease_pencil'
since 'gpencil' is a common abbreviation in the C code.
Other exceptions:
- Leave 'wm' as it's a list of one.
- Leave 'ipo' as is for versioning.
|
|
|
|
Point is, you may want to duplicate your set of collections, but not
duplicate all their objects.
Some notes:
* Am rather skeptical about the practice of using operator name to
define behavior of some common exec code. Imho, that should be a single
operator with an enum to refine its behavior (@cambpellbarton may also
have an opinion here?). Left it as-is for now, because this seems to be
used by other operators too in that code. :/
* @dfelinto, @pablovazquez, @billreynish am not so happy with current
names, but cannot find really good short ones either... Also, shouldn't
we move those into a dedicated `Duplicate` sub-menu?
|
|
Rename 'libdata' to 'library data'.
|
|
- paintcurves were hitting an assert in outliner_add_element()
- missing outliner update when adding a paintcurve
- paintcurves were not showing an icon [they dont have a dedicated icon,
took the one used elsewhere]
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4445
|
|
This reverts commit d1baed5e3d03864b7968867fb93f9daa3d70428f.
Next time please let original author of the buggy code to take care of
fixing the issue!
|
|
Revert "Outliner: Enable new faster 'Delete Hierarchy' code by default."
This reverts commit 491a98ca44297555c97e4dcc5ed5bf7b2dc0661d.
It fails in the most basic of tests (see report). No point in leaving
this commit around until it passes the easy to test cases.
|
|
Bug introduced on 012483b6e4a1453c3e990127db001617997a9d64.
Since we notify similar things when changing active and selected
objects, I believe we didn't notice this was missing a ND_OB_SELECT
notification before the small refactor to use the messenging system
exposed that bug.
|
|
I changed the number of arguments for uiButPushedStateFunc
and forgot to update parts of the code (rB92182495da881).
|
|
We are mixing bool and fancy 3-in-1 func-set buttons in the outliner.
So they would return different pushed state in
ui_drag_toggle_but_pushed_state().
We now have a callback function that allows the button to set its own
pushed_button_state callback function.
Note: This is a bit of overkill since we are planning to change the
3-in-1 outliner buttons. That said, it may be nice to have, since in the
future we can mix those buttons for other things.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4434
|
|
Now that we have better options (duplicate collection and duplicate linked) there is no
longer need for the original dupli operator.
In fact, as it was it was of little use if you ever had nested collections.
|
|
As per the suggestion on T57064, this introduces two new options to duplicate collections.
We then have:
* Duplicate > Collection (New collection with linked content).
* Duplicate > Hierachy (Duplicate entire hierarchy and make all contents single user).
* Duplicate > Linked Hierarchy (Duplicate entire hierarchy keeping content linked with original).
Development TODO: `single_object_users` can/should use the new functions.
Reviewers: brecht, mont29
Subscribers: pablovazquez, billreynish, JulienKaspar
Differential Revision: https://developer.blender.org/D4394
|
|
|
|
|
|
- BKE_lamp -> BKE_light
- Main.lamp -> light
|
|
|
|
While \file doesn't need an argument, it can't have another doxy
command after it.
|
|
|
|
|
|
The problem
===========
For armature, if the active object was in pose mode and the newly
selected armature data (not the pose, but the edit armature) we would
get a crash.
For mesh objects, the issue would happen with the active object in object mode.
Then the new selected object would switch to edit mode, however the overall
mode would still be object mode, leading to unsynced mode across the objects.
The solution
============
Using shift to extend selection makes current selected (compatible)
objects to go to edit mode as well. Otherwise only the newly selected
object will switch to edit mode.
This also works if you are in edit mode for a curve, and click in a mesh icon.
This also changes the rules for multi-object editing (or rather, how we
put objects in and out of it). Now shirt is also taking into
consideration there. So if you simply click in another mesh object's
data, it will have only the newly selected object in edit mode.
To reproduce the old behaviour you need to use shift to include the
newly selected object in the multi-edit party.
Reviewers: campbellbarton
Subscribers: brecht
Differential Revision: https://developer.blender.org/D4344
|
|
|
|
Am really no a big fan of using macros for that kind of things, but
meh... C solution to do that with functions (using callbacks) is
even worse. :(
|
|
|
|
|
|
|
|
But introduced on 191b8951f7a.
Reported on tracker as a comment on 3f537f30e6b0.
|
|
We still change their base/layer collection visibility, just not what would change the
original ID datablock.
|
|
|