Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-15UI: Single tab property searchHans Goudey
This adds a search bar to the properties editor. The full search for every tab isn't included in this patch, but the interaction with panels, searching behavior, UI, region level, and DNA changes are included here. The block-level search works by iterating over the block's button groups and checking whether they match the search. If they do, they are tagged with a flag, and the block's panel is tagged too. For every update (text edit), the panel's expansion is set to whether the panel has a result or not. The search also checks for matching strings inside enums and in panel labels. One complication to this that isn't immediately apparent is that closed panel's subpanels have to be searched too. This adds some complexity to the area-level panel layout code. Possible Future Improvements: - Use the new fuzzy search in BLI - Reset panels to their expansion before the search started if the user escape out of the text box. - Open all child panels of a panel with expansion. Differential Revision: https://developer.blender.org/D8856
2020-08-30Operator: expose ED_operator_object_active_local_editable_exCampbell Barton
Support calling this function with an object argument, useful for implementing filter functions that loop over objects.
2020-08-20Cleanup: Remove unused variables for horizontal panelsHans Goudey
Continuing the work of eb9055a572c3, remove remaining unecessary variables and arguments that were related tabbing and horizontal alignment of panels. For example, "vertical" was always true, and removing that exposed other unused variables.
2020-08-16Merge branch 'blender-v2.90-release' into masterCampbell Barton
2020-08-16Fix popups opening in the wrong direction over headersCampbell Barton
Checks for header alignment didn't account for tool-header & header having different alignment. There is no reason to use a lookup function on the area (ED_area_header_alignment) as we already have region. Check the regions alignment directly, remove access functions.
2020-08-07Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-04Fix T78688: Crash changing workspace with specific fullscreen setupJulian Eisel
When switching workspaces we need to have an unused screen layout that we can activate. The other window now showed the only available screen layout in fullscreen though. Usually when there's no unused screen layout we duplicate an existing one, but that code didn't respect the fullscreen case properly. This also tries to clean up the logic a bit, but things are still rather complicated to follow. Changes in this code are always risky. Of course things worked fine in my tests, but I wouldn't be surprised if something breaks.
2020-08-01Cleanup: use term init instead of initialize/initialiseCampbell Barton
The abbreviation 'init' is brief, unambiguous and already used in thousands of places, also initialize is often accidentally written with British spelling.
2020-07-15Revert "Cleanup: remove public unused function."Campbell Barton
This reverts commit 03c8b048a166584a72ceff08432401cd7047648c. This commit re-introduced T76837. While there is a comment explaining why this function is needed, the naming of the poll function does make this confusing. The API could be changed to avoid confusion here.
2020-07-13LibOverride: add more polling checks to operators not supposed to work on ↵Bastien Montagne
overrides. This is long work, we are still likely missing a lot of cases...
2020-07-13Cleanup: remove public unused function.Bastien Montagne
2020-05-18Cleanup: remove NULL checks from object mode switching take #2Campbell Barton
Re-apply changes from 54ea3562406c633dc69f59697cca3cd1cded3bcd, with a poll function that uses the same active object as the operator, matching other mode switching functions.
2020-04-05Cleanup: macro hygiene, parenthesize argumentsCampbell Barton
2020-04-03Cleanup: Rename bScreen variables from sc/scr to screenJulian Eisel
Part of T74432. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-03Cleanup: Rename ScrArea variables from sa to areaJulian Eisel
Follow up of b2ee1770d4c3 and 10c2254d412d, part of T74432. Now the area and region naming conventions should be less confusing. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-03Cleanup: Continue renaming ARegion variables from ar to regionJulian Eisel
Continuation of b2ee1770d4c3, now non-single word variables are also renamed. Part of T74432. Also ran clang-format on affected files.
2020-03-12Fix T73049: Drag & drop on overlapping panels behaves incorrectlyJacques Lucke
Reviewers: brecht, Severin Differential Revision: https://developer.blender.org/D7024
2020-03-06Cleanup: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
2020-03-02Cleanup: make remaining editor include headers work in C++Jacques Lucke
2020-02-21Cleanup: remove unused ScreenAnimData.refreshCampbell Barton
2020-02-20Cleanup: unused enumsCampbell Barton
2020-02-14Cleanup: Rename ED_region_tag_redraw_overlay() to ED_region_tag_redraw_cursor()Julian Eisel
Old name was a bit confusing/misleading, esp. since previous commit.
2020-02-14UI: Allow gizmo-only redraw taggingJulian Eisel
NOTE: This change shouldn't have any visible effect. It's just the first (easiest) step towards decoupling gizmo redraws from viewport redraws. We currently redraw the entire region whenever a gizmo needs redrawing, which would be nice to avoid in the future, see T73198. The first step towards this would be having a separate tag for them, which is what this patch implements. The term "editor-overlays" was chosen because for the forseeable future, we'll also have to redraw non-gizmo overlays in-between drawing 3D and 2D gizmos. Namely annotations. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6838
2020-01-22Cleanup: Rename ED_region_init() -> ED_region_floating_initialize()Julian Eisel
This function is a very special refresh function just for floating regions. _initialize is more consistent with ED_area_initialize() so use that too. Also adds assert.
2019-12-12Add support for tiled images and the UDIM naming schemeLukas Stockner
This patch contains the work that I did during my week at the Code Quest - adding support for tiled images to Blender. With this patch, images now contain a list of tiles. By default, this just contains one tile, but if the source type is set to Tiled, the user can add additional tiles. When acquiring an ImBuf, the tile to be loaded is specified in the ImageUser. Therefore, code that is not yet aware of tiles will just access the default tile as usual. The filenames of the additional tiles are derived from the original filename according to the UDIM naming scheme - the filename contains an index that is calculated as (1001 + 10*<y coordinate of the tile> + <x coordinate of the tile>), where the x coordinate never goes above 9. Internally, the various tiles are stored in a cache just like sequences. When acquired for the first time, the code will try to load the corresponding file from disk. Alternatively, a new operator can be used to initialize the tile similar to the New Image operator. The following features are supported so far: - Automatic detection and loading of all tiles when opening the first tile (1001) - Saving all tiles - Adding and removing tiles - Filling tiles with generated images - Drawing all tiles in the Image Editor - Viewing a tiled grid even if no image is selected - Rendering tiled images in Eevee - Rendering tiled images in Cycles (in SVM mode) - Automatically skipping loading of unused tiles in Cycles - 2D texture painting (also across tiles) - 3D texture painting (also across tiles, only limitation: individual faces can not cross tile borders) - Assigning custom labels to individual tiles (drawn in the Image Editor instead of the ID) - Different resolutions between tiles There still are some missing features that will be added later (see T72390): - Workbench engine support - Packing/Unpacking support - Baking support - Cycles OSL support - many other Blender features that rely on images Thanks to Brecht for the review and to all who tested the intermediate versions! Differential Revision: https://developer.blender.org/D3509
2019-10-29Fix T70905: Image Editor header hides mask, cache and keyframe info ifPhilipp Oeser
flipped to bottom While flipping the header to bottom works in the MCE (because MCE doesnt allow overlapping UI) we need to take the regions visible rect into account for the Image Editor. Also correct clickable scubbing area (poll for frame_change) in the Image Editor and the MovieClip Editor not taking UI_DPI_FAC into account. Maniphest Tasks: T70905 Differential Revision: https://developer.blender.org/D6090
2019-10-03UI: Register File Browser as Child/Dialog-Window for the OSJulian Eisel
For many users, this will make the File Browser window behave more like what they would expect. It addresses the issue of the File Browser becoming hidden behind the main window by clicking anywhere in the latter. It communicates the interruptive, but temporary nature of the operation a bit better. Further, on tiling window managers the File Browser now opens as floating by default, like in other applications. Note that this also makes sure the File Browser is always opened as separate window, so it doesn't re-use the Preferences, or any other temporary window anymore. This seems to have been a common annoyance. More concretely, this makes the File Browser window behave as follows: * Stays on top of its parent Blender window, but not on top of non-Blender windows. * Minimizes with its parent window * Can be moved independently * Doesn't add an own item in task bars * Doesn't block other Blender windows (we may want to have this though) * Opens as floating window for tiling window managers (e.g. i3wm/Sway) Further notes: * When opening a file browser from the Preference window (or any temporary window), the main window, as the file browsers parent is moved on top of the Preferences, which makes it seem like the Preferences were closed. This is the general issue of bad secondary window handling as window activation changes. I made it so that the window is moved back once the file browser is closed. This behavior is confusing and would be nice to avoid. It's a separate issue though. * On most window managers on Linux the temporary window can not be minimized and maximized, they disable that for dialog windows. * On Windows and macOS, only minimizing is disabled, as there is no decent way yet to restore a window if it's not shown in the taskbar. Reviewed By: Brecht van Lommel, Campbell Barton, William Reynish Edits and macOS implementation by Brecht. Differential Revision: https://developer.blender.org/D5810 Part of T69652.
2019-09-20Cleanup: Add/use utility to remove regionsJulian Eisel
2019-09-18Refactor temp-space opening for optional fullscreen modeJulian Eisel
Will be put to use in followup commits.
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-08-15WM: reuse visible region calculationCampbell Barton
Avoids calculating the visible part of a region whenever on-screen overlays are drawn.
2019-07-16Fixed crash when adding/removing custom normals from pinned meshSybren A. Stüvel
When a mesh is pinned in the properties panel, Blender crashes when you click the "Add Custom Split Normals Data". The code calls `ob = ED_object_context(C)` which returns NULL when the mesh is pinned in the properties panel, causing a segfault when trying to get the mesh via `ob->data`. A new function `ED_mesh_context(C)` avoids this by first checking whether a mesh was pinned in the context. If not, it checks the pinned object's data. If that's not there, or it's not a mesh, it returns the active object's mesh. Finally it returns NULL if there is no active object, or if the active object is not a mesh object. Reviewed By: brecht, mont29 Differential Revision: https://developer.blender.org/D5223
2019-06-02Fix T65185: Cycles viewport render no refreshing overlays properlyBrecht Van Lommel
Don't rely on detecting view matrix changes to refresh depth buffer, instead detect redraw tags coming from progressive render samples.
2019-05-10UI: expose tool settings in the 3D view side-barCampbell Barton
Internally tool settings have been moved to the 3D view. Added the ability for to draw panels from another space/region so they can be mirrored in the properties editor.
2019-05-09Fix: Nav_bar context menu in preferencesCampbell Barton
Also merge the keymaps for header/footer/navbar. D4736 by @Gvgeo with edits
2019-05-07UI: Animation editor scrubbing areaJacques Lucke
The main reason for this change is to allow setting the active frame with the left mouse button, while still being able to select e.g. keyframes with the same mouse button. The solution is to introduce a new scrubbing region with a specialized keymap. There are a couple of related todos, that will be handled in separate commits. Those are listed in D4654. This solves T63193. Differential Revision: https://developer.blender.org/D4654 Reviewers: brecht, billreynish
2019-05-03Fix active tool side-bar redrawing on tool changeCampbell Barton
2019-04-24Fix T63822: Sidebar tabs active area dead-zone #2Campbell Barton
Take the entire gutter used for panel tabs into account. Introduced in recent fix for T61554
2019-04-23UI: ignore events in empty region overlap areasCampbell Barton
- Resizable areas use 2D view bounds. - Header uses the button bounds. - A margin is added to avoid clicking between buttons. - Region resize edges clamp to the 2D view bounds. Resovles T61554
2019-04-19Fix/workaround crash using ED_area_do_msg_notify_tag_redrawCampbell Barton
Temporary workaround for crash when refreshing the active tool. Currently ED_region_tag_redraw fails, use notifiers until this is resolved.
2019-04-19UI: move top-bar into the spaces headerCampbell Barton
Currently this is only in the 3D viewport however all spaces that use the tool-system will have this region added. D4680 by @brecht with own updates.
2019-04-18UI: move region toggling to propertiesCampbell Barton
Each space had separate operators, duplicating logic. Use RNA properties instead so adding the ability to toggle other region types (floating redo region for eg) doesn't need to have an extra operator per space type. It's also nicer to show a check-box for something which can be toggled.
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-05Interface: New region type 'Footer', used by text editorGeorge Vogiatzis
* It can be hidden by dragging it up/down. * It can be at the top or bottom, independent of the header. * It uses the color theme from the header. * It does not change its color, when the area becomes active. Currently, it is used in the text editor to display the file path. Differential Revision: https://developer.blender.org/D4601
2019-03-18Silence sorted function declaration/const warningsDalai Felinto
2019-03-13Fix T62436: New added Torus won't appear in Local ViewCampbell Barton
Add Object.local_view_get/set Alternate fix which supports removing from local view & checking if an object is in local view. Also avoids redundant refresh. Matches 2.7x Object.layer_local_view capabilities more closely, without exposing the flag directly.
2019-02-20WM: support dynamic keymap handlersCampbell Barton
Add getter callback support for 'WM_HANDLER_TYPE_KEYMAP' type handlers this is needed for key-maps which change based on the active tool. Replaces 'sneaky_handler' hack which temporarily inserted a handler.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Improvements and fixes to Cycles metadataSergey Sharybin
This is a request by the studio here to make it possible to see how many samples were used to render a specific shot or a frame. It is a bit more tricky than simply stamping number of samples from a scene since rendering is happening in multiple ranges of samples. This change makes it so Cycles saves configured number of samples for the specific view layer, and also stores start sample and number of samples when rendering only a subrange of all samples. The format used is "cycles.<view_layer_name>.><field>", which allows to have information about all layers in a multi-layer EXR file. Ideally we can store simplified "cycles.<field>" if we know that there is only one render layer in the file, but detecting this is somewhat tricky since Cycles operates on an evaluated scene which always have single view layer. The metadata is shown in the Metadata panels for clip, image and sequencer spaces. Example screenshot which shows the metadata: {F6527727} Reviewers: brecht Reviewed By: brecht Subscribers: fsiddi Differential Revision: https://developer.blender.org/D4311