[Bf-blender-cvs] [d4200f3c61c] temp-topbar-ui: Work in progress redesign of topbar ui
Campbell Barton
noreply at git.blender.org
Sat Apr 20 17:01:56 CEST 2019
Commit: d4200f3c61c40917ba42a7502c0a1a236d8ada56
Author: Campbell Barton
Date: Sat Apr 20 17:01:04 2019 +0200
Branches: temp-topbar-ui
https://developer.blender.org/rBd4200f3c61c40917ba42a7502c0a1a236d8ada56
Work in progress redesign of topbar ui
===================================================================
M release/scripts/startup/bl_ui/space_topbar.py
M release/scripts/startup/bl_ui/space_view3d.py
M source/blender/blenloader/intern/versioning_280.c
M source/blender/editors/space_buttons/space_buttons.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_topbar.py b/release/scripts/startup/bl_ui/space_topbar.py
index e75f4d1bb5d..4ba7e02cbcd 100644
--- a/release/scripts/startup/bl_ui/space_topbar.py
+++ b/release/scripts/startup/bl_ui/space_topbar.py
@@ -599,27 +599,6 @@ class TOPBAR_MT_workspace_menu(Menu):
props.direction = 'NEXT'
-class TOPBAR_PT_active_tool(Panel):
- bl_space_type = 'PROPERTIES'
- bl_region_type = 'WINDOW'
- bl_category = ""
- bl_context = ".active_tool" # dot on purpose (access from tool settings)
- bl_label = "Active Tool"
- bl_options = {'HIDE_HEADER'}
-
- def draw(self, context):
- layout = self.layout
-
- # Panel display of topbar tool settings.
- # currently displays in tool settings, keep here since the same functionality is used for the topbar.
-
- layout.use_property_split = True
- layout.use_property_decorate = False
-
- from .space_toolsystem_common import ToolSelectPanelHelper
- ToolSelectPanelHelper.draw_active_tool_header(context, layout, show_tool_name=True)
-
-
# Grease Pencil Object - Primitive curve
class TOPBAR_PT_gpencil_primitive(Panel):
bl_space_type = 'VIEW_3D'
@@ -736,7 +715,6 @@ classes = (
TOPBAR_MT_render,
TOPBAR_MT_window,
TOPBAR_MT_help,
- TOPBAR_PT_active_tool,
TOPBAR_PT_gpencil_layers,
TOPBAR_PT_gpencil_primitive,
TOPBAR_PT_gpencil_fill,
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index bb56946e154..df72b93573d 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -55,133 +55,6 @@ class VIEW3D_HT_tool_header(Header):
self.draw_tool_settings(context)
- layout.separator_spacer()
-
- # Mode & Transform Settings
- scene = context.scene
-
- # Orientation
- if object_mode in {'OBJECT', 'EDIT', 'EDIT_GPENCIL'} or has_pose_mode:
- orient_slot = scene.transform_orientation_slots[0]
- row = layout.row(align=True)
-
- sub = row.row()
- sub.ui_units_x = 4
- sub.prop_with_popover(
- orient_slot,
- "type",
- text="",
- panel="VIEW3D_PT_transform_orientations",
- )
-
- # Pivot
- if object_mode in {'OBJECT', 'EDIT', 'EDIT_GPENCIL', 'SCULPT_GPENCIL'} or has_pose_mode:
- layout.prop_with_popover(
- tool_settings,
- "transform_pivot_point",
- text="",
- icon_only=True,
- panel="VIEW3D_PT_pivot_point",
- )
-
- # Snap
- show_snap = False
- if obj is None:
- show_snap = True
- else:
- if (object_mode not in {
- 'SCULPT', 'VERTEX_PAINT', 'WEIGHT_PAINT', 'TEXTURE_PAINT',
- 'PAINT_GPENCIL', 'SCULPT_GPENCIL', 'WEIGHT_GPENCIL'
- }) or has_pose_mode:
- show_snap = True
- else:
-
- from .properties_paint_common import UnifiedPaintPanel
- paint_settings = UnifiedPaintPanel.paint_settings(context)
-
- if paint_settings:
- brush = paint_settings.brush
- if brush and brush.stroke_method == 'CURVE':
- show_snap = True
-
- if show_snap:
- snap_items = bpy.types.ToolSettings.bl_rna.properties["snap_elements"].enum_items
- snap_elements = tool_settings.snap_elements
- if len(snap_elements) == 1:
- text = ""
- for elem in snap_elements:
- icon = snap_items[elem].icon
- break
- else:
- text = "Mix"
- icon = 'NONE'
- del snap_items, snap_elements
-
- row = layout.row(align=True)
- row.prop(tool_settings, "use_snap", text="")
-
- sub = row.row(align=True)
- sub.popover(
- panel="VIEW3D_PT_snapping",
- icon=icon,
- text=text,
- )
-
- # Proportional editing
- gpd = context.gpencil_data
- if object_mode in {'EDIT', 'PARTICLE_EDIT'}:
- row = layout.row(align=True)
- row.prop(tool_settings, "proportional_edit", icon_only=True)
- sub = row.row(align=True)
- sub.active = tool_settings.proportional_edit != 'DISABLED'
- sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
-
- elif object_mode == 'OBJECT':
- row = layout.row(align=True)
- row.prop(tool_settings, "use_proportional_edit_objects", icon_only=True)
- sub = row.row(align=True)
- sub.active = tool_settings.use_proportional_edit_objects
- sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
-
- elif gpd is not None and obj.type == 'GPENCIL':
- if gpd.use_stroke_edit_mode or gpd.is_stroke_sculpt_mode:
- row = layout.row(align=True)
- row.prop(tool_settings, "proportional_edit", icon_only=True)
-
- sub = row.row(align=True)
- sub.active = tool_settings.proportional_edit != 'DISABLED'
- sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
-
- # grease pencil
- if object_mode == 'PAINT_GPENCIL':
- layout.prop_with_popover(
- tool_settings,
- "gpencil_stroke_placement_view3d",
- text="",
- panel="VIEW3D_PT_gpencil_origin",
- )
-
- if object_mode in {'PAINT_GPENCIL', 'SCULPT_GPENCIL'}:
- layout.prop_with_popover(
- tool_settings.gpencil_sculpt,
- "lock_axis",
- text="",
- panel="VIEW3D_PT_gpencil_lock",
- )
-
- if object_mode == 'PAINT_GPENCIL':
- # FIXME: this is bad practice!
- # Tool options are to be displayed in the topbar.
- if context.workspace.tools.from_space_view3d_mode(object_mode).idname == "builtin_brush.Draw":
- settings = tool_settings.gpencil_sculpt.guide
- row = layout.row(align=True)
- row.prop(settings, "use_guide", text="", icon='GRID')
- sub = row.row(align=True)
- sub.active = settings.use_guide
- sub.popover(
- panel="VIEW3D_PT_gpencil_guide",
- text="Guides",
- )
layout.separator_spacer()
@@ -606,6 +479,134 @@ class VIEW3D_HT_header(Header):
layout.separator_spacer()
+ # Mode & Transform Settings
+ scene = context.scene
+
+ # Orientation
+ if object_mode in {'OBJECT', 'EDIT', 'EDIT_GPENCIL'} or has_pose_mode:
+ orient_slot = scene.transform_orientation_slots[0]
+ row = layout.row(align=True)
+
+ sub = row.row()
+ sub.ui_units_x = 4
+ sub.prop_with_popover(
+ orient_slot,
+ "type",
+ text="",
+ panel="VIEW3D_PT_transform_orientations",
+ )
+
+ # Pivot
+ if object_mode in {'OBJECT', 'EDIT', 'EDIT_GPENCIL', 'SCULPT_GPENCIL'} or has_pose_mode:
+ layout.prop_with_popover(
+ tool_settings,
+ "transform_pivot_point",
+ text="",
+ icon_only=True,
+ panel="VIEW3D_PT_pivot_point",
+ )
+
+ # Snap
+ show_snap = False
+ if obj is None:
+ show_snap = True
+ else:
+ if (object_mode not in {
+ 'SCULPT', 'VERTEX_PAINT', 'WEIGHT_PAINT', 'TEXTURE_PAINT',
+ 'PAINT_GPENCIL', 'SCULPT_GPENCIL', 'WEIGHT_GPENCIL'
+ }) or has_pose_mode:
+ show_snap = True
+ else:
+
+ from .properties_paint_common import UnifiedPaintPanel
+ paint_settings = UnifiedPaintPanel.paint_settings(context)
+
+ if paint_settings:
+ brush = paint_settings.brush
+ if brush and brush.stroke_method == 'CURVE':
+ show_snap = True
+
+ if show_snap:
+ snap_items = bpy.types.ToolSettings.bl_rna.properties["snap_elements"].enum_items
+ snap_elements = tool_settings.snap_elements
+ if len(snap_elements) == 1:
+ text = ""
+ for elem in snap_elements:
+ icon = snap_items[elem].icon
+ break
+ else:
+ text = "Mix"
+ icon = 'NONE'
+ del snap_items, snap_elements
+
+ row = layout.row(align=True)
+ row.prop(tool_settings, "use_snap", text="")
+
+ sub = row.row(align=True)
+ sub.popover(
+ panel="VIEW3D_PT_snapping",
+ icon=icon,
+ text=text,
+ )
+
+ # Proportional editing
+ gpd = context.gpencil_data
+ if object_mode in {'EDIT', 'PARTICLE_EDIT'}:
+ row = layout.row(align=True)
+ row.prop(tool_settings, "proportional_edit", icon_only=True)
+ sub = row.row(align=True)
+ sub.active = tool_settings.proportional_edit != 'DISABLED'
+ sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
+
+ elif object_mode == 'OBJECT':
+ row = layout.row(align=True)
+ row.prop(tool_settings, "use_proportional_edit_objects", icon_only=True)
+ sub = row.row(align=True)
+ sub.active = tool_settings.use_proportional_edit_objects
+ sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
+
+ elif gpd is not None and obj.type == 'GPENCIL':
+ if gpd.use_stroke_edit_mode or gpd.is_stroke_sculpt_mode:
+ row = layout.row(align=True)
+ row.prop(tool_setting
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list