Page MenuHome

Refactor High level UI code into its own module
Confirmed, NormalPublicDESIGN

Description

As part of T75724, many UI layouts are now coded inside large modules (nodes, modifiers, etc).
This has the disadvantage of these modules depending on /editors for simple high-level button code.

An example of this can be seen in rBcfa48c84d06ca8197f86b6d3ceef8a2c7c311a82

A possible solution to this is moving some high-level UI code from editors in its own UI module.

Candidates for such a change are:

UI_icons.h
UI_interface_icons.h
UI_interface.h
UI_resources.h
UI_view2d.h
... possible others

Some files editor code should be moved to UI_:

ED_screen.h --> UI_screen.h
ED_gizmo_library.h --> UI_gizmo_library.h
ED_gizmo_utils.h --> UI_gizmo_utils.h

This task is first meant to gauge if this is something we should do. After then we can move more into the how.

Event Timeline

Aaron Carlisle (Blendify) changed the task status from Needs Triage to Confirmed.Tue, Feb 9, 6:08 AM
Aaron Carlisle (Blendify) created this task.
Aaron Carlisle (Blendify) moved this task from Backlog to Code Quality on the User Interface board.

I like this idea. Something to note is that only a small amount of the definitions in UI_resources.h and UI_interface.h is needed for the more distributed button code. For example, I think the modifiers panel drawing and node drawing should only need the uiLayout set of functions, and the icon types from UI_resources.h.