Making the Header of the Properties editor more intuitive/consistent

Hello,

It is a relatively recent change that the buttons/tabs to change the context of the properties editor are on the left side of the editor.

While I tried Blender 2.8 after a long break not using Blender, I thought that it would be helpful to newcomers to have the context title displayed on top on the properties editor, as a header. As for now, it is difficult to know what the current tab is about.

For instance, the particles editor could have the context title “Particles Editor”:
image
An alternative design would be to have the breadcrumbs displayed under the context title, or no breadcrumbs…

I am interested to implement something similar to that proposal: Properties editor: Need for consistency overhaul (breadcrumb vs. title) Right-Click Select — Blender.Community

Do you think it would a nice first contribution? :smiley:
I found the part of the code that make the breadcrumbs, but I need more information on how the ui functions are working so I can add the header on top.

1 Like

Heya,

You can start looking at the properties editor code in the locations https://developer.blender.org/diffusion/B/browse/master/source/blender/editors/space_buttons/ and https://developer.blender.org/diffusion/B/browse/master/release/scripts/startup/bl_ui/space_properties.py

Thanks for your reply.

Yes I found space_buttons already :slight_smile: and I succeeded to alter the breadcrumbs:
blender_CoTXB1jWV4

My current problem is that I don’t know how to add a row for the heading. I tried to do something like that:

uiLayout *heading_row;
heading_row = uiLayoutRow(layout, true);
uiLayoutSetAlignment(heading_row, UI_LAYOUT_ALIGN_LEFT);
uiItemLDrag(heading_row, ptr, "Heading", 0);

And although it displays the word “Heading”, it does it on the same row as the breadcrumbs.
To be honest, I have no idea what are these functions doing (uiLayoutRow(), uiItemLDrag(), etc…). Is there some documentation of the C/C++ code related to the UI?

I did not know about space_properties.py, thanks. Do you mean that parts of the UI is written in python?

Spaces have one header area (and a bottom area, if a space chooses to implement so). I think it’d be good to poke @billrey for some pointers on how to go about doing what you’re trying to achieve, in a way that fits the current UI best.

Yes, huge parts are written in Python, just like add-ons do.

Don’t forget to peruse in the same location all the files that start with properties_.

Ok, seems like I did not have time to work on it in the last 8 months ^^ sorry about that!

@jesterKing I saw that the core dev are working on a search bar in the properties editor, maybe it is a good opportunity for giving names to the tabs?

The search results could benefit from these tab names, as the results can be sorted and shown under their tab name?

E.g.

Search: Rotation
Results:

> Object Properties
 Rotation X
          Y
          Z
> Material Properties
 Anisotropic Rotation

What do you think?

I accidentally stumbled upon this topic but I was an advocate of having names on the tabs for a long time.

Can we maybe resurrect this idea? It makes so much sense and not just to newcomers.
I know it’s not very straightforward because you’d like to present different data in that header.
But some of it seems more redundant than helpful.

1 Like