This commit is contained in:
2025-10-14 12:23:58 +02:00
parent cf4f3ce564
commit f8dc03caf9
21 changed files with 384 additions and 43 deletions

View File

@@ -247,6 +247,14 @@ def draw_generate_button(layout):
row.scale_y = 1.5
row.operator("text_texture.generate", text="Generate Text Texture", icon='IMAGE_DATA')
def draw_reset_button(layout):
pass
"""Draw button to reset settings to defaults"""
row = layout.row()
row.alignment = 'RIGHT'
row.scale_y = 1.0
row.operator("text_texture.reset_settings", text="Reset Settings", icon='FILE_REFRESH')
def _iter_components_by_placement(props, placement_mode):
"""Yield (index, component) pairs filtered by placement mode."""
try:
@@ -660,6 +668,10 @@ def draw_shader_section(layout, props):
row.scale_y = 1.5
row.operator("text_texture.generate_shader", text="Create Shader", icon='MATERIAL')
plane_row = layout.row()
plane_row.scale_y = 1.3
plane_row.operator("text_texture.generate_plane", text="Create Plane", icon='MESH_GRID')
layout.separator()
# Clean minimalist controls
@@ -954,6 +966,15 @@ class TEXT_TEXTURE_PT_panel(Panel):
lock_row = create_shader_row.row()
lock_row.enabled = False
lock_row.operator("text_texture.generate_shader", text="🔒 Create Shader (Pro Only)", icon='LOCKED')
plane_row = layout.row()
plane_row.scale_y = 1.3
if has_shader_generation():
plane_row.operator("text_texture.generate_plane", text="Create Plane", icon='MESH_GRID')
else:
plane_lock_row = plane_row.row()
plane_lock_row.enabled = False
plane_lock_row.label(text="🔒 Create Plane (Pro Only)", icon='LOCKED')
# Preview Button - ALWAYS available (core functionality for all users)
layout.separator(factor=0.5)
@@ -961,7 +982,10 @@ class TEXT_TEXTURE_PT_panel(Panel):
preview_row.scale_y = 1.5
preview_row.operator("text_texture.preview", text="Preview Texture", icon='HIDE_OFF')
layout.separator(factor=1.2)
layout.separator(factor=0.6)
draw_reset_button(layout)
layout.separator(factor=1.0)
# COLLAPSIBLE SECTIONS - FREE FEATURES FIRST
@@ -1157,6 +1181,15 @@ class TEXT_TEXTURE_PT_panel_3d(Panel):
lock_row = create_shader_row.row()
lock_row.enabled = False
lock_row.operator("text_texture.generate_shader", text="🔒 Create Shader (Pro Only)", icon='LOCKED')
plane_row = layout.row()
plane_row.scale_y = 1.3
if has_shader_generation():
plane_row.operator("text_texture.generate_plane", text="Create Plane", icon='MESH_GRID')
else:
plane_lock_row = plane_row.row()
plane_lock_row.enabled = False
plane_lock_row.label(text="🔒 Create Plane (Pro Only)", icon='LOCKED')
# Preview Button - ALWAYS available (core functionality for all users)
layout.separator(factor=0.5)
@@ -1164,6 +1197,9 @@ class TEXT_TEXTURE_PT_panel_3d(Panel):
preview_row.scale_y = 1.5
preview_row.operator("text_texture.preview", text="Preview Texture", icon='HIDE_OFF')
layout.separator(factor=0.6)
draw_reset_button(layout)
layout.separator(factor=1.2)
# COLLAPSIBLE SECTIONS - FREE FEATURES FIRST
@@ -1360,6 +1396,15 @@ class TEXT_TEXTURE_PT_panel_properties(Panel):
lock_row = create_shader_row.row()
lock_row.enabled = False
lock_row.operator("text_texture.generate_shader", text="🔒 Create Shader (Pro Only)", icon='LOCKED')
plane_row = layout.row()
plane_row.scale_y = 1.3
if has_shader_generation():
plane_row.operator("text_texture.generate_plane", text="Create Plane", icon='MESH_GRID')
else:
plane_lock_row = plane_row.row()
plane_lock_row.enabled = False
plane_lock_row.label(text="🔒 Create Plane (Pro Only)", icon='LOCKED')
# Preview Button - ALWAYS available (core functionality for all users)
layout.separator(factor=0.5)
@@ -1367,6 +1412,9 @@ class TEXT_TEXTURE_PT_panel_properties(Panel):
preview_row.scale_y = 1.5
preview_row.operator("text_texture.preview", text="Preview Texture", icon='HIDE_OFF')
layout.separator(factor=0.6)
draw_reset_button(layout)
layout.separator(factor=1.2)
# COLLAPSIBLE SECTIONS - FREE FEATURES FIRST