Commit Graph

57 Commits

Author SHA1 Message Date
Campbell Barton 98d4d4ce58 Tool System: workaround psys cursor conflict
This needs to be solved properly, for now add cursor-click tool
which can co-exist w/ particle paint.
2018-05-28 18:16:01 +02:00
Campbell Barton a3a069f493 Tool System: cursor tool now transforms on drag 2018-05-25 19:43:23 +02:00
Campbell Barton 8a78a53e3b Keymap: place cursor on press
Needed for tablet users.
2018-05-25 12:46:52 +02:00
Campbell Barton 96a7ed8a15 Tool System: store operator properties in the tool
This replaces last-used property use which wasn't reliable since
properties were not considered 'set' - causing them to be ignored.
2018-05-22 15:31:06 +02:00
Campbell Barton b6a2dbbec2 Tool System: set cursors for draw & transform 2018-05-18 11:57:56 +02:00
Campbell Barton edf6676a77 Tool System: per space/mode tool support
This patch adds support for:

- Per space-type tools (3D view and edit).
- Per mode tools (object, edit, weight-paint .. etc).

The top-bar shows the last activated tools options, this is a design
issue with using a global topbar to show per-space settings.

See D3395
2018-05-17 15:57:33 +02:00
Joshua Leung 13dfa72f26 Add icon placeholders for all the armature ops that got recently added in the toolbar
The icon designers still need to create these, but it's better to have placeholders
so they remember to do it.
2018-05-15 13:50:52 +02:00
Joshua Leung 8021ac986a Pose Toolbar: Added Breakdowner/Push/Relax as separate tools
Currently all are stacked together, but perhaps if we don't get any other
tools in the meantime, it would make sense to have them separate.

Notes:
* No icons for now...
* There are some 2.8 bugs with the underlying operators (notably multi object)
2018-05-15 12:40:50 +02:00
Joshua Leung 95e7559bb6 Edit Armature Toolbar: Added some tools for "Shrink Fatten" (Alt-S) type bone transform tools
For fun, I tried adding some more edit armature tools to the toolbar to
check how this is all working. Icons are missing currently, but it's a
nice test.
2018-05-15 12:08:09 +02:00
Campbell Barton ddf308b04a EditMesh: Use tweak for extrude tool
Could too easily click to extrude without any offset.
2018-05-13 21:19:22 +02:00
Campbell Barton dc4f94783d EditMesh: show XYZ axis for extrude
Always show normal axis since this is the most used,
even when another orientation is selected.
2018-05-13 21:15:56 +02:00
Campbell Barton 0a7736a2e9 Tool System: curve draw options 2018-05-11 20:25:01 +02:00
Campbell Barton f3f309c7f8 Tool System: inset & shrink/fatten options 2018-05-11 20:24:06 +02:00
Campbell Barton 9df6978211 Tool System: mesh rip fill option 2018-05-11 20:22:04 +02:00
Campbell Barton 3f3326af1c EditMesh: add cube interactive tool
Initial add-cube tool which uses the scale cage to resize.

The 3D cursor is currently used to project the cursor onto.

We'll likely have more orientation options in the future.
2018-05-10 20:31:10 +02:00
Campbell Barton eefaec4114 Extrude Widget: Add orientation to topbar
Add extrude operator that's intended to work on the current selection
and be activated as a tool.
2018-05-07 21:40:51 +02:00
Campbell Barton 50e28092d3 Cleanup: style 2018-05-07 21:40:51 +02:00
Campbell Barton 466125f3d6 EditMesh: initial extrude manipulator
This manipulator is a test for mixing do/redo,
there are still some glitches that need sorting out in
transform & the undo stack.
2018-05-06 10:14:20 +02:00
Campbell Barton 3f4a81232a UI: expose radial gradient as option
Was a separate tool, use option so we can extend more easily.
2018-05-01 12:48:35 +02:00
Campbell Barton f38fbc9bed UI: add weight paint sample tools
Also use unified weight.
2018-05-01 12:20:53 +02:00
Campbell Barton b93a76fe75 Add missing tools to vertex paint 2018-04-30 21:58:35 +02:00
Campbell Barton a44d5b59d3 UI: order edit-mesh tools
See T54885
2018-04-30 20:40:36 +02:00
Campbell Barton 3b9554ce9d UI: share common paint panels between all modes 2018-04-30 16:59:16 +02:00
Campbell Barton 7720525873 UI: add texture paint brushes to toolbar 2018-04-30 16:43:36 +02:00
Campbell Barton 9aef2d961d UI: add weight paint brushes to toolbar 2018-04-30 16:08:15 +02:00
Campbell Barton d9f395ac39 UI: add vertex paint tools
Generalize logic to show the paintbrush as a tool so
different paint modes can use it.
2018-04-30 15:23:04 +02:00
Campbell Barton 005711ffef Fix sculpt ToolDef generation
With non-default sculpt brushes, tool generation could fail.
2018-04-30 13:46:01 +02:00
Campbell Barton ea2146c3e1 Correct error in toolbar update 2018-04-30 12:46:23 +02:00
Campbell Barton f4697b392d Tool System: change internal definitions (again)
Was using classes to define tools, however this makes it awkward to
dynamically generate them (we can do it, but its not very "Pythonic").

Move to a named tuple.
2018-04-30 12:14:46 +02:00
Campbell Barton 60ce3275c1 UI: use sculpt icons in the toolbar 2018-04-29 17:01:10 +02:00
Campbell Barton 695326eb8f UI: remove toolbar separator between categories
Made cursor split from selection tools, giving ugly 2 column layout.
2018-04-29 16:49:24 +02:00
Campbell Barton 65d78f4695 UI: group sculpt brushes in the toolbar
All sculpt brushes are accessible from the toolbar, grouped by type
to keep the toolbar a fixed size.
2018-04-29 16:36:31 +02:00
Campbell Barton 76282a986d UI: initial dynamically generated sculpt tools
Lots more work needed, this just lists sculpt tools in the toolbar.
2018-04-29 14:31:00 +02:00
Campbell Barton f4ba7667dc UI: support tool generators (no visible change)
This allows toolbar definitions to dynamically generate tools,
needed for generating a tool list from brushes for eg.
2018-04-29 12:28:21 +02:00
Campbell Barton cfa1700792 UI: add loopcut & edge offset tools
Also fix minor layout bug.
2018-04-27 23:08:25 +02:00
Campbell Barton c42a47d177 UI: add new transform tool that enables all widgets
Also add bevel tool.
2018-04-27 22:49:52 +02:00
Campbell Barton e724238457 Tool System: use release_confirm for extrude 2018-04-27 20:43:41 +02:00
Campbell Barton c4a24a7f5d Tool System: inset tool now completes on release 2018-04-27 20:38:29 +02:00
Campbell Barton 782240636c UI: use new extrude icon and correct keymap 2018-04-27 19:16:00 +02:00
Campbell Barton eb4c60124c UI: multi-column toolbar support 2018-04-27 18:02:45 +02:00
Campbell Barton 85ea14df2f UI: support for tool settings in the top-bar
This uses the operators last used properties
to store settings to use on the next execution.
2018-04-27 14:17:12 +02:00
Campbell Barton 9504652687 UI: move tool definitions to classes
Originally it was nice to have a small list of definitions
with tools inline.

However we need to be able to define drawing functions for tools
which Python can't easily inline.

Use function for keymap definition,
support creating a function from a tuple as well
(handy for simple key-maps).
2018-04-27 13:55:04 +02:00
Campbell Barton 05c9ddb2d6 UI: correct icon 2018-04-26 15:02:50 +02:00
Campbell Barton b98311f847 Cleanup: avoid direct access to private class 2018-04-26 14:55:46 +02:00
Campbell Barton 37ca6ef7d8 UI: use dict for tool definitions
Using tuple was becoming too cryptic - new settings needed to be added
last and the purpose of each wasn't very clear.
2018-04-26 07:31:39 +02:00
Campbell Barton 4d6cdb8b89 UI: add extrude icon 2018-04-25 09:21:49 +02:00
Campbell Barton 00d4e99955 UI: move mesh-weights from panels to menus
Also de-duplicate edit/object mode menus.
2018-04-24 17:04:43 +02:00
Campbell Barton a59bf99f1d UI: remove toolbar header 2018-04-24 16:04:07 +02:00
Campbell Barton 9c5025d67d UI: use new icons in toolbar 2018-04-24 15:32:45 +02:00
Campbell Barton 3581b997d4 UI: use icons for the toolbar 2018-04-24 09:19:28 +02:00