Commit Graph

5459 Commits

Author SHA1 Message Date
Julian Eisel
6f5bc1fc2b Merge branch 'blender-v2.83-release' 2020-05-11 17:14:15 +02:00
Julian Eisel
249ccab111 Fix T76621: UILayout.prop_search() broken for data-block names
If the search menu was used for a string property, and a data-block was
selected from the search, the value set would be an invalid name. The property
would get the modified UI string, not the proper data name set.

Mistake in rBd6cefef98f87.

This is more of a temporary fix to make the menu behave like before above's
commit. So the library hints this added will not be shown for string properties
anymore. This would need further changes in the UI code (see
https://developer.blender.org/P1380) but is too unsafe for 2.83 at this point.
Even if this is done, the note below still applies.

NOTE: Data-blocks should not be referenced by name only, as it's possible to
have duplicate data-block names with linking and especially with library
overriding.
Instead, pointer properties should be used, `UILayout.prop_search()` can then
properly deal with linked and overridden data-blocks.
2020-05-11 17:13:04 +02:00
Campbell Barton
de53c039ad UI: show tool-tips in menu search 2020-05-11 18:43:50 +10:00
Campbell Barton
067587c51b Merge branch 'blender-v2.83-release' 2020-05-11 18:31:04 +10:00
Campbell Barton
668867558e UI: apply vertical tool-tip offset in pixel-space
Was applying in ui-block space which changed offset
at different zoom levels.
2020-05-11 18:30:02 +10:00
Jacques Lucke
51ac411ce8 Cleanup: add ED_screen_areas_iter to clang-format ForEachMacros 2020-05-10 15:42:06 +02:00
Campbell Barton
d06384aa41 Cleanup: spelling 2020-05-09 17:19:28 +10:00
Antonio Vazquez
a2f4d7b8a3 GPencil: Refactor - Rename modifier and shder functions
This change is to align names with changes in T76498
2020-05-08 10:34:42 +02:00
Antonio Vazquez
2bb9a465e6 Fix T76498: Refactoring - Rename BKE modifiers funtions 2020-05-08 10:34:35 +02:00
Campbell Barton
eefa82a022 Cleanup: callback naming for search button & update doc-strings
Callback naming didn't always make it clear which function updated
the search contents and the function used to execute the action.
2020-05-08 12:36:35 +10:00
Campbell Barton
82704ac3ed UI: support context menu in menu search popup 2020-05-07 23:38:44 +10:00
Campbell Barton
daf10d17f4 Cleanup: split search menu separator argument into own function 2020-05-07 23:32:14 +10:00
Campbell Barton
74c01afe22 Cleanup: split button search callbacks into their own struct 2020-05-07 23:32:14 +10:00
Campbell Barton
b9491476e5 Cleanup: remove unused operator arguments to UI_popup_block_invoke_ex
Add optional can_refresh argument, useful to prevent text field
from exiting on refresh.
2020-05-07 21:38:08 +10:00
Campbell Barton
b1374a8ce9 Fix menu search expanding file browser menus 2020-05-07 12:27:10 +10:00
Campbell Barton
1dced6d814 Cleanup: use eSpace_Type in switch statements
Use eSpace_Type in cases where it's likely newly added spaces
should be handled.
2020-05-07 11:15:32 +10:00
Campbell Barton
5cb143cc4c Cleanup: comments for menu search 2020-05-07 10:55:39 +10:00
Campbell Barton
d2ee2abde7 Fix uninitialized variable in recent menu search commit 2020-05-07 10:46:48 +10:00
Campbell Barton
05da8132d8 BLT: include a non-executing reference to context in macros
Prevent errors when building without translations.
2020-05-07 09:00:38 +10:00
Hans Goudey
3bc3b58e4c Fix build error after rBb9bb752e0e852d
This looks like a misplaced variable definition, which is then used
out of scope later.
2020-05-06 10:26:59 -04:00
Campbell Barton
969d6b157e Fix expanding time-line menus when searching 2020-05-06 22:52:52 +10:00
Campbell Barton
0f0f06645f Fix error in last commit 2020-05-06 22:52:10 +10:00
Campbell Barton
b9bb752e0e UI: search menus from all visible areas when using the edit menu
Without this, only actions in the top-bar were visible
which isn't very useful.

Now menus are extracted from the areas used in the active window,
unless this search is activated by the key shortcut,
in this case the current area is used.
2020-05-06 22:40:21 +10:00
Campbell Barton
c0bbf1553f Cleanup: move search templates into their own files 2020-05-06 16:00:09 +10:00
Julian Eisel
9535dbcee0 UI: Gray out shortcut indicator in search menus
In other menus we already gray out the shortcut string, just in the search menu
that wasn't the case.

We may also want to draw other hints like this in the future, e.g. the library
name for linked data-blocks in search menus. And then it's also nicer to have
it grayed out to separate it visually from the data-block name.
2020-05-05 15:37:11 +02:00
Campbell Barton
f55e92107a Cleanup: warnings 2020-05-05 16:05:51 +10:00
Campbell Barton
2addc868de Cleanup: pass ARegion, View2D as const 2020-05-04 19:32:59 +10:00
Campbell Barton
7b9d6ef2b6 Cleanup: use ELEM macro 2020-05-04 14:03:41 +10:00
Campbell Barton
ccaab72685 BLF: use 'int' for internal glyph x,y bearing
These were stored as float but were originally cast from an int
and were often cast back to int.

Also use int pairs for dimensions values.
2020-05-03 18:01:20 +10:00
Harley Acheson
5366eb89c6 UI: improve widget text cursor position
Use BLF_boundbox_foreach_glyph for more accurate cursor placement.
2020-05-03 17:08:05 +10:00
Campbell Barton
0d65520f05 BLF: add new arguments to BLF_GlyphBoundsFn
- glyph_bounds: to get the character width.
- glyph_bearing: lower left character starting point.

These values are needed for more precise glyph calculations.
2020-05-03 16:51:34 +10:00
Sybren A. Stüvel
aa72e3abf9 Cleanup: moved drivers to BKE_fcurve_driver.h / fcurve_driver.c
All the driver-specific code in `fcurve.c` has been moved into a new file
`fcurve_driver.c`. The corresponding declarations have been moved from
`BKE_fcurve.h` to `BKE_fcurve_driver.h`.

All the `#include "BKE_fcurve.h"` statements have been investigated and
replaced with `BKE_fcurve_driver.h` where necessary.

No functional changes.
2020-05-01 13:08:22 +02:00
Hans Goudey
1960b8a361 UI: Fix animating panels after drag changing region size
The previous commit for this issue, 8e08d80e52, missed the case
where the panel animates to its aligned position when the mouse is
released.
2020-04-30 14:21:14 -05:00
Julian Eisel
8e08d80e52 Fix dragging panels changing region size
While dragging panels, the region size would change which would feel glitchy.

See D7462 for a demo of the issue.
2020-04-30 19:20:01 +02:00
Campbell Barton
7163e159c5 UI: add all operators to search menu when developer extras is enabled
This allows developers to easily access operators they're working on,
without having to add them to the interface first.
2020-04-30 21:54:50 +10:00
Campbell Barton
4f639b893b Merge branch 'blender-v2.83-release' 2020-04-28 15:48:44 +10:00
Campbell Barton
612757b524 Fix T76098: Dragging text selection with offset resets select start 2020-04-28 15:47:09 +10:00
Campbell Barton
a8d684d87f Merge branch 'blender-v2.83-release' 2020-04-28 13:49:25 +10:00
Campbell Barton
ef1187387b Fix T76152: Shortcut underline under wrong letter
Use glyph bounds to calculate a better underline position.
2020-04-28 13:48:15 +10:00
Julian Eisel
b0f207db15 UI: (Internal) utility for more controllable property split layout
Adds a wrapper-struct to create and return the three layouts required
for the propery split layout (i.e. `UILayout.use_property_split`). This
gives more flexibility for special treatment.
E.g. needed for adding the arrow icon buttons when there is a hierarchy
of nodes to be represented in the material properties (needs inserting
in the text column to not offset the split layout).

This commit also makes use of the utility for
`uiItemL_respect_property_split()`.
2020-04-27 17:01:40 +02:00
Julian Eisel
6842958c9b UI: Add (internal) option to use property splitting for label-less items
Usually items without labels don't use the property split layout and
just use the full layout width. In some cases that is not wanted because
it looks odd if single items within the split layout use the full width.
The option is unused but would be needed for adding decorators to the
material properties.
2020-04-27 16:38:27 +02:00
Julian Eisel
3c858246cd UI: Support array properties for UILayout.prop_decorator()
Previously `UILayout.prop_decorator()` (or `uiItemDecoratorR()` in C)
only worked for single items, not for arrays. The decorators are added
vertically, like `UILayout.prop()` adds them.
This will be needed for adding decorators to material properties, but
will likely have other use-cases as well.

Also, `None` (or `NULL`) can be passed for the data-pointer and property
now to create blank decorators (as already possible for
`uiItemDecoratorR_prop` in C).
2020-04-27 14:57:29 +02:00
Julian Eisel
a2de3d86de Fix utterly wrong decorator button logic
This was in fact completely messed up, but it worked by accident for all
current cases. That is, we always inserted the decorator buttons
immediately after the button they applied to. So the first button
comparision in ui_but_anim_decorate_find_attached_button() would
succeed, because it just compared a few values that all happened to be
NULL and thus the comparison returned true.

Further, avoid NULL-pointer dereferences and incorrect printing.
2020-04-26 17:39:12 +02:00
Campbell Barton
0de591ac39 Merge branch 'blender-v2.83-release' 2020-04-24 18:14:18 +10:00
Campbell Barton
1625b7c37c Fix T75749: UI button text selecting is broken by text offset 2020-04-24 18:13:43 +10:00
Bastien Montagne
21f811cb6d Merge branch 'blender-v2.83-release' 2020-04-22 11:37:36 +02:00
Brecht Van Lommel
f7374737ef Fix T75909: icons memory leak in headless build 2020-04-21 21:44:44 +02:00
Jacques Lucke
1b01d10998 Cleanup: typo 2020-04-20 11:22:55 +02:00
Jacques Lucke
eb4e3bbe68 Simulations: Add new simulation data block
This data block will be the container for simulation node trees.
It will be used for the new particle node system (T73324).

The new data block has the type `ID_SIM`.
It is not visible to users and other developers by default yet.
To enable it, activate the cmake option `WITH_NEW_SIMULATION_TYPE`.

New simulation data blocks can be created by running `bpy.data.simulations.new("name")`.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D7225
2020-04-20 10:45:18 +02:00
Campbell Barton
b293517d7b Merge branch 'blender-v2.83-release' 2020-04-20 11:58:15 +10:00