Blender Git Commits

Blender Git "soc-2016-layer_manager" branch commits.

Page: 6 / 7

June 4, 2016, 18:01 (GMT)
Support undo/redo and file read/write for layer manager

It's not 100% working yet, there's still some listbase issue going on, but I didn't get any crashes on runtime, so it's mostly fine.
June 2, 2016, 16:35 (GMT)
Add glew include path
June 2, 2016, 16:28 (GMT)
Add missing includes for debug builds on Linux
May 31, 2016, 11:08 (GMT)
Make selecting of expanded layer items a bit nicer

Now only selects when clicking on item header, nothing happens if you click in the expanded area. Also fixed a bug where selecting expanded items wasn't working.
May 31, 2016, 10:34 (GMT)
Correction to 2ca18d608cd5dc
May 31, 2016, 10:31 (GMT)
Fix last layer item sometimes not drawing selection

Layer boxes to fill empty background was drawing over it.
May 31, 2016, 10:21 (GMT)
Support for expanding layer settings

A selected layer now shows a gear wheel icon which expands the layer settings. The layer settings are currently two dummy text buttons.
May 29, 2016, 19:06 (GMT)
Use a bit more interesting background drawing for layer manager

The layer manager editor now draws a background similar to the on in the outliner. Since layer tiles can be of a dynamic height, I had to make sure that's supported though.
May 29, 2016, 17:44 (GMT)
Use alignment for operator buttons in layer manager header
May 29, 2016, 17:34 (GMT)
Cleanup: Move drawing data out of BKE structs
May 28, 2016, 14:19 (GMT)
Minor cleanup: Add comments
May 28, 2016, 13:22 (GMT)
Add operator to remove layers

Calling the operator deletes all selected layer items, if a group is selected, all its nested layer items are deleted too.
Also adds another handy iterator, BKE_layeritem_iterate_childs.

Design ToDo: We need to decide what happens with the objects (or GPencil strokes, masks, ...) assigned to a layer when deleting the layer.
May 28, 2016, 01:12 (GMT)
Use a pointer hash table to get a LayerTile from a LayerTreeItem

Avoids having to store the LayerTile in a void * member of the LayerTreeItem.
LayerTile is layer manager editor struct for info on drawing a LayerTreeItem (which is a more primitive blender kernel struct).
May 28, 2016, 00:13 (GMT)
Refactor how LayerTile is bound to LayerTree/LayerTreeItem

Main benefit of this commit is that layer group relations and layer order are stored in LayerTree now (blendkernel struct), not in structs of the layer manager editor.

Two things I'm still not happy with:
* LayerTreeItem (blenkernel struct) now stores the LayerTile (layer manager editor struct) as void pointer. We need this to access the LayerTile from the LayerTreeItem, without expensive lookups. This could be solved by storing a hash table of LayerTiles though.
* Added BKE_layertree_iterate which is a handy util, but we need it pretty often so we also need to add lots of structs for custom data storage. For order/group independent iterations we could use the hashtable mentioned above and iterate over it.
May 26, 2016, 21:02 (GMT)
Layer group support

Adding a new group inserts all selected layers/layer-groups in the new one. Things like "add to group" are not supported yet.
Groups have a folder icon, their members are drawn with indentation.
May 25, 2016, 13:01 (GMT)
Merge branch 'master' into soc-2016-layer_manager
May 25, 2016, 12:58 (GMT)
More layer selection methods

Now supports shift, ctrl+shift and a-key selection.
May 25, 2016, 00:21 (GMT)
Support renaming layers

Invoked by ctrl+click or double click on list item.
May 24, 2016, 18:15 (GMT)
Support for basic layer selection

Adds basic selection using LMB. Doesn't include selection with ctrl, shift, etc.
May 24, 2016, 16:51 (GMT)
Scrolling support for layer manager editor

Vertical scrolling only for now.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021