diff options
Diffstat (limited to 'release/scripts/startup/bl_ui')
11 files changed, 154 insertions, 51 deletions
diff --git a/release/scripts/startup/bl_ui/properties_freestyle.py b/release/scripts/startup/bl_ui/properties_freestyle.py index 58818e90440..6abd6f448f5 100644 --- a/release/scripts/startup/bl_ui/properties_freestyle.py +++ b/release/scripts/startup/bl_ui/properties_freestyle.py @@ -122,7 +122,9 @@ class RENDERLAYER_PT_freestyle(RenderLayerFreestyleButtonsPanel, Panel): layout.active = rl.use_freestyle + row = layout.row() layout.prop(freestyle, "mode", text="Control mode") + layout.prop(freestyle, "use_view_map_cache", text="View Map Cache") layout.label(text="Edge Detection Options:") split = layout.split() @@ -579,6 +581,20 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, sub.prop(linestyle, "split_dash3", text="D3") sub.prop(linestyle, "split_gap3", text="G3") + ## Sorting + layout.prop(linestyle, "use_sorting", text="Sorting:") + col = layout.column() + col.active = linestyle.use_sorting + row = col.row(align=True) + row.prop(linestyle, "sort_key", text="") + sub = row.row() + sub.active = linestyle.sort_key in {'DISTANCE_FROM_CAMERA', + 'PROJECTED_X', + 'PROJECTED_Y'} + sub.prop(linestyle, "integration_type", text="") + row = col.row(align=True) + row.prop(linestyle, "sort_order", expand=True) + ## Selection layout.label(text="Selection:") split = layout.split(align=True) @@ -589,25 +605,18 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, sub = row.row() sub.active = linestyle.use_length_min sub.prop(linestyle, "length_min") - # Second column - col = split.column() row = col.row(align=True) row.prop(linestyle, "use_length_max", text="") sub = row.row() sub.active = linestyle.use_length_max sub.prop(linestyle, "length_max") - - ## Sorting - layout.prop(linestyle, "use_sorting", text="Sorting:") - col = layout.column() - col.active = linestyle.use_sorting + # Second column + col = split.column() row = col.row(align=True) - row.prop(linestyle, "sort_key", text="") + row.prop(linestyle, "use_chain_count", text="") sub = row.row() - sub.active = linestyle.sort_key in {'DISTANCE_FROM_CAMERA'} - sub.prop(linestyle, "integration_type", text="") - row = col.row(align=True) - row.prop(linestyle, "sort_order", expand=True) + sub.active = linestyle.use_chain_count + sub.prop(linestyle, "chain_count") ## Caps layout.label(text="Caps:") diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py index 5dd1f94747c..4789d119192 100644 --- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py +++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py @@ -47,4 +47,3 @@ class GreasePencilPanel(): col.label(text="Measure:") col.operator("view3d.ruler") - diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py index e6d6a3952ea..25367a58a54 100644 --- a/release/scripts/startup/bl_ui/properties_object.py +++ b/release/scripts/startup/bl_ui/properties_object.py @@ -151,6 +151,7 @@ class OBJECT_PT_relations(ObjectButtonsPanel, Panel): sub.prop_search(ob, "parent_bone", parent.data, "bones", text="") sub.active = (parent is not None) + class GROUP_MT_specials(Menu): bl_label = "Group Specials" diff --git a/release/scripts/startup/bl_ui/properties_paint_common.py b/release/scripts/startup/bl_ui/properties_paint_common.py index 5c758b6568b..f1042856e4c 100644 --- a/release/scripts/startup/bl_ui/properties_paint_common.py +++ b/release/scripts/startup/bl_ui/properties_paint_common.py @@ -36,7 +36,10 @@ class UnifiedPaintPanel(): elif context.weight_paint_object: return toolsettings.weight_paint elif context.image_paint_object: - return toolsettings.image_paint + if (toolsettings.image_paint and toolsettings.image_paint.detect_data()): + return toolsettings.image_paint + + return None elif context.particle_edit_object: return toolsettings.particle_edit @@ -170,7 +173,7 @@ def brush_texpaint_common(panel, context, layout, brush, settings, projpaint=Fal mat = ob.active_material if mat: - col.label("Clone Slot") + col.label("Source Clone Slot") col.template_list("TEXTURE_UL_texpaintslots", "", mat, "texture_paint_images", mat, "paint_clone_slot", rows=2) @@ -179,18 +182,14 @@ def brush_texpaint_common(panel, context, layout, brush, settings, projpaint=Fal mesh = ob.data clone_text = mesh.uv_texture_clone.name if mesh.uv_texture_clone else "" - col.label("Image") + col.label("Source Clone Image") col.template_ID(settings, "clone_image") - col.label("UV Map") + col.label("Source Clone UV Map") col.menu("VIEW3D_MT_tools_projectpaint_clone", text=clone_text, translate=False) - - else: col.prop(brush, "clone_image", text="Image") col.prop(brush, "clone_alpha", text="Alpha") - - col.separator() if capabilities.has_radius: diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py index 13aad4c3888..3382633af60 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -260,7 +260,7 @@ class CLIP_PT_tools_marker(CLIP_PT_tracking_panel, Panel): def draw(self, context): layout = self.layout - sc = context.space_data + # sc = context.space_data # clip = sc.clip col = layout.column(align=True) diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py index 8fd0ded17f7..927e517ef21 100644 --- a/release/scripts/startup/bl_ui/space_image.py +++ b/release/scripts/startup/bl_ui/space_image.py @@ -154,6 +154,7 @@ class IMAGE_MT_brush(Menu): ups = context.tool_settings.unified_paint_settings layout.prop(ups, "use_unified_size", text="Unified Size") layout.prop(ups, "use_unified_strength", text="Unified Strength") + layout.prop(ups, "use_unified_color", text="Unified Color") layout.separator() # brush tool @@ -1014,11 +1015,13 @@ class IMAGE_UV_sculpt(Panel, ImagePaintPanel): col = layout.column() col.prop(toolsettings, "uv_sculpt_lock_borders") col.prop(toolsettings, "uv_sculpt_all_islands") - col.prop(toolsettings, "uv_sculpt_tool") + col.prop(toolsettings, "uv_sculpt_tool") if toolsettings.uv_sculpt_tool == 'RELAX': col.prop(toolsettings, "uv_relax_method") + col.prop(uvsculpt, "show_brush") + class IMAGE_PT_tools_mask(MASK_PT_tools, Panel): bl_space_type = 'IMAGE_EDITOR' diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index e8914a3e9b0..24e8d2e4a53 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -200,7 +200,7 @@ class NODE_MT_select(Menu): layout.separator() - layout.operator("node.select_same_type") + layout.operator("node.select_grouped") layout.operator("node.select_same_type_step").prev = True layout.operator("node.select_same_type_step").prev = False diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index bbb1e41beb1..ce00d4eb8e7 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -215,7 +215,7 @@ class SEQUENCER_MT_select(Menu): op = layout.operator("sequencer.select", text="All strips to the Right") op.left_right = 'RIGHT' op.linked_time = True - + layout.separator() layout.operator("sequencer.select_handles", text="Surrounding Handles").side = 'BOTH' layout.operator("sequencer.select_handles", text="Left Handle").side = 'LEFT' @@ -259,6 +259,7 @@ class SEQUENCER_MT_frame(Menu): layout.operator("anim.previewrange_clear") layout.operator("anim.previewrange_set") + class SEQUENCER_MT_add(Menu): bl_label = "Add" @@ -607,7 +608,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): col = layout.column(align=True) if strip.type == 'SPEED': col.prop(strip, "multiply_speed") - elif strip.type in {'CROSS', 'GAMMA_CROSS', 'WIPE', 'ALPHA_OVER','ALPHA_UNDER','OVER_DROP'}: + elif strip.type in {'CROSS', 'GAMMA_CROSS', 'WIPE', 'ALPHA_OVER', 'ALPHA_UNDER', 'OVER_DROP'}: col.prop(strip, "use_default_fade", "Default fade") if not strip.use_default_fade: col.prop(strip, "effect_fader", text="Effect fader") diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index 999e41e17f7..dc18dd73abc 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -383,6 +383,11 @@ class USERPREF_PT_system(Panel): col = colsplit.column() col.label(text="General:") col.prop(system, "dpi") + col.label("Virtual Pixel Mode:") + col.prop(system, "virtual_pixel_mode", text="") + + col.separator() + col.prop(system, "frame_server_port") col.prop(system, "scrollback", text="Console Scrollback") @@ -424,7 +429,6 @@ class USERPREF_PT_system(Panel): col.prop(system, "use_gpu_mipmap") col.prop(system, "use_16bit_textures") - if system.is_occlusion_query_supported(): col.separator() col.label(text="Selection") diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 61d359ebdac..2249d2b04b8 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -608,6 +608,19 @@ class VIEW3D_MT_select_particle(Menu): layout.operator("particle.select_tips", text="Tips") +class VIEW3D_MT_edit_mesh_select_similar(Menu): + bl_label = "Select Similar" + + def draw(self, context): + layout = self.layout + + layout.operator_enum("mesh.select_similar", "type") + + layout.separator() + + layout.operator("mesh.select_similar_region", text="Face Regions") + + class VIEW3D_MT_select_edit_mesh(Menu): bl_label = "Select" @@ -647,7 +660,7 @@ class VIEW3D_MT_select_edit_mesh(Menu): layout.separator() # other ... - layout.operator_menu_enum("mesh.select_similar", "type", text="Similar") + layout.menu("VIEW3D_MT_edit_mesh_select_similar") layout.operator("mesh.select_ungrouped", text="Ungrouped Verts") layout.separator() @@ -1424,6 +1437,8 @@ class VIEW3D_MT_brush(Menu): ups = context.tool_settings.unified_paint_settings layout.prop(ups, "use_unified_size", text="Unified Size") layout.prop(ups, "use_unified_strength", text="Unified Strength") + if context.image_paint_object or context.vertex_paint_object: + layout.prop(ups, "use_unified_color", text="Unified Color") layout.separator() # brush paint modes @@ -2198,7 +2213,6 @@ class VIEW3D_MT_edit_mesh_edges(Menu): layout = self.layout with_freestyle = bpy.app.build_options.freestyle - scene = context.scene layout.operator_context = 'INVOKE_REGION_WIN' @@ -2254,7 +2268,6 @@ class VIEW3D_MT_edit_mesh_faces(Menu): layout = self.layout with_freestyle = bpy.app.build_options.freestyle - scene = context.scene layout.operator_context = 'INVOKE_REGION_WIN' @@ -2951,7 +2964,7 @@ class VIEW3D_PT_view3d_meshdisplay(Panel): sub = row.row(align=True) sub.active = mesh.show_normal_vertex or mesh.show_normal_face or mesh.show_normal_loop - sub.prop(context.scene.tool_settings, "normal_size", text="Size") + sub.prop(scene.tool_settings, "normal_size", text="Size") col.separator() split = layout.split() diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index 6b0c5b1e993..213bfd9d808 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -775,6 +775,65 @@ class View3DPaintPanel(UnifiedPaintPanel): bl_space_type = 'VIEW_3D' bl_region_type = 'TOOLS' +class VIEW3D_PT_imapaint_tools_missing(Panel, View3DPaintPanel): + bl_category = "Tools" + bl_label = "Missing Data" + + @classmethod + def poll(cls, context): + toolsettings = context.tool_settings.image_paint + return context.image_paint_object and not toolsettings.detect_data() + + def draw(self, context): + layout = self.layout + toolsettings = context.tool_settings.image_paint + + col = layout.column() + col.label("Missing Data", icon='ERROR') + if toolsettings.missing_uvs: + col.separator() + col.label("Missing UVs", icon='INFO') + col.label("Unwrap the mesh in edit mode or generate a simple UVs") + col.operator("mesh.uv_texture_add", text="Add Simple UVs") + + if toolsettings.mode == 'MATERIAL': + if toolsettings.missing_materials: + col.separator() + col.label("Missing Materials", icon='INFO') + col.label("Add a material and paint slot below") + col.operator_menu_enum("paint.add_texture_paint_slot", "type", text="Add Paint Slot") + + elif toolsettings.missing_texture: + ob = context.active_object + mat = ob.active_material + + col.separator() + if mat: + col.label("Missing Texture Slots", icon='INFO') + col.label("Add a paint slot below") + col.operator_menu_enum("paint.add_texture_paint_slot", "type", text="Add Paint Slot") + else: + col.label("Missing Materials", icon='INFO') + col.label("Add a material and paint slot below") + col.operator_menu_enum("paint.add_texture_paint_slot", "type", text="Add Paint Slot") + + + elif toolsettings.mode == 'IMAGE': + if toolsettings.missing_texture: + col.separator() + col.label("Missing Canvas", icon='INFO') + col.label("Add or assign a canvas image below") + col.label("Canvas Image") + col.template_ID(toolsettings, "canvas") + col.operator("image.new", text="New").gen_context = 'PAINT_CANVAS' + + if toolsettings.missing_stencil: + col.separator() + col.label("Missing Stencil", icon='INFO') + col.label("Add or assign a stencil image below") + col.label("Stencil Image") + col.template_ID(toolsettings, "stencil_image") + col.operator("image.new", text="New").gen_context = 'PAINT_STENCIL' class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel): bl_category = "Tools" @@ -844,14 +903,15 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel): self.prop_unified_size(row, context, brush, "use_pressure_size") # strength, use_strength_pressure, and use_strength_attenuation - if capabilities.has_strength: - col.separator() - row = col.row(align=True) + col.separator() + row = col.row(align=True) - if capabilities.has_space_attenuation: - row.prop(brush, "use_space_attenuation", toggle=True, icon_only=True) + if capabilities.has_space_attenuation: + row.prop(brush, "use_space_attenuation", toggle=True, icon_only=True) + + self.prop_unified_strength(row, context, brush, "strength", text="Strength") - self.prop_unified_strength(row, context, brush, "strength", text="Strength") + if capabilities.has_strength_pressure: self.prop_unified_strength(row, context, brush, "use_pressure_strength") # auto_smooth_factor and use_inverse_smooth_pressure @@ -1005,6 +1065,17 @@ class TEXTURE_UL_texpaintslots(UIList): layout.alignment = 'CENTER' layout.label(text="") +class VIEW3D_MT_tools_projectpaint_uvlayer(Menu): + bl_label = "Clone Layer" + + def draw(self, context): + layout = self.layout + + for i, tex in enumerate(context.active_object.data.uv_textures): + props = layout.operator("wm.context_set_int", text=tex.name, translate=False) + props.data_path = "active_object.data.uv_textures.active_index" + props.value = i + class VIEW3D_PT_slots_projectpaint(View3DPanel, Panel): bl_context = "imagepaint" @@ -1027,7 +1098,7 @@ class VIEW3D_PT_slots_projectpaint(View3DPanel, Panel): col = layout.column() col.label("Painting Mode") - col.prop(settings, "mode", text = "") + col.prop(settings, "mode", text="") col.separator() if settings.mode == 'MATERIAL': @@ -1058,16 +1129,21 @@ class VIEW3D_PT_slots_projectpaint(View3DPanel, Panel): col.prop_search(slot, "uv_layer", ob.data, "uv_textures", text="") elif settings.mode == 'IMAGE': + mesh = ob.data + uv_text = mesh.uv_textures.active.name if mesh.uv_textures.active else "" + col.label("Canvas Image") col.template_ID(settings, "canvas") + col.operator("image.new", text="New").gen_context = 'PAINT_CANVAS' + col.label("UV Map") + col.menu("VIEW3D_MT_tools_projectpaint_uvlayer", text=uv_text, translate=False) col.separator() col.operator("image.save_dirty", text="Save All Images") - class VIEW3D_PT_stencil_projectpaint(View3DPanel, Panel): bl_context = "imagepaint" - bl_label = "Stencil" + bl_label = "Mask" bl_category = "Slots" @classmethod @@ -1095,9 +1171,10 @@ class VIEW3D_PT_stencil_projectpaint(View3DPanel, Panel): col.label("UV Map") col.menu("VIEW3D_MT_tools_projectpaint_stencil", text=stencil_text, translate=False) - col.label("Image") - row = col.row(align=True) - row.template_ID(ipaint, "stencil_image") + col.label("Stencil Image") + col.template_ID(ipaint, "stencil_image") + col.operator("image.new", text="New").gen_context = 'PAINT_STENCIL' + col.label("Visualization") row = col.row(align=True) @@ -1195,7 +1272,7 @@ class VIEW3D_PT_tools_brush_texture(Panel, View3DPaintPanel): brush_texture_settings(col, brush, context.sculpt_object) -class VIEW3D_PT_tools_mask_texture(View3DPanel, Panel): +class VIEW3D_PT_tools_mask_texture(View3DPanel, View3DPaintPanel): bl_category = "Tools" bl_context = "imagepaint" bl_label = "Texture Mask" @@ -1203,8 +1280,8 @@ class VIEW3D_PT_tools_mask_texture(View3DPanel, Panel): @classmethod def poll(cls, context): - brush = context.tool_settings.image_paint.brush - return (context.image_paint_object and brush) + settings = cls.paint_settings(context) + return (settings and settings.image_paint.brush and context.image_paint_object and brush) def draw(self, context): layout = self.layout @@ -1459,11 +1536,8 @@ class VIEW3D_PT_tools_brush_appearance(Panel, View3DPaintPanel): @classmethod def poll(cls, context): - toolsettings = context.tool_settings - return ((context.sculpt_object and toolsettings.sculpt) or - (context.vertex_paint_object and toolsettings.vertex_paint) or - (context.weight_paint_object and toolsettings.weight_paint) or - (context.image_paint_object and toolsettings.image_paint)) + settings = cls.paint_settings(context) + return settings def draw(self, context): layout = self.layout |