Reference/Release Notes/2.80/Python API/UI API

= Blender 2.80: User Interface API =

Toolbar
The 3D viewport toolbar was replaced with a new toolbar that only contains active tools. Addons that were previously placed in the old toolbar can be updated in a few different ways:


 * Addons that need a more persistent user interface can register tabs and panels in the sidebar of editors, typically the 3D viewport. This moves the addon user interface from one side of the 3D viewport to the other.
 * Interactive tool addons can be converted to the new active tools system, and be placed in the toolbar. For example addons for drawing or measuring, interactive mesh modeling tools, or interactive procedural geometry generators. By adding gizmos in the 3D viewport these can be made more intuitive.
 * Command like addons can be added in menus, with any settings in the adjust operation popup. This can be in the editor header menus, or in the context menu.
 * Settings specific to a mode can be added as tool settings panel, which appear in the top bar and the properties editor tool settings tab.

Single Column Layout
Most of the Blender user interface has been changed to use a single column layout for properties, particularly the properties editor. For consistency with the rest of the Blender UI addons should follow the same layout.

Sub Panels
Panels can now have sub panels to organize their contents and hide advanced or rarely used functionality by default. Sub panels are created by adding a `bl_parent_id` referring to the parent panel.

Icons
The icon set has been refreshed, with icons added, removed or updated to reflect changes in Blender functionality. The table below should make it easier to update Python scripts with broken icon identifiers.

The Icon Viewer addon built into Blender can be used to get an overview of all the new icons.