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
2017-08-06Manipulator: experimental lamp positioning toolCampbell Barton
- New manipulator tracks lamps to position under cursor. - Works with multiple lamps, keeping relative offsets. - Holding Ctrl moves the lamp. - Access via manipulator or Shift-T. Code could be improved, but like to get feedback from users.
2017-06-01Move custom transform orientations to workspaceJulian Eisel
This commit moves the list of transform orientations from scenes to workspaces. Main reasons for this are: * Transform orientations are UI data and should not be stored in the scene. * Introducion of workspaces caused some (expected) glitches with transform orientations. Mainly when removing one. * Improves code. More technically speaking, this commit does: * Move list of custom transform orientations from Scene to WorkSpace struct. * Store active transform orientation index separate from View3D.twmode (twmode can only be set to preprocessor defined values now). * Display custom transform orientation name in header when transforming in it (used to show "global" which isn't really correct).
2017-06-01Main Workspace IntegrationJulian Eisel
This commit does the main integration of workspaces, which is a design we agreed on during the 2.8 UI workshop (see https://wiki.blender.org/index.php/Dev:2.8/UI/Workshop_Writeup) Workspaces should generally be stable, I'm not aware of any remaining bugs (or I've forgotten them :) ). If you find any, let me know! (Exception: mode switching button might get out of sync with actual mode in some cases, would consider that a limitation/ToDo. Needs to be resolved at some point.) == Main Changes/Features * Introduces the new Workspaces as data-blocks. * Allow storing a number of custom workspaces as part of the user configuration. Needs further work to allow adding and deleting individual workspaces. * Bundle a default workspace configuration with Blender (current screen-layouts converted to workspaces). * Pressing button to add a workspace spawns a menu to select between "Duplicate Current" and the workspaces from the user configuration. If no workspaces are stored in the user configuration, the default workspaces are listed instead. * Store screen-layouts (`bScreen`) per workspace. * Store an active screen-layout per workspace. Changing the workspace will enable this layout. * Store active mode in workspace. Changing the workspace will also enter the mode of the new workspace. (Note that we still store the active mode in the object, moving this completely to workspaces is a separate project.) * Store an active render layer per workspace. * Moved mode switch from 3D View header to Info Editor header. * Store active scene in window (not directly workspace related, but overlaps quite a bit). * Removed 'Use Global Scene' User Preference option. * Compatibility with old files - a new workspace is created for every screen-layout of old files. Old Blender versions should be able to read files saved with workspace support as well. * Default .blend only contains one workspace ("General"). * Support appending workspaces. Opening files without UI and commandline rendering should work fine. Note that the UI is temporary! We plan to introduce a new global topbar that contains the workspace options and tabs for switching workspaces. == Technical Notes * Workspaces are data-blocks. * Adding and removing `bScreen`s should be done through `ED_workspace_layout` API now. * A workspace can be active in multiple windows at the same time. * The mode menu (which is now in the Info Editor header) doesn't display "Grease Pencil Edit" mode anymore since its availability depends on the active editor. Will be fixed by making Grease Pencil an own object type (as planned). * The button to change the active workspace object mode may get out of sync with the mode of the active object. Will either be resolved by moving mode out of object data, or we'll disable workspace modes again (there's a `#define USE_WORKSPACE_MODE` for that). * Screen-layouts (`bScreen`) are IDs and thus stored in a main list-base. Had to add a wrapper `WorkSpaceLayout` so we can store them in a list-base within workspaces, too. On the long run we could completely replace `bScreen` by workspace structs. * `WorkSpace` types use some special compiler trickery to allow marking structs and struct members as private. BKE_workspace API should be used for accessing those. * Added scene operators `SCENE_OT_`. Was previously done through screen operators. == BPY API Changes * Removed `Screen.scene`, added `Window.scene` * Removed `UserPreferencesView.use_global_scene` * Added `Context.workspace`, `Window.workspace` and `BlendData.workspaces` * Added `bpy.types.WorkSpace` containing `screens`, `object_mode` and `render_layer` * Added Screen.layout_name for the layout name that'll be displayed in the UI (may differ from internal name) == What's left? * There are a few open design questions (T50521). We should find the needed answers and implement them. * Allow adding and removing individual workspaces from workspace configuration (needs UI design). * Get the override system ready and support overrides per workspace. * Support custom UI setups as part of workspaces (hidden panels, hidden buttons, customizable toolbars, etc). * Allow enabling add-ons per workspace. * Support custom workspace keymaps. * Remove special exception for workspaces in linking code (so they're always appended, never linked). Depends on a few things, so best to solve later. * Get the topbar done. * Workspaces need a proper icon, current one is just a placeholder :) Reviewed By: campbellbarton, mont29 Tags: #user_interface, #bf_blender_2.8 Maniphest Tasks: T50521 Differential Revision: https://developer.blender.org/D2451
2017-03-02Fix another part of T50565: Planar constraints were always initialized to ↵Sergey Sharybin
accurate transform Now it is defined by keymap.
2016-08-18NDOF: compile 3D mouse code only if WITH_INPUT_NDOFMike Erwin
When WITH_INPUT_NDOF is disabled, 3D mouse handling code is removed from: - GHOST (was mostly done, finished the job) - window manager - various editors - RNA - keymaps The input tab of user prefs does not show 3D mouse settings. Key map editor does not show NDOF mappings. DNA does not change. On my Mac the compiled binary is 42KB smaller after this change. It runs fine WITH_INPUT_NDOF on or off.
2016-06-23Fix T48689: Transform proportional size was not seriously clamped.Bastien Montagne
Now use same, reasonable min/max values, to avoid getting inf or zero values when using shortcuts during transform operation...
2016-06-08Cleanup: typoCampbell Barton
2016-02-10Fix T47382: incorrect tooltip for mirror tool in object mode.Brecht Van Lommel
2015-12-19Fix T47016: curve tilt value in N (redo) panel to much precise with mouse ↵Bastien Montagne
dragging. Let's just use dafaults of angle props here. :)
2015-11-23Cleanup: use `rna_enum_` prefix for RNA enumsCampbell Barton
Definitions could shadow local vars.
2015-10-15Fix T46451: vertex/edge slide clamp not available in redo popup.Brecht Van Lommel
2015-10-12Usual UI message fixes...Bastien Montagne
2015-10-12Fix T46451: edge slide even and flipped not available in redo popup.Brecht Van Lommel
2015-09-17Fix T46134: units degrees increment are too smallCampbell Barton
The user interface was ignoring the precision step size for degrees, making all rotation inputs drag by a 100th of a degree. Now use a 10th of a degree instead.
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-06-17Fix (unreported) redo of 'bone envelope distance resize' transform op not ↵Bastien Montagne
working (it would behave like 'bone envelope resize' instead). Issue comes from the fact this transform op shares some common points with both BoneResize and BoneEnvelope operations. However, trying to re-use `TFM_BONE_ENVELOPE` itself in this case is bad idea, since this mode gets stored in transform op and is directly re-used for redo, by-passing the whole init phase that shall be done in `TFM_BONESIZE` mode... So now, we add a real new mode, `TFM_BONE_ENVELOPE_DIST`, while keeping most of existing code and all existing behavior. This is slightly hackish - but was already anyway, and avoids creating a full new set of function for pretty much the same thing. As a side note, also makes it possible to resize envelope distance outside of envelope viewing mode (from py or by adding a custom shortcut).
2015-06-15BMesh: edge-offset feature (Ctrl+Shift+R)Campbell Barton
Ability to quickly add 2x edge loops on either side of selected loops.
2015-06-03Correct vert/edge slide poll functionsCampbell Barton
Would crash trying to access outside the 3D view.
2015-05-25Fix error redoing shrink fattenCampbell Barton
Use a property to store even-offset option.
2015-05-25Cleanup: const char for operator ID'sCampbell Barton
2015-05-17Fix Node Editor using wrong snap element menu when called from shortcutJulian Eisel
Kudos to @kopias for notifying me :)
2015-05-07EdgeSlide: support for un-clamped slidingCampbell Barton
Functionality matches vertex slide.
2015-04-29Cleanup: headersCampbell Barton
2015-04-27Cleanup: rename GRAB_POINTER -> GRAB_CURSORCampbell Barton
Term pointer is overloaded already.
2015-03-16Nodes: Shortcuts for Snap and Snap Element MenuJulian Eisel
Added Shift + Tab for Snap and Ctrl + Shift + Tab for Snap Element Menu (consistent to 3D View) NOTE: Exit Group is now Ctrl + Tab instead of Shift + Tab
2015-02-12GPencil: Alt-S can now be used to adjust the pressure values (i.e. ↵Joshua Leung
thickness) of strokes
2015-02-08Initial vertex slide UV-correct supportCampbell Barton
Still need to adjust for contiguous UV's
2014-11-30Grease Pencil - Storyboarding Features (merge from GPencil_EditStrokes branch)Joshua Leung
This merge-commit brings in a number of new features and workflow/UI improvements for working with Grease Pencil. While these were originally targetted at improving the workflow for creating 3D storyboards in Blender using the Grease Pencil, many of these changes should also prove useful in other workflows too. The main highlights here are: 1) It is now possible to edit Grease Pencil strokes - Use D Tab, or toggle the "Enable Editing" toggles in the Toolbar/Properties regions to enter "Stroke Edit Mode". In this mode, many common editing tools will operate on Grease Pencil stroke points instead. - Tools implemented include Select, Select All/Border/Circle/Linked/More/Less, Grab, Rotate, Scale, Bend, Shear, To Sphere, Mirror, Duplicate, Delete. - Proportional Editing works when using the transform tools 2) Grease Pencil stroke settings can now be animated NOTE: Currently drivers don't work, but if time allows, this may still be added before the release. 3) Strokes can be drawn with "filled" interiors, using a separate set of colour/opacity settings to the ones used for the lines themselves. This makes use of OpenGL filled polys, which has the limitation of only being able to fill convex shapes. Some artifacts may be visible on concave shapes (e.g. pacman's mouth will be overdrawn) 4) "Volumetric Strokes" - An alternative drawing technique for stroke drawing has been added which draws strokes as a series of screen-aligned discs. While this was originally a partial experimental technique at getting better quality 3D lines, the effects possible using this technique were interesting enough to warrant making this a dedicated feature. Best results when partial opacity and large stroke widths are used. 5) Improved Onion Skinning Support - Different colours can be selected for the before/after ghosts. To do so, enable the "colour wheel" toggle beside the Onion Skinning toggle, and set the colours accordingly. - Different numbers of ghosts can be shown before/after the current frame 6) Grease Pencil datablocks are now attached to the scene by default instead of the active object. - For a long time, the object-attachment has proved to be quite problematic for users to keep track of. Now that this is done at scene level, it is easier for most users to use. - An exception for old files (and for any addons which may benefit from object attachment instead), is that if the active object has a Grease Pencil datablock, that will be used instead. - It is not currently possible to choose object-attachment from the UI, but it is simple to do this from the console instead, by doing: context.active_object.grease_pencil = bpy.data.grease_pencil["blah"] 7) Various UI Cleanups - The layers UI has been cleaned up to use a list instead of the nested-panels design. Apart from saving space, this is also much nicer to look at now. - The UI code is now all defined in Python. To support this, it has been necessary to add some new context properties to make it easier to access these settings. e.g. "gpencil_data" for the datablock "active_gpencil_layer" and "active_gpencil_frame" for active data, "editable_gpencil_strokes" for the strokes that can be edited - The "stroke placement/alignment" settings (previously "Drawing Settings" at the bottom of the Grease Pencil panel in the Properties Region) is now located in the toolbar. These were more toolsettings than properties for how GPencil got drawn. - "Use Sketching Sessions" has been renamed "Continuous Drawing", as per a suggestion for an earlier discussion on developer.blender.org - By default, the painting operator will wait for a mouse button to be pressed before it starts creating the stroke. This is to make it easier to include this operator in various toolbars/menus/etc. To get it immediately starting (as when you hold down DKEy to draw), set "wait_for_input" to False. - GPencil Layers can be rearranged in the "Grease Pencil" mode of the Action Editor - Toolbar panels have been added to all the other editors which support these. 8) Pie menus for quick-access to tools A set of experimental pie menus has been included for quick access to many tools and settings. It is not necessary to use these to get things done, but they have been designed to help make certain common tasks easier. - Ctrl-D = The main pie menu. Reveals tools in a context sensitive and spatially stable manner. - D Q = "Quick Settings" pie. This allows quick access to the active layer's settings. Notably, colours, thickness, and turning onion skinning on/off.
2014-11-28Cleanup: unused headersCampbell Barton
2014-11-11UI Refactor T41640Campbell Barton
Make the UI API more consistent and reduce confusion with some naming. mainly: - API function calls - enum values some internal static functions have been left for now
2014-11-05Simplify node frame detach operators, based on T34670 by @julien.Lukas Tönne
* The `NODE_OT_parent_clear` operator has been removed. This was a very simplistic operator that detached every selected node, which is not very useful in case of hierarchical frames. The `NODE_OT_detach` operator only detaches the top parent nodes in the selection, keeping the hierarchy of selected nodes intact. * The `ALT+P` shortcut has been reassigned to the `NODE_OT_detach` operator which replaces the previous `NODE_OT_clear` mapping with similar behavior (also gives a menu entry shortcut now). * Shortcuts for `NODE_OT_detach_translate_attach` have been removed, due to crowded and messy keymap and unintuitive shortcut `ALT+F`. This macro operator is still registered, in case hardcore users want to make their own keymaps, but not mapped by default. Node keymaps may need some redesign in the future for these things.
2014-10-28Fix T41041: 'Delete keyframe' removes markers tooCampbell Barton
Operators that trigger UI events (but nothing else) were using 'CANCELLED' making it impossible to tell if an invoke function failed, or opened a menu.
2014-08-26Fix T37534 remaining issue: auto-enable bevel weight viewHoward Trickey
whenever enter edge bevel weight editing. This is what happens when one makes an edge sharp, for instance. The edge bevel weight display is not on by default for performance reasons, but seems reasonable to enable it when user indicates interest by editing bevel weight values.
2014-08-14Hack for edge-slide macro was lost in header cleanupCampbell Barton
add back include for USE_LOOPSLIDE_HACK
2014-05-25Fix T40438: Pressing G key to move the camera quits Blender.Bastien Montagne
2014-05-19Workaround T40241: Vertex snapping snaps to wrong placeCampbell Barton
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-26Code cleanup: use 'const' for arrays (editors)Campbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-15Code cleanup: spelling & styleCampbell Barton
2014-03-01NDOF: add navigation modes to user preferencesCampbell Barton
also comment debug prints for raytracing
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-16Code Cleanup: no need to pass empty strings as default valuesCampbell Barton
2013-12-02Fix T37671: Edit Texture Space on Skin Resize crashSergey Sharybin
Texture space editing from TFM_SKIN_RESIZE is not supported, so hide the option and don't use it for such a transform.
2013-11-27Disable redo for bend operatorCampbell Barton
2013-11-20Transform: rename Warp to BendCampbell Barton
2013-11-05Fix [#37324] Crash, calling Warp operator in OutlinerBastien Montagne
Warp needs a valid 3DView region...
2013-10-31remove return argument from wmOperatorType->cancel, was only ever returning ↵Campbell Barton
OPERATOR_CANCELLED.
2013-10-11code cleanup: use const's for static arraysCampbell Barton
2013-09-17Fix crash with recently added remove_on_cancel transform property, and hide thisBrecht Van Lommel
property in the user interface.